@tsparticles/plugin-hsv-color 4.5.4 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/browser/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { HsvColorManager } from "./HsvColorManager.js";
2
2
  export async function loadHsvColorPlugin(engine) {
3
- engine.checkVersion("4.5.4");
3
+ engine.checkVersion("4.6.0");
4
4
  await engine.pluginManager.register(e => {
5
5
  e.pluginManager.addColorManager("hsv", new HsvColorManager());
6
6
  });
@@ -1,5 +1,5 @@
1
1
  export async function loadHsvColorPlugin(engine) {
2
- engine.checkVersion("4.5.4");
2
+ engine.checkVersion("4.6.0");
3
3
  await engine.pluginManager.register(async (e) => {
4
4
  const { HsvColorManager } = await import("./HsvColorManager.js");
5
5
  e.pluginManager.addColorManager("hsv", new HsvColorManager());
@@ -1,7 +1,10 @@
1
- import { defaultAlpha, getRangeValue, parseAlpha, } from "@tsparticles/engine";
2
- import { hsvToRgb, hsvaToRgba } from "./utils.js";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HsvColorManager = void 0;
4
+ const engine_1 = require("@tsparticles/engine");
5
+ const utils_js_1 = require("./utils.js");
3
6
  const hsvRegex = /hsva?\(\s*(\d+)°\s*[\s,]\s*(\d+)%\s*[\s,]\s*(\d+)%\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i;
4
- export class HsvColorManager {
7
+ class HsvColorManager {
5
8
  accepts(input) {
6
9
  return input.startsWith("hsv");
7
10
  }
@@ -10,17 +13,17 @@ export class HsvColorManager {
10
13
  if (!("h" in hsvColor) || !("s" in hsvColor) || !("v" in hsvColor)) {
11
14
  return;
12
15
  }
13
- return hsvToRgb(hsvColor);
16
+ return (0, utils_js_1.hsvToRgb)(hsvColor);
14
17
  }
15
18
  handleRangeColor(color) {
16
19
  const colorValue = color.value, hsvColor = colorValue.hsv ?? color.value;
17
20
  if (!("h" in hsvColor) || !("s" in hsvColor) || !("v" in hsvColor)) {
18
21
  return;
19
22
  }
20
- return hsvToRgb({
21
- h: getRangeValue(hsvColor.h),
22
- s: getRangeValue(hsvColor.s),
23
- v: getRangeValue(hsvColor.v),
23
+ return (0, utils_js_1.hsvToRgb)({
24
+ h: (0, engine_1.getRangeValue)(hsvColor.h),
25
+ s: (0, engine_1.getRangeValue)(hsvColor.s),
26
+ v: (0, engine_1.getRangeValue)(hsvColor.v),
24
27
  });
25
28
  }
26
29
  parseString(input) {
@@ -34,8 +37,8 @@ export class HsvColorManager {
34
37
  a: 5,
35
38
  }, radix = 10;
36
39
  return result
37
- ? hsvaToRgba({
38
- a: result.length > fullLength ? parseAlpha(result[indexes.a]) : defaultAlpha,
40
+ ? (0, utils_js_1.hsvaToRgba)({
41
+ a: result.length > fullLength ? (0, engine_1.parseAlpha)(result[indexes.a]) : engine_1.defaultAlpha,
39
42
  h: parseInt(result[indexes.h] ?? "0", radix),
40
43
  s: parseInt(result[indexes.s] ?? "0", radix),
41
44
  v: parseInt(result[indexes.v] ?? "0", radix),
@@ -43,3 +46,4 @@ export class HsvColorManager {
43
46
  : undefined;
44
47
  }
45
48
  }
49
+ exports.HsvColorManager = HsvColorManager;
package/cjs/browser.js CHANGED
@@ -1,5 +1,21 @@
1
- import { loadHsvColorPlugin } from "./index.js";
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ const index_js_1 = require("./index.js");
2
18
  const globalObject = globalThis;
3
19
  globalObject.__tsParticlesInternals = globalObject.__tsParticlesInternals ?? {};
4
- globalObject.loadHsvColorPlugin = loadHsvColorPlugin;
5
- export * from "./index.js";
20
+ globalObject.loadHsvColorPlugin = index_js_1.loadHsvColorPlugin;
21
+ __exportStar(require("./index.js"), exports);
@@ -1,7 +1,9 @@
1
- import { describe, expect, it } from "vitest";
2
- import { HsvColorManager } from "./HsvColorManager.js";
3
- describe("HsvColorManager", () => {
4
- const manager = new HsvColorManager(), testCases = [
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const HsvColorManager_js_1 = require("./HsvColorManager.js");
5
+ (0, vitest_1.describe)("HsvColorManager", () => {
6
+ const manager = new HsvColorManager_js_1.HsvColorManager(), testCases = [
5
7
  { name: "red", input: { h: 0, s: 100, v: 100 }, expected: { r: 255, g: 0, b: 0 } },
6
8
  { name: "green", input: { h: 120, s: 100, v: 100 }, expected: { r: 0, g: 255, b: 0 } },
7
9
  { name: "blue", input: { h: 240, s: 100, v: 100 }, expected: { r: 0, g: 0, b: 255 } },
@@ -12,9 +14,9 @@ describe("HsvColorManager", () => {
12
14
  { name: "black", input: { h: 0, s: 0, v: 0 }, expected: { r: 0, g: 0, b: 0 } },
13
15
  ];
14
16
  for (const { name, input, expected } of testCases) {
15
- it(`should convert HSV(${input.h}°,${input.s}%,${input.v}%) to ${name}`, () => {
17
+ (0, vitest_1.it)(`should convert HSV(${input.h}°,${input.s}%,${input.v}%) to ${name}`, () => {
16
18
  const result = manager.handleColor({ value: input });
17
- expect(result).toMatchObject(expected);
19
+ (0, vitest_1.expect)(result).toMatchObject(expected);
18
20
  });
19
21
  }
20
22
  });
package/cjs/index.js CHANGED
@@ -1,7 +1,10 @@
1
- import { HsvColorManager } from "./HsvColorManager.js";
2
- export async function loadHsvColorPlugin(engine) {
3
- engine.checkVersion("4.5.4");
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadHsvColorPlugin = loadHsvColorPlugin;
4
+ const HsvColorManager_js_1 = require("./HsvColorManager.js");
5
+ async function loadHsvColorPlugin(engine) {
6
+ engine.checkVersion("4.6.0");
4
7
  await engine.pluginManager.register(e => {
5
- e.pluginManager.addColorManager("hsv", new HsvColorManager());
8
+ e.pluginManager.addColorManager("hsv", new HsvColorManager_js_1.HsvColorManager());
6
9
  });
7
10
  }
package/cjs/index.lazy.js CHANGED
@@ -1,5 +1,8 @@
1
- export async function loadHsvColorPlugin(engine) {
2
- engine.checkVersion("4.5.4");
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadHsvColorPlugin = loadHsvColorPlugin;
4
+ async function loadHsvColorPlugin(engine) {
5
+ engine.checkVersion("4.6.0");
3
6
  await engine.pluginManager.register(async (e) => {
4
7
  const { HsvColorManager } = await import("./HsvColorManager.js");
5
8
  e.pluginManager.addColorManager("hsv", new HsvColorManager());
package/cjs/utils.js CHANGED
@@ -1,9 +1,20 @@
1
- import { double, getStyleFromHsl, half, percentDenominator, rgbMax, } from "@tsparticles/engine";
2
- export function rgbToHsv(rgb) {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rgbToHsv = rgbToHsv;
4
+ exports.rgbaToHsva = rgbaToHsva;
5
+ exports.getStyleFromHsv = getStyleFromHsv;
6
+ exports.hslToHsv = hslToHsv;
7
+ exports.hslaToHsva = hslaToHsva;
8
+ exports.hsvToHsl = hsvToHsl;
9
+ exports.hsvaToHsla = hsvaToHsla;
10
+ exports.hsvToRgb = hsvToRgb;
11
+ exports.hsvaToRgba = hsvaToRgba;
12
+ const engine_1 = require("@tsparticles/engine");
13
+ function rgbToHsv(rgb) {
3
14
  const rgbPercent = {
4
- r: rgb.r / rgbMax,
5
- g: rgb.g / rgbMax,
6
- b: rgb.b / rgbMax,
15
+ r: rgb.r / engine_1.rgbMax,
16
+ g: rgb.g / engine_1.rgbMax,
17
+ b: rgb.b / engine_1.rgbMax,
7
18
  }, xMax = Math.max(rgbPercent.r, rgbPercent.g, rgbPercent.b), xMin = Math.min(rgbPercent.r, rgbPercent.g, rgbPercent.b), v = xMax, c = xMax - xMin;
8
19
  let h = 0;
9
20
  const phaseOffset = {
@@ -23,52 +34,52 @@ export function rgbToHsv(rgb) {
23
34
  const defaultSaturation = 0, s = !v ? defaultSaturation : c / v;
24
35
  return {
25
36
  h,
26
- s: s * percentDenominator,
27
- v: v * percentDenominator,
37
+ s: s * engine_1.percentDenominator,
38
+ v: v * engine_1.percentDenominator,
28
39
  };
29
40
  }
30
- export function rgbaToHsva(rgba) {
41
+ function rgbaToHsva(rgba) {
31
42
  return {
32
43
  a: rgba.a,
33
44
  ...rgbToHsv(rgba),
34
45
  };
35
46
  }
36
- export function getStyleFromHsv(color, hdr, opacity, peakNits, mode) {
37
- return getStyleFromHsl(hsvToHsl(color), hdr, opacity, peakNits, mode);
47
+ function getStyleFromHsv(color, hdr, opacity, peakNits, mode) {
48
+ return (0, engine_1.getStyleFromHsl)(hsvToHsl(color), hdr, opacity, peakNits, mode);
38
49
  }
39
- export function hslToHsv(hsl) {
40
- const l = hsl.l / percentDenominator, sl = hsl.s / percentDenominator, offset = 1, noValue = 0, v = l + sl * Math.min(l, offset - l), sv = !v ? noValue : double * (offset - l / v);
50
+ function hslToHsv(hsl) {
51
+ const l = hsl.l / engine_1.percentDenominator, sl = hsl.s / engine_1.percentDenominator, offset = 1, noValue = 0, v = l + sl * Math.min(l, offset - l), sv = !v ? noValue : engine_1.double * (offset - l / v);
41
52
  return {
42
53
  h: hsl.h,
43
- s: sv * percentDenominator,
44
- v: v * percentDenominator,
54
+ s: sv * engine_1.percentDenominator,
55
+ v: v * engine_1.percentDenominator,
45
56
  };
46
57
  }
47
- export function hslaToHsva(hsla) {
58
+ function hslaToHsva(hsla) {
48
59
  return {
49
60
  a: hsla.a,
50
61
  ...hslToHsv(hsla),
51
62
  };
52
63
  }
53
- export function hsvToHsl(hsv) {
54
- const v = hsv.v / percentDenominator, sv = hsv.s / percentDenominator, offset = 1, noValue = 0, l = v * (offset - sv * half), sl = !l || l === offset ? noValue : (v - l) / Math.min(l, offset - l);
64
+ function hsvToHsl(hsv) {
65
+ const v = hsv.v / engine_1.percentDenominator, sv = hsv.s / engine_1.percentDenominator, offset = 1, noValue = 0, l = v * (offset - sv * engine_1.half), sl = !l || l === offset ? noValue : (v - l) / Math.min(l, offset - l);
55
66
  return {
56
67
  h: hsv.h,
57
- l: l * percentDenominator,
58
- s: sl * percentDenominator,
68
+ l: l * engine_1.percentDenominator,
69
+ s: sl * engine_1.percentDenominator,
59
70
  };
60
71
  }
61
- export function hsvaToHsla(hsva) {
72
+ function hsvaToHsla(hsva) {
62
73
  return {
63
74
  a: hsva.a,
64
75
  ...hsvToHsl(hsva),
65
76
  };
66
77
  }
67
- export function hsvToRgb(hsv) {
78
+ function hsvToRgb(hsv) {
68
79
  const result = { b: 0, g: 0, r: 0 }, phase = 60, hsvPercent = {
69
80
  h: hsv.h / phase,
70
- s: hsv.s / percentDenominator,
71
- v: hsv.v / percentDenominator,
81
+ s: hsv.s / engine_1.percentDenominator,
82
+ v: hsv.v / engine_1.percentDenominator,
72
83
  }, offset = 1, hPercentFactor = 2, c = hsvPercent.v * hsvPercent.s, x = c * (offset - Math.abs((hsvPercent.h % hPercentFactor) - offset));
73
84
  let tempRgb;
74
85
  const cxzRange = { min: 0, max: 1 }, xczRange = { min: 1, max: 2 }, zcxRange = { min: 2, max: 3 }, zxcRange = { min: 3, max: 4 }, xzcRange = { min: 4, max: 5 }, czxRange = { min: 5, max: 6 };
@@ -116,13 +127,13 @@ export function hsvToRgb(hsv) {
116
127
  }
117
128
  if (tempRgb) {
118
129
  const m = hsvPercent.v - c;
119
- result.r = Math.floor((tempRgb.r + m) * rgbMax);
120
- result.g = Math.floor((tempRgb.g + m) * rgbMax);
121
- result.b = Math.floor((tempRgb.b + m) * rgbMax);
130
+ result.r = Math.floor((tempRgb.r + m) * engine_1.rgbMax);
131
+ result.g = Math.floor((tempRgb.g + m) * engine_1.rgbMax);
132
+ result.b = Math.floor((tempRgb.b + m) * engine_1.rgbMax);
122
133
  }
123
134
  return result;
124
135
  }
125
- export function hsvaToRgba(hsva) {
136
+ function hsvaToRgba(hsva) {
126
137
  return {
127
138
  a: hsva.a,
128
139
  ...hsvToRgb(hsva),
package/esm/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { HsvColorManager } from "./HsvColorManager.js";
2
2
  export async function loadHsvColorPlugin(engine) {
3
- engine.checkVersion("4.5.4");
3
+ engine.checkVersion("4.6.0");
4
4
  await engine.pluginManager.register(e => {
5
5
  e.pluginManager.addColorManager("hsv", new HsvColorManager());
6
6
  });
package/esm/index.lazy.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export async function loadHsvColorPlugin(engine) {
2
- engine.checkVersion("4.5.4");
2
+ engine.checkVersion("4.6.0");
3
3
  await engine.pluginManager.register(async (e) => {
4
4
  const { HsvColorManager } = await import("./HsvColorManager.js");
5
5
  e.pluginManager.addColorManager("hsv", new HsvColorManager());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/plugin-hsv-color",
3
- "version": "4.5.4",
3
+ "version": "4.6.0",
4
4
  "description": "tsParticles HSV color plugin",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {
@@ -106,7 +106,7 @@
106
106
  "./package.json": "./package.json"
107
107
  },
108
108
  "peerDependencies": {
109
- "@tsparticles/engine": "4.5.4"
109
+ "@tsparticles/engine": "4.6.0"
110
110
  },
111
111
  "publishConfig": {
112
112
  "access": "public"
@@ -1,6 +1,6 @@
1
1
  (function(g){g.__tsParticlesInternals=g.__tsParticlesInternals||{};g.__tsParticlesInternals.bundles=g.__tsParticlesInternals.bundles||{};g.__tsParticlesInternals.effects=g.__tsParticlesInternals.effects||{};g.__tsParticlesInternals.engine=g.__tsParticlesInternals.engine||{};g.__tsParticlesInternals.interactions=g.__tsParticlesInternals.interactions||{};g.__tsParticlesInternals.palettes=g.__tsParticlesInternals.palettes||{};g.__tsParticlesInternals.paths=g.__tsParticlesInternals.paths||{};g.__tsParticlesInternals.plugins=g.__tsParticlesInternals.plugins||{};g.__tsParticlesInternals.plugins=g.__tsParticlesInternals.plugins||{};g.__tsParticlesInternals.plugins.emittersShapes=g.__tsParticlesInternals.plugins.emittersShapes||{};g.__tsParticlesInternals.presets=g.__tsParticlesInternals.presets||{};g.__tsParticlesInternals.shapes=g.__tsParticlesInternals.shapes||{};g.__tsParticlesInternals.updaters=g.__tsParticlesInternals.updaters||{};g.__tsParticlesInternals.utils=g.__tsParticlesInternals.utils||{};g.__tsParticlesInternals.canvas=g.__tsParticlesInternals.canvas||{};g.__tsParticlesInternals.canvas=g.__tsParticlesInternals.canvas||{};g.__tsParticlesInternals.canvas.utils=g.__tsParticlesInternals.canvas.utils||{};g.__tsParticlesInternals.path=g.__tsParticlesInternals.path||{};g.__tsParticlesInternals.path=g.__tsParticlesInternals.path||{};g.__tsParticlesInternals.path.utils=g.__tsParticlesInternals.path.utils||{};var __tsProxyFactory=typeof Proxy!=="undefined"?function(obj){return new Proxy(obj,{get:function(target,key){if(!(key in target)){target[key]={};}return target[key];}});}:function(obj){return obj;};g.__tsParticlesInternals.bundles=__tsProxyFactory(g.__tsParticlesInternals.bundles);g.__tsParticlesInternals.effects=__tsProxyFactory(g.__tsParticlesInternals.effects);g.__tsParticlesInternals.interactions=__tsProxyFactory(g.__tsParticlesInternals.interactions);g.__tsParticlesInternals.palettes=__tsProxyFactory(g.__tsParticlesInternals.palettes);g.__tsParticlesInternals.paths=__tsProxyFactory(g.__tsParticlesInternals.paths);g.__tsParticlesInternals.plugins=__tsProxyFactory(g.__tsParticlesInternals.plugins);g.__tsParticlesInternals.plugins.emittersShapes=__tsProxyFactory(g.__tsParticlesInternals.plugins.emittersShapes);g.__tsParticlesInternals.presets=__tsProxyFactory(g.__tsParticlesInternals.presets);g.__tsParticlesInternals.shapes=__tsProxyFactory(g.__tsParticlesInternals.shapes);g.__tsParticlesInternals.updaters=__tsProxyFactory(g.__tsParticlesInternals.updaters);g.__tsParticlesInternals.utils=__tsProxyFactory(g.__tsParticlesInternals.utils);g.__tsParticlesInternals.canvas=__tsProxyFactory(g.__tsParticlesInternals.canvas);g.__tsParticlesInternals.path=__tsProxyFactory(g.__tsParticlesInternals.path);})(typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:this);
2
2
  (function (g) {
3
- /* Plugin v4.5.4 */
3
+ /* Plugin v4.6.0 */
4
4
  g.__tsParticlesInternals = g.__tsParticlesInternals || {};
5
5
  g.__tsParticlesInternals.plugins = g.__tsParticlesInternals.plugins || {};
6
6
  (function (exports, engine) {
@@ -116,7 +116,7 @@ g.__tsParticlesInternals.plugins = g.__tsParticlesInternals.plugins || {};
116
116
  }
117
117
 
118
118
  async function loadHsvColorPlugin(engine) {
119
- engine.checkVersion("4.5.4");
119
+ engine.checkVersion("4.6.0");
120
120
  await engine.pluginManager.register(e => {
121
121
  e.pluginManager.addColorManager("hsv", new HsvColorManager());
122
122
  });
@@ -1 +1 @@
1
- !function(s){s.__tsParticlesInternals=s.__tsParticlesInternals||{},s.__tsParticlesInternals.bundles=s.__tsParticlesInternals.bundles||{},s.__tsParticlesInternals.effects=s.__tsParticlesInternals.effects||{},s.__tsParticlesInternals.engine=s.__tsParticlesInternals.engine||{},s.__tsParticlesInternals.interactions=s.__tsParticlesInternals.interactions||{},s.__tsParticlesInternals.palettes=s.__tsParticlesInternals.palettes||{},s.__tsParticlesInternals.paths=s.__tsParticlesInternals.paths||{},s.__tsParticlesInternals.plugins=s.__tsParticlesInternals.plugins||{},s.__tsParticlesInternals.plugins=s.__tsParticlesInternals.plugins||{},s.__tsParticlesInternals.plugins.emittersShapes=s.__tsParticlesInternals.plugins.emittersShapes||{},s.__tsParticlesInternals.presets=s.__tsParticlesInternals.presets||{},s.__tsParticlesInternals.shapes=s.__tsParticlesInternals.shapes||{},s.__tsParticlesInternals.updaters=s.__tsParticlesInternals.updaters||{},s.__tsParticlesInternals.utils=s.__tsParticlesInternals.utils||{},s.__tsParticlesInternals.canvas=s.__tsParticlesInternals.canvas||{},s.__tsParticlesInternals.canvas=s.__tsParticlesInternals.canvas||{},s.__tsParticlesInternals.canvas.utils=s.__tsParticlesInternals.canvas.utils||{},s.__tsParticlesInternals.path=s.__tsParticlesInternals.path||{},s.__tsParticlesInternals.path=s.__tsParticlesInternals.path||{},s.__tsParticlesInternals.path.utils=s.__tsParticlesInternals.path.utils||{};var t="undefined"!=typeof Proxy?function(s){return new Proxy(s,{get:function(s,t){return t in s||(s[t]={}),s[t]}})}:function(s){return s};s.__tsParticlesInternals.bundles=t(s.__tsParticlesInternals.bundles),s.__tsParticlesInternals.effects=t(s.__tsParticlesInternals.effects),s.__tsParticlesInternals.interactions=t(s.__tsParticlesInternals.interactions),s.__tsParticlesInternals.palettes=t(s.__tsParticlesInternals.palettes),s.__tsParticlesInternals.paths=t(s.__tsParticlesInternals.paths),s.__tsParticlesInternals.plugins=t(s.__tsParticlesInternals.plugins),s.__tsParticlesInternals.plugins.emittersShapes=t(s.__tsParticlesInternals.plugins.emittersShapes),s.__tsParticlesInternals.presets=t(s.__tsParticlesInternals.presets),s.__tsParticlesInternals.shapes=t(s.__tsParticlesInternals.shapes),s.__tsParticlesInternals.updaters=t(s.__tsParticlesInternals.updaters),s.__tsParticlesInternals.utils=t(s.__tsParticlesInternals.utils),s.__tsParticlesInternals.canvas=t(s.__tsParticlesInternals.canvas),s.__tsParticlesInternals.path=t(s.__tsParticlesInternals.path)}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:this),function(s){s.__tsParticlesInternals=s.__tsParticlesInternals||{},s.__tsParticlesInternals.plugins=s.__tsParticlesInternals.plugins||{},function(s,t){"use strict";function e(s){const e={b:0,g:0,r:0},n=s.h/60,a=s.s/t.percentDenominator,l=s.v/t.percentDenominator,r=l*a,i=r*(1-Math.abs(n%2-1));let _;if(n>=0&&n<=1?_={r:r,g:i,b:0}:n>1&&n<=2?_={r:i,g:r,b:0}:n>2&&n<=3?_={r:0,g:r,b:i}:n>3&&n<=4?_={r:0,g:i,b:r}:n>4&&n<=5?_={r:i,g:0,b:r}:n>5&&n<=6&&(_={r:r,g:0,b:i}),_){const s=l-r;e.r=Math.floor((_.r+s)*t.rgbMax),e.g=Math.floor((_.g+s)*t.rgbMax),e.b=Math.floor((_.b+s)*t.rgbMax)}return e}const n=/hsva?\(\s*(\d+)°\s*[\s,]\s*(\d+)%\s*[\s,]\s*(\d+)%\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i;class a{accepts(s){return s.startsWith("hsv")}handleColor(s){const t=s.value.hsv??s.value;if("h"in t&&"s"in t&&"v"in t)return e(t)}handleRangeColor(s){const n=s.value.hsv??s.value;if("h"in n&&"s"in n&&"v"in n)return e({h:t.getRangeValue(n.h),s:t.getRangeValue(n.s),v:t.getRangeValue(n.v)})}parseString(s){if(!this.accepts(s))return;const a=n.exec(s),l=1,r=2,i=3,_=5;return a?{a:(c={a:a.length>4?t.parseAlpha(a[_]):t.defaultAlpha,h:parseInt(a[l]??"0",10),s:parseInt(a[r]??"0",10),v:parseInt(a[i]??"0",10)}).a,...e(c)}:void 0;var c}}async function l(s){s.checkVersion("4.5.4"),await s.pluginManager.register(s=>{s.pluginManager.addColorManager("hsv",new a)})}const r=globalThis;r.__tsParticlesInternals=r.__tsParticlesInternals??{},r.loadHsvColorPlugin=l,s.loadHsvColorPlugin=l}(s.__tsParticlesInternals.plugins.hsvColor=s.__tsParticlesInternals.plugins.hsvColor||{},s.__tsParticlesInternals.engine)}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:self),Object.assign(globalThis.window||globalThis,{loadHsvColorPlugin:(globalThis.__tsParticlesInternals.plugins.hsvColor||{}).loadHsvColorPlugin});
1
+ !function(s){s.__tsParticlesInternals=s.__tsParticlesInternals||{},s.__tsParticlesInternals.bundles=s.__tsParticlesInternals.bundles||{},s.__tsParticlesInternals.effects=s.__tsParticlesInternals.effects||{},s.__tsParticlesInternals.engine=s.__tsParticlesInternals.engine||{},s.__tsParticlesInternals.interactions=s.__tsParticlesInternals.interactions||{},s.__tsParticlesInternals.palettes=s.__tsParticlesInternals.palettes||{},s.__tsParticlesInternals.paths=s.__tsParticlesInternals.paths||{},s.__tsParticlesInternals.plugins=s.__tsParticlesInternals.plugins||{},s.__tsParticlesInternals.plugins=s.__tsParticlesInternals.plugins||{},s.__tsParticlesInternals.plugins.emittersShapes=s.__tsParticlesInternals.plugins.emittersShapes||{},s.__tsParticlesInternals.presets=s.__tsParticlesInternals.presets||{},s.__tsParticlesInternals.shapes=s.__tsParticlesInternals.shapes||{},s.__tsParticlesInternals.updaters=s.__tsParticlesInternals.updaters||{},s.__tsParticlesInternals.utils=s.__tsParticlesInternals.utils||{},s.__tsParticlesInternals.canvas=s.__tsParticlesInternals.canvas||{},s.__tsParticlesInternals.canvas=s.__tsParticlesInternals.canvas||{},s.__tsParticlesInternals.canvas.utils=s.__tsParticlesInternals.canvas.utils||{},s.__tsParticlesInternals.path=s.__tsParticlesInternals.path||{},s.__tsParticlesInternals.path=s.__tsParticlesInternals.path||{},s.__tsParticlesInternals.path.utils=s.__tsParticlesInternals.path.utils||{};var t="undefined"!=typeof Proxy?function(s){return new Proxy(s,{get:function(s,t){return t in s||(s[t]={}),s[t]}})}:function(s){return s};s.__tsParticlesInternals.bundles=t(s.__tsParticlesInternals.bundles),s.__tsParticlesInternals.effects=t(s.__tsParticlesInternals.effects),s.__tsParticlesInternals.interactions=t(s.__tsParticlesInternals.interactions),s.__tsParticlesInternals.palettes=t(s.__tsParticlesInternals.palettes),s.__tsParticlesInternals.paths=t(s.__tsParticlesInternals.paths),s.__tsParticlesInternals.plugins=t(s.__tsParticlesInternals.plugins),s.__tsParticlesInternals.plugins.emittersShapes=t(s.__tsParticlesInternals.plugins.emittersShapes),s.__tsParticlesInternals.presets=t(s.__tsParticlesInternals.presets),s.__tsParticlesInternals.shapes=t(s.__tsParticlesInternals.shapes),s.__tsParticlesInternals.updaters=t(s.__tsParticlesInternals.updaters),s.__tsParticlesInternals.utils=t(s.__tsParticlesInternals.utils),s.__tsParticlesInternals.canvas=t(s.__tsParticlesInternals.canvas),s.__tsParticlesInternals.path=t(s.__tsParticlesInternals.path)}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:this),function(s){s.__tsParticlesInternals=s.__tsParticlesInternals||{},s.__tsParticlesInternals.plugins=s.__tsParticlesInternals.plugins||{},function(s,t){"use strict";function e(s){const e={b:0,g:0,r:0},n=s.h/60,a=s.s/t.percentDenominator,l=s.v/t.percentDenominator,r=l*a,i=r*(1-Math.abs(n%2-1));let _;if(n>=0&&n<=1?_={r:r,g:i,b:0}:n>1&&n<=2?_={r:i,g:r,b:0}:n>2&&n<=3?_={r:0,g:r,b:i}:n>3&&n<=4?_={r:0,g:i,b:r}:n>4&&n<=5?_={r:i,g:0,b:r}:n>5&&n<=6&&(_={r:r,g:0,b:i}),_){const s=l-r;e.r=Math.floor((_.r+s)*t.rgbMax),e.g=Math.floor((_.g+s)*t.rgbMax),e.b=Math.floor((_.b+s)*t.rgbMax)}return e}const n=/hsva?\(\s*(\d+)°\s*[\s,]\s*(\d+)%\s*[\s,]\s*(\d+)%\s*([\s,]\s*(0|1|0?\.\d+|(\d{1,3})%)\s*)?\)/i;class a{accepts(s){return s.startsWith("hsv")}handleColor(s){const t=s.value.hsv??s.value;if("h"in t&&"s"in t&&"v"in t)return e(t)}handleRangeColor(s){const n=s.value.hsv??s.value;if("h"in n&&"s"in n&&"v"in n)return e({h:t.getRangeValue(n.h),s:t.getRangeValue(n.s),v:t.getRangeValue(n.v)})}parseString(s){if(!this.accepts(s))return;const a=n.exec(s),l=1,r=2,i=3,_=5;return a?{a:(c={a:a.length>4?t.parseAlpha(a[_]):t.defaultAlpha,h:parseInt(a[l]??"0",10),s:parseInt(a[r]??"0",10),v:parseInt(a[i]??"0",10)}).a,...e(c)}:void 0;var c}}async function l(s){s.checkVersion("4.6.0"),await s.pluginManager.register(s=>{s.pluginManager.addColorManager("hsv",new a)})}const r=globalThis;r.__tsParticlesInternals=r.__tsParticlesInternals??{},r.loadHsvColorPlugin=l,s.loadHsvColorPlugin=l}(s.__tsParticlesInternals.plugins.hsvColor=s.__tsParticlesInternals.plugins.hsvColor||{},s.__tsParticlesInternals.engine)}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:self),Object.assign(globalThis.window||globalThis,{loadHsvColorPlugin:(globalThis.__tsParticlesInternals.plugins.hsvColor||{}).loadHsvColorPlugin});