@tsparticles/engine 3.6.0-beta.1 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/README.md +6 -1
  2. package/browser/Core/Canvas.js +32 -21
  3. package/browser/Core/Container.js +1 -1
  4. package/browser/Core/Engine.js +17 -1
  5. package/browser/Core/Particle.js +1 -1
  6. package/browser/Options/Classes/AnimatableColor.js +2 -2
  7. package/browser/Options/Classes/AnimationOptions.js +3 -2
  8. package/browser/Options/Classes/Background/Background.js +2 -1
  9. package/browser/Options/Classes/BackgroundMask/BackgroundMask.js +2 -2
  10. package/browser/Options/Classes/BackgroundMask/BackgroundMaskCover.js +2 -1
  11. package/browser/Options/Classes/ColorAnimation.js +2 -1
  12. package/browser/Options/Classes/FullScreen/FullScreen.js +2 -1
  13. package/browser/Options/Classes/HslAnimation.js +2 -1
  14. package/browser/Options/Classes/Interactivity/Events/ClickEvent.js +2 -1
  15. package/browser/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
  16. package/browser/Options/Classes/Interactivity/Events/Events.js +2 -1
  17. package/browser/Options/Classes/Interactivity/Events/HoverEvent.js +2 -1
  18. package/browser/Options/Classes/Interactivity/Events/Parallax.js +2 -1
  19. package/browser/Options/Classes/Interactivity/Events/ResizeEvent.js +2 -1
  20. package/browser/Options/Classes/Interactivity/Interactivity.js +2 -1
  21. package/browser/Options/Classes/Interactivity/Modes/Modes.js +2 -1
  22. package/browser/Options/Classes/ManualParticle.js +2 -1
  23. package/browser/Options/Classes/Options.js +2 -2
  24. package/browser/Options/Classes/OptionsColor.js +5 -3
  25. package/browser/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -1
  26. package/browser/Options/Classes/Particles/Collisions/Collisions.js +2 -1
  27. package/browser/Options/Classes/Particles/Collisions/CollisionsAbsorb.js +2 -1
  28. package/browser/Options/Classes/Particles/Collisions/CollisionsOverlap.js +2 -1
  29. package/browser/Options/Classes/Particles/Effect/Effect.js +2 -1
  30. package/browser/Options/Classes/Particles/Move/Move.js +2 -2
  31. package/browser/Options/Classes/Particles/Move/MoveAngle.js +2 -1
  32. package/browser/Options/Classes/Particles/Move/MoveAttract.js +2 -1
  33. package/browser/Options/Classes/Particles/Move/MoveCenter.js +2 -1
  34. package/browser/Options/Classes/Particles/Move/MoveGravity.js +2 -1
  35. package/browser/Options/Classes/Particles/Move/MoveTrail.js +2 -1
  36. package/browser/Options/Classes/Particles/Move/MoveTrailFill.js +2 -1
  37. package/browser/Options/Classes/Particles/Move/OutModes.js +2 -1
  38. package/browser/Options/Classes/Particles/Move/Path/MovePath.js +2 -1
  39. package/browser/Options/Classes/Particles/Move/Spin.js +2 -1
  40. package/browser/Options/Classes/Particles/Number/ParticlesDensity.js +2 -1
  41. package/browser/Options/Classes/Particles/Number/ParticlesNumber.js +2 -1
  42. package/browser/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
  43. package/browser/Options/Classes/Particles/Opacity/Opacity.js +2 -1
  44. package/browser/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
  45. package/browser/Options/Classes/Particles/ParticlesOptions.js +2 -1
  46. package/browser/Options/Classes/Particles/Shadow.js +2 -1
  47. package/browser/Options/Classes/Particles/Shape/Shape.js +2 -1
  48. package/browser/Options/Classes/Particles/Size/Size.js +2 -1
  49. package/browser/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
  50. package/browser/Options/Classes/Particles/Stroke.js +2 -1
  51. package/browser/Options/Classes/Particles/ZIndex/ZIndex.js +2 -1
  52. package/browser/Options/Classes/Responsive.js +5 -4
  53. package/browser/Options/Classes/Theme/Theme.js +2 -1
  54. package/browser/Options/Classes/Theme/ThemeDefault.js +2 -1
  55. package/browser/Options/Classes/ValueWithRandom.js +4 -3
  56. package/browser/Types/EasingFunction.js +1 -0
  57. package/browser/Utils/ColorUtils.js +25 -45
  58. package/browser/Utils/NumberUtils.js +1 -10
  59. package/browser/Utils/TypeUtils.js +3 -0
  60. package/browser/Utils/Utils.js +6 -0
  61. package/browser/exports.js +0 -2
  62. package/browser/init.js +0 -6
  63. package/cjs/Core/Canvas.js +32 -21
  64. package/cjs/Core/Container.js +1 -1
  65. package/cjs/Core/Engine.js +17 -1
  66. package/cjs/Core/Particle.js +1 -1
  67. package/cjs/Options/Classes/AnimatableColor.js +1 -1
  68. package/cjs/Options/Classes/AnimationOptions.js +3 -2
  69. package/cjs/Options/Classes/Background/Background.js +2 -1
  70. package/cjs/Options/Classes/BackgroundMask/BackgroundMask.js +2 -2
  71. package/cjs/Options/Classes/BackgroundMask/BackgroundMaskCover.js +2 -1
  72. package/cjs/Options/Classes/ColorAnimation.js +2 -1
  73. package/cjs/Options/Classes/FullScreen/FullScreen.js +2 -1
  74. package/cjs/Options/Classes/HslAnimation.js +2 -1
  75. package/cjs/Options/Classes/Interactivity/Events/ClickEvent.js +2 -1
  76. package/cjs/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
  77. package/cjs/Options/Classes/Interactivity/Events/Events.js +2 -1
  78. package/cjs/Options/Classes/Interactivity/Events/HoverEvent.js +2 -1
  79. package/cjs/Options/Classes/Interactivity/Events/Parallax.js +2 -1
  80. package/cjs/Options/Classes/Interactivity/Events/ResizeEvent.js +2 -1
  81. package/cjs/Options/Classes/Interactivity/Interactivity.js +2 -1
  82. package/cjs/Options/Classes/Interactivity/Modes/Modes.js +2 -1
  83. package/cjs/Options/Classes/ManualParticle.js +2 -1
  84. package/cjs/Options/Classes/Options.js +2 -2
  85. package/cjs/Options/Classes/OptionsColor.js +4 -2
  86. package/cjs/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -1
  87. package/cjs/Options/Classes/Particles/Collisions/Collisions.js +2 -1
  88. package/cjs/Options/Classes/Particles/Collisions/CollisionsAbsorb.js +2 -1
  89. package/cjs/Options/Classes/Particles/Collisions/CollisionsOverlap.js +2 -1
  90. package/cjs/Options/Classes/Particles/Effect/Effect.js +2 -1
  91. package/cjs/Options/Classes/Particles/Move/Move.js +1 -1
  92. package/cjs/Options/Classes/Particles/Move/MoveAngle.js +2 -1
  93. package/cjs/Options/Classes/Particles/Move/MoveAttract.js +2 -1
  94. package/cjs/Options/Classes/Particles/Move/MoveCenter.js +2 -1
  95. package/cjs/Options/Classes/Particles/Move/MoveGravity.js +2 -1
  96. package/cjs/Options/Classes/Particles/Move/MoveTrail.js +2 -1
  97. package/cjs/Options/Classes/Particles/Move/MoveTrailFill.js +2 -1
  98. package/cjs/Options/Classes/Particles/Move/OutModes.js +2 -1
  99. package/cjs/Options/Classes/Particles/Move/Path/MovePath.js +2 -1
  100. package/cjs/Options/Classes/Particles/Move/Spin.js +2 -1
  101. package/cjs/Options/Classes/Particles/Number/ParticlesDensity.js +2 -1
  102. package/cjs/Options/Classes/Particles/Number/ParticlesNumber.js +2 -1
  103. package/cjs/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
  104. package/cjs/Options/Classes/Particles/Opacity/Opacity.js +2 -1
  105. package/cjs/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
  106. package/cjs/Options/Classes/Particles/ParticlesOptions.js +2 -1
  107. package/cjs/Options/Classes/Particles/Shadow.js +2 -1
  108. package/cjs/Options/Classes/Particles/Shape/Shape.js +2 -1
  109. package/cjs/Options/Classes/Particles/Size/Size.js +2 -1
  110. package/cjs/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
  111. package/cjs/Options/Classes/Particles/Stroke.js +2 -1
  112. package/cjs/Options/Classes/Particles/ZIndex/ZIndex.js +2 -1
  113. package/cjs/Options/Classes/Responsive.js +5 -4
  114. package/cjs/Options/Classes/Theme/Theme.js +2 -1
  115. package/cjs/Options/Classes/Theme/ThemeDefault.js +2 -1
  116. package/cjs/Options/Classes/ValueWithRandom.js +4 -3
  117. package/cjs/Types/EasingFunction.js +2 -0
  118. package/cjs/Utils/ColorUtils.js +25 -46
  119. package/cjs/Utils/NumberUtils.js +1 -12
  120. package/cjs/Utils/TypeUtils.js +4 -0
  121. package/cjs/Utils/Utils.js +7 -0
  122. package/cjs/exports.js +0 -2
  123. package/cjs/init.js +0 -6
  124. package/esm/Core/Canvas.js +32 -21
  125. package/esm/Core/Container.js +1 -1
  126. package/esm/Core/Engine.js +17 -1
  127. package/esm/Core/Particle.js +1 -1
  128. package/esm/Options/Classes/AnimatableColor.js +2 -2
  129. package/esm/Options/Classes/AnimationOptions.js +3 -2
  130. package/esm/Options/Classes/Background/Background.js +2 -1
  131. package/esm/Options/Classes/BackgroundMask/BackgroundMask.js +2 -2
  132. package/esm/Options/Classes/BackgroundMask/BackgroundMaskCover.js +2 -1
  133. package/esm/Options/Classes/ColorAnimation.js +2 -1
  134. package/esm/Options/Classes/FullScreen/FullScreen.js +2 -1
  135. package/esm/Options/Classes/HslAnimation.js +2 -1
  136. package/esm/Options/Classes/Interactivity/Events/ClickEvent.js +2 -1
  137. package/esm/Options/Classes/Interactivity/Events/DivEvent.js +2 -1
  138. package/esm/Options/Classes/Interactivity/Events/Events.js +2 -1
  139. package/esm/Options/Classes/Interactivity/Events/HoverEvent.js +2 -1
  140. package/esm/Options/Classes/Interactivity/Events/Parallax.js +2 -1
  141. package/esm/Options/Classes/Interactivity/Events/ResizeEvent.js +2 -1
  142. package/esm/Options/Classes/Interactivity/Interactivity.js +2 -1
  143. package/esm/Options/Classes/Interactivity/Modes/Modes.js +2 -1
  144. package/esm/Options/Classes/ManualParticle.js +2 -1
  145. package/esm/Options/Classes/Options.js +2 -2
  146. package/esm/Options/Classes/OptionsColor.js +5 -3
  147. package/esm/Options/Classes/Particles/Bounce/ParticlesBounce.js +2 -1
  148. package/esm/Options/Classes/Particles/Collisions/Collisions.js +2 -1
  149. package/esm/Options/Classes/Particles/Collisions/CollisionsAbsorb.js +2 -1
  150. package/esm/Options/Classes/Particles/Collisions/CollisionsOverlap.js +2 -1
  151. package/esm/Options/Classes/Particles/Effect/Effect.js +2 -1
  152. package/esm/Options/Classes/Particles/Move/Move.js +2 -2
  153. package/esm/Options/Classes/Particles/Move/MoveAngle.js +2 -1
  154. package/esm/Options/Classes/Particles/Move/MoveAttract.js +2 -1
  155. package/esm/Options/Classes/Particles/Move/MoveCenter.js +2 -1
  156. package/esm/Options/Classes/Particles/Move/MoveGravity.js +2 -1
  157. package/esm/Options/Classes/Particles/Move/MoveTrail.js +2 -1
  158. package/esm/Options/Classes/Particles/Move/MoveTrailFill.js +2 -1
  159. package/esm/Options/Classes/Particles/Move/OutModes.js +2 -1
  160. package/esm/Options/Classes/Particles/Move/Path/MovePath.js +2 -1
  161. package/esm/Options/Classes/Particles/Move/Spin.js +2 -1
  162. package/esm/Options/Classes/Particles/Number/ParticlesDensity.js +2 -1
  163. package/esm/Options/Classes/Particles/Number/ParticlesNumber.js +2 -1
  164. package/esm/Options/Classes/Particles/Number/ParticlesNumberLimit.js +2 -1
  165. package/esm/Options/Classes/Particles/Opacity/Opacity.js +2 -1
  166. package/esm/Options/Classes/Particles/Opacity/OpacityAnimation.js +2 -1
  167. package/esm/Options/Classes/Particles/ParticlesOptions.js +2 -1
  168. package/esm/Options/Classes/Particles/Shadow.js +2 -1
  169. package/esm/Options/Classes/Particles/Shape/Shape.js +2 -1
  170. package/esm/Options/Classes/Particles/Size/Size.js +2 -1
  171. package/esm/Options/Classes/Particles/Size/SizeAnimation.js +2 -1
  172. package/esm/Options/Classes/Particles/Stroke.js +2 -1
  173. package/esm/Options/Classes/Particles/ZIndex/ZIndex.js +2 -1
  174. package/esm/Options/Classes/Responsive.js +5 -4
  175. package/esm/Options/Classes/Theme/Theme.js +2 -1
  176. package/esm/Options/Classes/Theme/ThemeDefault.js +2 -1
  177. package/esm/Options/Classes/ValueWithRandom.js +4 -3
  178. package/esm/Types/EasingFunction.js +1 -0
  179. package/esm/Utils/ColorUtils.js +25 -45
  180. package/esm/Utils/NumberUtils.js +1 -10
  181. package/esm/Utils/TypeUtils.js +3 -0
  182. package/esm/Utils/Utils.js +6 -0
  183. package/esm/exports.js +0 -2
  184. package/esm/init.js +0 -6
  185. package/package.json +1 -1
  186. package/report.html +1 -1
  187. package/tsparticles.engine.js +62 -82
  188. package/tsparticles.engine.min.js +1 -1
  189. package/tsparticles.engine.min.js.LICENSE.txt +1 -1
  190. package/types/Core/Canvas.d.ts +4 -1
  191. package/types/Core/Engine.d.ts +9 -1
  192. package/types/Core/Interfaces/Colors.d.ts +28 -0
  193. package/types/Types/EasingFunction.d.ts +1 -0
  194. package/types/Utils/ColorUtils.d.ts +8 -9
  195. package/types/Utils/NumberUtils.d.ts +0 -5
  196. package/types/Utils/TypeUtils.d.ts +1 -0
  197. package/types/Utils/Utils.d.ts +2 -0
  198. package/types/exports.d.ts +0 -2
  199. package/umd/Core/Canvas.js +32 -21
  200. package/umd/Core/Container.js +1 -1
  201. package/umd/Core/Engine.js +17 -1
  202. package/umd/Core/Particle.js +1 -1
  203. package/umd/Options/Classes/AnimatableColor.js +1 -1
  204. package/umd/Options/Classes/AnimationOptions.js +4 -3
  205. package/umd/Options/Classes/Background/Background.js +3 -2
  206. package/umd/Options/Classes/BackgroundMask/BackgroundMask.js +3 -3
  207. package/umd/Options/Classes/BackgroundMask/BackgroundMaskCover.js +3 -2
  208. package/umd/Options/Classes/ColorAnimation.js +3 -2
  209. package/umd/Options/Classes/FullScreen/FullScreen.js +3 -2
  210. package/umd/Options/Classes/HslAnimation.js +3 -2
  211. package/umd/Options/Classes/Interactivity/Events/ClickEvent.js +3 -2
  212. package/umd/Options/Classes/Interactivity/Events/DivEvent.js +3 -2
  213. package/umd/Options/Classes/Interactivity/Events/Events.js +3 -2
  214. package/umd/Options/Classes/Interactivity/Events/HoverEvent.js +3 -2
  215. package/umd/Options/Classes/Interactivity/Events/Parallax.js +3 -2
  216. package/umd/Options/Classes/Interactivity/Events/ResizeEvent.js +3 -2
  217. package/umd/Options/Classes/Interactivity/Interactivity.js +3 -2
  218. package/umd/Options/Classes/Interactivity/Modes/Modes.js +3 -2
  219. package/umd/Options/Classes/ManualParticle.js +3 -2
  220. package/umd/Options/Classes/Options.js +3 -3
  221. package/umd/Options/Classes/OptionsColor.js +4 -2
  222. package/umd/Options/Classes/Particles/Bounce/ParticlesBounce.js +3 -2
  223. package/umd/Options/Classes/Particles/Collisions/Collisions.js +3 -2
  224. package/umd/Options/Classes/Particles/Collisions/CollisionsAbsorb.js +3 -2
  225. package/umd/Options/Classes/Particles/Collisions/CollisionsOverlap.js +3 -2
  226. package/umd/Options/Classes/Particles/Effect/Effect.js +3 -2
  227. package/umd/Options/Classes/Particles/Move/Move.js +1 -1
  228. package/umd/Options/Classes/Particles/Move/MoveAngle.js +3 -2
  229. package/umd/Options/Classes/Particles/Move/MoveAttract.js +3 -2
  230. package/umd/Options/Classes/Particles/Move/MoveCenter.js +3 -2
  231. package/umd/Options/Classes/Particles/Move/MoveGravity.js +3 -2
  232. package/umd/Options/Classes/Particles/Move/MoveTrail.js +3 -2
  233. package/umd/Options/Classes/Particles/Move/MoveTrailFill.js +3 -2
  234. package/umd/Options/Classes/Particles/Move/OutModes.js +3 -2
  235. package/umd/Options/Classes/Particles/Move/Path/MovePath.js +3 -2
  236. package/umd/Options/Classes/Particles/Move/Spin.js +3 -2
  237. package/umd/Options/Classes/Particles/Number/ParticlesDensity.js +3 -2
  238. package/umd/Options/Classes/Particles/Number/ParticlesNumber.js +3 -2
  239. package/umd/Options/Classes/Particles/Number/ParticlesNumberLimit.js +3 -2
  240. package/umd/Options/Classes/Particles/Opacity/Opacity.js +3 -2
  241. package/umd/Options/Classes/Particles/Opacity/OpacityAnimation.js +3 -2
  242. package/umd/Options/Classes/Particles/ParticlesOptions.js +3 -2
  243. package/umd/Options/Classes/Particles/Shadow.js +3 -2
  244. package/umd/Options/Classes/Particles/Shape/Shape.js +3 -2
  245. package/umd/Options/Classes/Particles/Size/Size.js +3 -2
  246. package/umd/Options/Classes/Particles/Size/SizeAnimation.js +3 -2
  247. package/umd/Options/Classes/Particles/Stroke.js +3 -2
  248. package/umd/Options/Classes/Particles/ZIndex/ZIndex.js +3 -2
  249. package/umd/Options/Classes/Responsive.js +6 -5
  250. package/umd/Options/Classes/Theme/Theme.js +3 -2
  251. package/umd/Options/Classes/Theme/ThemeDefault.js +3 -2
  252. package/umd/Options/Classes/ValueWithRandom.js +5 -4
  253. package/umd/Types/EasingFunction.js +12 -0
  254. package/umd/Utils/ColorUtils.js +25 -46
  255. package/umd/Utils/NumberUtils.js +1 -12
  256. package/umd/Utils/TypeUtils.js +4 -0
  257. package/umd/Utils/Utils.js +7 -0
  258. package/umd/exports.js +1 -3
  259. package/umd/init.js +1 -7
  260. package/browser/Utils/HslColorManager.js +0 -45
  261. package/browser/Utils/RgbColorManager.js +0 -44
  262. package/cjs/Utils/HslColorManager.js +0 -49
  263. package/cjs/Utils/RgbColorManager.js +0 -48
  264. package/esm/Utils/HslColorManager.js +0 -45
  265. package/esm/Utils/RgbColorManager.js +0 -44
  266. package/types/Utils/HslColorManager.d.ts +0 -10
  267. package/types/Utils/RgbColorManager.d.ts +0 -10
  268. package/umd/Utils/HslColorManager.js +0 -59
  269. package/umd/Utils/RgbColorManager.js +0 -58
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RgbColorManager = void 0;
4
- const NumberUtils_js_1 = require("./NumberUtils.js");
5
- var RgbIndexes;
6
- (function (RgbIndexes) {
7
- RgbIndexes[RgbIndexes["r"] = 1] = "r";
8
- RgbIndexes[RgbIndexes["g"] = 2] = "g";
9
- RgbIndexes[RgbIndexes["b"] = 3] = "b";
10
- RgbIndexes[RgbIndexes["a"] = 5] = "a";
11
- })(RgbIndexes || (RgbIndexes = {}));
12
- class RgbColorManager {
13
- constructor() {
14
- this.key = "rgb";
15
- this.stringPrefix = "rgb";
16
- }
17
- handleColor(color) {
18
- const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;
19
- if (rgbColor.r !== undefined) {
20
- return rgbColor;
21
- }
22
- }
23
- handleRangeColor(color) {
24
- const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;
25
- if (rgbColor.r !== undefined) {
26
- return {
27
- r: (0, NumberUtils_js_1.getRangeValue)(rgbColor.r),
28
- g: (0, NumberUtils_js_1.getRangeValue)(rgbColor.g),
29
- b: (0, NumberUtils_js_1.getRangeValue)(rgbColor.b),
30
- };
31
- }
32
- }
33
- parseString(input) {
34
- if (!input.startsWith(this.stringPrefix)) {
35
- return;
36
- }
37
- const regex = /rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.%]+)\s*)?\)/i, result = regex.exec(input), radix = 10, minLength = 4, defaultAlpha = 1;
38
- return result
39
- ? {
40
- a: result.length > minLength ? (0, NumberUtils_js_1.parseAlpha)(result[RgbIndexes.a]) : defaultAlpha,
41
- b: parseInt(result[RgbIndexes.b], radix),
42
- g: parseInt(result[RgbIndexes.g], radix),
43
- r: parseInt(result[RgbIndexes.r], radix),
44
- }
45
- : undefined;
46
- }
47
- }
48
- exports.RgbColorManager = RgbColorManager;
@@ -1,45 +0,0 @@
1
- import { getRangeValue, parseAlpha } from "./NumberUtils.js";
2
- import { hslToRgb, hslaToRgba } from "./ColorUtils.js";
3
- var HslIndexes;
4
- (function (HslIndexes) {
5
- HslIndexes[HslIndexes["h"] = 1] = "h";
6
- HslIndexes[HslIndexes["s"] = 2] = "s";
7
- HslIndexes[HslIndexes["l"] = 3] = "l";
8
- HslIndexes[HslIndexes["a"] = 5] = "a";
9
- })(HslIndexes || (HslIndexes = {}));
10
- export class HslColorManager {
11
- constructor() {
12
- this.key = "hsl";
13
- this.stringPrefix = "hsl";
14
- }
15
- handleColor(color) {
16
- const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;
17
- if (hslColor.h !== undefined && hslColor.s !== undefined && hslColor.l !== undefined) {
18
- return hslToRgb(hslColor);
19
- }
20
- }
21
- handleRangeColor(color) {
22
- const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;
23
- if (hslColor.h !== undefined && hslColor.l !== undefined) {
24
- return hslToRgb({
25
- h: getRangeValue(hslColor.h),
26
- l: getRangeValue(hslColor.l),
27
- s: getRangeValue(hslColor.s),
28
- });
29
- }
30
- }
31
- parseString(input) {
32
- if (!input.startsWith("hsl")) {
33
- return;
34
- }
35
- const regex = /hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.%]+)\s*)?\)/i, result = regex.exec(input), minLength = 4, defaultAlpha = 1, radix = 10;
36
- return result
37
- ? hslaToRgba({
38
- a: result.length > minLength ? parseAlpha(result[HslIndexes.a]) : defaultAlpha,
39
- h: parseInt(result[HslIndexes.h], radix),
40
- l: parseInt(result[HslIndexes.l], radix),
41
- s: parseInt(result[HslIndexes.s], radix),
42
- })
43
- : undefined;
44
- }
45
- }
@@ -1,44 +0,0 @@
1
- import { getRangeValue, parseAlpha } from "./NumberUtils.js";
2
- var RgbIndexes;
3
- (function (RgbIndexes) {
4
- RgbIndexes[RgbIndexes["r"] = 1] = "r";
5
- RgbIndexes[RgbIndexes["g"] = 2] = "g";
6
- RgbIndexes[RgbIndexes["b"] = 3] = "b";
7
- RgbIndexes[RgbIndexes["a"] = 5] = "a";
8
- })(RgbIndexes || (RgbIndexes = {}));
9
- export class RgbColorManager {
10
- constructor() {
11
- this.key = "rgb";
12
- this.stringPrefix = "rgb";
13
- }
14
- handleColor(color) {
15
- const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;
16
- if (rgbColor.r !== undefined) {
17
- return rgbColor;
18
- }
19
- }
20
- handleRangeColor(color) {
21
- const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;
22
- if (rgbColor.r !== undefined) {
23
- return {
24
- r: getRangeValue(rgbColor.r),
25
- g: getRangeValue(rgbColor.g),
26
- b: getRangeValue(rgbColor.b),
27
- };
28
- }
29
- }
30
- parseString(input) {
31
- if (!input.startsWith(this.stringPrefix)) {
32
- return;
33
- }
34
- const regex = /rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.%]+)\s*)?\)/i, result = regex.exec(input), radix = 10, minLength = 4, defaultAlpha = 1;
35
- return result
36
- ? {
37
- a: result.length > minLength ? parseAlpha(result[RgbIndexes.a]) : defaultAlpha,
38
- b: parseInt(result[RgbIndexes.b], radix),
39
- g: parseInt(result[RgbIndexes.g], radix),
40
- r: parseInt(result[RgbIndexes.r], radix),
41
- }
42
- : undefined;
43
- }
44
- }
@@ -1,10 +0,0 @@
1
- import type { IColor, IRangeColor, IRgb, IRgba } from "../Core/Interfaces/Colors.js";
2
- import type { IColorManager } from "../Core/Interfaces/IColorManager.js";
3
- export declare class HslColorManager implements IColorManager {
4
- readonly key: string;
5
- readonly stringPrefix: string;
6
- constructor();
7
- handleColor(color: IColor): IRgb | undefined;
8
- handleRangeColor(color: IRangeColor): IRgb | undefined;
9
- parseString(input: string): IRgba | undefined;
10
- }
@@ -1,10 +0,0 @@
1
- import type { IColor, IRangeColor, IRgb, IRgba } from "../Core/Interfaces/Colors.js";
2
- import type { IColorManager } from "../Core/Interfaces/IColorManager.js";
3
- export declare class RgbColorManager implements IColorManager {
4
- readonly key: string;
5
- readonly stringPrefix: string;
6
- constructor();
7
- handleColor(color: IColor): IRgb | undefined;
8
- handleRangeColor(color: IRangeColor): IRgb | undefined;
9
- parseString(input: string): IRgba | undefined;
10
- }
@@ -1,59 +0,0 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./NumberUtils.js", "./ColorUtils.js"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.HslColorManager = void 0;
13
- const NumberUtils_js_1 = require("./NumberUtils.js");
14
- const ColorUtils_js_1 = require("./ColorUtils.js");
15
- var HslIndexes;
16
- (function (HslIndexes) {
17
- HslIndexes[HslIndexes["h"] = 1] = "h";
18
- HslIndexes[HslIndexes["s"] = 2] = "s";
19
- HslIndexes[HslIndexes["l"] = 3] = "l";
20
- HslIndexes[HslIndexes["a"] = 5] = "a";
21
- })(HslIndexes || (HslIndexes = {}));
22
- class HslColorManager {
23
- constructor() {
24
- this.key = "hsl";
25
- this.stringPrefix = "hsl";
26
- }
27
- handleColor(color) {
28
- const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;
29
- if (hslColor.h !== undefined && hslColor.s !== undefined && hslColor.l !== undefined) {
30
- return (0, ColorUtils_js_1.hslToRgb)(hslColor);
31
- }
32
- }
33
- handleRangeColor(color) {
34
- const colorValue = color.value, hslColor = colorValue.hsl ?? color.value;
35
- if (hslColor.h !== undefined && hslColor.l !== undefined) {
36
- return (0, ColorUtils_js_1.hslToRgb)({
37
- h: (0, NumberUtils_js_1.getRangeValue)(hslColor.h),
38
- l: (0, NumberUtils_js_1.getRangeValue)(hslColor.l),
39
- s: (0, NumberUtils_js_1.getRangeValue)(hslColor.s),
40
- });
41
- }
42
- }
43
- parseString(input) {
44
- if (!input.startsWith("hsl")) {
45
- return;
46
- }
47
- const regex = /hsla?\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([\d.%]+)\s*)?\)/i, result = regex.exec(input), minLength = 4, defaultAlpha = 1, radix = 10;
48
- return result
49
- ? (0, ColorUtils_js_1.hslaToRgba)({
50
- a: result.length > minLength ? (0, NumberUtils_js_1.parseAlpha)(result[HslIndexes.a]) : defaultAlpha,
51
- h: parseInt(result[HslIndexes.h], radix),
52
- l: parseInt(result[HslIndexes.l], radix),
53
- s: parseInt(result[HslIndexes.s], radix),
54
- })
55
- : undefined;
56
- }
57
- }
58
- exports.HslColorManager = HslColorManager;
59
- });
@@ -1,58 +0,0 @@
1
- (function (factory) {
2
- if (typeof module === "object" && typeof module.exports === "object") {
3
- var v = factory(require, exports);
4
- if (v !== undefined) module.exports = v;
5
- }
6
- else if (typeof define === "function" && define.amd) {
7
- define(["require", "exports", "./NumberUtils.js"], factory);
8
- }
9
- })(function (require, exports) {
10
- "use strict";
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.RgbColorManager = void 0;
13
- const NumberUtils_js_1 = require("./NumberUtils.js");
14
- var RgbIndexes;
15
- (function (RgbIndexes) {
16
- RgbIndexes[RgbIndexes["r"] = 1] = "r";
17
- RgbIndexes[RgbIndexes["g"] = 2] = "g";
18
- RgbIndexes[RgbIndexes["b"] = 3] = "b";
19
- RgbIndexes[RgbIndexes["a"] = 5] = "a";
20
- })(RgbIndexes || (RgbIndexes = {}));
21
- class RgbColorManager {
22
- constructor() {
23
- this.key = "rgb";
24
- this.stringPrefix = "rgb";
25
- }
26
- handleColor(color) {
27
- const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;
28
- if (rgbColor.r !== undefined) {
29
- return rgbColor;
30
- }
31
- }
32
- handleRangeColor(color) {
33
- const colorValue = color.value, rgbColor = colorValue.rgb ?? color.value;
34
- if (rgbColor.r !== undefined) {
35
- return {
36
- r: (0, NumberUtils_js_1.getRangeValue)(rgbColor.r),
37
- g: (0, NumberUtils_js_1.getRangeValue)(rgbColor.g),
38
- b: (0, NumberUtils_js_1.getRangeValue)(rgbColor.b),
39
- };
40
- }
41
- }
42
- parseString(input) {
43
- if (!input.startsWith(this.stringPrefix)) {
44
- return;
45
- }
46
- const regex = /rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([\d.%]+)\s*)?\)/i, result = regex.exec(input), radix = 10, minLength = 4, defaultAlpha = 1;
47
- return result
48
- ? {
49
- a: result.length > minLength ? (0, NumberUtils_js_1.parseAlpha)(result[RgbIndexes.a]) : defaultAlpha,
50
- b: parseInt(result[RgbIndexes.b], radix),
51
- g: parseInt(result[RgbIndexes.g], radix),
52
- r: parseInt(result[RgbIndexes.r], radix),
53
- }
54
- : undefined;
55
- }
56
- }
57
- exports.RgbColorManager = RgbColorManager;
58
- });