@tsparticles/updater-roll 3.9.0 → 4.0.0-alpha.0

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/386.min.js ADDED
@@ -0,0 +1,2 @@
1
+ /*! For license information please see 386.min.js.LICENSE.txt */
2
+ (this.webpackChunk_tsparticles_updater_roll=this.webpackChunk_tsparticles_updater_roll||[]).push([[386],{386(e,l,a){a.d(l,{RollUpdater:()=>s});var n,o=a(303);!function(e){e.both="both",e.horizontal="horizontal",e.vertical="vertical"}(n||(n={}));const t=2*Math.PI;class r{constructor(){this.enable=!1,this.value=0}load(e){(0,o.isNull)(e)||(void 0!==e.enable&&(this.enable=e.enable),void 0!==e.value&&(this.value=(0,o.setRangeValue)(e.value)))}}class i{constructor(){this.darken=new r,this.enable=!1,this.enlighten=new r,this.mode=n.vertical,this.speed=25}load(e){(0,o.isNull)(e)||(void 0!==e.backColor&&(this.backColor=o.OptionsColor.create(this.backColor,e.backColor)),this.darken.load(e.darken),void 0!==e.enable&&(this.enable=e.enable),this.enlighten.load(e.enlighten),void 0!==e.mode&&(this.mode=e.mode),void 0!==e.speed&&(this.speed=(0,o.setRangeValue)(e.speed)))}}class s{constructor(e){this._engine=e}getTransformValues(e){const l=e.roll?.enable&&e.roll,a=l&&l.horizontal,n=l&&l.vertical;return{a:a?Math.cos(l.angle):void 0,d:n?Math.sin(l.angle):void 0}}init(e){!function(e,l){const a=l.options.roll;if(a?.enable)if(l.roll={enable:a.enable,horizontal:a.mode===n.horizontal||a.mode===n.both,vertical:a.mode===n.vertical||a.mode===n.both,angle:(0,o.getRandom)()*t,speed:(0,o.getRangeValue)(a.speed)/360},a.backColor)l.backColor=(0,o.rangeColorToHsl)(e,a.backColor);else if(a.darken.enable&&a.enlighten.enable){const e=(0,o.getRandom)()>=o.half?o.AlterType.darken:o.AlterType.enlighten;l.roll.alter={type:e,value:(0,o.getRangeValue)(e===o.AlterType.darken?a.darken.value:a.enlighten.value)}}else a.darken.enable?l.roll.alter={type:o.AlterType.darken,value:(0,o.getRangeValue)(a.darken.value)}:a.enlighten.enable&&(l.roll.alter={type:o.AlterType.enlighten,value:(0,o.getRangeValue)(a.enlighten.value)});else l.roll={enable:!1,horizontal:!1,vertical:!1,angle:0,speed:0}}(this._engine,e)}isEnabled(e){const l=e.options.roll;return!e.destroyed&&!e.spawning&&!!l?.enable}loadOptions(e,...l){e.roll??=new i;for(const a of l)e.roll.load(a?.roll)}update(e,l){this.isEnabled(e)&&function(e,l){const a=e.options.roll,n=e.roll;if(!n||!a?.enable)return;const o=n.speed*l.factor,r=t;n.angle+=o,n.angle>r&&(n.angle-=r)}(e,l)}}}}]);
@@ -0,0 +1 @@
1
+ /*! tsParticles Roll Updater v4.0.0-alpha.0 by Matteo Bruni */
@@ -19,9 +19,7 @@ export class RollUpdater {
19
19
  return !particle.destroyed && !particle.spawning && !!roll?.enable;
20
20
  }
21
21
  loadOptions(options, ...sources) {
22
- if (!options.roll) {
23
- options.roll = new Roll();
24
- }
22
+ options.roll ??= new Roll();
25
23
  for (const source of sources) {
26
24
  options.roll.load(source?.roll);
27
25
  }
package/browser/index.js CHANGED
@@ -1,7 +1,9 @@
1
- import { RollUpdater } from "./RollUpdater.js";
2
- export async function loadRollUpdater(engine, refresh = true) {
3
- engine.checkVersion("3.9.0");
4
- await engine.addParticleUpdater("roll", () => {
5
- return Promise.resolve(new RollUpdater(engine));
6
- }, refresh);
1
+ export function loadRollUpdater(engine) {
2
+ engine.checkVersion("4.0.0-alpha.0");
3
+ engine.register(e => {
4
+ e.addParticleUpdater("roll", async () => {
5
+ const { RollUpdater } = await import("./RollUpdater.js");
6
+ return new RollUpdater(e);
7
+ });
8
+ });
7
9
  }
@@ -1,23 +1,20 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Roll = void 0;
4
- const engine_1 = require("@tsparticles/engine");
5
- const RollLight_js_1 = require("./RollLight.js");
6
- const RollMode_js_1 = require("../../RollMode.js");
7
- class Roll {
1
+ import { OptionsColor, isNull, setRangeValue, } from "@tsparticles/engine";
2
+ import { RollLight } from "./RollLight.js";
3
+ import { RollMode } from "../../RollMode.js";
4
+ export class Roll {
8
5
  constructor() {
9
- this.darken = new RollLight_js_1.RollLight();
6
+ this.darken = new RollLight();
10
7
  this.enable = false;
11
- this.enlighten = new RollLight_js_1.RollLight();
12
- this.mode = RollMode_js_1.RollMode.vertical;
8
+ this.enlighten = new RollLight();
9
+ this.mode = RollMode.vertical;
13
10
  this.speed = 25;
14
11
  }
15
12
  load(data) {
16
- if ((0, engine_1.isNull)(data)) {
13
+ if (isNull(data)) {
17
14
  return;
18
15
  }
19
16
  if (data.backColor !== undefined) {
20
- this.backColor = engine_1.OptionsColor.create(this.backColor, data.backColor);
17
+ this.backColor = OptionsColor.create(this.backColor, data.backColor);
21
18
  }
22
19
  this.darken.load(data.darken);
23
20
  if (data.enable !== undefined) {
@@ -28,8 +25,7 @@ class Roll {
28
25
  this.mode = data.mode;
29
26
  }
30
27
  if (data.speed !== undefined) {
31
- this.speed = (0, engine_1.setRangeValue)(data.speed);
28
+ this.speed = setRangeValue(data.speed);
32
29
  }
33
30
  }
34
31
  }
35
- exports.Roll = Roll;
@@ -1,22 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RollLight = void 0;
4
- const engine_1 = require("@tsparticles/engine");
5
- class RollLight {
1
+ import { isNull, setRangeValue } from "@tsparticles/engine";
2
+ export class RollLight {
6
3
  constructor() {
7
4
  this.enable = false;
8
5
  this.value = 0;
9
6
  }
10
7
  load(data) {
11
- if ((0, engine_1.isNull)(data)) {
8
+ if (isNull(data)) {
12
9
  return;
13
10
  }
14
11
  if (data.enable !== undefined) {
15
12
  this.enable = data.enable;
16
13
  }
17
14
  if (data.value !== undefined) {
18
- this.value = (0, engine_1.setRangeValue)(data.value);
15
+ this.value = setRangeValue(data.value);
19
16
  }
20
17
  }
21
18
  }
22
- exports.RollLight = RollLight;
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
package/cjs/RollMode.js CHANGED
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RollMode = void 0;
4
- var RollMode;
1
+ export var RollMode;
5
2
  (function (RollMode) {
6
3
  RollMode["both"] = "both";
7
4
  RollMode["horizontal"] = "horizontal";
8
5
  RollMode["vertical"] = "vertical";
9
- })(RollMode || (exports.RollMode = RollMode = {}));
6
+ })(RollMode || (RollMode = {}));
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RollUpdater = void 0;
4
- const Utils_js_1 = require("./Utils.js");
5
- const Roll_js_1 = require("./Options/Classes/Roll.js");
6
- class RollUpdater {
1
+ import { initParticle, updateRoll } from "./Utils.js";
2
+ import { Roll } from "./Options/Classes/Roll.js";
3
+ export class RollUpdater {
7
4
  constructor(engine) {
8
5
  this._engine = engine;
9
6
  }
@@ -15,16 +12,14 @@ class RollUpdater {
15
12
  };
16
13
  }
17
14
  init(particle) {
18
- (0, Utils_js_1.initParticle)(this._engine, particle);
15
+ initParticle(this._engine, particle);
19
16
  }
20
17
  isEnabled(particle) {
21
18
  const roll = particle.options.roll;
22
19
  return !particle.destroyed && !particle.spawning && !!roll?.enable;
23
20
  }
24
21
  loadOptions(options, ...sources) {
25
- if (!options.roll) {
26
- options.roll = new Roll_js_1.Roll();
27
- }
22
+ options.roll ??= new Roll();
28
23
  for (const source of sources) {
29
24
  options.roll.load(source?.roll);
30
25
  }
@@ -33,7 +28,6 @@ class RollUpdater {
33
28
  if (!this.isEnabled(particle)) {
34
29
  return;
35
30
  }
36
- (0, Utils_js_1.updateRoll)(particle, delta);
31
+ updateRoll(particle, delta);
37
32
  }
38
33
  }
39
- exports.RollUpdater = RollUpdater;
package/cjs/Types.js CHANGED
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
package/cjs/Utils.js CHANGED
@@ -1,11 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.initParticle = initParticle;
4
- exports.updateRoll = updateRoll;
5
- const engine_1 = require("@tsparticles/engine");
6
- const RollMode_js_1 = require("./RollMode.js");
1
+ import { AlterType, getRandom, getRangeValue, half, rangeColorToHsl, } from "@tsparticles/engine";
2
+ import { RollMode } from "./RollMode.js";
7
3
  const double = 2, doublePI = Math.PI * double, maxAngle = 360;
8
- function initParticle(engine, particle) {
4
+ export function initParticle(engine, particle) {
9
5
  const rollOpt = particle.options.roll;
10
6
  if (!rollOpt?.enable) {
11
7
  particle.roll = {
@@ -19,35 +15,35 @@ function initParticle(engine, particle) {
19
15
  }
20
16
  particle.roll = {
21
17
  enable: rollOpt.enable,
22
- horizontal: rollOpt.mode === RollMode_js_1.RollMode.horizontal || rollOpt.mode === RollMode_js_1.RollMode.both,
23
- vertical: rollOpt.mode === RollMode_js_1.RollMode.vertical || rollOpt.mode === RollMode_js_1.RollMode.both,
24
- angle: (0, engine_1.getRandom)() * doublePI,
25
- speed: (0, engine_1.getRangeValue)(rollOpt.speed) / maxAngle,
18
+ horizontal: rollOpt.mode === RollMode.horizontal || rollOpt.mode === RollMode.both,
19
+ vertical: rollOpt.mode === RollMode.vertical || rollOpt.mode === RollMode.both,
20
+ angle: getRandom() * doublePI,
21
+ speed: getRangeValue(rollOpt.speed) / maxAngle,
26
22
  };
27
23
  if (rollOpt.backColor) {
28
- particle.backColor = (0, engine_1.rangeColorToHsl)(engine, rollOpt.backColor);
24
+ particle.backColor = rangeColorToHsl(engine, rollOpt.backColor);
29
25
  }
30
26
  else if (rollOpt.darken.enable && rollOpt.enlighten.enable) {
31
- const alterType = (0, engine_1.getRandom)() >= engine_1.half ? engine_1.AlterType.darken : engine_1.AlterType.enlighten;
27
+ const alterType = getRandom() >= half ? AlterType.darken : AlterType.enlighten;
32
28
  particle.roll.alter = {
33
29
  type: alterType,
34
- value: (0, engine_1.getRangeValue)(alterType === engine_1.AlterType.darken ? rollOpt.darken.value : rollOpt.enlighten.value),
30
+ value: getRangeValue(alterType === AlterType.darken ? rollOpt.darken.value : rollOpt.enlighten.value),
35
31
  };
36
32
  }
37
33
  else if (rollOpt.darken.enable) {
38
34
  particle.roll.alter = {
39
- type: engine_1.AlterType.darken,
40
- value: (0, engine_1.getRangeValue)(rollOpt.darken.value),
35
+ type: AlterType.darken,
36
+ value: getRangeValue(rollOpt.darken.value),
41
37
  };
42
38
  }
43
39
  else if (rollOpt.enlighten.enable) {
44
40
  particle.roll.alter = {
45
- type: engine_1.AlterType.enlighten,
46
- value: (0, engine_1.getRangeValue)(rollOpt.enlighten.value),
41
+ type: AlterType.enlighten,
42
+ value: getRangeValue(rollOpt.enlighten.value),
47
43
  };
48
44
  }
49
45
  }
50
- function updateRoll(particle, delta) {
46
+ export function updateRoll(particle, delta) {
51
47
  const roll = particle.options.roll, data = particle.roll;
52
48
  if (!data || !roll?.enable) {
53
49
  return;
package/cjs/index.js CHANGED
@@ -1,10 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadRollUpdater = loadRollUpdater;
4
- const RollUpdater_js_1 = require("./RollUpdater.js");
5
- async function loadRollUpdater(engine, refresh = true) {
6
- engine.checkVersion("3.9.0");
7
- await engine.addParticleUpdater("roll", () => {
8
- return Promise.resolve(new RollUpdater_js_1.RollUpdater(engine));
9
- }, refresh);
1
+ export function loadRollUpdater(engine) {
2
+ engine.checkVersion("4.0.0-alpha.0");
3
+ engine.register(e => {
4
+ e.addParticleUpdater("roll", async () => {
5
+ const { RollUpdater } = await import("./RollUpdater.js");
6
+ return new RollUpdater(e);
7
+ });
8
+ });
10
9
  }
@@ -0,0 +1,70 @@
1
+ /*!
2
+ * Author : Matteo Bruni
3
+ * MIT license: https://opensource.org/licenses/MIT
4
+ * Demo / Generator : https://particles.js.org/
5
+ * GitHub : https://www.github.com/matteobruni/tsparticles
6
+ * How to use? : Check the GitHub README
7
+ * v4.0.0-alpha.0
8
+ */
9
+ "use strict";
10
+ /*
11
+ * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
12
+ * This devtool is neither made for production nor for readable output files.
13
+ * It uses "eval()" calls to create a separate source file in the browser devtools.
14
+ * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
15
+ * or disable the default devtool with "devtool: false".
16
+ * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
17
+ */
18
+ (this["webpackChunk_tsparticles_updater_roll"] = this["webpackChunk_tsparticles_updater_roll"] || []).push([["dist_browser_RollUpdater_js"],{
19
+
20
+ /***/ "./dist/browser/Options/Classes/Roll.js"
21
+ /*!**********************************************!*\
22
+ !*** ./dist/browser/Options/Classes/Roll.js ***!
23
+ \**********************************************/
24
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
25
+
26
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Roll: () => (/* binding */ Roll)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _RollLight_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RollLight.js */ \"./dist/browser/Options/Classes/RollLight.js\");\n/* harmony import */ var _RollMode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../RollMode.js */ \"./dist/browser/RollMode.js\");\n\n\n\nclass Roll {\n constructor() {\n this.darken = new _RollLight_js__WEBPACK_IMPORTED_MODULE_1__.RollLight();\n this.enable = false;\n this.enlighten = new _RollLight_js__WEBPACK_IMPORTED_MODULE_1__.RollLight();\n this.mode = _RollMode_js__WEBPACK_IMPORTED_MODULE_2__.RollMode.vertical;\n this.speed = 25;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.backColor !== undefined) {\n this.backColor = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.backColor, data.backColor);\n }\n this.darken.load(data.darken);\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n this.enlighten.load(data.enlighten);\n if (data.mode !== undefined) {\n this.mode = data.mode;\n }\n if (data.speed !== undefined) {\n this.speed = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.speed);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/updater-roll/./dist/browser/Options/Classes/Roll.js?\n}");
27
+
28
+ /***/ },
29
+
30
+ /***/ "./dist/browser/Options/Classes/RollLight.js"
31
+ /*!***************************************************!*\
32
+ !*** ./dist/browser/Options/Classes/RollLight.js ***!
33
+ \***************************************************/
34
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
35
+
36
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RollLight: () => (/* binding */ RollLight)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n\nclass RollLight {\n constructor() {\n this.enable = false;\n this.value = 0;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.enable !== undefined) {\n this.enable = data.enable;\n }\n if (data.value !== undefined) {\n this.value = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.value);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/updater-roll/./dist/browser/Options/Classes/RollLight.js?\n}");
37
+
38
+ /***/ },
39
+
40
+ /***/ "./dist/browser/RollMode.js"
41
+ /*!**********************************!*\
42
+ !*** ./dist/browser/RollMode.js ***!
43
+ \**********************************/
44
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
45
+
46
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RollMode: () => (/* binding */ RollMode)\n/* harmony export */ });\nvar RollMode;\n(function (RollMode) {\n RollMode[\"both\"] = \"both\";\n RollMode[\"horizontal\"] = \"horizontal\";\n RollMode[\"vertical\"] = \"vertical\";\n})(RollMode || (RollMode = {}));\n\n//# sourceURL=webpack://@tsparticles/updater-roll/./dist/browser/RollMode.js?\n}");
47
+
48
+ /***/ },
49
+
50
+ /***/ "./dist/browser/RollUpdater.js"
51
+ /*!*************************************!*\
52
+ !*** ./dist/browser/RollUpdater.js ***!
53
+ \*************************************/
54
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
55
+
56
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ RollUpdater: () => (/* binding */ RollUpdater)\n/* harmony export */ });\n/* harmony import */ var _Utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Utils.js */ \"./dist/browser/Utils.js\");\n/* harmony import */ var _Options_Classes_Roll_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Roll.js */ \"./dist/browser/Options/Classes/Roll.js\");\n\n\nclass RollUpdater {\n constructor(engine) {\n this._engine = engine;\n }\n getTransformValues(particle) {\n const roll = particle.roll?.enable && particle.roll,\n rollHorizontal = roll && roll.horizontal,\n rollVertical = roll && roll.vertical;\n return {\n a: rollHorizontal ? Math.cos(roll.angle) : undefined,\n d: rollVertical ? Math.sin(roll.angle) : undefined\n };\n }\n init(particle) {\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_0__.initParticle)(this._engine, particle);\n }\n isEnabled(particle) {\n const roll = particle.options.roll;\n return !particle.destroyed && !particle.spawning && !!roll?.enable;\n }\n loadOptions(options, ...sources) {\n options.roll ??= new _Options_Classes_Roll_js__WEBPACK_IMPORTED_MODULE_1__.Roll();\n for (const source of sources) {\n options.roll.load(source?.roll);\n }\n }\n update(particle, delta) {\n if (!this.isEnabled(particle)) {\n return;\n }\n (0,_Utils_js__WEBPACK_IMPORTED_MODULE_0__.updateRoll)(particle, delta);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/updater-roll/./dist/browser/RollUpdater.js?\n}");
57
+
58
+ /***/ },
59
+
60
+ /***/ "./dist/browser/Utils.js"
61
+ /*!*******************************!*\
62
+ !*** ./dist/browser/Utils.js ***!
63
+ \*******************************/
64
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
65
+
66
+ eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ initParticle: () => (/* binding */ initParticle),\n/* harmony export */ updateRoll: () => (/* binding */ updateRoll)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _RollMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./RollMode.js */ \"./dist/browser/RollMode.js\");\n\n\nconst double = 2,\n doublePI = Math.PI * double,\n maxAngle = 360;\nfunction initParticle(engine, particle) {\n const rollOpt = particle.options.roll;\n if (!rollOpt?.enable) {\n particle.roll = {\n enable: false,\n horizontal: false,\n vertical: false,\n angle: 0,\n speed: 0\n };\n return;\n }\n particle.roll = {\n enable: rollOpt.enable,\n horizontal: rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.horizontal || rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.both,\n vertical: rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.vertical || rollOpt.mode === _RollMode_js__WEBPACK_IMPORTED_MODULE_1__.RollMode.both,\n angle: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() * doublePI,\n speed: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.speed) / maxAngle\n };\n if (rollOpt.backColor) {\n particle.backColor = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(engine, rollOpt.backColor);\n } else if (rollOpt.darken.enable && rollOpt.enlighten.enable) {\n const alterType = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() >= _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.half ? _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.darken : _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.enlighten;\n particle.roll.alter = {\n type: alterType,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(alterType === _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.darken ? rollOpt.darken.value : rollOpt.enlighten.value)\n };\n } else if (rollOpt.darken.enable) {\n particle.roll.alter = {\n type: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.darken,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.darken.value)\n };\n } else if (rollOpt.enlighten.enable) {\n particle.roll.alter = {\n type: _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.AlterType.enlighten,\n value: (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(rollOpt.enlighten.value)\n };\n }\n}\nfunction updateRoll(particle, delta) {\n const roll = particle.options.roll,\n data = particle.roll;\n if (!data || !roll?.enable) {\n return;\n }\n const speed = data.speed * delta.factor,\n max = doublePI;\n data.angle += speed;\n if (data.angle > max) {\n data.angle -= max;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/updater-roll/./dist/browser/Utils.js?\n}");
67
+
68
+ /***/ }
69
+
70
+ }]);
@@ -19,9 +19,7 @@ export class RollUpdater {
19
19
  return !particle.destroyed && !particle.spawning && !!roll?.enable;
20
20
  }
21
21
  loadOptions(options, ...sources) {
22
- if (!options.roll) {
23
- options.roll = new Roll();
24
- }
22
+ options.roll ??= new Roll();
25
23
  for (const source of sources) {
26
24
  options.roll.load(source?.roll);
27
25
  }
package/esm/index.js CHANGED
@@ -1,7 +1,9 @@
1
- import { RollUpdater } from "./RollUpdater.js";
2
- export async function loadRollUpdater(engine, refresh = true) {
3
- engine.checkVersion("3.9.0");
4
- await engine.addParticleUpdater("roll", () => {
5
- return Promise.resolve(new RollUpdater(engine));
6
- }, refresh);
1
+ export function loadRollUpdater(engine) {
2
+ engine.checkVersion("4.0.0-alpha.0");
3
+ engine.register(e => {
4
+ e.addParticleUpdater("roll", async () => {
5
+ const { RollUpdater } = await import("./RollUpdater.js");
6
+ return new RollUpdater(e);
7
+ });
8
+ });
7
9
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/updater-roll",
3
- "version": "3.9.0",
3
+ "version": "4.0.0-alpha.0",
4
4
  "description": "tsParticles particles roll updater",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -87,9 +87,10 @@
87
87
  "./package.json": "./package.json"
88
88
  },
89
89
  "dependencies": {
90
- "@tsparticles/engine": "3.9.0"
90
+ "@tsparticles/engine": "4.0.0-alpha.0"
91
91
  },
92
92
  "publishConfig": {
93
93
  "access": "public"
94
- }
94
+ },
95
+ "type": "module"
95
96
  }