@tsparticles/configs 3.0.0-beta.3 → 3.0.0-beta.4

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 (185) hide show
  1. package/browser/c/connect.js +3 -1
  2. package/browser/c/curlNoise.js +49 -0
  3. package/browser/c/index.js +2 -0
  4. package/browser/d/dataImages.js +0 -1
  5. package/browser/{s/shapeBubble.js → e/effectBubble.js} +5 -2
  6. package/browser/e/effectTrail.js +53 -0
  7. package/browser/e/emitterImageShape.js +95 -0
  8. package/browser/e/emitterImages.js +0 -1
  9. package/browser/e/emitterShapes.js +56 -70
  10. package/browser/e/emitterTextShape.js +100 -0
  11. package/browser/e/emitterTextStrokeShape.js +100 -0
  12. package/browser/e/index.js +10 -0
  13. package/browser/f/fontawesome.js +0 -1
  14. package/browser/g/gifs.js +1 -1
  15. package/browser/h/hollowknight.js +0 -1
  16. package/browser/i/images.js +0 -1
  17. package/browser/l/localPolygonMask.js +0 -1
  18. package/browser/m/index.js +2 -0
  19. package/browser/m/mouseTrailNoise.js +118 -0
  20. package/browser/m/multiplePolygonMasks.js +0 -1
  21. package/browser/o/orbit.js +1 -1
  22. package/browser/p/index.js +2 -0
  23. package/browser/p/pathPolygonMask.js +0 -1
  24. package/browser/p/pathSvg.js +0 -1
  25. package/browser/p/polygonMask.js +0 -1
  26. package/browser/p/pop.js +67 -0
  27. package/browser/r/random.js +1 -1
  28. package/browser/r/reactBubbles.js +0 -1
  29. package/browser/r/reactNightSky.js +0 -1
  30. package/browser/r/reactPolygonMask.js +0 -1
  31. package/browser/r/reactSimple.js +0 -1
  32. package/browser/r/reactSnow.js +0 -1
  33. package/browser/r/ring.js +1 -1
  34. package/browser/s/index.js +0 -2
  35. package/browser/s/shapeMultilineText.js +2 -2
  36. package/browser/s/style.js +1 -1
  37. package/browser/s/svgReplace.js +0 -1
  38. package/browser/t/tilt.js +1 -1
  39. package/browser/t/trail.js +1 -1
  40. package/browser/t/trailImage.js +1 -1
  41. package/browser/w/wobble.js +1 -1
  42. package/cjs/c/connect.js +3 -1
  43. package/cjs/c/curlNoise.js +51 -0
  44. package/cjs/c/index.js +2 -0
  45. package/cjs/d/dataImages.js +0 -1
  46. package/cjs/{s/shapeBubble.js → e/effectBubble.js} +5 -2
  47. package/cjs/e/effectTrail.js +55 -0
  48. package/cjs/e/emitterImageShape.js +97 -0
  49. package/cjs/e/emitterImages.js +0 -1
  50. package/cjs/e/emitterShapes.js +56 -70
  51. package/cjs/e/emitterTextShape.js +102 -0
  52. package/cjs/e/emitterTextStrokeShape.js +102 -0
  53. package/cjs/e/index.js +10 -0
  54. package/cjs/f/fontawesome.js +0 -1
  55. package/cjs/g/gifs.js +1 -1
  56. package/cjs/h/hollowknight.js +0 -1
  57. package/cjs/i/images.js +0 -1
  58. package/cjs/l/localPolygonMask.js +0 -1
  59. package/cjs/m/index.js +2 -0
  60. package/cjs/m/mouseTrailNoise.js +120 -0
  61. package/cjs/m/multiplePolygonMasks.js +0 -1
  62. package/cjs/o/orbit.js +1 -1
  63. package/cjs/p/index.js +2 -0
  64. package/cjs/p/pathPolygonMask.js +0 -1
  65. package/cjs/p/pathSvg.js +0 -1
  66. package/cjs/p/polygonMask.js +0 -1
  67. package/cjs/p/pop.js +69 -0
  68. package/cjs/r/random.js +1 -1
  69. package/cjs/r/reactBubbles.js +0 -1
  70. package/cjs/r/reactNightSky.js +0 -1
  71. package/cjs/r/reactPolygonMask.js +0 -1
  72. package/cjs/r/reactSimple.js +0 -1
  73. package/cjs/r/reactSnow.js +0 -1
  74. package/cjs/r/ring.js +1 -1
  75. package/cjs/s/index.js +0 -2
  76. package/cjs/s/shapeMultilineText.js +2 -2
  77. package/cjs/s/style.js +1 -1
  78. package/cjs/s/svgReplace.js +0 -1
  79. package/cjs/t/tilt.js +1 -1
  80. package/cjs/t/trail.js +1 -1
  81. package/cjs/t/trailImage.js +1 -1
  82. package/cjs/w/wobble.js +1 -1
  83. package/esm/c/connect.js +3 -1
  84. package/esm/c/curlNoise.js +49 -0
  85. package/esm/c/index.js +2 -0
  86. package/esm/d/dataImages.js +0 -1
  87. package/esm/{s/shapeBubble.js → e/effectBubble.js} +5 -2
  88. package/esm/e/effectTrail.js +53 -0
  89. package/esm/e/emitterImageShape.js +95 -0
  90. package/esm/e/emitterImages.js +0 -1
  91. package/esm/e/emitterShapes.js +56 -70
  92. package/esm/e/emitterTextShape.js +100 -0
  93. package/esm/e/emitterTextStrokeShape.js +100 -0
  94. package/esm/e/index.js +10 -0
  95. package/esm/f/fontawesome.js +0 -1
  96. package/esm/g/gifs.js +1 -1
  97. package/esm/h/hollowknight.js +0 -1
  98. package/esm/i/images.js +0 -1
  99. package/esm/l/localPolygonMask.js +0 -1
  100. package/esm/m/index.js +2 -0
  101. package/esm/m/mouseTrailNoise.js +118 -0
  102. package/esm/m/multiplePolygonMasks.js +0 -1
  103. package/esm/o/orbit.js +1 -1
  104. package/esm/p/index.js +2 -0
  105. package/esm/p/pathPolygonMask.js +0 -1
  106. package/esm/p/pathSvg.js +0 -1
  107. package/esm/p/polygonMask.js +0 -1
  108. package/esm/p/pop.js +67 -0
  109. package/esm/r/random.js +1 -1
  110. package/esm/r/reactBubbles.js +0 -1
  111. package/esm/r/reactNightSky.js +0 -1
  112. package/esm/r/reactPolygonMask.js +0 -1
  113. package/esm/r/reactSimple.js +0 -1
  114. package/esm/r/reactSnow.js +0 -1
  115. package/esm/r/ring.js +1 -1
  116. package/esm/s/index.js +0 -2
  117. package/esm/s/shapeMultilineText.js +2 -2
  118. package/esm/s/style.js +1 -1
  119. package/esm/s/svgReplace.js +0 -1
  120. package/esm/t/tilt.js +1 -1
  121. package/esm/t/trail.js +1 -1
  122. package/esm/t/trailImage.js +1 -1
  123. package/esm/w/wobble.js +1 -1
  124. package/package.json +2 -2
  125. package/report.html +4 -22
  126. package/tsparticles.configs.bundle.js +1 -1
  127. package/tsparticles.configs.bundle.min.js.LICENSE.txt +1 -1
  128. package/tsparticles.configs.js +762 -159
  129. package/tsparticles.configs.min.js +1 -1
  130. package/tsparticles.configs.min.js.LICENSE.txt +1 -1
  131. package/types/c/index.d.ts +1 -0
  132. package/types/e/effectBubble.d.ts +3 -0
  133. package/types/e/effectTrail.d.ts +3 -0
  134. package/types/e/emitterImageShape.d.ts +3 -0
  135. package/types/e/emitterTextShape.d.ts +3 -0
  136. package/types/e/emitterTextStrokeShape.d.ts +3 -0
  137. package/types/e/index.d.ts +5 -0
  138. package/types/index.d.ts +8 -1
  139. package/types/m/index.d.ts +1 -0
  140. package/types/m/mouseTrailNoise.d.ts +3 -0
  141. package/types/p/index.d.ts +1 -0
  142. package/types/p/pop.d.ts +3 -0
  143. package/types/s/index.d.ts +0 -1
  144. package/umd/c/connect.js +3 -1
  145. package/umd/c/curlNoise.js +61 -0
  146. package/umd/c/index.js +3 -1
  147. package/umd/d/dataImages.js +0 -1
  148. package/umd/{s/shapeBubble.js → e/effectBubble.js} +5 -2
  149. package/umd/e/effectTrail.js +65 -0
  150. package/umd/e/emitterImageShape.js +107 -0
  151. package/umd/e/emitterImages.js +0 -1
  152. package/umd/e/emitterShapes.js +56 -70
  153. package/umd/e/emitterTextShape.js +112 -0
  154. package/umd/e/emitterTextStrokeShape.js +112 -0
  155. package/umd/e/index.js +11 -1
  156. package/umd/f/fontawesome.js +0 -1
  157. package/umd/g/gifs.js +1 -1
  158. package/umd/h/hollowknight.js +0 -1
  159. package/umd/i/images.js +0 -1
  160. package/umd/l/localPolygonMask.js +0 -1
  161. package/umd/m/index.js +3 -1
  162. package/umd/m/mouseTrailNoise.js +130 -0
  163. package/umd/m/multiplePolygonMasks.js +0 -1
  164. package/umd/o/orbit.js +1 -1
  165. package/umd/p/index.js +3 -1
  166. package/umd/p/pathPolygonMask.js +0 -1
  167. package/umd/p/pathSvg.js +0 -1
  168. package/umd/p/polygonMask.js +0 -1
  169. package/umd/p/pop.js +79 -0
  170. package/umd/r/random.js +1 -1
  171. package/umd/r/reactBubbles.js +0 -1
  172. package/umd/r/reactNightSky.js +0 -1
  173. package/umd/r/reactPolygonMask.js +0 -1
  174. package/umd/r/reactSimple.js +0 -1
  175. package/umd/r/reactSnow.js +0 -1
  176. package/umd/r/ring.js +1 -1
  177. package/umd/s/index.js +1 -3
  178. package/umd/s/shapeMultilineText.js +2 -2
  179. package/umd/s/style.js +1 -1
  180. package/umd/s/svgReplace.js +0 -1
  181. package/umd/t/tilt.js +1 -1
  182. package/umd/t/trail.js +1 -1
  183. package/umd/t/trailImage.js +1 -1
  184. package/umd/w/wobble.js +1 -1
  185. /package/types/{s/shapeBubble.d.ts → c/curlNoise.d.ts} +0 -0
@@ -72,7 +72,6 @@ const options = {
72
72
  },
73
73
  },
74
74
  number: {
75
- limit: -1,
76
75
  value: 160,
77
76
  },
78
77
  opacity: {
@@ -57,7 +57,6 @@ const options = {
57
57
  density: {
58
58
  enable: true,
59
59
  },
60
- limit: -1,
61
60
  value: 60,
62
61
  },
63
62
  opacity: {
@@ -46,7 +46,6 @@ const options = {
46
46
  speed: 1,
47
47
  },
48
48
  number: {
49
- limit: -1,
50
49
  value: 200,
51
50
  },
52
51
  opacity: {
@@ -47,7 +47,6 @@ const options = {
47
47
  enable: true,
48
48
  },
49
49
  number: {
50
- limit: -1,
51
50
  value: 50,
52
51
  },
53
52
  opacity: {
@@ -76,7 +76,6 @@ const options = {
76
76
  enable: true,
77
77
  },
78
78
  number: {
79
- limit: -1,
80
79
  value: 160,
81
80
  },
82
81
  opacity: {
package/cjs/r/ring.js CHANGED
@@ -5,7 +5,7 @@ const options = {
5
5
  particles: {
6
6
  number: {
7
7
  value: 0,
8
- limit: 1000,
8
+ limit: { value: 1000 },
9
9
  },
10
10
  color: {
11
11
  value: "#ffffff",
package/cjs/s/index.js CHANGED
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const seaAnemone_js_1 = __importDefault(require("./seaAnemone.js"));
7
7
  const shadow_js_1 = __importDefault(require("./shadow.js"));
8
8
  const shapeArrow_js_1 = __importDefault(require("./shapeArrow.js"));
9
- const shapeBubble_js_1 = __importDefault(require("./shapeBubble.js"));
10
9
  const shapeCog_js_1 = __importDefault(require("./shapeCog.js"));
11
10
  const shapeHeart_js_1 = __importDefault(require("./shapeHeart.js"));
12
11
  const shapeMultilineText_js_1 = __importDefault(require("./shapeMultilineText.js"));
@@ -32,7 +31,6 @@ exports.default = {
32
31
  seaAnemone: seaAnemone_js_1.default,
33
32
  shadow: shadow_js_1.default,
34
33
  shapeArrow: shapeArrow_js_1.default,
35
- shapeBubble: shapeBubble_js_1.default,
36
34
  shapeCog: shapeCog_js_1.default,
37
35
  shapeHeart: shapeHeart_js_1.default,
38
36
  shapeMultilineText: shapeMultilineText_js_1.default,
@@ -18,9 +18,9 @@ const options = {
18
18
  },
19
19
  },
20
20
  shape: {
21
- type: "multiline-text",
21
+ type: "text",
22
22
  options: {
23
- "multiline-text": {
23
+ text: {
24
24
  value: "pippo\npluto",
25
25
  },
26
26
  },
package/cjs/s/style.js CHANGED
@@ -5,7 +5,7 @@ const options = {
5
5
  particles: {
6
6
  number: {
7
7
  value: 200,
8
- limit: 200,
8
+ limit: { value: 200 },
9
9
  },
10
10
  color: {
11
11
  value: ["#ff0000", "#00ff00", "#0000ff", "#ffff00", "#ff00ff", "#00ffff"],
@@ -71,7 +71,6 @@ const options = {
71
71
  density: {
72
72
  enable: true,
73
73
  },
74
- limit: 0,
75
74
  value: 80,
76
75
  },
77
76
  opacity: {
package/cjs/t/tilt.js CHANGED
@@ -44,7 +44,7 @@ const options = {
44
44
  },
45
45
  number: {
46
46
  value: 0,
47
- limit: 300,
47
+ limit: { value: 300 },
48
48
  },
49
49
  opacity: {
50
50
  value: 1,
package/cjs/t/trail.js CHANGED
@@ -23,7 +23,7 @@ const options = {
23
23
  particles: {
24
24
  number: {
25
25
  value: 0,
26
- limit: 300,
26
+ limit: { value: 300 },
27
27
  },
28
28
  color: {
29
29
  value: ["#5bc0eb", "#fde74c", "#9bc53d", "#e55934", "#fa7921"],
@@ -27,7 +27,7 @@ const options = {
27
27
  particles: {
28
28
  number: {
29
29
  value: 0,
30
- limit: 300,
30
+ limit: { value: 300 },
31
31
  },
32
32
  color: {
33
33
  value: ["#5bc0eb", "#fde74c", "#9bc53d", "#e55934", "#fa7921"],
package/cjs/w/wobble.js CHANGED
@@ -44,7 +44,7 @@ const options = {
44
44
  },
45
45
  number: {
46
46
  value: 0,
47
- limit: 300,
47
+ limit: { value: 300 },
48
48
  },
49
49
  opacity: {
50
50
  value: 1,
package/esm/c/connect.js CHANGED
@@ -64,7 +64,9 @@ const options = {
64
64
  density: {
65
65
  enable: true,
66
66
  },
67
- limit: 500,
67
+ limit: {
68
+ value: 500,
69
+ },
68
70
  value: 300,
69
71
  },
70
72
  opacity: {
@@ -0,0 +1,49 @@
1
+ const options = {
2
+ name: "Curl Noise",
3
+ particles: {
4
+ number: {
5
+ value: 300,
6
+ },
7
+ color: {
8
+ value: "#ff0000",
9
+ animation: {
10
+ enable: true,
11
+ speed: 360,
12
+ sync: true,
13
+ },
14
+ },
15
+ shape: {
16
+ type: "circle",
17
+ },
18
+ size: {
19
+ value: 3,
20
+ },
21
+ move: {
22
+ path: {
23
+ clamp: false,
24
+ enable: true,
25
+ options: {
26
+ step: 250,
27
+ speed: 1,
28
+ },
29
+ delay: {
30
+ value: 0,
31
+ },
32
+ generator: "curlNoise",
33
+ },
34
+ enable: true,
35
+ speed: 3,
36
+ trail: {
37
+ fill: {
38
+ color: "#000",
39
+ },
40
+ enable: true,
41
+ length: 1000,
42
+ },
43
+ },
44
+ },
45
+ background: {
46
+ color: "#000000",
47
+ },
48
+ };
49
+ export default options;
package/esm/c/index.js CHANGED
@@ -6,6 +6,7 @@ import collisionsBounce from "./collisionsBounce.js";
6
6
  import collisionsDestroy from "./collisionsDestroy.js";
7
7
  import colorAnimation from "./colorAnimation.js";
8
8
  import connect from "./connect.js";
9
+ import curlNoise from "./curlNoise.js";
9
10
  export default {
10
11
  cards,
11
12
  chars,
@@ -15,4 +16,5 @@ export default {
15
16
  collisionsDestroy,
16
17
  colorAnimation,
17
18
  connect,
19
+ curlNoise,
18
20
  };
@@ -61,7 +61,6 @@ const options = {
61
61
  density: {
62
62
  enable: true,
63
63
  },
64
- limit: 0,
65
64
  value: 80,
66
65
  },
67
66
  opacity: {
@@ -1,5 +1,5 @@
1
1
  const options = {
2
- name: "Shape Bubble",
2
+ name: "Effect Bubble",
3
3
  particles: {
4
4
  number: {
5
5
  value: 80,
@@ -15,9 +15,12 @@ const options = {
15
15
  sync: true,
16
16
  },
17
17
  },
18
- shape: {
18
+ effect: {
19
19
  type: "bubble",
20
20
  },
21
+ shape: {
22
+ type: ["circle", "square"],
23
+ },
21
24
  opacity: {
22
25
  value: 0.5,
23
26
  },
@@ -0,0 +1,53 @@
1
+ const options = {
2
+ name: "Effect Trail",
3
+ particles: {
4
+ number: {
5
+ value: 80,
6
+ density: {
7
+ enable: true,
8
+ },
9
+ },
10
+ color: {
11
+ value: "#ff0000",
12
+ animation: {
13
+ enable: true,
14
+ speed: 360,
15
+ sync: true,
16
+ },
17
+ },
18
+ effect: {
19
+ type: "trail",
20
+ options: {
21
+ trail: {
22
+ length: {
23
+ min: 10,
24
+ max: 30,
25
+ },
26
+ },
27
+ },
28
+ },
29
+ shape: {
30
+ type: "circle",
31
+ },
32
+ size: {
33
+ value: 10,
34
+ },
35
+ move: {
36
+ path: {
37
+ enable: true,
38
+ options: {
39
+ size: 32,
40
+ draw: false,
41
+ increment: 0.004,
42
+ },
43
+ generator: "simplexNoise",
44
+ },
45
+ enable: true,
46
+ speed: 6,
47
+ },
48
+ },
49
+ background: {
50
+ color: "#000000",
51
+ },
52
+ };
53
+ export default options;
@@ -0,0 +1,95 @@
1
+ const rate = {
2
+ delay: 0.1,
3
+ quantity: 100,
4
+ };
5
+ const generateEmitter = (shape, options, fill, position) => {
6
+ return {
7
+ shape: {
8
+ replace: {
9
+ color: true,
10
+ opacity: true,
11
+ },
12
+ type: shape,
13
+ options,
14
+ },
15
+ position: position,
16
+ size: {
17
+ width: 500,
18
+ height: 500,
19
+ mode: "precise",
20
+ },
21
+ startCount: 300,
22
+ rate,
23
+ fill,
24
+ };
25
+ };
26
+ const options = {
27
+ name: "Emitter Image Shape",
28
+ particles: {
29
+ number: {
30
+ value: 0,
31
+ },
32
+ color: {
33
+ value: [
34
+ "#f44336",
35
+ "#e91e63",
36
+ "#9c27b0",
37
+ "#673ab7",
38
+ "#3f51b5",
39
+ "#2196f3",
40
+ "#03a9f4",
41
+ "#00bcd4",
42
+ "#009688",
43
+ "#4CAF50",
44
+ "#8BC34A",
45
+ "#CDDC39",
46
+ "#FFEB3B",
47
+ "#FFC107",
48
+ "#FF9800",
49
+ "#FF5722",
50
+ ],
51
+ },
52
+ life: {
53
+ count: 1,
54
+ duration: {
55
+ value: 1.5,
56
+ },
57
+ },
58
+ move: {
59
+ enable: true,
60
+ speed: 0.5,
61
+ },
62
+ shape: {
63
+ type: "circle",
64
+ },
65
+ opacity: {
66
+ value: 1,
67
+ },
68
+ size: {
69
+ value: { min: 1, max: 10 },
70
+ animation: {
71
+ enable: true,
72
+ speed: 30,
73
+ sync: true,
74
+ startValue: "min",
75
+ count: 2,
76
+ },
77
+ },
78
+ },
79
+ background: {
80
+ color: "#fff",
81
+ },
82
+ emitters: [
83
+ generateEmitter("canvas", {
84
+ scale: 5,
85
+ pixels: {
86
+ filter: "pixelFilter",
87
+ offset: 4,
88
+ },
89
+ image: {
90
+ src: "https://particles.js.org/images/amongus_cyan.png",
91
+ },
92
+ }, true, { x: 50, y: 50 }),
93
+ ],
94
+ };
95
+ export default options;
@@ -10,7 +10,6 @@ const options = {
10
10
  density: {
11
11
  enable: true,
12
12
  },
13
- limit: 0,
14
13
  value: 80,
15
14
  },
16
15
  opacity: {
@@ -1,3 +1,42 @@
1
+ const rate = {
2
+ delay: 0.1,
3
+ quantity: 3,
4
+ };
5
+ const generateEmitter = (shape, options, fill, position) => {
6
+ return {
7
+ shape: {
8
+ type: shape,
9
+ options,
10
+ },
11
+ position: position,
12
+ size: {
13
+ width: 200,
14
+ height: 200,
15
+ mode: "precise",
16
+ },
17
+ life: {
18
+ duration: 10,
19
+ delay: 0.5,
20
+ count: 1,
21
+ },
22
+ rate,
23
+ fill,
24
+ };
25
+ };
26
+ const path = [
27
+ { x: 0, y: 0 },
28
+ { x: 0, y: 50 },
29
+ { x: 25, y: 50 },
30
+ { x: 0, y: 100 },
31
+ { x: 50, y: 100 },
32
+ { x: 50, y: 75 },
33
+ { x: 100, y: 100 },
34
+ { x: 100, y: 50 },
35
+ { x: 75, y: 50 },
36
+ { x: 100, y: 0 },
37
+ { x: 50, y: 0 },
38
+ { x: 50, y: 25 },
39
+ ];
1
40
  const options = {
2
41
  name: "Emitter Shapes",
3
42
  particles: {
@@ -21,76 +60,23 @@ const options = {
21
60
  color: "#fff",
22
61
  },
23
62
  emitters: [
24
- {
25
- shape: "square",
26
- position: {
27
- x: 33,
28
- y: 33,
29
- },
30
- size: {
31
- width: 200,
32
- height: 200,
33
- mode: "precise",
34
- },
35
- life: {
36
- duration: 10,
37
- delay: 0.5,
38
- count: 1,
39
- },
40
- },
41
- {
42
- shape: "circle",
43
- position: {
44
- x: 67,
45
- y: 33,
46
- },
47
- size: {
48
- width: 200,
49
- height: 200,
50
- mode: "precise",
51
- },
52
- life: {
53
- duration: 10,
54
- delay: 0.5,
55
- count: 1,
56
- },
57
- },
58
- {
59
- fill: false,
60
- shape: "square",
61
- position: {
62
- x: 33,
63
- y: 67,
64
- },
65
- size: {
66
- width: 200,
67
- height: 200,
68
- mode: "precise",
69
- },
70
- life: {
71
- duration: 10,
72
- delay: 0.5,
73
- count: 1,
74
- },
75
- },
76
- {
77
- fill: false,
78
- shape: "circle",
79
- position: {
80
- x: 67,
81
- y: 67,
82
- },
83
- size: {
84
- width: 200,
85
- height: 200,
86
- mode: "precise",
87
- },
88
- life: {
89
- duration: 10,
90
- delay: 0.5,
91
- count: 1,
92
- },
93
- },
63
+ generateEmitter("square", {}, true, { x: 25, y: 25 }),
64
+ generateEmitter("circle", {}, true, { x: 50, y: 25 }),
65
+ generateEmitter("polygon", {
66
+ angle: -18,
67
+ sides: 5,
68
+ }, true, { x: 75, y: 25 }),
69
+ generateEmitter("square", {}, false, { x: 25, y: 50 }),
70
+ generateEmitter("circle", {}, false, { x: 50, y: 50 }),
71
+ generateEmitter("polygon", {
72
+ sides: 6,
73
+ }, false, { x: 75, y: 50 }),
74
+ generateEmitter("path", {
75
+ points: path,
76
+ }, true, { x: 25, y: 75 }),
77
+ generateEmitter("path", {
78
+ points: path,
79
+ }, false, { x: 50, y: 75 }),
94
80
  ],
95
81
  };
96
82
  export default options;
@@ -0,0 +1,100 @@
1
+ const rate = {
2
+ delay: 0.1,
3
+ quantity: 100,
4
+ };
5
+ const generateEmitter = (shape, options, fill, position) => {
6
+ return {
7
+ shape: {
8
+ type: shape,
9
+ options,
10
+ },
11
+ position: position,
12
+ size: {
13
+ width: 500,
14
+ height: 500,
15
+ mode: "precise",
16
+ },
17
+ startCount: 300,
18
+ rate,
19
+ fill,
20
+ };
21
+ };
22
+ const options = {
23
+ name: "Emitter Text Shape",
24
+ particles: {
25
+ number: {
26
+ value: 0,
27
+ },
28
+ color: {
29
+ value: [
30
+ "#f44336",
31
+ "#e91e63",
32
+ "#9c27b0",
33
+ "#673ab7",
34
+ "#3f51b5",
35
+ "#2196f3",
36
+ "#03a9f4",
37
+ "#00bcd4",
38
+ "#009688",
39
+ "#4CAF50",
40
+ "#8BC34A",
41
+ "#CDDC39",
42
+ "#FFEB3B",
43
+ "#FFC107",
44
+ "#FF9800",
45
+ "#FF5722",
46
+ ],
47
+ },
48
+ life: {
49
+ count: 1,
50
+ duration: {
51
+ value: 1.5,
52
+ },
53
+ },
54
+ move: {
55
+ enable: true,
56
+ speed: 0.5,
57
+ },
58
+ shape: {
59
+ type: "circle",
60
+ },
61
+ opacity: {
62
+ value: 1,
63
+ },
64
+ size: {
65
+ value: { min: 1, max: 10 },
66
+ animation: {
67
+ enable: true,
68
+ speed: 30,
69
+ sync: true,
70
+ startValue: "min",
71
+ count: 2,
72
+ },
73
+ },
74
+ },
75
+ background: {
76
+ color: "#fff",
77
+ },
78
+ emitters: [
79
+ generateEmitter("canvas", {
80
+ scale: 1,
81
+ pixels: {
82
+ filter: "pixelTextFilter",
83
+ offset: 4,
84
+ },
85
+ text: {
86
+ color: "#ff0000",
87
+ font: {
88
+ size: 500,
89
+ family: "Verdana",
90
+ },
91
+ text: "Particles",
92
+ lines: {
93
+ separator: "\n",
94
+ spacing: 10,
95
+ },
96
+ },
97
+ }, true, { x: 50, y: 50 }),
98
+ ],
99
+ };
100
+ export default options;