@tsparticles/updater-twinkle 3.6.0 → 3.7.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.
@@ -1,12 +1,15 @@
1
1
  import { getRandom, getRangeValue, getStyleFromHsl, rangeColorToHsl, } from "@tsparticles/engine";
2
2
  import { Twinkle } from "./Options/Classes/Twinkle.js";
3
3
  export class TwinkleUpdater {
4
+ constructor(engine) {
5
+ this._engine = engine;
6
+ }
4
7
  getColorStyles(particle, context, radius, opacity) {
5
8
  const pOptions = particle.options, twinkleOptions = pOptions.twinkle;
6
9
  if (!twinkleOptions) {
7
10
  return {};
8
11
  }
9
- const twinkle = twinkleOptions.particles, twinkling = twinkle.enable && getRandom() < twinkle.frequency, zIndexOptions = particle.options.zIndex, zOffset = 1, zOpacityFactor = (zOffset - particle.zIndexFactor) ** zIndexOptions.opacityRate, twinklingOpacity = twinkling ? getRangeValue(twinkle.opacity) * zOpacityFactor : opacity, twinkleRgb = rangeColorToHsl(twinkle.color), twinkleStyle = twinkleRgb ? getStyleFromHsl(twinkleRgb, twinklingOpacity) : undefined, res = {}, needsTwinkle = twinkling && twinkleStyle;
12
+ const twinkle = twinkleOptions.particles, twinkling = twinkle.enable && getRandom() < twinkle.frequency, zIndexOptions = particle.options.zIndex, zOffset = 1, zOpacityFactor = (zOffset - particle.zIndexFactor) ** zIndexOptions.opacityRate, twinklingOpacity = twinkling ? getRangeValue(twinkle.opacity) * zOpacityFactor : opacity, twinkleRgb = rangeColorToHsl(this._engine, twinkle.color), twinkleStyle = twinkleRgb ? getStyleFromHsl(twinkleRgb, twinklingOpacity) : undefined, res = {}, needsTwinkle = twinkling && twinkleStyle;
10
13
  res.fill = needsTwinkle ? twinkleStyle : undefined;
11
14
  res.stroke = needsTwinkle ? twinkleStyle : undefined;
12
15
  return res;
package/browser/index.js CHANGED
@@ -1,6 +1,8 @@
1
+ import { assertValidVersion } from "@tsparticles/engine";
1
2
  import { TwinkleUpdater } from "./TwinkleUpdater.js";
2
3
  export async function loadTwinkleUpdater(engine, refresh = true) {
4
+ assertValidVersion(engine, "3.7.0");
3
5
  await engine.addParticleUpdater("twinkle", () => {
4
- return Promise.resolve(new TwinkleUpdater());
6
+ return Promise.resolve(new TwinkleUpdater(engine));
5
7
  }, refresh);
6
8
  }
@@ -4,12 +4,15 @@ exports.TwinkleUpdater = void 0;
4
4
  const engine_1 = require("@tsparticles/engine");
5
5
  const Twinkle_js_1 = require("./Options/Classes/Twinkle.js");
6
6
  class TwinkleUpdater {
7
+ constructor(engine) {
8
+ this._engine = engine;
9
+ }
7
10
  getColorStyles(particle, context, radius, opacity) {
8
11
  const pOptions = particle.options, twinkleOptions = pOptions.twinkle;
9
12
  if (!twinkleOptions) {
10
13
  return {};
11
14
  }
12
- const twinkle = twinkleOptions.particles, twinkling = twinkle.enable && (0, engine_1.getRandom)() < twinkle.frequency, zIndexOptions = particle.options.zIndex, zOffset = 1, zOpacityFactor = (zOffset - particle.zIndexFactor) ** zIndexOptions.opacityRate, twinklingOpacity = twinkling ? (0, engine_1.getRangeValue)(twinkle.opacity) * zOpacityFactor : opacity, twinkleRgb = (0, engine_1.rangeColorToHsl)(twinkle.color), twinkleStyle = twinkleRgb ? (0, engine_1.getStyleFromHsl)(twinkleRgb, twinklingOpacity) : undefined, res = {}, needsTwinkle = twinkling && twinkleStyle;
15
+ const twinkle = twinkleOptions.particles, twinkling = twinkle.enable && (0, engine_1.getRandom)() < twinkle.frequency, zIndexOptions = particle.options.zIndex, zOffset = 1, zOpacityFactor = (zOffset - particle.zIndexFactor) ** zIndexOptions.opacityRate, twinklingOpacity = twinkling ? (0, engine_1.getRangeValue)(twinkle.opacity) * zOpacityFactor : opacity, twinkleRgb = (0, engine_1.rangeColorToHsl)(this._engine, twinkle.color), twinkleStyle = twinkleRgb ? (0, engine_1.getStyleFromHsl)(twinkleRgb, twinklingOpacity) : undefined, res = {}, needsTwinkle = twinkling && twinkleStyle;
13
16
  res.fill = needsTwinkle ? twinkleStyle : undefined;
14
17
  res.stroke = needsTwinkle ? twinkleStyle : undefined;
15
18
  return res;
package/cjs/index.js CHANGED
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadTwinkleUpdater = loadTwinkleUpdater;
4
+ const engine_1 = require("@tsparticles/engine");
4
5
  const TwinkleUpdater_js_1 = require("./TwinkleUpdater.js");
5
6
  async function loadTwinkleUpdater(engine, refresh = true) {
7
+ (0, engine_1.assertValidVersion)(engine, "3.7.0");
6
8
  await engine.addParticleUpdater("twinkle", () => {
7
- return Promise.resolve(new TwinkleUpdater_js_1.TwinkleUpdater());
9
+ return Promise.resolve(new TwinkleUpdater_js_1.TwinkleUpdater(engine));
8
10
  }, refresh);
9
11
  }
@@ -1,12 +1,15 @@
1
1
  import { getRandom, getRangeValue, getStyleFromHsl, rangeColorToHsl, } from "@tsparticles/engine";
2
2
  import { Twinkle } from "./Options/Classes/Twinkle.js";
3
3
  export class TwinkleUpdater {
4
+ constructor(engine) {
5
+ this._engine = engine;
6
+ }
4
7
  getColorStyles(particle, context, radius, opacity) {
5
8
  const pOptions = particle.options, twinkleOptions = pOptions.twinkle;
6
9
  if (!twinkleOptions) {
7
10
  return {};
8
11
  }
9
- const twinkle = twinkleOptions.particles, twinkling = twinkle.enable && getRandom() < twinkle.frequency, zIndexOptions = particle.options.zIndex, zOffset = 1, zOpacityFactor = (zOffset - particle.zIndexFactor) ** zIndexOptions.opacityRate, twinklingOpacity = twinkling ? getRangeValue(twinkle.opacity) * zOpacityFactor : opacity, twinkleRgb = rangeColorToHsl(twinkle.color), twinkleStyle = twinkleRgb ? getStyleFromHsl(twinkleRgb, twinklingOpacity) : undefined, res = {}, needsTwinkle = twinkling && twinkleStyle;
12
+ const twinkle = twinkleOptions.particles, twinkling = twinkle.enable && getRandom() < twinkle.frequency, zIndexOptions = particle.options.zIndex, zOffset = 1, zOpacityFactor = (zOffset - particle.zIndexFactor) ** zIndexOptions.opacityRate, twinklingOpacity = twinkling ? getRangeValue(twinkle.opacity) * zOpacityFactor : opacity, twinkleRgb = rangeColorToHsl(this._engine, twinkle.color), twinkleStyle = twinkleRgb ? getStyleFromHsl(twinkleRgb, twinklingOpacity) : undefined, res = {}, needsTwinkle = twinkling && twinkleStyle;
10
13
  res.fill = needsTwinkle ? twinkleStyle : undefined;
11
14
  res.stroke = needsTwinkle ? twinkleStyle : undefined;
12
15
  return res;
package/esm/index.js CHANGED
@@ -1,6 +1,8 @@
1
+ import { assertValidVersion } from "@tsparticles/engine";
1
2
  import { TwinkleUpdater } from "./TwinkleUpdater.js";
2
3
  export async function loadTwinkleUpdater(engine, refresh = true) {
4
+ assertValidVersion(engine, "3.7.0");
3
5
  await engine.addParticleUpdater("twinkle", () => {
4
- return Promise.resolve(new TwinkleUpdater());
6
+ return Promise.resolve(new TwinkleUpdater(engine));
5
7
  }, refresh);
6
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/updater-twinkle",
3
- "version": "3.6.0",
3
+ "version": "3.7.0",
4
4
  "description": "tsParticles particles twinkle updater",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -87,7 +87,7 @@
87
87
  "./package.json": "./package.json"
88
88
  },
89
89
  "dependencies": {
90
- "@tsparticles/engine": "^3.6.0"
90
+ "@tsparticles/engine": "3.7.0"
91
91
  },
92
92
  "publishConfig": {
93
93
  "access": "public"
package/report.html CHANGED
@@ -3,7 +3,7 @@
3
3
  <head>
4
4
  <meta charset="UTF-8"/>
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1"/>
6
- <title>@tsparticles/updater-twinkle [19 Nov 2024 at 00:01]</title>
6
+ <title>@tsparticles/updater-twinkle [24 Nov 2024 at 19:28]</title>
7
7
  <link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAABrVBMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+O1foceMD///+J0/qK1Pr7/v8Xdr/9///W8P4UdL7L7P0Scr2r4Pyj3vwad8D5/f/2/f+55f3E6f34+/2H0/ojfMKpzOd0rNgQcb3F3O/j9f7c8v6g3Pz0/P/w+v/q+P7n9v6T1/uQ1vuE0vqLut/y+v+Z2fvt+f+15Pzv9fuc2/vR7v2V2Pvd6/bg9P7I6/285/2y4/yp3/zp8vk8i8kqgMT7/P31+fyv4vxGkcz6/P6/6P3j7vfS5PNnpNUxhcbO7f7F6v3O4vHK3/DA2u631Ouy0eqXweKJud5wqthfoNMMbLvY8f73+v2dxeR8sNtTmdDx9/zX6PSjyeaCtd1YnNGX2PuQveCGt95Nls42h8dLlM3F4vBtAAAAM3RSTlMAAyOx0/sKBvik8opWGBMOAe3l1snDm2E9LSb06eHcu5JpHbarfHZCN9CBb08zzkdNS0kYaptYAAAFV0lEQVRYw92X51/aYBDHHS2O2qqttVbrqNq9m+TJIAYIShBkWwqIiCgoWvfeq7Z2/s29hyQNyUcR7LveGwVyXy6XH8/9rqxglLfUPLxVduUor3h0rfp2TYvpivk37929TkG037hffoX0+peVtZQc1589rigVUdXS/ABSAyEmGIO/1XfvldSK8vs3OqB6u3m0nxmIrvgB0dj7rr7Y9IbuF68hnfFaiHA/sxqm0wciIG43P60qKv9WXWc1RXGh/mFESFABTSBi0sNAKzqet17eCtOb3kZIDwxEEU0oAIJGYxNBDhBND29e0rtXXbcpuPmED9IhEAAQ/AXEaF8EPmnrrKsv0LvWR3fg5sWDNAFZOgAgaKvZDogHNU9MFwnnYROkc56RD5CjAbQX9Ow4g7upCsvYu55aSI/Nj0H1akgKQEUM94dwK65hYRmFU9MIcH/fqJYOZYcnuJSU/waKDgTOEVaVKhwrTRP5XzgSpAITYzom7UvkhFX5VutmxeNnWDjjswTKTyfgluNDGbUpWissXhF3s7mlSml+czWkg3D0l1nNjGNjz3myOQOa1KM/jOS6ebdbAVTCi4gljHSFrviza7tOgRWcS0MOUX9zdNgag5w7rRqA44Lzw0hr1WqES36dFliSJFlh2rXIae3FFcDDgKdxrUIDePr8jGcSClV1u7A9xeN0ModY/pHMxmR1EzRh8TJiwqsHmKW0l4FCEZI+jHio+JdPPE9qwQtTRxku2D8sIeRL2LnxWSllANCQGOIiqVHAz2ye2JR0DcH+HoxDkaADLjgxjKQ+AwCX/g0+DNgdG0ukYCONAe+dbc2IAc6fwt1ARoDSezNHxV2Cmzwv3O6lDMV55edBGwGK9n1+x2F8EDfAGCxug8MhpsMEcTEAWf3rx2vZhe/LAmtIn/6apE6PN0ULKgywD9mmdxbmFl3OvD5AS5fW5zLbv/YHmcsBTjf/afDz3MaZTVCfAP9z6/Bw6ycv8EUBWJIn9zYcoAWWlW9+OzO3vkTy8H+RANLmdrpOuYWdZYEXpo+TlCJrW5EARb7fF+bWdqf3hhyZI1nWJQHgznErZhbjoEsWqi8dQNoE294aldzFurwSABL2XXMf9+H1VQGke9exw5P/AnA5Pv5ngMul7LOvO922iwACu8WkCwLCafvM4CeWPxfA8lNHcWZSoi8EwMAIciKX2Z4SWCMAa3snCZ/G4EA8D6CMLNFsGQhkkz/gQNEBbPCbWsxGUpYVu3z8IyNAknwJkfPMEhLyrdi5RTyUVACkw4GSFRNWJNEW+fgPGwHD8/JxnRuLabN4CGNRkAE23na2+VmEAUmrYymSGjMAYqH84YUIyzgzs3XC7gNgH36Vcc4zKY9o9fgPBXUAiHHwVboBHGLiX6Zcjp1f2wu4tvzZKo0ecPnDtQYDQvJXaBeNzce45Fp28ZQLrEZVuFqgBwOalArKXnW1UzlnSusQKJqKYNuz4tOnI6sZG4zanpemv+7ySU2jbA9h6uhcgpfy6G2PahirDZ6zvq6zDduMVFTKvzw8wgyEdelwY9in3XkEPs3osJuwRQ4qTkfzifndg9Gfc4pdsu82+tTnHZTBa2EAMrqr2t43pguc8tNm7JQVQ2S0ukj2d22dhXYP0/veWtwKrCkNoNimAN5+Xr/oLrxswKbVJjteWrX7eR63o4j9q0GxnaBdWgGA5VStpanIjQmEhV0/nVt5VOFUvix6awJhPcAaTEShgrG+iGyvb5a0Ndb1YGHFPEwoqAinoaykaID1o1pdPNu7XsnCKQ3R+hwWIIhGvORcJUBYXe3Xa3vq/mF/N9V13ugufMkfXn+KHsRD0B8AAAAASUVORK5CYII=" type="image/x-icon" />
8
8
 
9
9
  <script>
@@ -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
- * v3.6.0
7
+ * v3.7.0
8
8
  */
9
9
  /*
10
10
  * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
@@ -54,7 +54,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
54
54
  \****************************************/
55
55
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
56
56
 
57
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TwinkleUpdater: () => (/* binding */ TwinkleUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Options_Classes_Twinkle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Twinkle.js */ \"./dist/browser/Options/Classes/Twinkle.js\");\n\n\nclass TwinkleUpdater {\n getColorStyles(particle, context, radius, opacity) {\n const pOptions = particle.options,\n twinkleOptions = pOptions.twinkle;\n if (!twinkleOptions) {\n return {};\n }\n const twinkle = twinkleOptions.particles,\n twinkling = twinkle.enable && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() < twinkle.frequency,\n zIndexOptions = particle.options.zIndex,\n zOffset = 1,\n zOpacityFactor = (zOffset - particle.zIndexFactor) ** zIndexOptions.opacityRate,\n twinklingOpacity = twinkling ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(twinkle.opacity) * zOpacityFactor : opacity,\n twinkleRgb = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(twinkle.color),\n twinkleStyle = twinkleRgb ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromHsl)(twinkleRgb, twinklingOpacity) : undefined,\n res = {},\n needsTwinkle = twinkling && twinkleStyle;\n res.fill = needsTwinkle ? twinkleStyle : undefined;\n res.stroke = needsTwinkle ? twinkleStyle : undefined;\n return res;\n }\n async init() {\n await Promise.resolve();\n }\n isEnabled(particle) {\n const pOptions = particle.options,\n twinkleOptions = pOptions.twinkle;\n if (!twinkleOptions) {\n return false;\n }\n return twinkleOptions.particles.enable;\n }\n loadOptions(options, ...sources) {\n if (!options.twinkle) {\n options.twinkle = new _Options_Classes_Twinkle_js__WEBPACK_IMPORTED_MODULE_1__.Twinkle();\n }\n for (const source of sources) {\n options.twinkle.load(source?.twinkle);\n }\n }\n async update() {\n await Promise.resolve();\n }\n}\n\n//# sourceURL=webpack://@tsparticles/updater-twinkle/./dist/browser/TwinkleUpdater.js?");
57
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TwinkleUpdater: () => (/* binding */ TwinkleUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Options_Classes_Twinkle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Options/Classes/Twinkle.js */ \"./dist/browser/Options/Classes/Twinkle.js\");\n\n\nclass TwinkleUpdater {\n constructor(engine) {\n this._engine = engine;\n }\n getColorStyles(particle, context, radius, opacity) {\n const pOptions = particle.options,\n twinkleOptions = pOptions.twinkle;\n if (!twinkleOptions) {\n return {};\n }\n const twinkle = twinkleOptions.particles,\n twinkling = twinkle.enable && (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRandom)() < twinkle.frequency,\n zIndexOptions = particle.options.zIndex,\n zOffset = 1,\n zOpacityFactor = (zOffset - particle.zIndexFactor) ** zIndexOptions.opacityRate,\n twinklingOpacity = twinkling ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getRangeValue)(twinkle.opacity) * zOpacityFactor : opacity,\n twinkleRgb = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToHsl)(this._engine, twinkle.color),\n twinkleStyle = twinkleRgb ? (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromHsl)(twinkleRgb, twinklingOpacity) : undefined,\n res = {},\n needsTwinkle = twinkling && twinkleStyle;\n res.fill = needsTwinkle ? twinkleStyle : undefined;\n res.stroke = needsTwinkle ? twinkleStyle : undefined;\n return res;\n }\n async init() {\n await Promise.resolve();\n }\n isEnabled(particle) {\n const pOptions = particle.options,\n twinkleOptions = pOptions.twinkle;\n if (!twinkleOptions) {\n return false;\n }\n return twinkleOptions.particles.enable;\n }\n loadOptions(options, ...sources) {\n if (!options.twinkle) {\n options.twinkle = new _Options_Classes_Twinkle_js__WEBPACK_IMPORTED_MODULE_1__.Twinkle();\n }\n for (const source of sources) {\n options.twinkle.load(source?.twinkle);\n }\n }\n async update() {\n await Promise.resolve();\n }\n}\n\n//# sourceURL=webpack://@tsparticles/updater-twinkle/./dist/browser/TwinkleUpdater.js?");
58
58
 
59
59
  /***/ }),
60
60
 
@@ -64,7 +64,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
64
64
  \*******************************/
65
65
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
66
66
 
67
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadTwinkleUpdater: () => (/* binding */ loadTwinkleUpdater)\n/* harmony export */ });\n/* harmony import */ var _TwinkleUpdater_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./TwinkleUpdater.js */ \"./dist/browser/TwinkleUpdater.js\");\n\nasync function loadTwinkleUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"twinkle\", () => {\n return Promise.resolve(new _TwinkleUpdater_js__WEBPACK_IMPORTED_MODULE_0__.TwinkleUpdater());\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/updater-twinkle/./dist/browser/index.js?");
67
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadTwinkleUpdater: () => (/* binding */ loadTwinkleUpdater)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _TwinkleUpdater_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TwinkleUpdater.js */ \"./dist/browser/TwinkleUpdater.js\");\n\n\nasync function loadTwinkleUpdater(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addParticleUpdater(\"twinkle\", () => {\n return Promise.resolve(new _TwinkleUpdater_js__WEBPACK_IMPORTED_MODULE_1__.TwinkleUpdater(engine));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/updater-twinkle/./dist/browser/index.js?");
68
68
 
69
69
  /***/ }),
70
70
 
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see tsparticles.updater.twinkle.min.js.LICENSE.txt */
2
- !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 o="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var r in o)("object"==typeof exports?exports:e)[r]=o[r]}}(this,(e=>(()=>{var t={303:t=>{t.exports=e}},o={};function r(e){var i=o[e];if(void 0!==i)return i.exports;var n=o[e]={exports:{}};return t[e](n,n.exports,r),n.exports}r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};r.r(i),r.d(i,{loadTwinkleUpdater:()=>c});var n=r(303);class s{constructor(){this.enable=!1,this.frequency=.05,this.opacity=1}load(e){(0,n.isNull)(e)||(void 0!==e.color&&(this.color=n.OptionsColor.create(this.color,e.color)),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.frequency&&(this.frequency=e.frequency),void 0!==e.opacity&&(this.opacity=(0,n.setRangeValue)(e.opacity)))}}class l{constructor(){this.lines=new s,this.particles=new s}load(e){(0,n.isNull)(e)||(this.lines.load(e.lines),this.particles.load(e.particles))}}class a{getColorStyles(e,t,o,r){const i=e.options.twinkle;if(!i)return{};const s=i.particles,l=s.enable&&(0,n.getRandom)()<s.frequency,a=e.options.zIndex,c=(1-e.zIndexFactor)**a.opacityRate,p=l?(0,n.getRangeValue)(s.opacity)*c:r,d=(0,n.rangeColorToHsl)(s.color),u=d?(0,n.getStyleFromHsl)(d,p):void 0,f={},y=l&&u;return f.fill=y?u:void 0,f.stroke=y?u:void 0,f}async init(){await Promise.resolve()}isEnabled(e){const t=e.options.twinkle;return!!t&&t.particles.enable}loadOptions(e,...t){e.twinkle||(e.twinkle=new l);for(const o of t)e.twinkle.load(o?.twinkle)}async update(){await Promise.resolve()}}async function c(e,t=!0){await e.addParticleUpdater("twinkle",(()=>Promise.resolve(new a)),t)}return i})()));
2
+ !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 o="object"==typeof exports?t(require("@tsparticles/engine")):t(e.window);for(var i in o)("object"==typeof exports?exports:e)[i]=o[i]}}(this,(e=>(()=>{var t={303:t=>{t.exports=e}},o={};function i(e){var r=o[e];if(void 0!==r)return r.exports;var n=o[e]={exports:{}};return t[e](n,n.exports,i),n.exports}i.d=(e,t)=>{for(var o in t)i.o(t,o)&&!i.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var r={};i.r(r),i.d(r,{loadTwinkleUpdater:()=>c});var n=i(303);class s{constructor(){this.enable=!1,this.frequency=.05,this.opacity=1}load(e){(0,n.isNull)(e)||(void 0!==e.color&&(this.color=n.OptionsColor.create(this.color,e.color)),void 0!==e.enable&&(this.enable=e.enable),void 0!==e.frequency&&(this.frequency=e.frequency),void 0!==e.opacity&&(this.opacity=(0,n.setRangeValue)(e.opacity)))}}class l{constructor(){this.lines=new s,this.particles=new s}load(e){(0,n.isNull)(e)||(this.lines.load(e.lines),this.particles.load(e.particles))}}class a{constructor(e){this._engine=e}getColorStyles(e,t,o,i){const r=e.options.twinkle;if(!r)return{};const s=r.particles,l=s.enable&&(0,n.getRandom)()<s.frequency,a=e.options.zIndex,c=(1-e.zIndexFactor)**a.opacityRate,p=l?(0,n.getRangeValue)(s.opacity)*c:i,d=(0,n.rangeColorToHsl)(this._engine,s.color),u=d?(0,n.getStyleFromHsl)(d,p):void 0,f={},y=l&&u;return f.fill=y?u:void 0,f.stroke=y?u:void 0,f}async init(){await Promise.resolve()}isEnabled(e){const t=e.options.twinkle;return!!t&&t.particles.enable}loadOptions(e,...t){e.twinkle||(e.twinkle=new l);for(const o of t)e.twinkle.load(o?.twinkle)}async update(){await Promise.resolve()}}async function c(e,t=!0){(0,n.assertValidVersion)(e,"3.7.0"),await e.addParticleUpdater("twinkle",(()=>Promise.resolve(new a(e))),t)}return r})()));
@@ -1 +1 @@
1
- /*! tsParticles Twinkle Updater v3.6.0 by Matteo Bruni */
1
+ /*! tsParticles Twinkle Updater v3.7.0 by Matteo Bruni */
@@ -1,6 +1,8 @@
1
- import { type IParticleColorStyle, type IParticleUpdater, type Particle, type RecursivePartial } from "@tsparticles/engine";
1
+ import { type Engine, type IParticleColorStyle, type IParticleUpdater, type Particle, type RecursivePartial } from "@tsparticles/engine";
2
2
  import type { ITwinkleParticlesOptions, TwinkeParticle, TwinkleParticlesOptions } from "./Types.js";
3
3
  export declare class TwinkleUpdater implements IParticleUpdater {
4
+ private readonly _engine;
5
+ constructor(engine: Engine);
4
6
  getColorStyles(particle: Particle, context: CanvasRenderingContext2D, radius: number, opacity: number): IParticleColorStyle;
5
7
  init(): Promise<void>;
6
8
  isEnabled(particle: TwinkeParticle): boolean;
package/types/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import type { Engine } from "@tsparticles/engine";
1
+ import { type Engine } from "@tsparticles/engine";
2
2
  export declare function loadTwinkleUpdater(engine: Engine, refresh?: boolean): Promise<void>;
@@ -13,12 +13,15 @@
13
13
  const engine_1 = require("@tsparticles/engine");
14
14
  const Twinkle_js_1 = require("./Options/Classes/Twinkle.js");
15
15
  class TwinkleUpdater {
16
+ constructor(engine) {
17
+ this._engine = engine;
18
+ }
16
19
  getColorStyles(particle, context, radius, opacity) {
17
20
  const pOptions = particle.options, twinkleOptions = pOptions.twinkle;
18
21
  if (!twinkleOptions) {
19
22
  return {};
20
23
  }
21
- const twinkle = twinkleOptions.particles, twinkling = twinkle.enable && (0, engine_1.getRandom)() < twinkle.frequency, zIndexOptions = particle.options.zIndex, zOffset = 1, zOpacityFactor = (zOffset - particle.zIndexFactor) ** zIndexOptions.opacityRate, twinklingOpacity = twinkling ? (0, engine_1.getRangeValue)(twinkle.opacity) * zOpacityFactor : opacity, twinkleRgb = (0, engine_1.rangeColorToHsl)(twinkle.color), twinkleStyle = twinkleRgb ? (0, engine_1.getStyleFromHsl)(twinkleRgb, twinklingOpacity) : undefined, res = {}, needsTwinkle = twinkling && twinkleStyle;
24
+ const twinkle = twinkleOptions.particles, twinkling = twinkle.enable && (0, engine_1.getRandom)() < twinkle.frequency, zIndexOptions = particle.options.zIndex, zOffset = 1, zOpacityFactor = (zOffset - particle.zIndexFactor) ** zIndexOptions.opacityRate, twinklingOpacity = twinkling ? (0, engine_1.getRangeValue)(twinkle.opacity) * zOpacityFactor : opacity, twinkleRgb = (0, engine_1.rangeColorToHsl)(this._engine, twinkle.color), twinkleStyle = twinkleRgb ? (0, engine_1.getStyleFromHsl)(twinkleRgb, twinklingOpacity) : undefined, res = {}, needsTwinkle = twinkling && twinkleStyle;
22
25
  res.fill = needsTwinkle ? twinkleStyle : undefined;
23
26
  res.stroke = needsTwinkle ? twinkleStyle : undefined;
24
27
  return res;
package/umd/index.js CHANGED
@@ -4,16 +4,18 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./TwinkleUpdater.js"], factory);
7
+ define(["require", "exports", "@tsparticles/engine", "./TwinkleUpdater.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.loadTwinkleUpdater = loadTwinkleUpdater;
13
+ const engine_1 = require("@tsparticles/engine");
13
14
  const TwinkleUpdater_js_1 = require("./TwinkleUpdater.js");
14
15
  async function loadTwinkleUpdater(engine, refresh = true) {
16
+ (0, engine_1.assertValidVersion)(engine, "3.7.0");
15
17
  await engine.addParticleUpdater("twinkle", () => {
16
- return Promise.resolve(new TwinkleUpdater_js_1.TwinkleUpdater());
18
+ return Promise.resolve(new TwinkleUpdater_js_1.TwinkleUpdater(engine));
17
19
  }, refresh);
18
20
  }
19
21
  });