@tsparticles/plugin-named-color 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2020 Matteo Bruni
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,74 @@
1
+ [![banner](https://particles.js.org/images/banner3.png)](https://particles.js.org)
2
+
3
+ # tsParticles Named Color Plugin
4
+
5
+ [![jsDelivr](https://data.jsdelivr.com/v1/package/npm/@tsparticles/plugin-named-color/badge)](https://www.jsdelivr.com/package/npm/@tsparticles/plugin-named-color)
6
+ [![npmjs](https://badge.fury.io/js/@tsparticles/plugin-named-color.svg)](https://www.npmjs.com/package/@tsparticles/plugin-named-color)
7
+ [![npmjs](https://img.shields.io/npm/dt/@tsparticles/plugin-named-color)](https://www.npmjs.com/package/@tsparticles/plugin-named-color) [![GitHub Sponsors](https://img.shields.io/github/sponsors/matteobruni)](https://github.com/sponsors/matteobruni)
8
+
9
+ [tsParticles](https://github.com/tsparticles/tsparticles) plugin for adding the Named color support.
10
+
11
+ ## How to use it
12
+
13
+ ### CDN / Vanilla JS / jQuery
14
+
15
+ The CDN/Vanilla version JS has one required file in vanilla configuration:
16
+
17
+ Including the `tsparticles.plugin.namedColor.min.js` file will export the function to load the plugin:
18
+
19
+ ```text
20
+ loadNamedColorPlugin
21
+ ```
22
+
23
+ ### Usage
24
+
25
+ Once the scripts are loaded you can set up `tsParticles` and the plugin like this:
26
+
27
+ ```javascript
28
+ (async () => {
29
+ await loadNamedColorPlugin();
30
+
31
+ await tsParticles.load({
32
+ id: "tsparticles",
33
+ options: {
34
+ /* options */
35
+ },
36
+ });
37
+ })();
38
+ ```
39
+
40
+ ### ESM / CommonJS
41
+
42
+ This package is compatible also with ES or CommonJS modules, firstly this needs to be installed, like this:
43
+
44
+ ```shell
45
+ $ npm install @tsparticles/plugin-named-color
46
+ ```
47
+
48
+ or
49
+
50
+ ```shell
51
+ $ yarn add @tsparticles/plugin-named-color
52
+ ```
53
+
54
+ Then you need to import it in the app, like this:
55
+
56
+ ```javascript
57
+ const { tsParticles } = require("@tsparticles/engine");
58
+ const { loadNamedColorPlugin } = require("@tsparticles/plugin-named-color");
59
+
60
+ (async () => {
61
+ await loadNamedColorPlugin();
62
+ })();
63
+ ```
64
+
65
+ or
66
+
67
+ ```javascript
68
+ import { tsParticles } from "@tsparticles/engine";
69
+ import { loadNamedColorPlugin } from "@tsparticles/plugin-named-color";
70
+
71
+ (async () => {
72
+ await loadNamedColorPlugin();
73
+ })();
74
+ ```
@@ -0,0 +1,177 @@
1
+ import { getLogger, } from "@tsparticles/engine";
2
+ const namedColors = new Map([
3
+ ["aliceblue", { r: 240, g: 248, b: 255 }],
4
+ ["antiquewhite", { r: 250, g: 235, b: 215 }],
5
+ ["aqua", { r: 0, g: 255, b: 255 }],
6
+ ["aquamarine", { r: 127, g: 255, b: 212 }],
7
+ ["azure", { r: 240, g: 255, b: 255 }],
8
+ ["beige", { r: 245, g: 245, b: 220 }],
9
+ ["bisque", { r: 255, g: 228, b: 196 }],
10
+ ["black", { r: 0, g: 0, b: 0 }],
11
+ ["blanchedalmond", { r: 255, g: 235, b: 205 }],
12
+ ["blue", { r: 0, g: 0, b: 255 }],
13
+ ["blueviolet", { r: 138, g: 43, b: 226 }],
14
+ ["brown", { r: 165, g: 42, b: 42 }],
15
+ ["burlywood", { r: 222, g: 184, b: 135 }],
16
+ ["cadetblue", { r: 95, g: 158, b: 160 }],
17
+ ["chartreuse", { r: 127, g: 255, b: 0 }],
18
+ ["chocolate", { r: 210, g: 105, b: 30 }],
19
+ ["coral", { r: 255, g: 127, b: 80 }],
20
+ ["cornflowerblue", { r: 100, g: 149, b: 237 }],
21
+ ["cornsilk", { r: 255, g: 248, b: 220 }],
22
+ ["crimson", { r: 220, g: 20, b: 60 }],
23
+ ["cyan", { r: 0, g: 255, b: 255 }],
24
+ ["darkblue", { r: 0, g: 0, b: 139 }],
25
+ ["darkcyan", { r: 0, g: 139, b: 139 }],
26
+ ["darkgoldenrod", { r: 184, g: 134, b: 11 }],
27
+ ["darkgray", { r: 169, g: 169, b: 169 }],
28
+ ["darkgreen", { r: 0, g: 100, b: 0 }],
29
+ ["darkgrey", { r: 169, g: 169, b: 169 }],
30
+ ["darkkhaki", { r: 189, g: 183, b: 107 }],
31
+ ["darkmagenta", { r: 139, g: 0, b: 139 }],
32
+ ["darkolivegreen", { r: 85, g: 107, b: 47 }],
33
+ ["darkorange", { r: 255, g: 140, b: 0 }],
34
+ ["darkorchid", { r: 153, g: 50, b: 204 }],
35
+ ["darkred", { r: 139, g: 0, b: 0 }],
36
+ ["darksalmon", { r: 233, g: 150, b: 122 }],
37
+ ["darkseagreen", { r: 143, g: 188, b: 143 }],
38
+ ["darkslateblue", { r: 72, g: 61, b: 139 }],
39
+ ["darkslategray", { r: 47, g: 79, b: 79 }],
40
+ ["darkslategrey", { r: 47, g: 79, b: 79 }],
41
+ ["darkturquoise", { r: 0, g: 206, b: 209 }],
42
+ ["darkviolet", { r: 148, g: 0, b: 211 }],
43
+ ["deeppink", { r: 255, g: 20, b: 147 }],
44
+ ["deepskyblue", { r: 0, g: 191, b: 255 }],
45
+ ["dimgray", { r: 105, g: 105, b: 105 }],
46
+ ["dimgrey", { r: 105, g: 105, b: 105 }],
47
+ ["dodgerblue", { r: 30, g: 144, b: 255 }],
48
+ ["firebrick", { r: 178, g: 34, b: 34 }],
49
+ ["floralwhite", { r: 255, g: 250, b: 240 }],
50
+ ["forestgreen", { r: 34, g: 139, b: 34 }],
51
+ ["fuchsia", { r: 255, g: 0, b: 255 }],
52
+ ["gainsboro", { r: 220, g: 220, b: 220 }],
53
+ ["ghostwhite", { r: 248, g: 248, b: 255 }],
54
+ ["gold", { r: 255, g: 215, b: 0 }],
55
+ ["goldenrod", { r: 218, g: 165, b: 32 }],
56
+ ["gray", { r: 128, g: 128, b: 128 }],
57
+ ["green", { r: 0, g: 128, b: 0 }],
58
+ ["greenyellow", { r: 173, g: 255, b: 47 }],
59
+ ["grey", { r: 128, g: 128, b: 128 }],
60
+ ["honeydew", { r: 240, g: 255, b: 240 }],
61
+ ["hotpink", { r: 255, g: 105, b: 180 }],
62
+ ["indianred", { r: 205, g: 92, b: 92 }],
63
+ ["indigo", { r: 75, g: 0, b: 130 }],
64
+ ["ivory", { r: 255, g: 255, b: 240 }],
65
+ ["khaki", { r: 240, g: 230, b: 140 }],
66
+ ["lavender", { r: 230, g: 230, b: 250 }],
67
+ ["lavenderblush", { r: 255, g: 240, b: 245 }],
68
+ ["lawngreen", { r: 124, g: 252, b: 0 }],
69
+ ["lemonchiffon", { r: 255, g: 250, b: 205 }],
70
+ ["lightblue", { r: 173, g: 216, b: 230 }],
71
+ ["lightcoral", { r: 240, g: 128, b: 128 }],
72
+ ["lightcyan", { r: 224, g: 255, b: 255 }],
73
+ ["lightgoldenrodyellow", { r: 250, g: 250, b: 210 }],
74
+ ["lightgray", { r: 211, g: 211, b: 211 }],
75
+ ["lightgreen", { r: 144, g: 238, b: 144 }],
76
+ ["lightgrey", { r: 211, g: 211, b: 211 }],
77
+ ["lightpink", { r: 255, g: 182, b: 193 }],
78
+ ["lightsalmon", { r: 255, g: 160, b: 122 }],
79
+ ["lightseagreen", { r: 32, g: 178, b: 170 }],
80
+ ["lightskyblue", { r: 135, g: 206, b: 250 }],
81
+ ["lightslategray", { r: 119, g: 136, b: 153 }],
82
+ ["lightslategrey", { r: 119, g: 136, b: 153 }],
83
+ ["lightsteelblue", { r: 176, g: 196, b: 222 }],
84
+ ["lightyellow", { r: 255, g: 255, b: 224 }],
85
+ ["lime", { r: 0, g: 255, b: 0 }],
86
+ ["limegreen", { r: 50, g: 205, b: 50 }],
87
+ ["linen", { r: 250, g: 240, b: 230 }],
88
+ ["magenta", { r: 255, g: 0, b: 255 }],
89
+ ["maroon", { r: 128, g: 0, b: 0 }],
90
+ ["mediumaquamarine", { r: 102, g: 205, b: 170 }],
91
+ ["mediumblue", { r: 0, g: 0, b: 205 }],
92
+ ["mediumorchid", { r: 186, g: 85, b: 211 }],
93
+ ["mediumpurple", { r: 147, g: 112, b: 219 }],
94
+ ["mediumseagreen", { r: 60, g: 179, b: 113 }],
95
+ ["mediumslateblue", { r: 123, g: 104, b: 238 }],
96
+ ["mediumspringgreen", { r: 0, g: 250, b: 154 }],
97
+ ["mediumturquoise", { r: 72, g: 209, b: 204 }],
98
+ ["mediumvioletred", { r: 199, g: 21, b: 133 }],
99
+ ["midnightblue", { r: 25, g: 25, b: 112 }],
100
+ ["mintcream", { r: 245, g: 255, b: 250 }],
101
+ ["mistyrose", { r: 255, g: 228, b: 225 }],
102
+ ["moccasin", { r: 255, g: 228, b: 181 }],
103
+ ["navajowhite", { r: 255, g: 222, b: 173 }],
104
+ ["navy", { r: 0, g: 0, b: 128 }],
105
+ ["oldlace", { r: 253, g: 245, b: 230 }],
106
+ ["olive", { r: 128, g: 128, b: 0 }],
107
+ ["olivedrab", { r: 107, g: 142, b: 35 }],
108
+ ["orange", { r: 255, g: 165, b: 0 }],
109
+ ["orangered", { r: 255, g: 69, b: 0 }],
110
+ ["orchid", { r: 218, g: 112, b: 214 }],
111
+ ["palegoldenrod", { r: 238, g: 232, b: 170 }],
112
+ ["palegreen", { r: 152, g: 251, b: 152 }],
113
+ ["paleturquoise", { r: 175, g: 238, b: 238 }],
114
+ ["palevioletred", { r: 219, g: 112, b: 147 }],
115
+ ["papayawhip", { r: 255, g: 239, b: 213 }],
116
+ ["peachpuff", { r: 255, g: 218, b: 185 }],
117
+ ["peru", { r: 205, g: 133, b: 63 }],
118
+ ["pink", { r: 255, g: 192, b: 203 }],
119
+ ["plum", { r: 221, g: 160, b: 221 }],
120
+ ["powderblue", { r: 176, g: 224, b: 230 }],
121
+ ["purple", { r: 128, g: 0, b: 128 }],
122
+ ["rebeccapurple", { r: 102, g: 51, b: 153 }],
123
+ ["red", { r: 255, g: 0, b: 0 }],
124
+ ["rosybrown", { r: 188, g: 143, b: 143 }],
125
+ ["royalblue", { r: 65, g: 105, b: 225 }],
126
+ ["saddlebrown", { r: 139, g: 69, b: 19 }],
127
+ ["salmon", { r: 250, g: 128, b: 114 }],
128
+ ["sandybrown", { r: 244, g: 164, b: 96 }],
129
+ ["seagreen", { r: 46, g: 139, b: 87 }],
130
+ ["seashell", { r: 255, g: 245, b: 238 }],
131
+ ["sienna", { r: 160, g: 82, b: 45 }],
132
+ ["silver", { r: 192, g: 192, b: 192 }],
133
+ ["skyblue", { r: 135, g: 206, b: 235 }],
134
+ ["slateblue", { r: 106, g: 90, b: 205 }],
135
+ ["slategray", { r: 112, g: 128, b: 144 }],
136
+ ["slategrey", { r: 112, g: 128, b: 144 }],
137
+ ["snow", { r: 255, g: 250, b: 250 }],
138
+ ["springgreen", { r: 0, g: 255, b: 127 }],
139
+ ["steelblue", { r: 70, g: 130, b: 180 }],
140
+ ["tan", { r: 210, g: 180, b: 140 }],
141
+ ["teal", { r: 0, g: 128, b: 128 }],
142
+ ["thistle", { r: 216, g: 191, b: 216 }],
143
+ ["tomato", { r: 255, g: 99, b: 71 }],
144
+ ["turquoise", { r: 64, g: 224, b: 208 }],
145
+ ["violet", { r: 238, g: 130, b: 238 }],
146
+ ["wheat", { r: 245, g: 222, b: 179 }],
147
+ ["white", { r: 255, g: 255, b: 255 }],
148
+ ["whitesmoke", { r: 245, g: 245, b: 245 }],
149
+ ["yellow", { r: 255, g: 255, b: 0 }],
150
+ ["yellowgreen", { r: 154, g: 205, b: 50 }],
151
+ ]);
152
+ export class NamedColorManager {
153
+ constructor() {
154
+ this.key = "named";
155
+ this.stringPrefix = "";
156
+ }
157
+ handleColor(color) {
158
+ return this._parseString(color.value);
159
+ }
160
+ handleRangeColor(color) {
161
+ return this._parseString(color.value);
162
+ }
163
+ parseString(input) {
164
+ return this._parseString(input);
165
+ }
166
+ _parseString(input) {
167
+ if (!input || typeof input !== "string") {
168
+ return undefined;
169
+ }
170
+ const rgbColor = namedColors.get(input.toLowerCase());
171
+ if (!rgbColor) {
172
+ getLogger().error("Color not found", input);
173
+ return undefined;
174
+ }
175
+ return { ...rgbColor, a: 255 };
176
+ }
177
+ }
@@ -0,0 +1,6 @@
1
+ import { assertValidVersion } from "@tsparticles/engine";
2
+ import { NamedColorManager } from "./NamedColorManager.js";
3
+ export async function loadNamedColorPlugin(engine, refresh = true) {
4
+ assertValidVersion(engine, "3.7.0");
5
+ await engine.addColorManager(new NamedColorManager(), refresh);
6
+ }
@@ -0,0 +1 @@
1
+ { "type": "module" }
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NamedColorManager = void 0;
4
+ const engine_1 = require("@tsparticles/engine");
5
+ const namedColors = new Map([
6
+ ["aliceblue", { r: 240, g: 248, b: 255 }],
7
+ ["antiquewhite", { r: 250, g: 235, b: 215 }],
8
+ ["aqua", { r: 0, g: 255, b: 255 }],
9
+ ["aquamarine", { r: 127, g: 255, b: 212 }],
10
+ ["azure", { r: 240, g: 255, b: 255 }],
11
+ ["beige", { r: 245, g: 245, b: 220 }],
12
+ ["bisque", { r: 255, g: 228, b: 196 }],
13
+ ["black", { r: 0, g: 0, b: 0 }],
14
+ ["blanchedalmond", { r: 255, g: 235, b: 205 }],
15
+ ["blue", { r: 0, g: 0, b: 255 }],
16
+ ["blueviolet", { r: 138, g: 43, b: 226 }],
17
+ ["brown", { r: 165, g: 42, b: 42 }],
18
+ ["burlywood", { r: 222, g: 184, b: 135 }],
19
+ ["cadetblue", { r: 95, g: 158, b: 160 }],
20
+ ["chartreuse", { r: 127, g: 255, b: 0 }],
21
+ ["chocolate", { r: 210, g: 105, b: 30 }],
22
+ ["coral", { r: 255, g: 127, b: 80 }],
23
+ ["cornflowerblue", { r: 100, g: 149, b: 237 }],
24
+ ["cornsilk", { r: 255, g: 248, b: 220 }],
25
+ ["crimson", { r: 220, g: 20, b: 60 }],
26
+ ["cyan", { r: 0, g: 255, b: 255 }],
27
+ ["darkblue", { r: 0, g: 0, b: 139 }],
28
+ ["darkcyan", { r: 0, g: 139, b: 139 }],
29
+ ["darkgoldenrod", { r: 184, g: 134, b: 11 }],
30
+ ["darkgray", { r: 169, g: 169, b: 169 }],
31
+ ["darkgreen", { r: 0, g: 100, b: 0 }],
32
+ ["darkgrey", { r: 169, g: 169, b: 169 }],
33
+ ["darkkhaki", { r: 189, g: 183, b: 107 }],
34
+ ["darkmagenta", { r: 139, g: 0, b: 139 }],
35
+ ["darkolivegreen", { r: 85, g: 107, b: 47 }],
36
+ ["darkorange", { r: 255, g: 140, b: 0 }],
37
+ ["darkorchid", { r: 153, g: 50, b: 204 }],
38
+ ["darkred", { r: 139, g: 0, b: 0 }],
39
+ ["darksalmon", { r: 233, g: 150, b: 122 }],
40
+ ["darkseagreen", { r: 143, g: 188, b: 143 }],
41
+ ["darkslateblue", { r: 72, g: 61, b: 139 }],
42
+ ["darkslategray", { r: 47, g: 79, b: 79 }],
43
+ ["darkslategrey", { r: 47, g: 79, b: 79 }],
44
+ ["darkturquoise", { r: 0, g: 206, b: 209 }],
45
+ ["darkviolet", { r: 148, g: 0, b: 211 }],
46
+ ["deeppink", { r: 255, g: 20, b: 147 }],
47
+ ["deepskyblue", { r: 0, g: 191, b: 255 }],
48
+ ["dimgray", { r: 105, g: 105, b: 105 }],
49
+ ["dimgrey", { r: 105, g: 105, b: 105 }],
50
+ ["dodgerblue", { r: 30, g: 144, b: 255 }],
51
+ ["firebrick", { r: 178, g: 34, b: 34 }],
52
+ ["floralwhite", { r: 255, g: 250, b: 240 }],
53
+ ["forestgreen", { r: 34, g: 139, b: 34 }],
54
+ ["fuchsia", { r: 255, g: 0, b: 255 }],
55
+ ["gainsboro", { r: 220, g: 220, b: 220 }],
56
+ ["ghostwhite", { r: 248, g: 248, b: 255 }],
57
+ ["gold", { r: 255, g: 215, b: 0 }],
58
+ ["goldenrod", { r: 218, g: 165, b: 32 }],
59
+ ["gray", { r: 128, g: 128, b: 128 }],
60
+ ["green", { r: 0, g: 128, b: 0 }],
61
+ ["greenyellow", { r: 173, g: 255, b: 47 }],
62
+ ["grey", { r: 128, g: 128, b: 128 }],
63
+ ["honeydew", { r: 240, g: 255, b: 240 }],
64
+ ["hotpink", { r: 255, g: 105, b: 180 }],
65
+ ["indianred", { r: 205, g: 92, b: 92 }],
66
+ ["indigo", { r: 75, g: 0, b: 130 }],
67
+ ["ivory", { r: 255, g: 255, b: 240 }],
68
+ ["khaki", { r: 240, g: 230, b: 140 }],
69
+ ["lavender", { r: 230, g: 230, b: 250 }],
70
+ ["lavenderblush", { r: 255, g: 240, b: 245 }],
71
+ ["lawngreen", { r: 124, g: 252, b: 0 }],
72
+ ["lemonchiffon", { r: 255, g: 250, b: 205 }],
73
+ ["lightblue", { r: 173, g: 216, b: 230 }],
74
+ ["lightcoral", { r: 240, g: 128, b: 128 }],
75
+ ["lightcyan", { r: 224, g: 255, b: 255 }],
76
+ ["lightgoldenrodyellow", { r: 250, g: 250, b: 210 }],
77
+ ["lightgray", { r: 211, g: 211, b: 211 }],
78
+ ["lightgreen", { r: 144, g: 238, b: 144 }],
79
+ ["lightgrey", { r: 211, g: 211, b: 211 }],
80
+ ["lightpink", { r: 255, g: 182, b: 193 }],
81
+ ["lightsalmon", { r: 255, g: 160, b: 122 }],
82
+ ["lightseagreen", { r: 32, g: 178, b: 170 }],
83
+ ["lightskyblue", { r: 135, g: 206, b: 250 }],
84
+ ["lightslategray", { r: 119, g: 136, b: 153 }],
85
+ ["lightslategrey", { r: 119, g: 136, b: 153 }],
86
+ ["lightsteelblue", { r: 176, g: 196, b: 222 }],
87
+ ["lightyellow", { r: 255, g: 255, b: 224 }],
88
+ ["lime", { r: 0, g: 255, b: 0 }],
89
+ ["limegreen", { r: 50, g: 205, b: 50 }],
90
+ ["linen", { r: 250, g: 240, b: 230 }],
91
+ ["magenta", { r: 255, g: 0, b: 255 }],
92
+ ["maroon", { r: 128, g: 0, b: 0 }],
93
+ ["mediumaquamarine", { r: 102, g: 205, b: 170 }],
94
+ ["mediumblue", { r: 0, g: 0, b: 205 }],
95
+ ["mediumorchid", { r: 186, g: 85, b: 211 }],
96
+ ["mediumpurple", { r: 147, g: 112, b: 219 }],
97
+ ["mediumseagreen", { r: 60, g: 179, b: 113 }],
98
+ ["mediumslateblue", { r: 123, g: 104, b: 238 }],
99
+ ["mediumspringgreen", { r: 0, g: 250, b: 154 }],
100
+ ["mediumturquoise", { r: 72, g: 209, b: 204 }],
101
+ ["mediumvioletred", { r: 199, g: 21, b: 133 }],
102
+ ["midnightblue", { r: 25, g: 25, b: 112 }],
103
+ ["mintcream", { r: 245, g: 255, b: 250 }],
104
+ ["mistyrose", { r: 255, g: 228, b: 225 }],
105
+ ["moccasin", { r: 255, g: 228, b: 181 }],
106
+ ["navajowhite", { r: 255, g: 222, b: 173 }],
107
+ ["navy", { r: 0, g: 0, b: 128 }],
108
+ ["oldlace", { r: 253, g: 245, b: 230 }],
109
+ ["olive", { r: 128, g: 128, b: 0 }],
110
+ ["olivedrab", { r: 107, g: 142, b: 35 }],
111
+ ["orange", { r: 255, g: 165, b: 0 }],
112
+ ["orangered", { r: 255, g: 69, b: 0 }],
113
+ ["orchid", { r: 218, g: 112, b: 214 }],
114
+ ["palegoldenrod", { r: 238, g: 232, b: 170 }],
115
+ ["palegreen", { r: 152, g: 251, b: 152 }],
116
+ ["paleturquoise", { r: 175, g: 238, b: 238 }],
117
+ ["palevioletred", { r: 219, g: 112, b: 147 }],
118
+ ["papayawhip", { r: 255, g: 239, b: 213 }],
119
+ ["peachpuff", { r: 255, g: 218, b: 185 }],
120
+ ["peru", { r: 205, g: 133, b: 63 }],
121
+ ["pink", { r: 255, g: 192, b: 203 }],
122
+ ["plum", { r: 221, g: 160, b: 221 }],
123
+ ["powderblue", { r: 176, g: 224, b: 230 }],
124
+ ["purple", { r: 128, g: 0, b: 128 }],
125
+ ["rebeccapurple", { r: 102, g: 51, b: 153 }],
126
+ ["red", { r: 255, g: 0, b: 0 }],
127
+ ["rosybrown", { r: 188, g: 143, b: 143 }],
128
+ ["royalblue", { r: 65, g: 105, b: 225 }],
129
+ ["saddlebrown", { r: 139, g: 69, b: 19 }],
130
+ ["salmon", { r: 250, g: 128, b: 114 }],
131
+ ["sandybrown", { r: 244, g: 164, b: 96 }],
132
+ ["seagreen", { r: 46, g: 139, b: 87 }],
133
+ ["seashell", { r: 255, g: 245, b: 238 }],
134
+ ["sienna", { r: 160, g: 82, b: 45 }],
135
+ ["silver", { r: 192, g: 192, b: 192 }],
136
+ ["skyblue", { r: 135, g: 206, b: 235 }],
137
+ ["slateblue", { r: 106, g: 90, b: 205 }],
138
+ ["slategray", { r: 112, g: 128, b: 144 }],
139
+ ["slategrey", { r: 112, g: 128, b: 144 }],
140
+ ["snow", { r: 255, g: 250, b: 250 }],
141
+ ["springgreen", { r: 0, g: 255, b: 127 }],
142
+ ["steelblue", { r: 70, g: 130, b: 180 }],
143
+ ["tan", { r: 210, g: 180, b: 140 }],
144
+ ["teal", { r: 0, g: 128, b: 128 }],
145
+ ["thistle", { r: 216, g: 191, b: 216 }],
146
+ ["tomato", { r: 255, g: 99, b: 71 }],
147
+ ["turquoise", { r: 64, g: 224, b: 208 }],
148
+ ["violet", { r: 238, g: 130, b: 238 }],
149
+ ["wheat", { r: 245, g: 222, b: 179 }],
150
+ ["white", { r: 255, g: 255, b: 255 }],
151
+ ["whitesmoke", { r: 245, g: 245, b: 245 }],
152
+ ["yellow", { r: 255, g: 255, b: 0 }],
153
+ ["yellowgreen", { r: 154, g: 205, b: 50 }],
154
+ ]);
155
+ class NamedColorManager {
156
+ constructor() {
157
+ this.key = "named";
158
+ this.stringPrefix = "";
159
+ }
160
+ handleColor(color) {
161
+ return this._parseString(color.value);
162
+ }
163
+ handleRangeColor(color) {
164
+ return this._parseString(color.value);
165
+ }
166
+ parseString(input) {
167
+ return this._parseString(input);
168
+ }
169
+ _parseString(input) {
170
+ if (!input || typeof input !== "string") {
171
+ return undefined;
172
+ }
173
+ const rgbColor = namedColors.get(input.toLowerCase());
174
+ if (!rgbColor) {
175
+ (0, engine_1.getLogger)().error("Color not found", input);
176
+ return undefined;
177
+ }
178
+ return { ...rgbColor, a: 255 };
179
+ }
180
+ }
181
+ exports.NamedColorManager = NamedColorManager;
package/cjs/index.js ADDED
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadNamedColorPlugin = loadNamedColorPlugin;
4
+ const engine_1 = require("@tsparticles/engine");
5
+ const NamedColorManager_js_1 = require("./NamedColorManager.js");
6
+ async function loadNamedColorPlugin(engine, refresh = true) {
7
+ (0, engine_1.assertValidVersion)(engine, "3.7.0");
8
+ await engine.addColorManager(new NamedColorManager_js_1.NamedColorManager(), refresh);
9
+ }
@@ -0,0 +1 @@
1
+ { "type": "commonjs" }
@@ -0,0 +1,177 @@
1
+ import { getLogger, } from "@tsparticles/engine";
2
+ const namedColors = new Map([
3
+ ["aliceblue", { r: 240, g: 248, b: 255 }],
4
+ ["antiquewhite", { r: 250, g: 235, b: 215 }],
5
+ ["aqua", { r: 0, g: 255, b: 255 }],
6
+ ["aquamarine", { r: 127, g: 255, b: 212 }],
7
+ ["azure", { r: 240, g: 255, b: 255 }],
8
+ ["beige", { r: 245, g: 245, b: 220 }],
9
+ ["bisque", { r: 255, g: 228, b: 196 }],
10
+ ["black", { r: 0, g: 0, b: 0 }],
11
+ ["blanchedalmond", { r: 255, g: 235, b: 205 }],
12
+ ["blue", { r: 0, g: 0, b: 255 }],
13
+ ["blueviolet", { r: 138, g: 43, b: 226 }],
14
+ ["brown", { r: 165, g: 42, b: 42 }],
15
+ ["burlywood", { r: 222, g: 184, b: 135 }],
16
+ ["cadetblue", { r: 95, g: 158, b: 160 }],
17
+ ["chartreuse", { r: 127, g: 255, b: 0 }],
18
+ ["chocolate", { r: 210, g: 105, b: 30 }],
19
+ ["coral", { r: 255, g: 127, b: 80 }],
20
+ ["cornflowerblue", { r: 100, g: 149, b: 237 }],
21
+ ["cornsilk", { r: 255, g: 248, b: 220 }],
22
+ ["crimson", { r: 220, g: 20, b: 60 }],
23
+ ["cyan", { r: 0, g: 255, b: 255 }],
24
+ ["darkblue", { r: 0, g: 0, b: 139 }],
25
+ ["darkcyan", { r: 0, g: 139, b: 139 }],
26
+ ["darkgoldenrod", { r: 184, g: 134, b: 11 }],
27
+ ["darkgray", { r: 169, g: 169, b: 169 }],
28
+ ["darkgreen", { r: 0, g: 100, b: 0 }],
29
+ ["darkgrey", { r: 169, g: 169, b: 169 }],
30
+ ["darkkhaki", { r: 189, g: 183, b: 107 }],
31
+ ["darkmagenta", { r: 139, g: 0, b: 139 }],
32
+ ["darkolivegreen", { r: 85, g: 107, b: 47 }],
33
+ ["darkorange", { r: 255, g: 140, b: 0 }],
34
+ ["darkorchid", { r: 153, g: 50, b: 204 }],
35
+ ["darkred", { r: 139, g: 0, b: 0 }],
36
+ ["darksalmon", { r: 233, g: 150, b: 122 }],
37
+ ["darkseagreen", { r: 143, g: 188, b: 143 }],
38
+ ["darkslateblue", { r: 72, g: 61, b: 139 }],
39
+ ["darkslategray", { r: 47, g: 79, b: 79 }],
40
+ ["darkslategrey", { r: 47, g: 79, b: 79 }],
41
+ ["darkturquoise", { r: 0, g: 206, b: 209 }],
42
+ ["darkviolet", { r: 148, g: 0, b: 211 }],
43
+ ["deeppink", { r: 255, g: 20, b: 147 }],
44
+ ["deepskyblue", { r: 0, g: 191, b: 255 }],
45
+ ["dimgray", { r: 105, g: 105, b: 105 }],
46
+ ["dimgrey", { r: 105, g: 105, b: 105 }],
47
+ ["dodgerblue", { r: 30, g: 144, b: 255 }],
48
+ ["firebrick", { r: 178, g: 34, b: 34 }],
49
+ ["floralwhite", { r: 255, g: 250, b: 240 }],
50
+ ["forestgreen", { r: 34, g: 139, b: 34 }],
51
+ ["fuchsia", { r: 255, g: 0, b: 255 }],
52
+ ["gainsboro", { r: 220, g: 220, b: 220 }],
53
+ ["ghostwhite", { r: 248, g: 248, b: 255 }],
54
+ ["gold", { r: 255, g: 215, b: 0 }],
55
+ ["goldenrod", { r: 218, g: 165, b: 32 }],
56
+ ["gray", { r: 128, g: 128, b: 128 }],
57
+ ["green", { r: 0, g: 128, b: 0 }],
58
+ ["greenyellow", { r: 173, g: 255, b: 47 }],
59
+ ["grey", { r: 128, g: 128, b: 128 }],
60
+ ["honeydew", { r: 240, g: 255, b: 240 }],
61
+ ["hotpink", { r: 255, g: 105, b: 180 }],
62
+ ["indianred", { r: 205, g: 92, b: 92 }],
63
+ ["indigo", { r: 75, g: 0, b: 130 }],
64
+ ["ivory", { r: 255, g: 255, b: 240 }],
65
+ ["khaki", { r: 240, g: 230, b: 140 }],
66
+ ["lavender", { r: 230, g: 230, b: 250 }],
67
+ ["lavenderblush", { r: 255, g: 240, b: 245 }],
68
+ ["lawngreen", { r: 124, g: 252, b: 0 }],
69
+ ["lemonchiffon", { r: 255, g: 250, b: 205 }],
70
+ ["lightblue", { r: 173, g: 216, b: 230 }],
71
+ ["lightcoral", { r: 240, g: 128, b: 128 }],
72
+ ["lightcyan", { r: 224, g: 255, b: 255 }],
73
+ ["lightgoldenrodyellow", { r: 250, g: 250, b: 210 }],
74
+ ["lightgray", { r: 211, g: 211, b: 211 }],
75
+ ["lightgreen", { r: 144, g: 238, b: 144 }],
76
+ ["lightgrey", { r: 211, g: 211, b: 211 }],
77
+ ["lightpink", { r: 255, g: 182, b: 193 }],
78
+ ["lightsalmon", { r: 255, g: 160, b: 122 }],
79
+ ["lightseagreen", { r: 32, g: 178, b: 170 }],
80
+ ["lightskyblue", { r: 135, g: 206, b: 250 }],
81
+ ["lightslategray", { r: 119, g: 136, b: 153 }],
82
+ ["lightslategrey", { r: 119, g: 136, b: 153 }],
83
+ ["lightsteelblue", { r: 176, g: 196, b: 222 }],
84
+ ["lightyellow", { r: 255, g: 255, b: 224 }],
85
+ ["lime", { r: 0, g: 255, b: 0 }],
86
+ ["limegreen", { r: 50, g: 205, b: 50 }],
87
+ ["linen", { r: 250, g: 240, b: 230 }],
88
+ ["magenta", { r: 255, g: 0, b: 255 }],
89
+ ["maroon", { r: 128, g: 0, b: 0 }],
90
+ ["mediumaquamarine", { r: 102, g: 205, b: 170 }],
91
+ ["mediumblue", { r: 0, g: 0, b: 205 }],
92
+ ["mediumorchid", { r: 186, g: 85, b: 211 }],
93
+ ["mediumpurple", { r: 147, g: 112, b: 219 }],
94
+ ["mediumseagreen", { r: 60, g: 179, b: 113 }],
95
+ ["mediumslateblue", { r: 123, g: 104, b: 238 }],
96
+ ["mediumspringgreen", { r: 0, g: 250, b: 154 }],
97
+ ["mediumturquoise", { r: 72, g: 209, b: 204 }],
98
+ ["mediumvioletred", { r: 199, g: 21, b: 133 }],
99
+ ["midnightblue", { r: 25, g: 25, b: 112 }],
100
+ ["mintcream", { r: 245, g: 255, b: 250 }],
101
+ ["mistyrose", { r: 255, g: 228, b: 225 }],
102
+ ["moccasin", { r: 255, g: 228, b: 181 }],
103
+ ["navajowhite", { r: 255, g: 222, b: 173 }],
104
+ ["navy", { r: 0, g: 0, b: 128 }],
105
+ ["oldlace", { r: 253, g: 245, b: 230 }],
106
+ ["olive", { r: 128, g: 128, b: 0 }],
107
+ ["olivedrab", { r: 107, g: 142, b: 35 }],
108
+ ["orange", { r: 255, g: 165, b: 0 }],
109
+ ["orangered", { r: 255, g: 69, b: 0 }],
110
+ ["orchid", { r: 218, g: 112, b: 214 }],
111
+ ["palegoldenrod", { r: 238, g: 232, b: 170 }],
112
+ ["palegreen", { r: 152, g: 251, b: 152 }],
113
+ ["paleturquoise", { r: 175, g: 238, b: 238 }],
114
+ ["palevioletred", { r: 219, g: 112, b: 147 }],
115
+ ["papayawhip", { r: 255, g: 239, b: 213 }],
116
+ ["peachpuff", { r: 255, g: 218, b: 185 }],
117
+ ["peru", { r: 205, g: 133, b: 63 }],
118
+ ["pink", { r: 255, g: 192, b: 203 }],
119
+ ["plum", { r: 221, g: 160, b: 221 }],
120
+ ["powderblue", { r: 176, g: 224, b: 230 }],
121
+ ["purple", { r: 128, g: 0, b: 128 }],
122
+ ["rebeccapurple", { r: 102, g: 51, b: 153 }],
123
+ ["red", { r: 255, g: 0, b: 0 }],
124
+ ["rosybrown", { r: 188, g: 143, b: 143 }],
125
+ ["royalblue", { r: 65, g: 105, b: 225 }],
126
+ ["saddlebrown", { r: 139, g: 69, b: 19 }],
127
+ ["salmon", { r: 250, g: 128, b: 114 }],
128
+ ["sandybrown", { r: 244, g: 164, b: 96 }],
129
+ ["seagreen", { r: 46, g: 139, b: 87 }],
130
+ ["seashell", { r: 255, g: 245, b: 238 }],
131
+ ["sienna", { r: 160, g: 82, b: 45 }],
132
+ ["silver", { r: 192, g: 192, b: 192 }],
133
+ ["skyblue", { r: 135, g: 206, b: 235 }],
134
+ ["slateblue", { r: 106, g: 90, b: 205 }],
135
+ ["slategray", { r: 112, g: 128, b: 144 }],
136
+ ["slategrey", { r: 112, g: 128, b: 144 }],
137
+ ["snow", { r: 255, g: 250, b: 250 }],
138
+ ["springgreen", { r: 0, g: 255, b: 127 }],
139
+ ["steelblue", { r: 70, g: 130, b: 180 }],
140
+ ["tan", { r: 210, g: 180, b: 140 }],
141
+ ["teal", { r: 0, g: 128, b: 128 }],
142
+ ["thistle", { r: 216, g: 191, b: 216 }],
143
+ ["tomato", { r: 255, g: 99, b: 71 }],
144
+ ["turquoise", { r: 64, g: 224, b: 208 }],
145
+ ["violet", { r: 238, g: 130, b: 238 }],
146
+ ["wheat", { r: 245, g: 222, b: 179 }],
147
+ ["white", { r: 255, g: 255, b: 255 }],
148
+ ["whitesmoke", { r: 245, g: 245, b: 245 }],
149
+ ["yellow", { r: 255, g: 255, b: 0 }],
150
+ ["yellowgreen", { r: 154, g: 205, b: 50 }],
151
+ ]);
152
+ export class NamedColorManager {
153
+ constructor() {
154
+ this.key = "named";
155
+ this.stringPrefix = "";
156
+ }
157
+ handleColor(color) {
158
+ return this._parseString(color.value);
159
+ }
160
+ handleRangeColor(color) {
161
+ return this._parseString(color.value);
162
+ }
163
+ parseString(input) {
164
+ return this._parseString(input);
165
+ }
166
+ _parseString(input) {
167
+ if (!input || typeof input !== "string") {
168
+ return undefined;
169
+ }
170
+ const rgbColor = namedColors.get(input.toLowerCase());
171
+ if (!rgbColor) {
172
+ getLogger().error("Color not found", input);
173
+ return undefined;
174
+ }
175
+ return { ...rgbColor, a: 255 };
176
+ }
177
+ }
package/esm/index.js ADDED
@@ -0,0 +1,6 @@
1
+ import { assertValidVersion } from "@tsparticles/engine";
2
+ import { NamedColorManager } from "./NamedColorManager.js";
3
+ export async function loadNamedColorPlugin(engine, refresh = true) {
4
+ assertValidVersion(engine, "3.7.0");
5
+ await engine.addColorManager(new NamedColorManager(), refresh);
6
+ }
@@ -0,0 +1 @@
1
+ { "type": "module" }