@tsparticles/updater-destroy 3.6.0-beta.1 → 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,3 +1,4 @@
1
+ import { isNull } from "@tsparticles/engine";
1
2
  import { DestroyBounds } from "./DestroyBounds.js";
2
3
  import { DestroyMode } from "../../Enums/DestroyMode.js";
3
4
  import { Split } from "./Split.js";
@@ -8,7 +9,7 @@ export class Destroy {
8
9
  this.split = new Split();
9
10
  }
10
11
  load(data) {
11
- if (!data) {
12
+ if (isNull(data)) {
12
13
  return;
13
14
  }
14
15
  if (data.mode) {
@@ -1,7 +1,7 @@
1
- import { setRangeValue } from "@tsparticles/engine";
1
+ import { isNull, setRangeValue } from "@tsparticles/engine";
2
2
  export class DestroyBounds {
3
3
  load(data) {
4
- if (!data) {
4
+ if (isNull(data)) {
5
5
  return;
6
6
  }
7
7
  if (data.bottom !== undefined) {
@@ -1,4 +1,4 @@
1
- import { OptionsColor, deepExtend, executeOnSingleOrMultiple, } from "@tsparticles/engine";
1
+ import { OptionsColor, deepExtend, executeOnSingleOrMultiple, isNull, } from "@tsparticles/engine";
2
2
  import { SplitFactor } from "./SplitFactor.js";
3
3
  import { SplitRate } from "./SplitRate.js";
4
4
  export class Split {
@@ -9,7 +9,7 @@ export class Split {
9
9
  this.sizeOffset = true;
10
10
  }
11
11
  load(data) {
12
- if (!data) {
12
+ if (isNull(data)) {
13
13
  return;
14
14
  }
15
15
  if (data.color !== undefined) {
package/browser/index.js CHANGED
@@ -1,5 +1,7 @@
1
+ import { assertValidVersion } from "@tsparticles/engine";
1
2
  import { DestroyUpdater } from "./DestroyUpdater.js";
2
3
  export async function loadDestroyUpdater(engine, refresh = true) {
4
+ assertValidVersion(engine, "3.7.0");
3
5
  await engine.addParticleUpdater("destroy", container => {
4
6
  return Promise.resolve(new DestroyUpdater(engine, container));
5
7
  }, refresh);
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Destroy = void 0;
4
+ const engine_1 = require("@tsparticles/engine");
4
5
  const DestroyBounds_js_1 = require("./DestroyBounds.js");
5
6
  const DestroyMode_js_1 = require("../../Enums/DestroyMode.js");
6
7
  const Split_js_1 = require("./Split.js");
@@ -11,7 +12,7 @@ class Destroy {
11
12
  this.split = new Split_js_1.Split();
12
13
  }
13
14
  load(data) {
14
- if (!data) {
15
+ if ((0, engine_1.isNull)(data)) {
15
16
  return;
16
17
  }
17
18
  if (data.mode) {
@@ -4,7 +4,7 @@ exports.DestroyBounds = void 0;
4
4
  const engine_1 = require("@tsparticles/engine");
5
5
  class DestroyBounds {
6
6
  load(data) {
7
- if (!data) {
7
+ if ((0, engine_1.isNull)(data)) {
8
8
  return;
9
9
  }
10
10
  if (data.bottom !== undefined) {
@@ -12,7 +12,7 @@ class Split {
12
12
  this.sizeOffset = true;
13
13
  }
14
14
  load(data) {
15
- if (!data) {
15
+ if ((0, engine_1.isNull)(data)) {
16
16
  return;
17
17
  }
18
18
  if (data.color !== undefined) {
package/cjs/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadDestroyUpdater = loadDestroyUpdater;
4
+ const engine_1 = require("@tsparticles/engine");
4
5
  const DestroyUpdater_js_1 = require("./DestroyUpdater.js");
5
6
  async function loadDestroyUpdater(engine, refresh = true) {
7
+ (0, engine_1.assertValidVersion)(engine, "3.7.0");
6
8
  await engine.addParticleUpdater("destroy", container => {
7
9
  return Promise.resolve(new DestroyUpdater_js_1.DestroyUpdater(engine, container));
8
10
  }, refresh);
@@ -1,3 +1,4 @@
1
+ import { isNull } from "@tsparticles/engine";
1
2
  import { DestroyBounds } from "./DestroyBounds.js";
2
3
  import { DestroyMode } from "../../Enums/DestroyMode.js";
3
4
  import { Split } from "./Split.js";
@@ -8,7 +9,7 @@ export class Destroy {
8
9
  this.split = new Split();
9
10
  }
10
11
  load(data) {
11
- if (!data) {
12
+ if (isNull(data)) {
12
13
  return;
13
14
  }
14
15
  if (data.mode) {
@@ -1,7 +1,7 @@
1
- import { setRangeValue } from "@tsparticles/engine";
1
+ import { isNull, setRangeValue } from "@tsparticles/engine";
2
2
  export class DestroyBounds {
3
3
  load(data) {
4
- if (!data) {
4
+ if (isNull(data)) {
5
5
  return;
6
6
  }
7
7
  if (data.bottom !== undefined) {
@@ -1,4 +1,4 @@
1
- import { OptionsColor, deepExtend, executeOnSingleOrMultiple, } from "@tsparticles/engine";
1
+ import { OptionsColor, deepExtend, executeOnSingleOrMultiple, isNull, } from "@tsparticles/engine";
2
2
  import { SplitFactor } from "./SplitFactor.js";
3
3
  import { SplitRate } from "./SplitRate.js";
4
4
  export class Split {
@@ -9,7 +9,7 @@ export class Split {
9
9
  this.sizeOffset = true;
10
10
  }
11
11
  load(data) {
12
- if (!data) {
12
+ if (isNull(data)) {
13
13
  return;
14
14
  }
15
15
  if (data.color !== undefined) {
package/esm/index.js CHANGED
@@ -1,5 +1,7 @@
1
+ import { assertValidVersion } from "@tsparticles/engine";
1
2
  import { DestroyUpdater } from "./DestroyUpdater.js";
2
3
  export async function loadDestroyUpdater(engine, refresh = true) {
4
+ assertValidVersion(engine, "3.7.0");
3
5
  await engine.addParticleUpdater("destroy", container => {
4
6
  return Promise.resolve(new DestroyUpdater(engine, container));
5
7
  }, refresh);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/updater-destroy",
3
- "version": "3.6.0-beta.1",
3
+ "version": "3.7.0",
4
4
  "description": "tsParticles particles destroy 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-beta.1"
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-destroy [13 Oct 2024 at 17:31]</title>
6
+ <title>@tsparticles/updater-destroy [24 Nov 2024 at 19:27]</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-beta.1
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 */ Destroy: () => (/* binding */ Destroy)\n/* harmony export */ });\n/* harmony import */ var _DestroyBounds_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DestroyBounds.js */ \"./dist/browser/Options/Classes/DestroyBounds.js\");\n/* harmony import */ var _Enums_DestroyMode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../Enums/DestroyMode.js */ \"./dist/browser/Enums/DestroyMode.js\");\n/* harmony import */ var _Split_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Split.js */ \"./dist/browser/Options/Classes/Split.js\");\n\n\n\nclass Destroy {\n constructor() {\n this.bounds = new _DestroyBounds_js__WEBPACK_IMPORTED_MODULE_0__.DestroyBounds();\n this.mode = _Enums_DestroyMode_js__WEBPACK_IMPORTED_MODULE_1__.DestroyMode.none;\n this.split = new _Split_js__WEBPACK_IMPORTED_MODULE_2__.Split();\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.mode) {\n this.mode = data.mode;\n }\n if (data.bounds) {\n this.bounds.load(data.bounds);\n }\n this.split.load(data.split);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/updater-destroy/./dist/browser/Options/Classes/Destroy.js?");
57
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Destroy: () => (/* binding */ Destroy)\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 _DestroyBounds_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DestroyBounds.js */ \"./dist/browser/Options/Classes/DestroyBounds.js\");\n/* harmony import */ var _Enums_DestroyMode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../Enums/DestroyMode.js */ \"./dist/browser/Enums/DestroyMode.js\");\n/* harmony import */ var _Split_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Split.js */ \"./dist/browser/Options/Classes/Split.js\");\n\n\n\n\nclass Destroy {\n constructor() {\n this.bounds = new _DestroyBounds_js__WEBPACK_IMPORTED_MODULE_1__.DestroyBounds();\n this.mode = _Enums_DestroyMode_js__WEBPACK_IMPORTED_MODULE_2__.DestroyMode.none;\n this.split = new _Split_js__WEBPACK_IMPORTED_MODULE_3__.Split();\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.mode) {\n this.mode = data.mode;\n }\n if (data.bounds) {\n this.bounds.load(data.bounds);\n }\n this.split.load(data.split);\n }\n}\n\n//# sourceURL=webpack://@tsparticles/updater-destroy/./dist/browser/Options/Classes/Destroy.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 */ DestroyBounds: () => (/* binding */ DestroyBounds)\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\nclass DestroyBounds {\n load(data) {\n if (!data) {\n return;\n }\n if (data.bottom !== undefined) {\n this.bottom = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.bottom);\n }\n if (data.left !== undefined) {\n this.left = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.left);\n }\n if (data.right !== undefined) {\n this.right = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.right);\n }\n if (data.top !== undefined) {\n this.top = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.top);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/updater-destroy/./dist/browser/Options/Classes/DestroyBounds.js?");
67
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DestroyBounds: () => (/* binding */ DestroyBounds)\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\nclass DestroyBounds {\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.bottom !== undefined) {\n this.bottom = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.bottom);\n }\n if (data.left !== undefined) {\n this.left = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.left);\n }\n if (data.right !== undefined) {\n this.right = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.right);\n }\n if (data.top !== undefined) {\n this.top = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.setRangeValue)(data.top);\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/updater-destroy/./dist/browser/Options/Classes/DestroyBounds.js?");
68
68
 
69
69
  /***/ }),
70
70
 
@@ -74,7 +74,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
74
74
  \***********************************************/
75
75
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
76
76
 
77
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Split: () => (/* binding */ Split)\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 _SplitFactor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SplitFactor.js */ \"./dist/browser/Options/Classes/SplitFactor.js\");\n/* harmony import */ var _SplitRate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SplitRate.js */ \"./dist/browser/Options/Classes/SplitRate.js\");\n\n\n\nclass Split {\n constructor() {\n this.count = 1;\n this.factor = new _SplitFactor_js__WEBPACK_IMPORTED_MODULE_1__.SplitFactor();\n this.rate = new _SplitRate_js__WEBPACK_IMPORTED_MODULE_2__.SplitRate();\n this.sizeOffset = true;\n }\n load(data) {\n if (!data) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n this.factor.load(data.factor);\n this.rate.load(data.rate);\n this.particles = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(data.particles, particles => {\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, particles);\n });\n if (data.sizeOffset !== undefined) {\n this.sizeOffset = data.sizeOffset;\n }\n if (data.colorOffset) {\n this.colorOffset = this.colorOffset ?? {};\n if (data.colorOffset.h !== undefined) {\n this.colorOffset.h = data.colorOffset.h;\n }\n if (data.colorOffset.s !== undefined) {\n this.colorOffset.s = data.colorOffset.s;\n }\n if (data.colorOffset.l !== undefined) {\n this.colorOffset.l = data.colorOffset.l;\n }\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/updater-destroy/./dist/browser/Options/Classes/Split.js?");
77
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ Split: () => (/* binding */ Split)\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 _SplitFactor_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SplitFactor.js */ \"./dist/browser/Options/Classes/SplitFactor.js\");\n/* harmony import */ var _SplitRate_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SplitRate.js */ \"./dist/browser/Options/Classes/SplitRate.js\");\n\n\n\nclass Split {\n constructor() {\n this.count = 1;\n this.factor = new _SplitFactor_js__WEBPACK_IMPORTED_MODULE_1__.SplitFactor();\n this.rate = new _SplitRate_js__WEBPACK_IMPORTED_MODULE_2__.SplitRate();\n this.sizeOffset = true;\n }\n load(data) {\n if ((0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.isNull)(data)) {\n return;\n }\n if (data.color !== undefined) {\n this.color = _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.OptionsColor.create(this.color, data.color);\n }\n if (data.count !== undefined) {\n this.count = data.count;\n }\n this.factor.load(data.factor);\n this.rate.load(data.rate);\n this.particles = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.executeOnSingleOrMultiple)(data.particles, particles => {\n return (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.deepExtend)({}, particles);\n });\n if (data.sizeOffset !== undefined) {\n this.sizeOffset = data.sizeOffset;\n }\n if (data.colorOffset) {\n this.colorOffset = this.colorOffset ?? {};\n if (data.colorOffset.h !== undefined) {\n this.colorOffset.h = data.colorOffset.h;\n }\n if (data.colorOffset.s !== undefined) {\n this.colorOffset.s = data.colorOffset.s;\n }\n if (data.colorOffset.l !== undefined) {\n this.colorOffset.l = data.colorOffset.l;\n }\n }\n }\n}\n\n//# sourceURL=webpack://@tsparticles/updater-destroy/./dist/browser/Options/Classes/Split.js?");
78
78
 
79
79
  /***/ }),
80
80
 
@@ -114,7 +114,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
114
114
  \*******************************/
115
115
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
116
116
 
117
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadDestroyUpdater: () => (/* binding */ loadDestroyUpdater)\n/* harmony export */ });\n/* harmony import */ var _DestroyUpdater_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DestroyUpdater.js */ \"./dist/browser/DestroyUpdater.js\");\n\nasync function loadDestroyUpdater(engine, refresh = true) {\n await engine.addParticleUpdater(\"destroy\", container => {\n return Promise.resolve(new _DestroyUpdater_js__WEBPACK_IMPORTED_MODULE_0__.DestroyUpdater(engine, container));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/updater-destroy/./dist/browser/index.js?");
117
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadDestroyUpdater: () => (/* binding */ loadDestroyUpdater)\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 _DestroyUpdater_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DestroyUpdater.js */ \"./dist/browser/DestroyUpdater.js\");\n\n\nasync function loadDestroyUpdater(engine, refresh = true) {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.assertValidVersion)(engine, \"3.7.0\");\n await engine.addParticleUpdater(\"destroy\", container => {\n return Promise.resolve(new _DestroyUpdater_js__WEBPACK_IMPORTED_MODULE_1__.DestroyUpdater(engine, container));\n }, refresh);\n}\n\n//# sourceURL=webpack://@tsparticles/updater-destroy/./dist/browser/index.js?");
118
118
 
119
119
  /***/ }),
120
120
 
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see tsparticles.updater.destroy.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 s in o)("object"==typeof exports?exports:e)[s]=o[s]}}(this,(e=>(()=>{var t={303:t=>{t.exports=e}},o={};function s(e){var i=o[e];if(void 0!==i)return i.exports;var n=o[e]={exports:{}};return t[e](n,n.exports,s),n.exports}s.d=(e,t)=>{for(var o in t)s.o(t,o)&&!s.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};s.r(i),s.d(i,{loadDestroyUpdater:()=>O});var n,r=s(303);class l{load(e){e&&(void 0!==e.bottom&&(this.bottom=(0,r.setRangeValue)(e.bottom)),void 0!==e.left&&(this.left=(0,r.setRangeValue)(e.left)),void 0!==e.right&&(this.right=(0,r.setRangeValue)(e.right)),void 0!==e.top&&(this.top=(0,r.setRangeValue)(e.top)))}}!function(e){e.none="none",e.split="split"}(n||(n={}));class a extends r.ValueWithRandom{constructor(){super(),this.value=3}}class c extends r.ValueWithRandom{constructor(){super(),this.value={min:4,max:9}}}class d{constructor(){this.count=1,this.factor=new a,this.rate=new c,this.sizeOffset=!0}load(e){e&&(void 0!==e.color&&(this.color=r.OptionsColor.create(this.color,e.color)),void 0!==e.count&&(this.count=e.count),this.factor.load(e.factor),this.rate.load(e.rate),this.particles=(0,r.executeOnSingleOrMultiple)(e.particles,(e=>(0,r.deepExtend)({},e))),void 0!==e.sizeOffset&&(this.sizeOffset=e.sizeOffset),e.colorOffset&&(this.colorOffset=this.colorOffset??{},void 0!==e.colorOffset.h&&(this.colorOffset.h=e.colorOffset.h),void 0!==e.colorOffset.s&&(this.colorOffset.s=e.colorOffset.s),void 0!==e.colorOffset.l&&(this.colorOffset.l=e.colorOffset.l)))}}class u{constructor(){this.bounds=new l,this.mode=n.none,this.split=new d}load(e){e&&(e.mode&&(this.mode=e.mode),e.bounds&&this.bounds.load(e.bounds),this.split.load(e.split))}}const f=0,p=.5,h=0,g=1,v=500;function y(e,t,o,s){const i=o.options.destroy;if(!i)return;const n=i.split,l=(0,r.loadParticlesOptions)(e,t,o.options),a=(0,r.getRangeValue)(n.factor.value),c=o.getFillColor();n.color?l.color.load(n.color):n.colorOffset&&c?l.color.load({value:{hsl:{h:c.h+(0,r.getRangeValue)(n.colorOffset.h??f),s:c.s+(0,r.getRangeValue)(n.colorOffset.s??f),l:c.l+(0,r.getRangeValue)(n.colorOffset.l??f)}}}):l.color.load({value:{hsl:o.getFillColor()}}),l.move.load({center:{x:o.position.x,y:o.position.y,mode:r.PixelMode.precise}}),(0,r.isNumber)(l.size.value)?l.size.value/=a:(l.size.value.min/=a,l.size.value.max/=a),l.load(s);const d=n.sizeOffset?(0,r.setRangeValue)(-o.size.value,o.size.value):f,u={x:o.position.x+(0,r.randomInRange)(d),y:o.position.y+(0,r.randomInRange)(d)};return t.particles.addParticle(u,l,o.group,(e=>!(e.size.value<p)&&(e.velocity.length=(0,r.randomInRange)((0,r.setRangeValue)(o.velocity.length,e.velocity.length)),e.splitCount=(o.splitCount??h)+g,e.unbreakable=!0,setTimeout((()=>{e.unbreakable=!1}),v),!0)))}class m{constructor(e,t){this.container=t,this.engine=e}init(e){const t=this.container,o=e.options.destroy;if(!o)return;e.splitCount=0;const s=o.bounds;e.destroyBounds||(e.destroyBounds={});const{bottom:i,left:n,right:l,top:a}=s,{destroyBounds:c}=e,d=t.canvas.size;i&&(c.bottom=(0,r.getRangeValue)(i)*d.height/r.percentDenominator),n&&(c.left=(0,r.getRangeValue)(n)*d.width/r.percentDenominator),l&&(c.right=(0,r.getRangeValue)(l)*d.width/r.percentDenominator),a&&(c.top=(0,r.getRangeValue)(a)*d.height/r.percentDenominator)}isEnabled(e){return!e.destroyed}loadOptions(e,...t){e.destroy||(e.destroy=new u);for(const o of t)e.destroy.load(o?.destroy)}particleDestroyed(e,t){if(t)return;const o=e.options.destroy;o&&o.mode===n.split&&function(e,t,o){const s=o.options.destroy;if(!s)return;const i=s.split;if(i.count>=0&&(void 0===o.splitCount||o.splitCount++>i.count))return;const n=(0,r.getRangeValue)(i.rate.value),l=(0,r.itemFromSingleOrMultiple)(i.particles);for(let s=0;s<n;s++)y(e,t,o,l)}(this.engine,this.container,e)}update(e){if(!this.isEnabled(e))return;const t=e.getPosition(),o=e.destroyBounds;o&&(void 0!==o.bottom&&t.y>=o.bottom||void 0!==o.left&&t.x<=o.left||void 0!==o.right&&t.x>=o.right||void 0!==o.top&&t.y<=o.top)&&e.destroy()}}async function O(e,t=!0){await e.addParticleUpdater("destroy",(t=>Promise.resolve(new m(e,t))),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 s in o)("object"==typeof exports?exports:e)[s]=o[s]}}(this,(e=>(()=>{var t={303:t=>{t.exports=e}},o={};function s(e){var i=o[e];if(void 0!==i)return i.exports;var n=o[e]={exports:{}};return t[e](n,n.exports,s),n.exports}s.d=(e,t)=>{for(var o in t)s.o(t,o)&&!s.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},s.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};s.r(i),s.d(i,{loadDestroyUpdater:()=>O});var n,r=s(303);class l{load(e){(0,r.isNull)(e)||(void 0!==e.bottom&&(this.bottom=(0,r.setRangeValue)(e.bottom)),void 0!==e.left&&(this.left=(0,r.setRangeValue)(e.left)),void 0!==e.right&&(this.right=(0,r.setRangeValue)(e.right)),void 0!==e.top&&(this.top=(0,r.setRangeValue)(e.top)))}}!function(e){e.none="none",e.split="split"}(n||(n={}));class a extends r.ValueWithRandom{constructor(){super(),this.value=3}}class c extends r.ValueWithRandom{constructor(){super(),this.value={min:4,max:9}}}class d{constructor(){this.count=1,this.factor=new a,this.rate=new c,this.sizeOffset=!0}load(e){(0,r.isNull)(e)||(void 0!==e.color&&(this.color=r.OptionsColor.create(this.color,e.color)),void 0!==e.count&&(this.count=e.count),this.factor.load(e.factor),this.rate.load(e.rate),this.particles=(0,r.executeOnSingleOrMultiple)(e.particles,(e=>(0,r.deepExtend)({},e))),void 0!==e.sizeOffset&&(this.sizeOffset=e.sizeOffset),e.colorOffset&&(this.colorOffset=this.colorOffset??{},void 0!==e.colorOffset.h&&(this.colorOffset.h=e.colorOffset.h),void 0!==e.colorOffset.s&&(this.colorOffset.s=e.colorOffset.s),void 0!==e.colorOffset.l&&(this.colorOffset.l=e.colorOffset.l)))}}class u{constructor(){this.bounds=new l,this.mode=n.none,this.split=new d}load(e){(0,r.isNull)(e)||(e.mode&&(this.mode=e.mode),e.bounds&&this.bounds.load(e.bounds),this.split.load(e.split))}}const f=0,p=.5,h=0,g=1,v=500;function y(e,t,o,s){const i=o.options.destroy;if(!i)return;const n=i.split,l=(0,r.loadParticlesOptions)(e,t,o.options),a=(0,r.getRangeValue)(n.factor.value),c=o.getFillColor();n.color?l.color.load(n.color):n.colorOffset&&c?l.color.load({value:{hsl:{h:c.h+(0,r.getRangeValue)(n.colorOffset.h??f),s:c.s+(0,r.getRangeValue)(n.colorOffset.s??f),l:c.l+(0,r.getRangeValue)(n.colorOffset.l??f)}}}):l.color.load({value:{hsl:o.getFillColor()}}),l.move.load({center:{x:o.position.x,y:o.position.y,mode:r.PixelMode.precise}}),(0,r.isNumber)(l.size.value)?l.size.value/=a:(l.size.value.min/=a,l.size.value.max/=a),l.load(s);const d=n.sizeOffset?(0,r.setRangeValue)(-o.size.value,o.size.value):f,u={x:o.position.x+(0,r.randomInRange)(d),y:o.position.y+(0,r.randomInRange)(d)};return t.particles.addParticle(u,l,o.group,(e=>!(e.size.value<p)&&(e.velocity.length=(0,r.randomInRange)((0,r.setRangeValue)(o.velocity.length,e.velocity.length)),e.splitCount=(o.splitCount??h)+g,e.unbreakable=!0,setTimeout((()=>{e.unbreakable=!1}),v),!0)))}class m{constructor(e,t){this.container=t,this.engine=e}init(e){const t=this.container,o=e.options.destroy;if(!o)return;e.splitCount=0;const s=o.bounds;e.destroyBounds||(e.destroyBounds={});const{bottom:i,left:n,right:l,top:a}=s,{destroyBounds:c}=e,d=t.canvas.size;i&&(c.bottom=(0,r.getRangeValue)(i)*d.height/r.percentDenominator),n&&(c.left=(0,r.getRangeValue)(n)*d.width/r.percentDenominator),l&&(c.right=(0,r.getRangeValue)(l)*d.width/r.percentDenominator),a&&(c.top=(0,r.getRangeValue)(a)*d.height/r.percentDenominator)}isEnabled(e){return!e.destroyed}loadOptions(e,...t){e.destroy||(e.destroy=new u);for(const o of t)e.destroy.load(o?.destroy)}particleDestroyed(e,t){if(t)return;const o=e.options.destroy;o&&o.mode===n.split&&function(e,t,o){const s=o.options.destroy;if(!s)return;const i=s.split;if(i.count>=0&&(void 0===o.splitCount||o.splitCount++>i.count))return;const n=(0,r.getRangeValue)(i.rate.value),l=(0,r.itemFromSingleOrMultiple)(i.particles);for(let s=0;s<n;s++)y(e,t,o,l)}(this.engine,this.container,e)}update(e){if(!this.isEnabled(e))return;const t=e.getPosition(),o=e.destroyBounds;o&&(void 0!==o.bottom&&t.y>=o.bottom||void 0!==o.left&&t.x<=o.left||void 0!==o.right&&t.x>=o.right||void 0!==o.top&&t.y<=o.top)&&e.destroy()}}async function O(e,t=!0){(0,r.assertValidVersion)(e,"3.7.0"),await e.addParticleUpdater("destroy",(t=>Promise.resolve(new m(e,t))),t)}return i})()));
@@ -1 +1 @@
1
- /*! tsParticles Destroy Updater v3.6.0-beta.1 by Matteo Bruni */
1
+ /*! tsParticles Destroy Updater v3.7.0 by Matteo Bruni */
@@ -1,4 +1,4 @@
1
- import type { IOptionLoader, RecursivePartial } from "@tsparticles/engine";
1
+ import { type IOptionLoader, type RecursivePartial } from "@tsparticles/engine";
2
2
  import { DestroyBounds } from "./DestroyBounds.js";
3
3
  import { DestroyMode } from "../../Enums/DestroyMode.js";
4
4
  import type { IDestroy } from "../Interfaces/IDestroy.js";
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 loadDestroyUpdater(engine: Engine, refresh?: boolean): Promise<void>;
@@ -4,12 +4,13 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./DestroyBounds.js", "../../Enums/DestroyMode.js", "./Split.js"], factory);
7
+ define(["require", "exports", "@tsparticles/engine", "./DestroyBounds.js", "../../Enums/DestroyMode.js", "./Split.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Destroy = void 0;
13
+ const engine_1 = require("@tsparticles/engine");
13
14
  const DestroyBounds_js_1 = require("./DestroyBounds.js");
14
15
  const DestroyMode_js_1 = require("../../Enums/DestroyMode.js");
15
16
  const Split_js_1 = require("./Split.js");
@@ -20,7 +21,7 @@
20
21
  this.split = new Split_js_1.Split();
21
22
  }
22
23
  load(data) {
23
- if (!data) {
24
+ if ((0, engine_1.isNull)(data)) {
24
25
  return;
25
26
  }
26
27
  if (data.mode) {
@@ -13,7 +13,7 @@
13
13
  const engine_1 = require("@tsparticles/engine");
14
14
  class DestroyBounds {
15
15
  load(data) {
16
- if (!data) {
16
+ if ((0, engine_1.isNull)(data)) {
17
17
  return;
18
18
  }
19
19
  if (data.bottom !== undefined) {
@@ -21,7 +21,7 @@
21
21
  this.sizeOffset = true;
22
22
  }
23
23
  load(data) {
24
- if (!data) {
24
+ if ((0, engine_1.isNull)(data)) {
25
25
  return;
26
26
  }
27
27
  if (data.color !== undefined) {
package/umd/index.js CHANGED
@@ -4,14 +4,16 @@
4
4
  if (v !== undefined) module.exports = v;
5
5
  }
6
6
  else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./DestroyUpdater.js"], factory);
7
+ define(["require", "exports", "@tsparticles/engine", "./DestroyUpdater.js"], factory);
8
8
  }
9
9
  })(function (require, exports) {
10
10
  "use strict";
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.loadDestroyUpdater = loadDestroyUpdater;
13
+ const engine_1 = require("@tsparticles/engine");
13
14
  const DestroyUpdater_js_1 = require("./DestroyUpdater.js");
14
15
  async function loadDestroyUpdater(engine, refresh = true) {
16
+ (0, engine_1.assertValidVersion)(engine, "3.7.0");
15
17
  await engine.addParticleUpdater("destroy", container => {
16
18
  return Promise.resolve(new DestroyUpdater_js_1.DestroyUpdater(engine, container));
17
19
  }, refresh);