@tsparticles/plugin-background-mask 4.0.0-alpha.3 → 4.0.0-alpha.5
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/54.min.js +2 -0
- package/54.min.js.LICENSE.txt +1 -0
- package/646.min.js +2 -0
- package/646.min.js.LICENSE.txt +1 -0
- package/browser/BackgroundMaskPlugin.js +7 -7
- package/{esm/BackgroundMaskInstance.js → browser/BackgroundMaskPluginInstance.js} +1 -1
- package/browser/index.js +3 -3
- package/cjs/BackgroundMaskPlugin.js +7 -7
- package/{browser/BackgroundMaskInstance.js → cjs/BackgroundMaskPluginInstance.js} +1 -1
- package/cjs/index.js +3 -3
- package/dist_browser_BackgroundMaskPluginInstance_js.js +30 -0
- package/dist_browser_BackgroundMaskPlugin_js.js +2 -12
- package/esm/BackgroundMaskPlugin.js +7 -7
- package/{cjs/BackgroundMaskInstance.js → esm/BackgroundMaskPluginInstance.js} +1 -1
- package/esm/index.js +3 -3
- package/package.json +2 -2
- package/report.html +1 -1
- package/tsparticles.plugin.background-mask.js +4 -16
- package/tsparticles.plugin.background-mask.min.js +1 -1
- package/tsparticles.plugin.background-mask.min.js.LICENSE.txt +1 -1
- package/types/BackgroundMaskPlugin.d.ts +4 -5
- package/types/{BackgroundMaskInstance.d.ts → BackgroundMaskPluginInstance.d.ts} +1 -1
- package/types/index.d.ts +1 -1
- package/umd/BackgroundMaskPlugin.js +42 -8
- package/umd/{BackgroundMaskInstance.js → BackgroundMaskPluginInstance.js} +3 -3
- package/umd/index.js +3 -3
- package/224.min.js +0 -2
- package/224.min.js.LICENSE.txt +0 -1
package/54.min.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! For license information please see 54.min.js.LICENSE.txt */
|
|
2
|
+
(this.webpackChunk_tsparticles_plugin_background_mask=this.webpackChunk_tsparticles_plugin_background_mask||[]).push([[54],{54(a,t,e){e.d(t,{BackgroundMaskPluginInstance:()=>o});var i=e(303);class o{constructor(a,t){this._initCover=async()=>{const a=this._container.actualOptions,t=a.backgroundMask?.cover,e=t?.color;if(e){const a=(0,i.rangeColorToRgb)(this._engine,e);if(a){const e={...a,a:t.opacity};this._coverColorStyle=(0,i.getStyleFromRgb)(e,this._container.hdr,e.a)}}else await new Promise(((a,e)=>{if(!t?.image)return;const o=(0,i.safeDocument)().createElement("img");o.addEventListener("load",(()=>{this._coverImage={image:o,opacity:t.opacity},a()})),o.addEventListener("error",(a=>{(0,i.getLogger)().error(a),e(new Error("Error loading image"))})),o.src=t.image}))},this._container=a,this._engine=t}canvasClear(){const a=this._container.actualOptions.backgroundMask;return!!a?.enable&&this.canvasPaint()}canvasPaint(){if(!this._container.actualOptions.backgroundMask?.enable)return!1;const a=this._container.canvas;return a.canvasClear(),this._coverImage?a.paintImage(this._coverImage.image,this._coverImage.opacity):a.paintBase(this._coverColorStyle),!0}clearDraw(a){this._defaultCompositeValue&&(a.globalCompositeOperation=this._defaultCompositeValue)}draw(a){const t=a.globalCompositeOperation,e=this._container.actualOptions.backgroundMask;this._defaultCompositeValue=t,a.globalCompositeOperation=e?.enable?e.composite:t}async init(){await this._initCover()}}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tsParticles Background Mask Plugin v4.0.0-alpha.5 by Matteo Bruni */
|
package/646.min.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! For license information please see 646.min.js.LICENSE.txt */
|
|
2
|
+
(this.webpackChunk_tsparticles_plugin_background_mask=this.webpackChunk_tsparticles_plugin_background_mask||[]).push([[646],{646(o,i,s){s.d(i,{BackgroundMaskPlugin:()=>a});var e=s(303);class t{constructor(){this.opacity=1}load(o){(0,e.isNull)(o)||(void 0!==o.color&&(this.color=e.OptionsColor.create(this.color,o.color)),void 0!==o.image&&(this.image=o.image),void 0!==o.opacity&&(this.opacity=o.opacity))}}class n{constructor(){this.composite="destination-out",this.cover=new t,this.enable=!1}load(o){if(!(0,e.isNull)(o)){if(void 0!==o.composite&&(this.composite=o.composite),void 0!==o.cover){const i=o.cover,s=(0,e.isString)(o.cover)?{color:o.cover}:o.cover;this.cover.load(void 0!==i.color||void 0!==i.image?i:{color:s})}void 0!==o.enable&&(this.enable=o.enable)}}}class a{constructor(o){this.id="background-mask",this._engine=o}async getPlugin(o){const{BackgroundMaskPluginInstance:i}=await s.e(54).then(s.bind(s,54));return new i(o,this._engine)}loadOptions(o,i,s){if(!this.needsPlugin(i)&&!this.needsPlugin(s))return;let e=i.backgroundMask;e?.load||(i.backgroundMask=e=new n),e.load(s?.backgroundMask)}needsPlugin(o){return!!o?.backgroundMask?.enable}}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tsParticles Background Mask Plugin v4.0.0-alpha.5 by Matteo Bruni */
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { BackgroundMask } from "./Options/Classes/BackgroundMask.js";
|
|
2
|
-
import { BackgroundMaskInstance } from "./BackgroundMaskInstance.js";
|
|
3
2
|
export class BackgroundMaskPlugin {
|
|
4
3
|
constructor(engine) {
|
|
5
4
|
this.id = "background-mask";
|
|
6
5
|
this._engine = engine;
|
|
7
6
|
}
|
|
8
|
-
getPlugin(container) {
|
|
9
|
-
|
|
7
|
+
async getPlugin(container) {
|
|
8
|
+
const { BackgroundMaskPluginInstance } = await import("./BackgroundMaskPluginInstance.js");
|
|
9
|
+
return new BackgroundMaskPluginInstance(container, this._engine);
|
|
10
10
|
}
|
|
11
|
-
loadOptions(options, source) {
|
|
12
|
-
if (!this.needsPlugin()) {
|
|
11
|
+
loadOptions(_container, options, source) {
|
|
12
|
+
if (!this.needsPlugin(options) && !this.needsPlugin(source)) {
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
15
|
let backgroundMaskOptions = options.backgroundMask;
|
|
@@ -18,7 +18,7 @@ export class BackgroundMaskPlugin {
|
|
|
18
18
|
}
|
|
19
19
|
backgroundMaskOptions.load(source?.backgroundMask);
|
|
20
20
|
}
|
|
21
|
-
needsPlugin() {
|
|
22
|
-
return
|
|
21
|
+
needsPlugin(options) {
|
|
22
|
+
return !!options?.backgroundMask?.enable;
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getLogger, getStyleFromRgb, rangeColorToRgb, safeDocument, } from "@tsparticles/engine";
|
|
2
|
-
export class
|
|
2
|
+
export class BackgroundMaskPluginInstance {
|
|
3
3
|
constructor(container, engine) {
|
|
4
4
|
this._initCover = async () => {
|
|
5
5
|
const options = this._container.actualOptions, cover = options.backgroundMask?.cover, color = cover?.color;
|
package/browser/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export function loadBackgroundMaskPlugin(engine) {
|
|
2
|
-
engine.checkVersion("4.0.0-alpha.
|
|
3
|
-
engine.register(async (e) => {
|
|
1
|
+
export async function loadBackgroundMaskPlugin(engine) {
|
|
2
|
+
engine.checkVersion("4.0.0-alpha.5");
|
|
3
|
+
await engine.register(async (e) => {
|
|
4
4
|
const { BackgroundMaskPlugin } = await import("./BackgroundMaskPlugin.js");
|
|
5
5
|
e.addPlugin(new BackgroundMaskPlugin(e));
|
|
6
6
|
});
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { BackgroundMask } from "./Options/Classes/BackgroundMask.js";
|
|
2
|
-
import { BackgroundMaskInstance } from "./BackgroundMaskInstance.js";
|
|
3
2
|
export class BackgroundMaskPlugin {
|
|
4
3
|
constructor(engine) {
|
|
5
4
|
this.id = "background-mask";
|
|
6
5
|
this._engine = engine;
|
|
7
6
|
}
|
|
8
|
-
getPlugin(container) {
|
|
9
|
-
|
|
7
|
+
async getPlugin(container) {
|
|
8
|
+
const { BackgroundMaskPluginInstance } = await import("./BackgroundMaskPluginInstance.js");
|
|
9
|
+
return new BackgroundMaskPluginInstance(container, this._engine);
|
|
10
10
|
}
|
|
11
|
-
loadOptions(options, source) {
|
|
12
|
-
if (!this.needsPlugin()) {
|
|
11
|
+
loadOptions(_container, options, source) {
|
|
12
|
+
if (!this.needsPlugin(options) && !this.needsPlugin(source)) {
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
15
|
let backgroundMaskOptions = options.backgroundMask;
|
|
@@ -18,7 +18,7 @@ export class BackgroundMaskPlugin {
|
|
|
18
18
|
}
|
|
19
19
|
backgroundMaskOptions.load(source?.backgroundMask);
|
|
20
20
|
}
|
|
21
|
-
needsPlugin() {
|
|
22
|
-
return
|
|
21
|
+
needsPlugin(options) {
|
|
22
|
+
return !!options?.backgroundMask?.enable;
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getLogger, getStyleFromRgb, rangeColorToRgb, safeDocument, } from "@tsparticles/engine";
|
|
2
|
-
export class
|
|
2
|
+
export class BackgroundMaskPluginInstance {
|
|
3
3
|
constructor(container, engine) {
|
|
4
4
|
this._initCover = async () => {
|
|
5
5
|
const options = this._container.actualOptions, cover = options.backgroundMask?.cover, color = cover?.color;
|
package/cjs/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export function loadBackgroundMaskPlugin(engine) {
|
|
2
|
-
engine.checkVersion("4.0.0-alpha.
|
|
3
|
-
engine.register(async (e) => {
|
|
1
|
+
export async function loadBackgroundMaskPlugin(engine) {
|
|
2
|
+
engine.checkVersion("4.0.0-alpha.5");
|
|
3
|
+
await engine.register(async (e) => {
|
|
4
4
|
const { BackgroundMaskPlugin } = await import("./BackgroundMaskPlugin.js");
|
|
5
5
|
e.addPlugin(new BackgroundMaskPlugin(e));
|
|
6
6
|
});
|
|
@@ -0,0 +1,30 @@
|
|
|
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.5
|
|
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_plugin_background_mask"] = this["webpackChunk_tsparticles_plugin_background_mask"] || []).push([["dist_browser_BackgroundMaskPluginInstance_js"],{
|
|
19
|
+
|
|
20
|
+
/***/ "./dist/browser/BackgroundMaskPluginInstance.js"
|
|
21
|
+
/*!******************************************************!*\
|
|
22
|
+
!*** ./dist/browser/BackgroundMaskPluginInstance.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 */ BackgroundMaskPluginInstance: () => (/* binding */ BackgroundMaskPluginInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n\nclass BackgroundMaskPluginInstance {\n constructor(container, engine) {\n this._initCover = async () => {\n const options = this._container.actualOptions,\n cover = options.backgroundMask?.cover,\n color = cover?.color;\n if (color) {\n const coverRgb = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToRgb)(this._engine, color);\n if (coverRgb) {\n const coverColor = {\n ...coverRgb,\n a: cover.opacity\n };\n this._coverColorStyle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromRgb)(coverColor, this._container.hdr, coverColor.a);\n }\n } else {\n await new Promise((resolve, reject) => {\n if (!cover?.image) {\n return;\n }\n const img = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"img\");\n img.addEventListener(\"load\", () => {\n this._coverImage = {\n image: img,\n opacity: cover.opacity\n };\n resolve();\n });\n img.addEventListener(\"error\", evt => {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getLogger)().error(evt);\n reject(new Error(\"Error loading image\"));\n });\n img.src = cover.image;\n });\n }\n };\n this._container = container;\n this._engine = engine;\n }\n canvasClear() {\n const backgroundMask = this._container.actualOptions.backgroundMask;\n if (!backgroundMask?.enable) {\n return false;\n }\n return this.canvasPaint();\n }\n canvasPaint() {\n if (!this._container.actualOptions.backgroundMask?.enable) {\n return false;\n }\n const canvas = this._container.canvas;\n canvas.canvasClear();\n if (this._coverImage) {\n canvas.paintImage(this._coverImage.image, this._coverImage.opacity);\n } else {\n canvas.paintBase(this._coverColorStyle);\n }\n return true;\n }\n clearDraw(context) {\n if (!this._defaultCompositeValue) {\n return;\n }\n context.globalCompositeOperation = this._defaultCompositeValue;\n }\n draw(context) {\n const previousComposite = context.globalCompositeOperation,\n backgroundMask = this._container.actualOptions.backgroundMask;\n this._defaultCompositeValue = previousComposite;\n context.globalCompositeOperation = backgroundMask?.enable ? backgroundMask.composite : previousComposite;\n }\n async init() {\n await this._initCover();\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-background-mask/./dist/browser/BackgroundMaskPluginInstance.js?\n}");
|
|
27
|
+
|
|
28
|
+
/***/ }
|
|
29
|
+
|
|
30
|
+
}]);
|
|
@@ -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-alpha.
|
|
7
|
+
* v4.0.0-alpha.5
|
|
8
8
|
*/
|
|
9
9
|
"use strict";
|
|
10
10
|
/*
|
|
@@ -17,23 +17,13 @@
|
|
|
17
17
|
*/
|
|
18
18
|
(this["webpackChunk_tsparticles_plugin_background_mask"] = this["webpackChunk_tsparticles_plugin_background_mask"] || []).push([["dist_browser_BackgroundMaskPlugin_js"],{
|
|
19
19
|
|
|
20
|
-
/***/ "./dist/browser/BackgroundMaskInstance.js"
|
|
21
|
-
/*!************************************************!*\
|
|
22
|
-
!*** ./dist/browser/BackgroundMaskInstance.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 */ BackgroundMaskInstance: () => (/* binding */ BackgroundMaskInstance)\n/* harmony export */ });\n/* harmony import */ var _tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @tsparticles/engine */ \"@tsparticles/engine\");\n\nclass BackgroundMaskInstance {\n constructor(container, engine) {\n this._initCover = async () => {\n const options = this._container.actualOptions,\n cover = options.backgroundMask?.cover,\n color = cover?.color;\n if (color) {\n const coverRgb = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.rangeColorToRgb)(this._engine, color);\n if (coverRgb) {\n const coverColor = {\n ...coverRgb,\n a: cover.opacity\n };\n this._coverColorStyle = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getStyleFromRgb)(coverColor, this._container.hdr, coverColor.a);\n }\n } else {\n await new Promise((resolve, reject) => {\n if (!cover?.image) {\n return;\n }\n const img = (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.safeDocument)().createElement(\"img\");\n img.addEventListener(\"load\", () => {\n this._coverImage = {\n image: img,\n opacity: cover.opacity\n };\n resolve();\n });\n img.addEventListener(\"error\", evt => {\n (0,_tsparticles_engine__WEBPACK_IMPORTED_MODULE_0__.getLogger)().error(evt);\n reject(new Error(\"Error loading image\"));\n });\n img.src = cover.image;\n });\n }\n };\n this._container = container;\n this._engine = engine;\n }\n canvasClear() {\n const backgroundMask = this._container.actualOptions.backgroundMask;\n if (!backgroundMask?.enable) {\n return false;\n }\n return this.canvasPaint();\n }\n canvasPaint() {\n if (!this._container.actualOptions.backgroundMask?.enable) {\n return false;\n }\n const canvas = this._container.canvas;\n canvas.canvasClear();\n if (this._coverImage) {\n canvas.paintImage(this._coverImage.image, this._coverImage.opacity);\n } else {\n canvas.paintBase(this._coverColorStyle);\n }\n return true;\n }\n clearDraw(context) {\n if (!this._defaultCompositeValue) {\n return;\n }\n context.globalCompositeOperation = this._defaultCompositeValue;\n }\n draw(context) {\n const previousComposite = context.globalCompositeOperation,\n backgroundMask = this._container.actualOptions.backgroundMask;\n this._defaultCompositeValue = previousComposite;\n context.globalCompositeOperation = backgroundMask?.enable ? backgroundMask.composite : previousComposite;\n }\n async init() {\n await this._initCover();\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-background-mask/./dist/browser/BackgroundMaskInstance.js?\n}");
|
|
27
|
-
|
|
28
|
-
/***/ },
|
|
29
|
-
|
|
30
20
|
/***/ "./dist/browser/BackgroundMaskPlugin.js"
|
|
31
21
|
/*!**********************************************!*\
|
|
32
22
|
!*** ./dist/browser/BackgroundMaskPlugin.js ***!
|
|
33
23
|
\**********************************************/
|
|
34
24
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
35
25
|
|
|
36
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundMaskPlugin: () => (/* binding */ BackgroundMaskPlugin)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_BackgroundMask_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/BackgroundMask.js */ \"./dist/browser/Options/Classes/BackgroundMask.js\");\n
|
|
26
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ BackgroundMaskPlugin: () => (/* binding */ BackgroundMaskPlugin)\n/* harmony export */ });\n/* harmony import */ var _Options_Classes_BackgroundMask_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Options/Classes/BackgroundMask.js */ \"./dist/browser/Options/Classes/BackgroundMask.js\");\n\nclass BackgroundMaskPlugin {\n constructor(engine) {\n this.id = \"background-mask\";\n this._engine = engine;\n }\n async getPlugin(container) {\n const {\n BackgroundMaskPluginInstance\n } = await __webpack_require__.e(/*! import() */ \"dist_browser_BackgroundMaskPluginInstance_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./BackgroundMaskPluginInstance.js */ \"./dist/browser/BackgroundMaskPluginInstance.js\"));\n return new BackgroundMaskPluginInstance(container, this._engine);\n }\n loadOptions(_container, options, source) {\n if (!this.needsPlugin(options) && !this.needsPlugin(source)) {\n return;\n }\n let backgroundMaskOptions = options.backgroundMask;\n if (!backgroundMaskOptions?.load) {\n options.backgroundMask = backgroundMaskOptions = new _Options_Classes_BackgroundMask_js__WEBPACK_IMPORTED_MODULE_0__.BackgroundMask();\n }\n backgroundMaskOptions.load(source?.backgroundMask);\n }\n needsPlugin(options) {\n return !!options?.backgroundMask?.enable;\n }\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-background-mask/./dist/browser/BackgroundMaskPlugin.js?\n}");
|
|
37
27
|
|
|
38
28
|
/***/ },
|
|
39
29
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { BackgroundMask } from "./Options/Classes/BackgroundMask.js";
|
|
2
|
-
import { BackgroundMaskInstance } from "./BackgroundMaskInstance.js";
|
|
3
2
|
export class BackgroundMaskPlugin {
|
|
4
3
|
constructor(engine) {
|
|
5
4
|
this.id = "background-mask";
|
|
6
5
|
this._engine = engine;
|
|
7
6
|
}
|
|
8
|
-
getPlugin(container) {
|
|
9
|
-
|
|
7
|
+
async getPlugin(container) {
|
|
8
|
+
const { BackgroundMaskPluginInstance } = await import("./BackgroundMaskPluginInstance.js");
|
|
9
|
+
return new BackgroundMaskPluginInstance(container, this._engine);
|
|
10
10
|
}
|
|
11
|
-
loadOptions(options, source) {
|
|
12
|
-
if (!this.needsPlugin()) {
|
|
11
|
+
loadOptions(_container, options, source) {
|
|
12
|
+
if (!this.needsPlugin(options) && !this.needsPlugin(source)) {
|
|
13
13
|
return;
|
|
14
14
|
}
|
|
15
15
|
let backgroundMaskOptions = options.backgroundMask;
|
|
@@ -18,7 +18,7 @@ export class BackgroundMaskPlugin {
|
|
|
18
18
|
}
|
|
19
19
|
backgroundMaskOptions.load(source?.backgroundMask);
|
|
20
20
|
}
|
|
21
|
-
needsPlugin() {
|
|
22
|
-
return
|
|
21
|
+
needsPlugin(options) {
|
|
22
|
+
return !!options?.backgroundMask?.enable;
|
|
23
23
|
}
|
|
24
24
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getLogger, getStyleFromRgb, rangeColorToRgb, safeDocument, } from "@tsparticles/engine";
|
|
2
|
-
export class
|
|
2
|
+
export class BackgroundMaskPluginInstance {
|
|
3
3
|
constructor(container, engine) {
|
|
4
4
|
this._initCover = async () => {
|
|
5
5
|
const options = this._container.actualOptions, cover = options.backgroundMask?.cover, color = cover?.color;
|
package/esm/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export function loadBackgroundMaskPlugin(engine) {
|
|
2
|
-
engine.checkVersion("4.0.0-alpha.
|
|
3
|
-
engine.register(async (e) => {
|
|
1
|
+
export async function loadBackgroundMaskPlugin(engine) {
|
|
2
|
+
engine.checkVersion("4.0.0-alpha.5");
|
|
3
|
+
await engine.register(async (e) => {
|
|
4
4
|
const { BackgroundMaskPlugin } = await import("./BackgroundMaskPlugin.js");
|
|
5
5
|
e.addPlugin(new BackgroundMaskPlugin(e));
|
|
6
6
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsparticles/plugin-background-mask",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.5",
|
|
4
4
|
"description": "tsParticles background mask plugin",
|
|
5
5
|
"homepage": "https://particles.js.org",
|
|
6
6
|
"repository": {
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"./package.json": "./package.json"
|
|
87
87
|
},
|
|
88
88
|
"dependencies": {
|
|
89
|
-
"@tsparticles/engine": "4.0.0-alpha.
|
|
89
|
+
"@tsparticles/engine": "4.0.0-alpha.5"
|
|
90
90
|
},
|
|
91
91
|
"publishConfig": {
|
|
92
92
|
"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/plugin-background-mask [
|
|
6
|
+
<title>@tsparticles/plugin-background-mask [21 Jan 2026 at 18:51]</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
|
-
* v4.0.0-alpha.
|
|
7
|
+
* v4.0.0-alpha.5
|
|
8
8
|
*/
|
|
9
9
|
/*
|
|
10
10
|
* ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development").
|
|
@@ -34,7 +34,7 @@ return /******/ (() => { // webpackBootstrap
|
|
|
34
34
|
\*******************************/
|
|
35
35
|
(__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
36
36
|
|
|
37
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadBackgroundMaskPlugin: () => (/* binding */ loadBackgroundMaskPlugin)\n/* harmony export */ });\
|
|
37
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ loadBackgroundMaskPlugin: () => (/* binding */ loadBackgroundMaskPlugin)\n/* harmony export */ });\nasync function loadBackgroundMaskPlugin(engine) {\n engine.checkVersion(\"4.0.0-alpha.5\");\n await engine.register(async e => {\n const {\n BackgroundMaskPlugin\n } = await __webpack_require__.e(/*! import() */ \"dist_browser_BackgroundMaskPlugin_js\").then(__webpack_require__.bind(__webpack_require__, /*! ./BackgroundMaskPlugin.js */ \"./dist/browser/BackgroundMaskPlugin.js\"));\n e.addPlugin(new BackgroundMaskPlugin(e));\n });\n}\n\n//# sourceURL=webpack://@tsparticles/plugin-background-mask/./dist/browser/index.js?\n}");
|
|
38
38
|
|
|
39
39
|
/***/ },
|
|
40
40
|
|
|
@@ -118,18 +118,6 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_engine__;
|
|
|
118
118
|
/******/ };
|
|
119
119
|
/******/ })();
|
|
120
120
|
/******/
|
|
121
|
-
/******/ /* webpack/runtime/global */
|
|
122
|
-
/******/ (() => {
|
|
123
|
-
/******/ __webpack_require__.g = (function() {
|
|
124
|
-
/******/ if (typeof globalThis === 'object') return globalThis;
|
|
125
|
-
/******/ try {
|
|
126
|
-
/******/ return this || new Function('return this')();
|
|
127
|
-
/******/ } catch (e) {
|
|
128
|
-
/******/ if (typeof window === 'object') return window;
|
|
129
|
-
/******/ }
|
|
130
|
-
/******/ })();
|
|
131
|
-
/******/ })();
|
|
132
|
-
/******/
|
|
133
121
|
/******/ /* webpack/runtime/hasOwnProperty shorthand */
|
|
134
122
|
/******/ (() => {
|
|
135
123
|
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
|
|
@@ -194,8 +182,8 @@ module.exports = __WEBPACK_EXTERNAL_MODULE__tsparticles_engine__;
|
|
|
194
182
|
/******/ /* webpack/runtime/publicPath */
|
|
195
183
|
/******/ (() => {
|
|
196
184
|
/******/ var scriptUrl;
|
|
197
|
-
/******/ if (
|
|
198
|
-
/******/ var document =
|
|
185
|
+
/******/ if (globalThis.importScripts) scriptUrl = globalThis.location + "";
|
|
186
|
+
/******/ var document = globalThis.document;
|
|
199
187
|
/******/ if (!scriptUrl && document) {
|
|
200
188
|
/******/ if (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')
|
|
201
189
|
/******/ scriptUrl = document.currentScript.src;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see tsparticles.plugin.background-mask.min.js.LICENSE.txt */
|
|
2
|
-
!function(e,
|
|
2
|
+
!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r(require("@tsparticles/engine"));else if("function"==typeof define&&define.amd)define(["@tsparticles/engine"],r);else{var t="object"==typeof exports?r(require("@tsparticles/engine")):r(e.window);for(var o in t)("object"==typeof exports?exports:e)[o]=t[o]}}(this,(e=>(()=>{var r,t,o={303(r){r.exports=e}},n={};function a(e){var r=n[e];if(void 0!==r)return r.exports;var t=n[e]={exports:{}};return o[e](t,t.exports,a),t.exports}a.m=o,a.d=(e,r)=>{for(var t in r)a.o(r,t)&&!a.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce(((r,t)=>(a.f[t](e,r),r)),[])),a.u=e=>e+".min.js",a.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},t="@tsparticles/plugin-background-mask:",a.l=(e,o,n,i)=>{if(r[e])r[e].push(o);else{var s,l;if(void 0!==n)for(var c=document.getElementsByTagName("script"),p=0;p<c.length;p++){var u=c[p];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==t+n){s=u;break}}s||(l=!0,(s=document.createElement("script")).charset="utf-8",a.nc&&s.setAttribute("nonce",a.nc),s.setAttribute("data-webpack",t+n),s.src=e),r[e]=[o];var d=(t,o)=>{s.onerror=s.onload=null,clearTimeout(f);var n=r[e];if(delete r[e],s.parentNode&&s.parentNode.removeChild(s),n&&n.forEach((e=>e(o))),t)return t(o)},f=setTimeout(d.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=d.bind(null,s.onerror),s.onload=d.bind(null,s.onload),l&&document.head.appendChild(s)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;globalThis.importScripts&&(e=globalThis.location+"");var r=globalThis.document;if(!e&&r&&(r.currentScript&&"SCRIPT"===r.currentScript.tagName.toUpperCase()&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var o=t.length-1;o>-1&&(!e||!/^http(s?):/.test(e));)e=t[o--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),a.p=e})(),(()=>{var e={585:0};a.f.j=(r,t)=>{var o=a.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else{var n=new Promise(((t,n)=>o=e[r]=[t,n]));t.push(o[2]=n);var i=a.p+a.u(r),s=new Error;a.l(i,(t=>{if(a.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var n=t&&("load"===t.type?"missing":t.type),i=t&&t.target&&t.target.src;s.message="Loading chunk "+r+" failed.\n("+n+": "+i+")",s.name="ChunkLoadError",s.type=n,s.request=i,o[1](s)}}),"chunk-"+r,r)}};var r=(r,t)=>{var o,n,[i,s,l]=t,c=0;if(i.some((r=>0!==e[r]))){for(o in s)a.o(s,o)&&(a.m[o]=s[o]);if(l)l(a)}for(r&&r(t);c<i.length;c++)n=i[c],a.o(e,n)&&e[n]&&e[n][0](),e[n]=0},t=this.webpackChunk_tsparticles_plugin_background_mask=this.webpackChunk_tsparticles_plugin_background_mask||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})();var i={};async function s(e){e.checkVersion("4.0.0-alpha.5"),await e.register((async e=>{const{BackgroundMaskPlugin:r}=await a.e(646).then(a.bind(a,646));e.addPlugin(new r(e))}))}return a.r(i),a.d(i,{loadBackgroundMaskPlugin:()=>s}),i})()));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tsParticles Background Mask Plugin v4.0.0-alpha.
|
|
1
|
+
/*! tsParticles Background Mask Plugin v4.0.0-alpha.5 by Matteo Bruni */
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import type { BackgroundMaskOptions, IBackgroundMaskOptions } from "./types.js";
|
|
2
|
-
import type { Container, Engine, IPlugin, RecursivePartial } from "@tsparticles/engine";
|
|
3
|
-
import { BackgroundMaskInstance } from "./BackgroundMaskInstance.js";
|
|
2
|
+
import type { Container, Engine, IContainerPlugin, IPlugin, RecursivePartial } from "@tsparticles/engine";
|
|
4
3
|
export declare class BackgroundMaskPlugin implements IPlugin {
|
|
5
4
|
readonly id: string;
|
|
6
5
|
private readonly _engine;
|
|
7
6
|
constructor(engine: Engine);
|
|
8
|
-
getPlugin(container: Container): Promise<
|
|
9
|
-
loadOptions(options: BackgroundMaskOptions, source?: RecursivePartial<IBackgroundMaskOptions>): void;
|
|
10
|
-
needsPlugin(): boolean;
|
|
7
|
+
getPlugin(container: Container): Promise<IContainerPlugin>;
|
|
8
|
+
loadOptions(_container: Container, options: BackgroundMaskOptions, source?: RecursivePartial<IBackgroundMaskOptions>): void;
|
|
9
|
+
needsPlugin(options?: RecursivePartial<IBackgroundMaskOptions>): boolean;
|
|
11
10
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Engine, type IContainerPlugin } from "@tsparticles/engine";
|
|
2
2
|
import type { BackgroundMaskContainer } from "./types.js";
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class BackgroundMaskPluginInstance implements IContainerPlugin {
|
|
4
4
|
private readonly _container;
|
|
5
5
|
private _coverColorStyle?;
|
|
6
6
|
private _coverImage?;
|
package/types/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type Engine } from "@tsparticles/engine";
|
|
2
|
-
export declare function loadBackgroundMaskPlugin(engine: Engine): void
|
|
2
|
+
export declare function loadBackgroundMaskPlugin(engine: Engine): Promise<void>;
|
|
@@ -1,27 +1,61 @@
|
|
|
1
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
2
|
+
if (k2 === undefined) k2 = k;
|
|
3
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
4
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
5
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
6
|
+
}
|
|
7
|
+
Object.defineProperty(o, k2, desc);
|
|
8
|
+
}) : (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
o[k2] = m[k];
|
|
11
|
+
}));
|
|
12
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
13
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
14
|
+
}) : function(o, v) {
|
|
15
|
+
o["default"] = v;
|
|
16
|
+
});
|
|
17
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
18
|
+
var ownKeys = function(o) {
|
|
19
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
20
|
+
var ar = [];
|
|
21
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
22
|
+
return ar;
|
|
23
|
+
};
|
|
24
|
+
return ownKeys(o);
|
|
25
|
+
};
|
|
26
|
+
return function (mod) {
|
|
27
|
+
if (mod && mod.__esModule) return mod;
|
|
28
|
+
var result = {};
|
|
29
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
30
|
+
__setModuleDefault(result, mod);
|
|
31
|
+
return result;
|
|
32
|
+
};
|
|
33
|
+
})();
|
|
1
34
|
(function (factory) {
|
|
2
35
|
if (typeof module === "object" && typeof module.exports === "object") {
|
|
3
36
|
var v = factory(require, exports);
|
|
4
37
|
if (v !== undefined) module.exports = v;
|
|
5
38
|
}
|
|
6
39
|
else if (typeof define === "function" && define.amd) {
|
|
7
|
-
define(["require", "exports", "./Options/Classes/BackgroundMask.js"
|
|
40
|
+
define(["require", "exports", "./Options/Classes/BackgroundMask.js"], factory);
|
|
8
41
|
}
|
|
9
42
|
})(function (require, exports) {
|
|
10
43
|
"use strict";
|
|
44
|
+
var __syncRequire = typeof module === "object" && typeof module.exports === "object";
|
|
11
45
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
46
|
exports.BackgroundMaskPlugin = void 0;
|
|
13
47
|
const BackgroundMask_js_1 = require("./Options/Classes/BackgroundMask.js");
|
|
14
|
-
const BackgroundMaskInstance_js_1 = require("./BackgroundMaskInstance.js");
|
|
15
48
|
class BackgroundMaskPlugin {
|
|
16
49
|
constructor(engine) {
|
|
17
50
|
this.id = "background-mask";
|
|
18
51
|
this._engine = engine;
|
|
19
52
|
}
|
|
20
|
-
getPlugin(container) {
|
|
21
|
-
|
|
53
|
+
async getPlugin(container) {
|
|
54
|
+
const { BackgroundMaskPluginInstance } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("./BackgroundMaskPluginInstance.js"))) : new Promise((resolve_1, reject_1) => { require(["./BackgroundMaskPluginInstance.js"], resolve_1, reject_1); }).then(__importStar));
|
|
55
|
+
return new BackgroundMaskPluginInstance(container, this._engine);
|
|
22
56
|
}
|
|
23
|
-
loadOptions(options, source) {
|
|
24
|
-
if (!this.needsPlugin()) {
|
|
57
|
+
loadOptions(_container, options, source) {
|
|
58
|
+
if (!this.needsPlugin(options) && !this.needsPlugin(source)) {
|
|
25
59
|
return;
|
|
26
60
|
}
|
|
27
61
|
let backgroundMaskOptions = options.backgroundMask;
|
|
@@ -30,8 +64,8 @@
|
|
|
30
64
|
}
|
|
31
65
|
backgroundMaskOptions.load(source?.backgroundMask);
|
|
32
66
|
}
|
|
33
|
-
needsPlugin() {
|
|
34
|
-
return
|
|
67
|
+
needsPlugin(options) {
|
|
68
|
+
return !!options?.backgroundMask?.enable;
|
|
35
69
|
}
|
|
36
70
|
}
|
|
37
71
|
exports.BackgroundMaskPlugin = BackgroundMaskPlugin;
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
})(function (require, exports) {
|
|
10
10
|
"use strict";
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.BackgroundMaskPluginInstance = void 0;
|
|
13
13
|
const engine_1 = require("@tsparticles/engine");
|
|
14
|
-
class
|
|
14
|
+
class BackgroundMaskPluginInstance {
|
|
15
15
|
constructor(container, engine) {
|
|
16
16
|
this._initCover = async () => {
|
|
17
17
|
const options = this._container.actualOptions, cover = options.backgroundMask?.cover, color = cover?.color;
|
|
@@ -85,5 +85,5 @@
|
|
|
85
85
|
await this._initCover();
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
exports.
|
|
88
|
+
exports.BackgroundMaskPluginInstance = BackgroundMaskPluginInstance;
|
|
89
89
|
});
|
package/umd/index.js
CHANGED
|
@@ -44,9 +44,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
44
44
|
var __syncRequire = typeof module === "object" && typeof module.exports === "object";
|
|
45
45
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
46
|
exports.loadBackgroundMaskPlugin = loadBackgroundMaskPlugin;
|
|
47
|
-
function loadBackgroundMaskPlugin(engine) {
|
|
48
|
-
engine.checkVersion("4.0.0-alpha.
|
|
49
|
-
engine.register(async (e) => {
|
|
47
|
+
async function loadBackgroundMaskPlugin(engine) {
|
|
48
|
+
engine.checkVersion("4.0.0-alpha.5");
|
|
49
|
+
await engine.register(async (e) => {
|
|
50
50
|
const { BackgroundMaskPlugin } = await (__syncRequire ? Promise.resolve().then(() => __importStar(require("./BackgroundMaskPlugin.js"))) : new Promise((resolve_1, reject_1) => { require(["./BackgroundMaskPlugin.js"], resolve_1, reject_1); }).then(__importStar));
|
|
51
51
|
e.addPlugin(new BackgroundMaskPlugin(e));
|
|
52
52
|
});
|
package/224.min.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see 224.min.js.LICENSE.txt */
|
|
2
|
-
(this.webpackChunk_tsparticles_plugin_background_mask=this.webpackChunk_tsparticles_plugin_background_mask||[]).push([[224],{224(o,e,t){t.d(e,{BackgroundMaskPlugin:()=>r});var i=t(303);class a{constructor(){this.opacity=1}load(o){(0,i.isNull)(o)||(void 0!==o.color&&(this.color=i.OptionsColor.create(this.color,o.color)),void 0!==o.image&&(this.image=o.image),void 0!==o.opacity&&(this.opacity=o.opacity))}}class s{constructor(){this.composite="destination-out",this.cover=new a,this.enable=!1}load(o){if(!(0,i.isNull)(o)){if(void 0!==o.composite&&(this.composite=o.composite),void 0!==o.cover){const e=o.cover,t=(0,i.isString)(o.cover)?{color:o.cover}:o.cover;this.cover.load(void 0!==e.color||void 0!==e.image?e:{color:t})}void 0!==o.enable&&(this.enable=o.enable)}}}class n{constructor(o,e){this._initCover=async()=>{const o=this._container.actualOptions,e=o.backgroundMask?.cover,t=e?.color;if(t){const o=(0,i.rangeColorToRgb)(this._engine,t);if(o){const t={...o,a:e.opacity};this._coverColorStyle=(0,i.getStyleFromRgb)(t,this._container.hdr,t.a)}}else await new Promise(((o,t)=>{if(!e?.image)return;const a=(0,i.safeDocument)().createElement("img");a.addEventListener("load",(()=>{this._coverImage={image:a,opacity:e.opacity},o()})),a.addEventListener("error",(o=>{(0,i.getLogger)().error(o),t(new Error("Error loading image"))})),a.src=e.image}))},this._container=o,this._engine=e}canvasClear(){const o=this._container.actualOptions.backgroundMask;return!!o?.enable&&this.canvasPaint()}canvasPaint(){if(!this._container.actualOptions.backgroundMask?.enable)return!1;const o=this._container.canvas;return o.canvasClear(),this._coverImage?o.paintImage(this._coverImage.image,this._coverImage.opacity):o.paintBase(this._coverColorStyle),!0}clearDraw(o){this._defaultCompositeValue&&(o.globalCompositeOperation=this._defaultCompositeValue)}draw(o){const e=o.globalCompositeOperation,t=this._container.actualOptions.backgroundMask;this._defaultCompositeValue=e,o.globalCompositeOperation=t?.enable?t.composite:e}async init(){await this._initCover()}}class r{constructor(o){this.id="background-mask",this._engine=o}getPlugin(o){return Promise.resolve(new n(o,this._engine))}loadOptions(o,e){if(!this.needsPlugin())return;let t=o.backgroundMask;t?.load||(o.backgroundMask=t=new s),t.load(e?.backgroundMask)}needsPlugin(){return!0}}}}]);
|
package/224.min.js.LICENSE.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! tsParticles Background Mask Plugin v4.0.0-alpha.3 by Matteo Bruni */
|