@tsparticles/engine 3.3.0 → 3.5.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/README.md +0 -4
- package/browser/Core/Canvas.js +27 -22
- package/browser/Core/Container.js +57 -44
- package/browser/Core/Engine.js +82 -74
- package/browser/Core/Particle.js +29 -15
- package/browser/Core/Particles.js +23 -24
- package/browser/Core/Utils/EventListeners.js +18 -17
- package/browser/Core/Utils/ExternalInteractorBase.js +2 -1
- package/browser/Core/Utils/InteractionManager.js +3 -2
- package/browser/Core/Utils/ParticlesInteractorBase.js +2 -1
- package/browser/Core/Utils/QuadTree.js +1 -1
- package/browser/Core/Utils/Ranges.js +5 -4
- package/browser/Enums/AnimationStatus.js +5 -1
- package/browser/Enums/Directions/MoveDirection.js +14 -1
- package/browser/Enums/Directions/OutModeDirection.js +7 -1
- package/browser/Enums/Directions/RotateDirection.js +6 -1
- package/browser/Enums/InteractivityDetect.js +6 -1
- package/browser/Enums/Modes/AnimationMode.js +7 -1
- package/browser/Enums/Modes/CollisionMode.js +6 -1
- package/browser/Enums/Modes/LimitMode.js +5 -1
- package/browser/Enums/Modes/OutMode.js +8 -1
- package/browser/Enums/Modes/PixelMode.js +5 -1
- package/browser/Enums/Modes/ResponsiveMode.js +5 -1
- package/browser/Enums/Modes/ThemeMode.js +6 -1
- package/browser/Enums/Types/AlterType.js +5 -1
- package/browser/Enums/Types/DestroyType.js +6 -1
- package/browser/Enums/Types/DivType.js +5 -1
- package/browser/Enums/Types/EasingType.js +30 -1
- package/browser/Enums/Types/EventType.js +15 -1
- package/browser/Enums/Types/GradientType.js +6 -1
- package/browser/Enums/Types/InteractorType.js +5 -1
- package/browser/Enums/Types/ParticleOutType.js +6 -1
- package/browser/Enums/Types/StartValueType.js +6 -1
- package/browser/Options/Classes/AnimationOptions.js +4 -2
- package/browser/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
- package/browser/Options/Classes/Interactivity/Events/Events.js +1 -1
- package/browser/Options/Classes/Interactivity/Interactivity.js +2 -1
- package/browser/Options/Classes/ManualParticle.js +2 -1
- package/browser/Options/Classes/Options.js +14 -12
- package/browser/Options/Classes/Particles/Collisions/Collisions.js +2 -1
- package/browser/Options/Classes/Particles/Move/Move.js +2 -1
- package/browser/Options/Classes/Particles/Move/MoveCenter.js +2 -1
- package/browser/Options/Classes/Particles/Move/OutModes.js +2 -1
- package/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
- package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
- package/browser/Options/Classes/Particles/ParticlesOptions.js +1 -1
- package/browser/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
- package/browser/Options/Classes/Responsive.js +5 -4
- package/browser/Options/Classes/Theme/ThemeDefault.js +2 -1
- package/browser/Types/RangeType.js +5 -1
- package/browser/Utils/CanvasUtils.js +13 -7
- package/browser/Utils/ColorUtils.js +17 -9
- package/browser/Utils/EventDispatcher.js +1 -1
- package/browser/Utils/HslColorManager.js +11 -4
- package/browser/Utils/NumberUtils.js +28 -14
- package/browser/Utils/RgbColorManager.js +11 -4
- package/browser/Utils/Utils.js +37 -31
- package/cjs/Core/Canvas.js +27 -22
- package/cjs/Core/Container.js +57 -44
- package/cjs/Core/Engine.js +82 -74
- package/cjs/Core/Particle.js +29 -15
- package/cjs/Core/Particles.js +23 -24
- package/cjs/Core/Utils/EventListeners.js +18 -17
- package/cjs/Core/Utils/ExternalInteractorBase.js +2 -1
- package/cjs/Core/Utils/InteractionManager.js +3 -2
- package/cjs/Core/Utils/ParticlesInteractorBase.js +2 -1
- package/cjs/Core/Utils/QuadTree.js +1 -1
- package/cjs/Core/Utils/Ranges.js +5 -4
- package/cjs/Enums/AnimationStatus.js +6 -0
- package/cjs/Enums/Directions/MoveDirection.js +15 -0
- package/cjs/Enums/Directions/OutModeDirection.js +8 -0
- package/cjs/Enums/Directions/RotateDirection.js +7 -0
- package/cjs/Enums/InteractivityDetect.js +7 -0
- package/cjs/Enums/Modes/AnimationMode.js +8 -0
- package/cjs/Enums/Modes/CollisionMode.js +7 -0
- package/cjs/Enums/Modes/LimitMode.js +6 -0
- package/cjs/Enums/Modes/OutMode.js +9 -0
- package/cjs/Enums/Modes/PixelMode.js +6 -0
- package/cjs/Enums/Modes/ResponsiveMode.js +6 -0
- package/cjs/Enums/Modes/ThemeMode.js +7 -0
- package/cjs/Enums/Types/AlterType.js +6 -0
- package/cjs/Enums/Types/DestroyType.js +7 -0
- package/cjs/Enums/Types/DivType.js +6 -0
- package/cjs/Enums/Types/EasingType.js +31 -0
- package/cjs/Enums/Types/EventType.js +16 -0
- package/cjs/Enums/Types/GradientType.js +7 -0
- package/cjs/Enums/Types/InteractorType.js +6 -0
- package/cjs/Enums/Types/ParticleOutType.js +7 -0
- package/cjs/Enums/Types/StartValueType.js +7 -0
- package/cjs/Options/Classes/AnimationOptions.js +4 -2
- package/cjs/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
- package/cjs/Options/Classes/Interactivity/Events/Events.js +1 -1
- package/cjs/Options/Classes/Interactivity/Interactivity.js +2 -1
- package/cjs/Options/Classes/ManualParticle.js +2 -1
- package/cjs/Options/Classes/Options.js +14 -12
- package/cjs/Options/Classes/Particles/Collisions/Collisions.js +2 -1
- package/cjs/Options/Classes/Particles/Move/Move.js +2 -1
- package/cjs/Options/Classes/Particles/Move/MoveCenter.js +2 -1
- package/cjs/Options/Classes/Particles/Move/OutModes.js +2 -1
- package/cjs/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
- package/cjs/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
- package/cjs/Options/Classes/Particles/ParticlesOptions.js +1 -1
- package/cjs/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
- package/cjs/Options/Classes/Responsive.js +5 -4
- package/cjs/Options/Classes/Theme/ThemeDefault.js +2 -1
- package/cjs/Types/RangeType.js +6 -0
- package/cjs/Utils/CanvasUtils.js +24 -19
- package/cjs/Utils/ColorUtils.js +37 -30
- package/cjs/Utils/EventDispatcher.js +1 -1
- package/cjs/Utils/HslColorManager.js +11 -4
- package/cjs/Utils/NumberUtils.js +54 -38
- package/cjs/Utils/OptionsUtils.js +2 -3
- package/cjs/Utils/RgbColorManager.js +11 -4
- package/cjs/Utils/TypeUtils.js +6 -7
- package/cjs/Utils/Utils.js +66 -61
- package/cjs/init.js +1 -2
- package/esm/Core/Canvas.js +27 -22
- package/esm/Core/Container.js +57 -44
- package/esm/Core/Engine.js +82 -74
- package/esm/Core/Particle.js +29 -15
- package/esm/Core/Particles.js +23 -24
- package/esm/Core/Utils/EventListeners.js +18 -17
- package/esm/Core/Utils/ExternalInteractorBase.js +2 -1
- package/esm/Core/Utils/InteractionManager.js +3 -2
- package/esm/Core/Utils/ParticlesInteractorBase.js +2 -1
- package/esm/Core/Utils/QuadTree.js +1 -1
- package/esm/Core/Utils/Ranges.js +5 -4
- package/esm/Enums/AnimationStatus.js +5 -1
- package/esm/Enums/Directions/MoveDirection.js +14 -1
- package/esm/Enums/Directions/OutModeDirection.js +7 -1
- package/esm/Enums/Directions/RotateDirection.js +6 -1
- package/esm/Enums/InteractivityDetect.js +6 -1
- package/esm/Enums/Modes/AnimationMode.js +7 -1
- package/esm/Enums/Modes/CollisionMode.js +6 -1
- package/esm/Enums/Modes/LimitMode.js +5 -1
- package/esm/Enums/Modes/OutMode.js +8 -1
- package/esm/Enums/Modes/PixelMode.js +5 -1
- package/esm/Enums/Modes/ResponsiveMode.js +5 -1
- package/esm/Enums/Modes/ThemeMode.js +6 -1
- package/esm/Enums/Types/AlterType.js +5 -1
- package/esm/Enums/Types/DestroyType.js +6 -1
- package/esm/Enums/Types/DivType.js +5 -1
- package/esm/Enums/Types/EasingType.js +30 -1
- package/esm/Enums/Types/EventType.js +15 -1
- package/esm/Enums/Types/GradientType.js +6 -1
- package/esm/Enums/Types/InteractorType.js +5 -1
- package/esm/Enums/Types/ParticleOutType.js +6 -1
- package/esm/Enums/Types/StartValueType.js +6 -1
- package/esm/Options/Classes/AnimationOptions.js +4 -2
- package/esm/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
- package/esm/Options/Classes/Interactivity/Events/Events.js +1 -1
- package/esm/Options/Classes/Interactivity/Interactivity.js +2 -1
- package/esm/Options/Classes/ManualParticle.js +2 -1
- package/esm/Options/Classes/Options.js +14 -12
- package/esm/Options/Classes/Particles/Collisions/Collisions.js +2 -1
- package/esm/Options/Classes/Particles/Move/Move.js +2 -1
- package/esm/Options/Classes/Particles/Move/MoveCenter.js +2 -1
- package/esm/Options/Classes/Particles/Move/OutModes.js +2 -1
- package/esm/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
- package/esm/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
- package/esm/Options/Classes/Particles/ParticlesOptions.js +1 -1
- package/esm/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
- package/esm/Options/Classes/Responsive.js +5 -4
- package/esm/Options/Classes/Theme/ThemeDefault.js +2 -1
- package/esm/Types/RangeType.js +5 -1
- package/esm/Utils/CanvasUtils.js +13 -7
- package/esm/Utils/ColorUtils.js +17 -9
- package/esm/Utils/EventDispatcher.js +1 -1
- package/esm/Utils/HslColorManager.js +11 -4
- package/esm/Utils/NumberUtils.js +28 -14
- package/esm/Utils/RgbColorManager.js +11 -4
- package/esm/Utils/Utils.js +37 -31
- package/package.json +1 -1
- package/report.html +1 -1
- package/tsparticles.engine.js +327 -225
- package/tsparticles.engine.min.js +1 -1
- package/tsparticles.engine.min.js.LICENSE.txt +1 -1
- package/types/Core/Container.d.ts +4 -2
- package/types/Core/Engine.d.ts +6 -5
- package/types/Core/Interfaces/IPlugin.d.ts +3 -4
- package/types/Core/Interfaces/IShapeDrawer.d.ts +1 -0
- package/types/Core/Particle.d.ts +1 -0
- package/types/Enums/AnimationStatus.d.ts +1 -1
- package/types/Enums/Directions/MoveDirection.d.ts +1 -1
- package/types/Enums/Directions/OutModeDirection.d.ts +1 -1
- package/types/Enums/Directions/RotateDirection.d.ts +1 -1
- package/types/Enums/InteractivityDetect.d.ts +1 -1
- package/types/Enums/Modes/AnimationMode.d.ts +1 -1
- package/types/Enums/Modes/CollisionMode.d.ts +1 -1
- package/types/Enums/Modes/LimitMode.d.ts +1 -1
- package/types/Enums/Modes/OutMode.d.ts +1 -1
- package/types/Enums/Modes/PixelMode.d.ts +1 -1
- package/types/Enums/Modes/ResponsiveMode.d.ts +1 -1
- package/types/Enums/Modes/ThemeMode.d.ts +1 -1
- package/types/Enums/Types/AlterType.d.ts +1 -1
- package/types/Enums/Types/DestroyType.d.ts +1 -1
- package/types/Enums/Types/DivType.d.ts +1 -1
- package/types/Enums/Types/EasingType.d.ts +1 -1
- package/types/Enums/Types/EventType.d.ts +1 -1
- package/types/Enums/Types/GradientType.d.ts +1 -1
- package/types/Enums/Types/InteractorType.d.ts +1 -1
- package/types/Enums/Types/ParticleOutType.d.ts +1 -1
- package/types/Enums/Types/StartValueType.d.ts +1 -1
- package/types/Options/Classes/Options.d.ts +2 -1
- package/types/Options/Classes/Responsive.d.ts +2 -2
- package/types/Options/Classes/Theme/Theme.d.ts +2 -2
- package/types/Options/Interfaces/IResponsive.d.ts +2 -3
- package/types/Options/Interfaces/Theme/ITheme.d.ts +2 -3
- package/types/Types/RangeType.d.ts +1 -1
- package/types/Utils/NumberUtils.d.ts +3 -0
- package/umd/Core/Canvas.js +27 -22
- package/umd/Core/Container.js +58 -45
- package/umd/Core/Engine.js +83 -99
- package/umd/Core/Particle.js +30 -16
- package/umd/Core/Particles.js +24 -25
- package/umd/Core/Utils/EventListeners.js +19 -18
- package/umd/Core/Utils/ExternalInteractorBase.js +3 -2
- package/umd/Core/Utils/InteractionManager.js +4 -3
- package/umd/Core/Utils/ParticlesInteractorBase.js +3 -2
- package/umd/Core/Utils/QuadTree.js +1 -1
- package/umd/Core/Utils/Ranges.js +6 -5
- package/umd/Enums/AnimationStatus.js +6 -0
- package/umd/Enums/Directions/MoveDirection.js +15 -0
- package/umd/Enums/Directions/OutModeDirection.js +8 -0
- package/umd/Enums/Directions/RotateDirection.js +7 -0
- package/umd/Enums/InteractivityDetect.js +7 -0
- package/umd/Enums/Modes/AnimationMode.js +8 -0
- package/umd/Enums/Modes/CollisionMode.js +7 -0
- package/umd/Enums/Modes/LimitMode.js +6 -0
- package/umd/Enums/Modes/OutMode.js +9 -0
- package/umd/Enums/Modes/PixelMode.js +6 -0
- package/umd/Enums/Modes/ResponsiveMode.js +6 -0
- package/umd/Enums/Modes/ThemeMode.js +7 -0
- package/umd/Enums/Types/AlterType.js +6 -0
- package/umd/Enums/Types/DestroyType.js +7 -0
- package/umd/Enums/Types/DivType.js +6 -0
- package/umd/Enums/Types/EasingType.js +31 -0
- package/umd/Enums/Types/EventType.js +16 -0
- package/umd/Enums/Types/GradientType.js +7 -0
- package/umd/Enums/Types/InteractorType.js +6 -0
- package/umd/Enums/Types/ParticleOutType.js +7 -0
- package/umd/Enums/Types/StartValueType.js +7 -0
- package/umd/Options/Classes/AnimationOptions.js +5 -3
- package/umd/Options/Classes/Interactivity/Events/DivEvent.js +3 -2
- package/umd/Options/Classes/Interactivity/Events/Events.js +1 -1
- package/umd/Options/Classes/Interactivity/Interactivity.js +3 -2
- package/umd/Options/Classes/ManualParticle.js +3 -2
- package/umd/Options/Classes/Options.js +15 -13
- package/umd/Options/Classes/Particles/Collisions/Collisions.js +3 -2
- package/umd/Options/Classes/Particles/Move/Move.js +3 -2
- package/umd/Options/Classes/Particles/Move/MoveCenter.js +3 -2
- package/umd/Options/Classes/Particles/Move/OutModes.js +3 -2
- package/umd/Options/Classes/Particles/Number/ParticlesNumberLimit.js +3 -2
- package/umd/Options/Classes/Particles/Opacity/OpacityAnimation.js +3 -2
- package/umd/Options/Classes/Particles/ParticlesOptions.js +1 -1
- package/umd/Options/Classes/Particles/Size/SizeAnimation.js +3 -2
- package/umd/Options/Classes/Responsive.js +6 -5
- package/umd/Options/Classes/Theme/ThemeDefault.js +3 -2
- package/umd/Types/RangeType.js +6 -0
- package/umd/Utils/CanvasUtils.js +25 -20
- package/umd/Utils/ColorUtils.js +38 -31
- package/umd/Utils/EventDispatcher.js +1 -1
- package/umd/Utils/HslColorManager.js +11 -4
- package/umd/Utils/NumberUtils.js +55 -39
- package/umd/Utils/OptionsUtils.js +2 -3
- package/umd/Utils/RgbColorManager.js +11 -4
- package/umd/Utils/TypeUtils.js +6 -7
- package/umd/Utils/Utils.js +67 -62
- package/umd/init.js +1 -2
- package/174.min.js +0 -2
- package/174.min.js.LICENSE.txt +0 -1
- package/dist_browser_Core_Container_js.js +0 -102
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DivEvent = void 0;
|
|
4
|
+
const DivType_js_1 = require("../../../../Enums/Types/DivType.js");
|
|
4
5
|
class DivEvent {
|
|
5
6
|
constructor() {
|
|
6
7
|
this.selectors = [];
|
|
7
8
|
this.enable = false;
|
|
8
9
|
this.mode = [];
|
|
9
|
-
this.type =
|
|
10
|
+
this.type = DivType_js_1.DivType.circle;
|
|
10
11
|
}
|
|
11
12
|
load(data) {
|
|
12
13
|
if (!data) {
|
|
@@ -20,7 +20,7 @@ class Events {
|
|
|
20
20
|
this.onClick.load(data.onClick);
|
|
21
21
|
const onDiv = data.onDiv;
|
|
22
22
|
if (onDiv !== undefined) {
|
|
23
|
-
this.onDiv = (0, Utils_js_1.executeOnSingleOrMultiple)(onDiv,
|
|
23
|
+
this.onDiv = (0, Utils_js_1.executeOnSingleOrMultiple)(onDiv, t => {
|
|
24
24
|
const tmp = new DivEvent_js_1.DivEvent();
|
|
25
25
|
tmp.load(t);
|
|
26
26
|
return tmp;
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Interactivity = void 0;
|
|
4
4
|
const Events_js_1 = require("./Events/Events.js");
|
|
5
|
+
const InteractivityDetect_js_1 = require("../../../Enums/InteractivityDetect.js");
|
|
5
6
|
const Modes_js_1 = require("./Modes/Modes.js");
|
|
6
7
|
class Interactivity {
|
|
7
8
|
constructor(engine, container) {
|
|
8
|
-
this.detectsOn =
|
|
9
|
+
this.detectsOn = InteractivityDetect_js_1.InteractivityDetect.window;
|
|
9
10
|
this.events = new Events_js_1.Events();
|
|
10
11
|
this.modes = new Modes_js_1.Modes(engine, container);
|
|
11
12
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ManualParticle = void 0;
|
|
4
|
+
const PixelMode_js_1 = require("../../Enums/Modes/PixelMode.js");
|
|
4
5
|
const Utils_js_1 = require("../../Utils/Utils.js");
|
|
5
6
|
const defaultPosition = 50;
|
|
6
7
|
class ManualParticle {
|
|
@@ -12,7 +13,7 @@ class ManualParticle {
|
|
|
12
13
|
this.position = {
|
|
13
14
|
x: data.position.x ?? defaultPosition,
|
|
14
15
|
y: data.position.y ?? defaultPosition,
|
|
15
|
-
mode: data.position.mode ??
|
|
16
|
+
mode: data.position.mode ?? PixelMode_js_1.PixelMode.percent,
|
|
16
17
|
};
|
|
17
18
|
}
|
|
18
19
|
if (data.options) {
|
|
@@ -8,17 +8,19 @@ const FullScreen_js_1 = require("./FullScreen/FullScreen.js");
|
|
|
8
8
|
const Interactivity_js_1 = require("./Interactivity/Interactivity.js");
|
|
9
9
|
const ManualParticle_js_1 = require("./ManualParticle.js");
|
|
10
10
|
const Responsive_js_1 = require("./Responsive.js");
|
|
11
|
+
const ResponsiveMode_js_1 = require("../../Enums/Modes/ResponsiveMode.js");
|
|
11
12
|
const Theme_js_1 = require("./Theme/Theme.js");
|
|
13
|
+
const ThemeMode_js_1 = require("../../Enums/Modes/ThemeMode.js");
|
|
12
14
|
const TypeUtils_js_1 = require("../../Utils/TypeUtils.js");
|
|
13
15
|
const OptionsUtils_js_1 = require("../../Utils/OptionsUtils.js");
|
|
14
16
|
const NumberUtils_js_1 = require("../../Utils/NumberUtils.js");
|
|
15
17
|
class Options {
|
|
16
18
|
constructor(engine, container) {
|
|
17
|
-
this._findDefaultTheme =
|
|
18
|
-
return (this.themes.find(
|
|
19
|
-
this.themes.find(
|
|
19
|
+
this._findDefaultTheme = mode => {
|
|
20
|
+
return (this.themes.find(theme => theme.default.value && theme.default.mode === mode) ??
|
|
21
|
+
this.themes.find(theme => theme.default.value && theme.default.mode === ThemeMode_js_1.ThemeMode.any));
|
|
20
22
|
};
|
|
21
|
-
this._importPreset =
|
|
23
|
+
this._importPreset = preset => {
|
|
22
24
|
this.load(this._engine.getPreset(preset));
|
|
23
25
|
};
|
|
24
26
|
this._engine = engine;
|
|
@@ -49,7 +51,7 @@ class Options {
|
|
|
49
51
|
return;
|
|
50
52
|
}
|
|
51
53
|
if (data.preset !== undefined) {
|
|
52
|
-
(0, Utils_js_1.executeOnSingleOrMultiple)(data.preset,
|
|
54
|
+
(0, Utils_js_1.executeOnSingleOrMultiple)(data.preset, preset => this._importPreset(preset));
|
|
53
55
|
}
|
|
54
56
|
if (data.autoPlay !== undefined) {
|
|
55
57
|
this.autoPlay = data.autoPlay;
|
|
@@ -97,7 +99,7 @@ class Options {
|
|
|
97
99
|
this.backgroundMask.load(data.backgroundMask);
|
|
98
100
|
this.interactivity.load(data.interactivity);
|
|
99
101
|
if (data.manualParticles) {
|
|
100
|
-
this.manualParticles = data.manualParticles.map(
|
|
102
|
+
this.manualParticles = data.manualParticles.map(t => {
|
|
101
103
|
const tmp = new ManualParticle_js_1.ManualParticle();
|
|
102
104
|
tmp.load(t);
|
|
103
105
|
return tmp;
|
|
@@ -127,7 +129,7 @@ class Options {
|
|
|
127
129
|
this.responsive.sort((a, b) => a.maxWidth - b.maxWidth);
|
|
128
130
|
if (data.themes !== undefined) {
|
|
129
131
|
for (const theme of data.themes) {
|
|
130
|
-
const existingTheme = this.themes.find(
|
|
132
|
+
const existingTheme = this.themes.find(t => t.name === theme.name);
|
|
131
133
|
if (!existingTheme) {
|
|
132
134
|
const optTheme = new Theme_js_1.Theme();
|
|
133
135
|
optTheme.load(theme);
|
|
@@ -138,24 +140,24 @@ class Options {
|
|
|
138
140
|
}
|
|
139
141
|
}
|
|
140
142
|
}
|
|
141
|
-
this.defaultThemes.dark = this._findDefaultTheme(
|
|
142
|
-
this.defaultThemes.light = this._findDefaultTheme(
|
|
143
|
+
this.defaultThemes.dark = this._findDefaultTheme(ThemeMode_js_1.ThemeMode.dark)?.name;
|
|
144
|
+
this.defaultThemes.light = this._findDefaultTheme(ThemeMode_js_1.ThemeMode.light)?.name;
|
|
143
145
|
}
|
|
144
146
|
setResponsive(width, pxRatio, defaultOptions) {
|
|
145
147
|
this.load(defaultOptions);
|
|
146
|
-
const responsiveOptions = this.responsive.find(
|
|
148
|
+
const responsiveOptions = this.responsive.find(t => t.mode === ResponsiveMode_js_1.ResponsiveMode.screen && screen ? t.maxWidth > screen.availWidth : t.maxWidth * pxRatio > width);
|
|
147
149
|
this.load(responsiveOptions?.options);
|
|
148
150
|
return responsiveOptions?.maxWidth;
|
|
149
151
|
}
|
|
150
152
|
setTheme(name) {
|
|
151
153
|
if (name) {
|
|
152
|
-
const chosenTheme = this.themes.find(
|
|
154
|
+
const chosenTheme = this.themes.find(theme => theme.name === name);
|
|
153
155
|
if (chosenTheme) {
|
|
154
156
|
this.load(chosenTheme.options);
|
|
155
157
|
}
|
|
156
158
|
}
|
|
157
159
|
else {
|
|
158
|
-
const mediaMatch = (0, Utils_js_1.safeMatchMedia)("(prefers-color-scheme: dark)"), clientDarkMode = mediaMatch
|
|
160
|
+
const mediaMatch = (0, Utils_js_1.safeMatchMedia)("(prefers-color-scheme: dark)"), clientDarkMode = mediaMatch?.matches, defaultTheme = this._findDefaultTheme(clientDarkMode ? ThemeMode_js_1.ThemeMode.dark : ThemeMode_js_1.ThemeMode.light);
|
|
159
161
|
if (defaultTheme) {
|
|
160
162
|
this.load(defaultTheme.options);
|
|
161
163
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Collisions = void 0;
|
|
4
|
+
const CollisionMode_js_1 = require("../../../../Enums/Modes/CollisionMode.js");
|
|
4
5
|
const CollisionsAbsorb_js_1 = require("./CollisionsAbsorb.js");
|
|
5
6
|
const CollisionsOverlap_js_1 = require("./CollisionsOverlap.js");
|
|
6
7
|
const ParticlesBounce_js_1 = require("../Bounce/ParticlesBounce.js");
|
|
@@ -11,7 +12,7 @@ class Collisions {
|
|
|
11
12
|
this.bounce = new ParticlesBounce_js_1.ParticlesBounce();
|
|
12
13
|
this.enable = false;
|
|
13
14
|
this.maxSpeed = 50;
|
|
14
|
-
this.mode =
|
|
15
|
+
this.mode = CollisionMode_js_1.CollisionMode.bounce;
|
|
15
16
|
this.overlap = new CollisionsOverlap_js_1.CollisionsOverlap();
|
|
16
17
|
}
|
|
17
18
|
load(data) {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Move = void 0;
|
|
4
|
+
const MoveDirection_js_1 = require("../../../../Enums/Directions/MoveDirection.js");
|
|
4
5
|
const TypeUtils_js_1 = require("../../../../Utils/TypeUtils.js");
|
|
5
6
|
const MoveAngle_js_1 = require("./MoveAngle.js");
|
|
6
7
|
const MoveAttract_js_1 = require("./MoveAttract.js");
|
|
@@ -18,7 +19,7 @@ class Move {
|
|
|
18
19
|
this.center = new MoveCenter_js_1.MoveCenter();
|
|
19
20
|
this.decay = 0;
|
|
20
21
|
this.distance = {};
|
|
21
|
-
this.direction =
|
|
22
|
+
this.direction = MoveDirection_js_1.MoveDirection.none;
|
|
22
23
|
this.drift = 0;
|
|
23
24
|
this.enable = false;
|
|
24
25
|
this.gravity = new MoveGravity_js_1.MoveGravity();
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MoveCenter = void 0;
|
|
4
|
+
const PixelMode_js_1 = require("../../../../Enums/Modes/PixelMode.js");
|
|
4
5
|
class MoveCenter {
|
|
5
6
|
constructor() {
|
|
6
7
|
this.x = 50;
|
|
7
8
|
this.y = 50;
|
|
8
|
-
this.mode =
|
|
9
|
+
this.mode = PixelMode_js_1.PixelMode.percent;
|
|
9
10
|
this.radius = 0;
|
|
10
11
|
}
|
|
11
12
|
load(data) {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OutModes = void 0;
|
|
4
|
+
const OutMode_js_1 = require("../../../../Enums/Modes/OutMode.js");
|
|
4
5
|
class OutModes {
|
|
5
6
|
constructor() {
|
|
6
|
-
this.default =
|
|
7
|
+
this.default = OutMode_js_1.OutMode.out;
|
|
7
8
|
}
|
|
8
9
|
load(data) {
|
|
9
10
|
if (!data) {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ParticlesNumberLimit = void 0;
|
|
4
|
+
const LimitMode_js_1 = require("../../../../Enums/Modes/LimitMode.js");
|
|
4
5
|
class ParticlesNumberLimit {
|
|
5
6
|
constructor() {
|
|
6
|
-
this.mode =
|
|
7
|
+
this.mode = LimitMode_js_1.LimitMode.delete;
|
|
7
8
|
this.value = 0;
|
|
8
9
|
}
|
|
9
10
|
load(data) {
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OpacityAnimation = void 0;
|
|
4
|
+
const DestroyType_js_1 = require("../../../../Enums/Types/DestroyType.js");
|
|
4
5
|
const AnimationOptions_js_1 = require("../../AnimationOptions.js");
|
|
5
6
|
class OpacityAnimation extends AnimationOptions_js_1.RangedAnimationOptions {
|
|
6
7
|
constructor() {
|
|
7
8
|
super();
|
|
8
|
-
this.destroy =
|
|
9
|
+
this.destroy = DestroyType_js_1.DestroyType.none;
|
|
9
10
|
this.speed = 2;
|
|
10
11
|
}
|
|
11
12
|
load(data) {
|
|
@@ -68,7 +68,7 @@ class ParticlesOptions {
|
|
|
68
68
|
}
|
|
69
69
|
const strokeToLoad = data.stroke;
|
|
70
70
|
if (strokeToLoad) {
|
|
71
|
-
this.stroke = (0, Utils_js_1.executeOnSingleOrMultiple)(strokeToLoad,
|
|
71
|
+
this.stroke = (0, Utils_js_1.executeOnSingleOrMultiple)(strokeToLoad, t => {
|
|
72
72
|
const tmp = new Stroke_js_1.Stroke();
|
|
73
73
|
tmp.load(t);
|
|
74
74
|
return tmp;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SizeAnimation = void 0;
|
|
4
|
+
const DestroyType_js_1 = require("../../../../Enums/Types/DestroyType.js");
|
|
4
5
|
const AnimationOptions_js_1 = require("../../AnimationOptions.js");
|
|
5
6
|
class SizeAnimation extends AnimationOptions_js_1.RangedAnimationOptions {
|
|
6
7
|
constructor() {
|
|
7
8
|
super();
|
|
8
|
-
this.destroy =
|
|
9
|
+
this.destroy = DestroyType_js_1.DestroyType.none;
|
|
9
10
|
this.speed = 5;
|
|
10
11
|
}
|
|
11
12
|
load(data) {
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Responsive = void 0;
|
|
4
|
+
const ResponsiveMode_js_1 = require("../../Enums/Modes/ResponsiveMode.js");
|
|
4
5
|
const Utils_js_1 = require("../../Utils/Utils.js");
|
|
5
6
|
class Responsive {
|
|
6
7
|
constructor() {
|
|
7
8
|
this.maxWidth = Infinity;
|
|
8
9
|
this.options = {};
|
|
9
|
-
this.mode =
|
|
10
|
+
this.mode = ResponsiveMode_js_1.ResponsiveMode.canvas;
|
|
10
11
|
}
|
|
11
12
|
load(data) {
|
|
12
13
|
if (!data) {
|
|
@@ -16,11 +17,11 @@ class Responsive {
|
|
|
16
17
|
this.maxWidth = data.maxWidth;
|
|
17
18
|
}
|
|
18
19
|
if (data.mode !== undefined) {
|
|
19
|
-
if (data.mode ===
|
|
20
|
-
this.mode =
|
|
20
|
+
if (data.mode === ResponsiveMode_js_1.ResponsiveMode.screen) {
|
|
21
|
+
this.mode = ResponsiveMode_js_1.ResponsiveMode.screen;
|
|
21
22
|
}
|
|
22
23
|
else {
|
|
23
|
-
this.mode =
|
|
24
|
+
this.mode = ResponsiveMode_js_1.ResponsiveMode.canvas;
|
|
24
25
|
}
|
|
25
26
|
}
|
|
26
27
|
if (data.options !== undefined) {
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ThemeDefault = void 0;
|
|
4
|
+
const ThemeMode_js_1 = require("../../../Enums/Modes/ThemeMode.js");
|
|
4
5
|
class ThemeDefault {
|
|
5
6
|
constructor() {
|
|
6
7
|
this.auto = false;
|
|
7
|
-
this.mode =
|
|
8
|
+
this.mode = ThemeMode_js_1.ThemeMode.any;
|
|
8
9
|
this.value = false;
|
|
9
10
|
}
|
|
10
11
|
load(data) {
|
package/cjs/Types/RangeType.js
CHANGED
|
@@ -1,2 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RangeType = void 0;
|
|
4
|
+
var RangeType;
|
|
5
|
+
(function (RangeType) {
|
|
6
|
+
RangeType["circle"] = "circle";
|
|
7
|
+
RangeType["rectangle"] = "rectangle";
|
|
8
|
+
})(RangeType || (exports.RangeType = RangeType = {}));
|
package/cjs/Utils/CanvasUtils.js
CHANGED
|
@@ -1,20 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.drawLine = drawLine;
|
|
4
|
+
exports.paintBase = paintBase;
|
|
5
|
+
exports.paintImage = paintImage;
|
|
6
|
+
exports.clear = clear;
|
|
7
|
+
exports.drawParticle = drawParticle;
|
|
8
|
+
exports.drawEffect = drawEffect;
|
|
9
|
+
exports.drawShape = drawShape;
|
|
10
|
+
exports.drawShapeAfterDraw = drawShapeAfterDraw;
|
|
11
|
+
exports.drawPlugin = drawPlugin;
|
|
12
|
+
exports.drawParticlePlugin = drawParticlePlugin;
|
|
13
|
+
exports.alterHsl = alterHsl;
|
|
14
|
+
const AlterType_js_1 = require("../Enums/Types/AlterType.js");
|
|
4
15
|
const ColorUtils_js_1 = require("./ColorUtils.js");
|
|
5
|
-
const origin = { x: 0, y: 0 }
|
|
16
|
+
const origin = { x: 0, y: 0 }, defaultTransform = {
|
|
17
|
+
a: 1,
|
|
18
|
+
b: 0,
|
|
19
|
+
c: 0,
|
|
20
|
+
d: 1,
|
|
21
|
+
};
|
|
6
22
|
function drawLine(context, begin, end) {
|
|
7
23
|
context.beginPath();
|
|
8
24
|
context.moveTo(begin.x, begin.y);
|
|
9
25
|
context.lineTo(end.x, end.y);
|
|
10
26
|
context.closePath();
|
|
11
27
|
}
|
|
12
|
-
exports.drawLine = drawLine;
|
|
13
28
|
function paintBase(context, dimension, baseColor) {
|
|
14
29
|
context.fillStyle = baseColor ?? "rgba(0,0,0,0)";
|
|
15
30
|
context.fillRect(origin.x, origin.y, dimension.width, dimension.height);
|
|
16
31
|
}
|
|
17
|
-
exports.paintBase = paintBase;
|
|
18
32
|
function paintImage(context, dimension, image, opacity) {
|
|
19
33
|
if (!image) {
|
|
20
34
|
return;
|
|
@@ -23,20 +37,18 @@ function paintImage(context, dimension, image, opacity) {
|
|
|
23
37
|
context.drawImage(image, origin.x, origin.y, dimension.width, dimension.height);
|
|
24
38
|
context.globalAlpha = 1;
|
|
25
39
|
}
|
|
26
|
-
exports.paintImage = paintImage;
|
|
27
40
|
function clear(context, dimension) {
|
|
28
41
|
context.clearRect(origin.x, origin.y, dimension.width, dimension.height);
|
|
29
42
|
}
|
|
30
|
-
exports.clear = clear;
|
|
31
43
|
function drawParticle(data) {
|
|
32
44
|
const { container, context, particle, delta, colorStyles, backgroundMask, composite, radius, opacity, shadow, transform, } = data, pos = particle.getPosition(), defaultAngle = 0, angle = particle.rotation + (particle.pathRotation ? particle.velocity.angle : defaultAngle), rotateData = {
|
|
33
45
|
sin: Math.sin(angle),
|
|
34
46
|
cos: Math.cos(angle),
|
|
35
|
-
},
|
|
36
|
-
a: rotateData.cos * (transform.a ??
|
|
37
|
-
b: rotateData.sin * (transform.b ??
|
|
38
|
-
c: -rotateData.sin * (transform.c ??
|
|
39
|
-
d: rotateData.cos * (transform.d ??
|
|
47
|
+
}, rotating = !!angle, identity = 1, transformData = {
|
|
48
|
+
a: rotateData.cos * (transform.a ?? defaultTransform.a),
|
|
49
|
+
b: rotating ? rotateData.sin * (transform.b ?? identity) : transform.b ?? defaultTransform.b,
|
|
50
|
+
c: rotating ? -rotateData.sin * (transform.c ?? identity) : transform.c ?? defaultTransform.c,
|
|
51
|
+
d: rotateData.cos * (transform.d ?? defaultTransform.d),
|
|
40
52
|
};
|
|
41
53
|
context.setTransform(transformData.a, transformData.b, transformData.c, transformData.d, pos.x, pos.y);
|
|
42
54
|
if (backgroundMask) {
|
|
@@ -73,7 +85,6 @@ function drawParticle(data) {
|
|
|
73
85
|
context.globalCompositeOperation = "source-over";
|
|
74
86
|
context.resetTransform();
|
|
75
87
|
}
|
|
76
|
-
exports.drawParticle = drawParticle;
|
|
77
88
|
function drawEffect(data) {
|
|
78
89
|
const { container, context, particle, radius, opacity, delta, transformData } = data;
|
|
79
90
|
if (!particle.effect) {
|
|
@@ -93,7 +104,6 @@ function drawEffect(data) {
|
|
|
93
104
|
transformData: { ...transformData },
|
|
94
105
|
});
|
|
95
106
|
}
|
|
96
|
-
exports.drawEffect = drawEffect;
|
|
97
107
|
function drawShape(data) {
|
|
98
108
|
const { container, context, particle, radius, opacity, delta, strokeWidth, transformData } = data, minStrokeWidth = 0;
|
|
99
109
|
if (!particle.shape) {
|
|
@@ -123,7 +133,6 @@ function drawShape(data) {
|
|
|
123
133
|
context.fill();
|
|
124
134
|
}
|
|
125
135
|
}
|
|
126
|
-
exports.drawShape = drawShape;
|
|
127
136
|
function drawShapeAfterDraw(data) {
|
|
128
137
|
const { container, context, particle, radius, opacity, delta, transformData } = data;
|
|
129
138
|
if (!particle.shape) {
|
|
@@ -143,27 +152,23 @@ function drawShapeAfterDraw(data) {
|
|
|
143
152
|
transformData: { ...transformData },
|
|
144
153
|
});
|
|
145
154
|
}
|
|
146
|
-
exports.drawShapeAfterDraw = drawShapeAfterDraw;
|
|
147
155
|
function drawPlugin(context, plugin, delta) {
|
|
148
156
|
if (!plugin.draw) {
|
|
149
157
|
return;
|
|
150
158
|
}
|
|
151
159
|
plugin.draw(context, delta);
|
|
152
160
|
}
|
|
153
|
-
exports.drawPlugin = drawPlugin;
|
|
154
161
|
function drawParticlePlugin(context, plugin, particle, delta) {
|
|
155
162
|
if (!plugin.drawParticle) {
|
|
156
163
|
return;
|
|
157
164
|
}
|
|
158
165
|
plugin.drawParticle(context, particle, delta);
|
|
159
166
|
}
|
|
160
|
-
exports.drawParticlePlugin = drawParticlePlugin;
|
|
161
167
|
function alterHsl(color, type, value) {
|
|
162
168
|
const lFactor = 1;
|
|
163
169
|
return {
|
|
164
170
|
h: color.h,
|
|
165
171
|
s: color.s,
|
|
166
|
-
l: color.l + (type ===
|
|
172
|
+
l: color.l + (type === AlterType_js_1.AlterType.darken ? -lFactor : lFactor) * value,
|
|
167
173
|
};
|
|
168
174
|
}
|
|
169
|
-
exports.alterHsl = alterHsl;
|
package/cjs/Utils/ColorUtils.js
CHANGED
|
@@ -1,15 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.addColorManager = addColorManager;
|
|
4
|
+
exports.rangeColorToRgb = rangeColorToRgb;
|
|
5
|
+
exports.colorToRgb = colorToRgb;
|
|
6
|
+
exports.colorToHsl = colorToHsl;
|
|
7
|
+
exports.rangeColorToHsl = rangeColorToHsl;
|
|
8
|
+
exports.rgbToHsl = rgbToHsl;
|
|
9
|
+
exports.stringToAlpha = stringToAlpha;
|
|
10
|
+
exports.stringToRgb = stringToRgb;
|
|
11
|
+
exports.hslToRgb = hslToRgb;
|
|
12
|
+
exports.hslaToRgba = hslaToRgba;
|
|
13
|
+
exports.getRandomRgbColor = getRandomRgbColor;
|
|
14
|
+
exports.getStyleFromRgb = getStyleFromRgb;
|
|
15
|
+
exports.getStyleFromHsl = getStyleFromHsl;
|
|
16
|
+
exports.colorMix = colorMix;
|
|
17
|
+
exports.getLinkColor = getLinkColor;
|
|
18
|
+
exports.getLinkRandomColor = getLinkRandomColor;
|
|
19
|
+
exports.getHslFromAnimation = getHslFromAnimation;
|
|
20
|
+
exports.getHslAnimationFromHsl = getHslAnimationFromHsl;
|
|
21
|
+
exports.updateColorValue = updateColorValue;
|
|
22
|
+
exports.updateColor = updateColor;
|
|
4
23
|
const NumberUtils_js_1 = require("./NumberUtils.js");
|
|
5
24
|
const TypeUtils_js_1 = require("./TypeUtils.js");
|
|
6
25
|
const Constants_js_1 = require("../Core/Utils/Constants.js");
|
|
26
|
+
const AnimationStatus_js_1 = require("../Enums/AnimationStatus.js");
|
|
7
27
|
const Utils_js_1 = require("./Utils.js");
|
|
28
|
+
var RgbIndexes;
|
|
29
|
+
(function (RgbIndexes) {
|
|
30
|
+
RgbIndexes[RgbIndexes["r"] = 1] = "r";
|
|
31
|
+
RgbIndexes[RgbIndexes["g"] = 2] = "g";
|
|
32
|
+
RgbIndexes[RgbIndexes["b"] = 3] = "b";
|
|
33
|
+
RgbIndexes[RgbIndexes["a"] = 4] = "a";
|
|
34
|
+
})(RgbIndexes || (RgbIndexes = {}));
|
|
8
35
|
const randomColorValue = "random", midColorValue = "mid", colorManagers = new Map();
|
|
9
36
|
function addColorManager(manager) {
|
|
10
37
|
colorManagers.set(manager.key, manager);
|
|
11
38
|
}
|
|
12
|
-
exports.addColorManager = addColorManager;
|
|
13
39
|
function stringToRgba(input) {
|
|
14
40
|
for (const [, manager] of colorManagers) {
|
|
15
41
|
if (input.startsWith(manager.stringPrefix)) {
|
|
@@ -21,12 +47,12 @@ function stringToRgba(input) {
|
|
|
21
47
|
}), regex = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i, result = regex.exec(hexFixed), radix = 16, defaultAlpha = 1, alphaFactor = 0xff;
|
|
22
48
|
return result
|
|
23
49
|
? {
|
|
24
|
-
a: result[
|
|
25
|
-
? parseInt(result[
|
|
50
|
+
a: result[RgbIndexes.a] !== undefined
|
|
51
|
+
? parseInt(result[RgbIndexes.a], radix) / alphaFactor
|
|
26
52
|
: defaultAlpha,
|
|
27
|
-
b: parseInt(result[
|
|
28
|
-
g: parseInt(result[
|
|
29
|
-
r: parseInt(result[
|
|
53
|
+
b: parseInt(result[RgbIndexes.b], radix),
|
|
54
|
+
g: parseInt(result[RgbIndexes.g], radix),
|
|
55
|
+
r: parseInt(result[RgbIndexes.r], radix),
|
|
30
56
|
}
|
|
31
57
|
: undefined;
|
|
32
58
|
}
|
|
@@ -50,7 +76,6 @@ function rangeColorToRgb(input, index, useIndex = true) {
|
|
|
50
76
|
}
|
|
51
77
|
}
|
|
52
78
|
}
|
|
53
|
-
exports.rangeColorToRgb = rangeColorToRgb;
|
|
54
79
|
function colorToRgb(input, index, useIndex = true) {
|
|
55
80
|
if (!input) {
|
|
56
81
|
return;
|
|
@@ -71,17 +96,14 @@ function colorToRgb(input, index, useIndex = true) {
|
|
|
71
96
|
}
|
|
72
97
|
}
|
|
73
98
|
}
|
|
74
|
-
exports.colorToRgb = colorToRgb;
|
|
75
99
|
function colorToHsl(color, index, useIndex = true) {
|
|
76
100
|
const rgb = colorToRgb(color, index, useIndex);
|
|
77
101
|
return rgb ? rgbToHsl(rgb) : undefined;
|
|
78
102
|
}
|
|
79
|
-
exports.colorToHsl = colorToHsl;
|
|
80
103
|
function rangeColorToHsl(color, index, useIndex = true) {
|
|
81
104
|
const rgb = rangeColorToRgb(color, index, useIndex);
|
|
82
105
|
return rgb ? rgbToHsl(rgb) : undefined;
|
|
83
106
|
}
|
|
84
|
-
exports.rangeColorToHsl = rangeColorToHsl;
|
|
85
107
|
function rgbToHsl(color) {
|
|
86
108
|
const rgbMax = 255, hMax = 360, sMax = 100, lMax = 100, hMin = 0, sMin = 0, hPhase = 60, half = 0.5, double = 2, r1 = color.r / rgbMax, g1 = color.g / rgbMax, b1 = color.b / rgbMax, max = Math.max(r1, g1, b1), min = Math.min(r1, g1, b1), res = {
|
|
87
109
|
h: hMin,
|
|
@@ -106,15 +128,12 @@ function rgbToHsl(color) {
|
|
|
106
128
|
}
|
|
107
129
|
return res;
|
|
108
130
|
}
|
|
109
|
-
exports.rgbToHsl = rgbToHsl;
|
|
110
131
|
function stringToAlpha(input) {
|
|
111
132
|
return stringToRgba(input)?.a;
|
|
112
133
|
}
|
|
113
|
-
exports.stringToAlpha = stringToAlpha;
|
|
114
134
|
function stringToRgb(input) {
|
|
115
135
|
return stringToRgba(input);
|
|
116
136
|
}
|
|
117
|
-
exports.stringToRgb = stringToRgb;
|
|
118
137
|
function hslToRgb(hsl) {
|
|
119
138
|
const hMax = 360, sMax = 100, lMax = 100, sMin = 0, lMin = 0, h = ((hsl.h % hMax) + hMax) % hMax, s = Math.max(sMin, Math.min(sMax, hsl.s)), l = Math.max(lMin, Math.min(lMax, hsl.l)), hNormalized = h / hMax, sNormalized = s / sMax, lNormalized = l / lMax, rgbFactor = 255, triple = 3;
|
|
120
139
|
if (s === sMin) {
|
|
@@ -145,7 +164,6 @@ function hslToRgb(hsl) {
|
|
|
145
164
|
: lNormalized + sNormalized - lNormalized * sNormalized, temp2 = double * lNormalized - temp1, phaseNumerator = 1, phaseThird = phaseNumerator / triple, red = Math.min(rgbFactor, rgbFactor * channel(temp2, temp1, hNormalized + phaseThird)), green = Math.min(rgbFactor, rgbFactor * channel(temp2, temp1, hNormalized)), blue = Math.min(rgbFactor, rgbFactor * channel(temp2, temp1, hNormalized - phaseThird));
|
|
146
165
|
return { r: Math.round(red), g: Math.round(green), b: Math.round(blue) };
|
|
147
166
|
}
|
|
148
|
-
exports.hslToRgb = hslToRgb;
|
|
149
167
|
function hslaToRgba(hsla) {
|
|
150
168
|
const rgbResult = hslToRgb(hsla);
|
|
151
169
|
return {
|
|
@@ -155,7 +173,6 @@ function hslaToRgba(hsla) {
|
|
|
155
173
|
r: rgbResult.r,
|
|
156
174
|
};
|
|
157
175
|
}
|
|
158
|
-
exports.hslaToRgba = hslaToRgba;
|
|
159
176
|
function getRandomRgbColor(min) {
|
|
160
177
|
const defaultMin = 0, fixedMin = min ?? defaultMin, rgbMax = 256;
|
|
161
178
|
return {
|
|
@@ -164,17 +181,14 @@ function getRandomRgbColor(min) {
|
|
|
164
181
|
r: Math.floor((0, NumberUtils_js_1.randomInRange)((0, NumberUtils_js_1.setRangeValue)(fixedMin, rgbMax))),
|
|
165
182
|
};
|
|
166
183
|
}
|
|
167
|
-
exports.getRandomRgbColor = getRandomRgbColor;
|
|
168
184
|
function getStyleFromRgb(color, opacity) {
|
|
169
185
|
const defaultOpacity = 1;
|
|
170
186
|
return `rgba(${color.r}, ${color.g}, ${color.b}, ${opacity ?? defaultOpacity})`;
|
|
171
187
|
}
|
|
172
|
-
exports.getStyleFromRgb = getStyleFromRgb;
|
|
173
188
|
function getStyleFromHsl(color, opacity) {
|
|
174
189
|
const defaultOpacity = 1;
|
|
175
190
|
return `hsla(${color.h}, ${color.s}%, ${color.l}%, ${opacity ?? defaultOpacity})`;
|
|
176
191
|
}
|
|
177
|
-
exports.getStyleFromHsl = getStyleFromHsl;
|
|
178
192
|
function colorMix(color1, color2, size1, size2) {
|
|
179
193
|
let rgb1 = color1, rgb2 = color2;
|
|
180
194
|
if (rgb1.r === undefined) {
|
|
@@ -189,7 +203,6 @@ function colorMix(color1, color2, size1, size2) {
|
|
|
189
203
|
r: (0, NumberUtils_js_1.mix)(rgb1.r, rgb2.r, size1, size2),
|
|
190
204
|
};
|
|
191
205
|
}
|
|
192
|
-
exports.colorMix = colorMix;
|
|
193
206
|
function getLinkColor(p1, p2, linkColor) {
|
|
194
207
|
if (linkColor === randomColorValue) {
|
|
195
208
|
return getRandomRgbColor();
|
|
@@ -210,7 +223,6 @@ function getLinkColor(p1, p2, linkColor) {
|
|
|
210
223
|
return linkColor;
|
|
211
224
|
}
|
|
212
225
|
}
|
|
213
|
-
exports.getLinkColor = getLinkColor;
|
|
214
226
|
function getLinkRandomColor(optColor, blink, consent) {
|
|
215
227
|
const color = (0, TypeUtils_js_1.isString)(optColor) ? optColor : optColor.value;
|
|
216
228
|
if (color === randomColorValue) {
|
|
@@ -233,7 +245,6 @@ function getLinkRandomColor(optColor, blink, consent) {
|
|
|
233
245
|
});
|
|
234
246
|
}
|
|
235
247
|
}
|
|
236
|
-
exports.getLinkRandomColor = getLinkRandomColor;
|
|
237
248
|
function getHslFromAnimation(animation) {
|
|
238
249
|
return animation !== undefined
|
|
239
250
|
? {
|
|
@@ -243,7 +254,6 @@ function getHslFromAnimation(animation) {
|
|
|
243
254
|
}
|
|
244
255
|
: undefined;
|
|
245
256
|
}
|
|
246
|
-
exports.getHslFromAnimation = getHslFromAnimation;
|
|
247
257
|
function getHslAnimationFromHsl(hsl, animationOptions, reduceFactor) {
|
|
248
258
|
const resColor = {
|
|
249
259
|
h: {
|
|
@@ -266,14 +276,13 @@ function getHslAnimationFromHsl(hsl, animationOptions, reduceFactor) {
|
|
|
266
276
|
}
|
|
267
277
|
return resColor;
|
|
268
278
|
}
|
|
269
|
-
exports.getHslAnimationFromHsl = getHslAnimationFromHsl;
|
|
270
279
|
function setColorAnimation(colorValue, colorAnimation, reduceFactor) {
|
|
271
280
|
colorValue.enable = colorAnimation.enable;
|
|
272
281
|
const defaultVelocity = 0, decayOffset = 1, defaultLoops = 0, defaultTime = 0;
|
|
273
282
|
if (colorValue.enable) {
|
|
274
283
|
colorValue.velocity = ((0, NumberUtils_js_1.getRangeValue)(colorAnimation.speed) / Constants_js_1.percentDenominator) * reduceFactor;
|
|
275
284
|
colorValue.decay = decayOffset - (0, NumberUtils_js_1.getRangeValue)(colorAnimation.decay);
|
|
276
|
-
colorValue.status =
|
|
285
|
+
colorValue.status = AnimationStatus_js_1.AnimationStatus.increasing;
|
|
277
286
|
colorValue.loops = defaultLoops;
|
|
278
287
|
colorValue.maxLoops = (0, NumberUtils_js_1.getRangeValue)(colorAnimation.count);
|
|
279
288
|
colorValue.time = defaultTime;
|
|
@@ -306,7 +315,7 @@ function updateColorValue(data, range, decrease, delta) {
|
|
|
306
315
|
return;
|
|
307
316
|
}
|
|
308
317
|
const offset = data.offset ? (0, NumberUtils_js_1.randomInRange)(data.offset) : minOffset, velocity = (data.velocity ?? minVelocity) * delta.factor + offset * velocityFactor, decay = data.decay ?? identity, max = (0, NumberUtils_js_1.getRangeMax)(range), min = (0, NumberUtils_js_1.getRangeMin)(range);
|
|
309
|
-
if (!decrease || data.status ===
|
|
318
|
+
if (!decrease || data.status === AnimationStatus_js_1.AnimationStatus.increasing) {
|
|
310
319
|
data.value += velocity;
|
|
311
320
|
if (data.value > max) {
|
|
312
321
|
if (!data.loops) {
|
|
@@ -314,7 +323,7 @@ function updateColorValue(data, range, decrease, delta) {
|
|
|
314
323
|
}
|
|
315
324
|
data.loops++;
|
|
316
325
|
if (decrease) {
|
|
317
|
-
data.status =
|
|
326
|
+
data.status = AnimationStatus_js_1.AnimationStatus.decreasing;
|
|
318
327
|
}
|
|
319
328
|
else {
|
|
320
329
|
data.value -= max;
|
|
@@ -329,7 +338,7 @@ function updateColorValue(data, range, decrease, delta) {
|
|
|
329
338
|
data.loops = 0;
|
|
330
339
|
}
|
|
331
340
|
data.loops++;
|
|
332
|
-
data.status =
|
|
341
|
+
data.status = AnimationStatus_js_1.AnimationStatus.increasing;
|
|
333
342
|
}
|
|
334
343
|
}
|
|
335
344
|
if (data.velocity && decay !== identity) {
|
|
@@ -337,7 +346,6 @@ function updateColorValue(data, range, decrease, delta) {
|
|
|
337
346
|
}
|
|
338
347
|
data.value = (0, NumberUtils_js_1.clamp)(data.value, min, max);
|
|
339
348
|
}
|
|
340
|
-
exports.updateColorValue = updateColorValue;
|
|
341
349
|
function updateColor(color, delta) {
|
|
342
350
|
if (!color) {
|
|
343
351
|
return;
|
|
@@ -358,4 +366,3 @@ function updateColor(color, delta) {
|
|
|
358
366
|
updateColorValue(l, ranges.l, true, delta);
|
|
359
367
|
}
|
|
360
368
|
}
|
|
361
|
-
exports.updateColor = updateColor;
|
|
@@ -16,7 +16,7 @@ class EventDispatcher {
|
|
|
16
16
|
}
|
|
17
17
|
dispatchEvent(type, args) {
|
|
18
18
|
const listeners = this._listeners.get(type);
|
|
19
|
-
listeners?.forEach(
|
|
19
|
+
listeners?.forEach(handler => handler(args));
|
|
20
20
|
}
|
|
21
21
|
hasEventListener(type) {
|
|
22
22
|
return !!this._listeners.get(type);
|