@tsparticles/template-ribbons 4.1.3 → 4.2.1

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 (64) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +3 -0
  3. package/package.json +4 -3
  4. package/template/angular/package.json +35 -0
  5. package/template/angular/src/app/app.component.css +40 -0
  6. package/template/angular/src/app/app.component.html +6 -0
  7. package/template/angular/src/app/app.component.ts +13 -0
  8. package/template/angular-confetti/package.json +36 -0
  9. package/template/angular-confetti/src/app/app.component.css +40 -0
  10. package/template/angular-confetti/src/app/app.component.html +6 -0
  11. package/template/angular-confetti/src/app/app.component.ts +13 -0
  12. package/template/angular-fireworks/package.json +36 -0
  13. package/template/angular-fireworks/src/app/app.component.css +40 -0
  14. package/template/angular-fireworks/src/app/app.component.html +6 -0
  15. package/template/angular-fireworks/src/app/app.component.ts +13 -0
  16. package/template/astro/package.json +18 -0
  17. package/template/astro/src/pages/index.astro +70 -0
  18. package/template/ember/app/templates/application.hbs +6 -0
  19. package/template/ember/package.json +20 -0
  20. package/template/inferno/package.json +22 -0
  21. package/template/inferno/src/App.css +40 -0
  22. package/template/inferno/src/App.tsx +13 -0
  23. package/template/jquery/package.json +21 -0
  24. package/template/jquery/src/main.ts +7 -0
  25. package/template/jquery/src/style.css +40 -0
  26. package/template/lit/package.json +21 -0
  27. package/template/lit/src/my-app.ts +23 -0
  28. package/template/nextjs/package.json +21 -0
  29. package/template/nextjs/src/app/page.tsx +14 -0
  30. package/template/nuxt2/package.json +19 -0
  31. package/template/nuxt2/pages/index.vue +63 -0
  32. package/template/nuxt3/app.vue +59 -0
  33. package/template/nuxt3/package.json +19 -0
  34. package/template/nuxt4/app.vue +59 -0
  35. package/template/nuxt4/package.json +22 -0
  36. package/template/preact/package.json +21 -0
  37. package/template/preact/src/App.css +40 -0
  38. package/template/preact/src/App.tsx +13 -0
  39. package/template/qwik/package.json +20 -0
  40. package/template/qwik/src/App.tsx +13 -0
  41. package/template/react/package.json +21 -0
  42. package/template/react/src/App.css +40 -0
  43. package/template/react/src/App.tsx +23 -0
  44. package/template/riot/package.json +22 -0
  45. package/template/riot/src/app.riot +61 -0
  46. package/template/solid/package.json +20 -0
  47. package/template/solid/src/App.tsx +12 -0
  48. package/template/solid/src/index.css +40 -0
  49. package/template/solid/src/main.tsx +9 -0
  50. package/template/stencil/package.json +18 -0
  51. package/template/stencil/src/components/app-home/app-home.tsx +22 -0
  52. package/template/svelte/package.json +22 -0
  53. package/template/svelte/src/App.svelte +55 -0
  54. package/template/svelte/src/main.ts +6 -0
  55. package/template/vanilla/LICENSE +21 -0
  56. package/template/vanilla/package.json +5 -1
  57. package/template/vue2/package.json +21 -0
  58. package/template/vue2/src/App.vue +64 -0
  59. package/template/vue3/package.json +21 -0
  60. package/template/vue3/src/App.vue +59 -0
  61. package/template/vue3/src/main.ts +9 -0
  62. package/template/webcomponents/package.json +15 -0
  63. package/template/webcomponents/src/main.ts +18 -0
  64. package/template/webcomponents/src/style.css +40 -0
@@ -0,0 +1,14 @@
1
+ "use client";
2
+
3
+ import { ribbons } from "@tsparticles/ribbons";
4
+
5
+ export default function Home() {
6
+ return (
7
+ <div id="app">
8
+ <h1>Ribbons</h1>
9
+ <div className="controls">
10
+ <button onClick={() => ribbons()}>Fire Ribbons</button>
11
+ </div>
12
+ </div>
13
+ );
14
+ }
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "{{packageName}}",
3
+ "private": true,
4
+ "version": "1.0.0",
5
+ "scripts": {
6
+ "dev": "nuxt",
7
+ "build": "nuxt build",
8
+ "start": "nuxt start",
9
+ "preview": "nuxt start",
10
+ "generate": "nuxt generate"
11
+ },
12
+ "dependencies": {
13
+ "@tsparticles/engine": "workspace:*",
14
+ "@tsparticles/ribbons": "workspace:*",
15
+ "@tsparticles/nuxt2": "workspace:*",
16
+
17
+ "nuxt": "^2.18.0"
18
+ }
19
+ }
@@ -0,0 +1,63 @@
1
+ <template>
2
+ <div id="app">
3
+ <h1>Ribbons</h1>
4
+ <div class="controls">
5
+ <button @click="fireRibbons">Fire Ribbons</button>
6
+ </div>
7
+ </div>
8
+ </template>
9
+
10
+ <script>
11
+ import { ribbons } from "@tsparticles/ribbons";
12
+
13
+ export default {
14
+ methods: {
15
+ fireRibbons() {
16
+ ribbons();
17
+ },
18
+ },
19
+ };
20
+ </script>
21
+
22
+ <style>
23
+ body {
24
+ margin: 0;
25
+ overflow: hidden;
26
+ background: #0a0a23;
27
+ font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
28
+ }
29
+
30
+ #app {
31
+ position: absolute;
32
+ top: 50%;
33
+ left: 50%;
34
+ transform: translate(-50%, -50%);
35
+ z-index: 10;
36
+ text-align: center;
37
+ }
38
+
39
+ h1 {
40
+ font-size: 3.2em;
41
+ color: #fff;
42
+ text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
43
+ }
44
+
45
+ .controls {
46
+ margin-top: 2rem;
47
+ }
48
+
49
+ button {
50
+ padding: 0.8em 2em;
51
+ font-size: 1.1em;
52
+ border: none;
53
+ border-radius: 8px;
54
+ background: #6c5ce7;
55
+ color: #fff;
56
+ cursor: pointer;
57
+ transition: background 0.2s;
58
+ }
59
+
60
+ button:hover {
61
+ background: #a29bfe;
62
+ }
63
+ </style>
@@ -0,0 +1,59 @@
1
+ <script setup lang="ts">
2
+ import { ribbons } from "@tsparticles/ribbons";
3
+
4
+ function fireRibbons() {
5
+ ribbons();
6
+ }
7
+ </script>
8
+
9
+ <template>
10
+ <div id="app">
11
+ <h1>Ribbons</h1>
12
+ <div class="controls">
13
+ <button @click="fireRibbons">Fire Ribbons</button>
14
+ </div>
15
+ </div>
16
+ </template>
17
+
18
+ <style>
19
+ body {
20
+ margin: 0;
21
+ overflow: hidden;
22
+ background: #0a0a23;
23
+ font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
24
+ }
25
+
26
+ #app {
27
+ position: absolute;
28
+ top: 50%;
29
+ left: 50%;
30
+ transform: translate(-50%, -50%);
31
+ z-index: 10;
32
+ text-align: center;
33
+ }
34
+
35
+ h1 {
36
+ font-size: 3.2em;
37
+ color: #fff;
38
+ text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
39
+ }
40
+
41
+ .controls {
42
+ margin-top: 2rem;
43
+ }
44
+
45
+ button {
46
+ padding: 0.8em 2em;
47
+ font-size: 1.1em;
48
+ border: none;
49
+ border-radius: 8px;
50
+ background: #6c5ce7;
51
+ color: #fff;
52
+ cursor: pointer;
53
+ transition: background 0.2s;
54
+ }
55
+
56
+ button:hover {
57
+ background: #a29bfe;
58
+ }
59
+ </style>
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "{{packageName}}",
3
+ "private": true,
4
+ "version": "1.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "nuxt dev",
8
+ "build": "nuxt build",
9
+ "start": "nuxt start",
10
+ "preview": "nuxt start"
11
+ },
12
+ "dependencies": {
13
+ "@tsparticles/engine": "workspace:*",
14
+ "@tsparticles/ribbons": "workspace:*",
15
+ "@tsparticles/nuxt3": "workspace:*",
16
+
17
+ "nuxt": "^3.15.0"
18
+ }
19
+ }
@@ -0,0 +1,59 @@
1
+ <script setup lang="ts">
2
+ import { ribbons } from "@tsparticles/ribbons";
3
+
4
+ function fireRibbons() {
5
+ ribbons();
6
+ }
7
+ </script>
8
+
9
+ <template>
10
+ <div id="app">
11
+ <h1>Ribbons</h1>
12
+ <div class="controls">
13
+ <button @click="fireRibbons">Fire Ribbons</button>
14
+ </div>
15
+ </div>
16
+ </template>
17
+
18
+ <style>
19
+ body {
20
+ margin: 0;
21
+ overflow: hidden;
22
+ background: #0a0a23;
23
+ font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
24
+ }
25
+
26
+ #app {
27
+ position: absolute;
28
+ top: 50%;
29
+ left: 50%;
30
+ transform: translate(-50%, -50%);
31
+ z-index: 10;
32
+ text-align: center;
33
+ }
34
+
35
+ h1 {
36
+ font-size: 3.2em;
37
+ color: #fff;
38
+ text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
39
+ }
40
+
41
+ .controls {
42
+ margin-top: 2rem;
43
+ }
44
+
45
+ button {
46
+ padding: 0.8em 2em;
47
+ font-size: 1.1em;
48
+ border: none;
49
+ border-radius: 8px;
50
+ background: #6c5ce7;
51
+ color: #fff;
52
+ cursor: pointer;
53
+ transition: background 0.2s;
54
+ }
55
+
56
+ button:hover {
57
+ background: #a29bfe;
58
+ }
59
+ </style>
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "{{packageName}}",
3
+ "private": true,
4
+ "version": "1.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "nuxt dev",
8
+ "build": "nuxt build",
9
+ "start": "nuxt start",
10
+ "preview": "nuxt start"
11
+ },
12
+ "dependencies": {
13
+ "@tsparticles/engine": "workspace:*",
14
+ "@tsparticles/ribbons": "workspace:*",
15
+ "@tsparticles/nuxt4": "workspace:*",
16
+
17
+ "nuxt": "^4.0.0"
18
+ },
19
+ "devDependencies": {
20
+ "typescript": "~5.8.2"
21
+ }
22
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "{{packageName}}",
3
+ "private": true,
4
+ "version": "1.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "tsc && vite build",
9
+ "preview": "vite preview"
10
+ },
11
+ "dependencies": {
12
+ "@tsparticles/engine": "workspace:*",
13
+ "@tsparticles/ribbons": "workspace:*",
14
+ "@tsparticles/preact": "workspace:*",
15
+
16
+ "preact": "^10.25.0"
17
+ },
18
+ "devDependencies": {
19
+ "@preact/preset-vite": "^2.10.1"
20
+ }
21
+ }
@@ -0,0 +1,40 @@
1
+ body {
2
+ margin: 0;
3
+ overflow: hidden;
4
+ background: #0a0a23;
5
+ font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
6
+ }
7
+
8
+ #app {
9
+ position: absolute;
10
+ top: 50%;
11
+ left: 50%;
12
+ transform: translate(-50%, -50%);
13
+ z-index: 10;
14
+ text-align: center;
15
+ }
16
+
17
+ h1 {
18
+ font-size: 3.2em;
19
+ color: #fff;
20
+ text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
21
+ }
22
+
23
+ .controls {
24
+ margin-top: 2rem;
25
+ }
26
+
27
+ button {
28
+ padding: 0.8em 2em;
29
+ font-size: 1.1em;
30
+ border: none;
31
+ border-radius: 8px;
32
+ background: #6c5ce7;
33
+ color: #fff;
34
+ cursor: pointer;
35
+ transition: background 0.2s;
36
+ }
37
+
38
+ button:hover {
39
+ background: #a29bfe;
40
+ }
@@ -0,0 +1,13 @@
1
+ import { ribbons } from "@tsparticles/ribbons";
2
+ import "./App.css";
3
+
4
+ export default function App() {
5
+ return (
6
+ <div id="app">
7
+ <h1>Ribbons</h1>
8
+ <div class="controls">
9
+ <button onClick={() => ribbons()}>Fire Ribbons</button>
10
+ </div>
11
+ </div>
12
+ );
13
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "{{packageName}}",
3
+ "private": true,
4
+ "version": "1.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "tsc && vite build",
9
+ "preview": "vite preview"
10
+ },
11
+ "dependencies": {
12
+ "@builder.io/qwik": "^1.12.0",
13
+ "@tsparticles/engine": "workspace:*",
14
+ "@tsparticles/ribbons": "workspace:*",
15
+ "@tsparticles/qwik": "workspace:*"
16
+ },
17
+ "devDependencies": {
18
+ "typescript": "~5.8.2"
19
+ }
20
+ }
@@ -0,0 +1,13 @@
1
+ import { component$ } from "@builder.io/qwik";
2
+ import { ribbons } from "@tsparticles/ribbons";
3
+
4
+ export default component$(() => {
5
+ return (
6
+ <div id="app">
7
+ <h1>Ribbons</h1>
8
+ <div class="controls">
9
+ <button onClick$={() => ribbons()}>Fire Ribbons</button>
10
+ </div>
11
+ </div>
12
+ );
13
+ });
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "{{packageName}}",
3
+ "private": true,
4
+ "version": "1.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "tsc && vite build",
9
+ "preview": "vite preview"
10
+ },
11
+ "dependencies": {
12
+ "react": "^19.2.5",
13
+ "react-dom": "^19.2.5",
14
+ "@tsparticles/engine": "workspace:*",
15
+ "@tsparticles/ribbons": "workspace:*",
16
+ "@tsparticles/react": "workspace:*"
17
+ },
18
+ "devDependencies": {
19
+ "@vitejs/plugin-react": "^6.0.1"
20
+ }
21
+ }
@@ -0,0 +1,40 @@
1
+ body {
2
+ margin: 0;
3
+ overflow: hidden;
4
+ background: #0a0a23;
5
+ font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
6
+ }
7
+
8
+ #app {
9
+ position: absolute;
10
+ top: 50%;
11
+ left: 50%;
12
+ transform: translate(-50%, -50%);
13
+ z-index: 10;
14
+ text-align: center;
15
+ }
16
+
17
+ h1 {
18
+ font-size: 3.2em;
19
+ color: #fff;
20
+ text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
21
+ }
22
+
23
+ .controls {
24
+ margin-top: 2rem;
25
+ }
26
+
27
+ button {
28
+ padding: 0.8em 2em;
29
+ font-size: 1.1em;
30
+ border: none;
31
+ border-radius: 8px;
32
+ background: #6c5ce7;
33
+ color: #fff;
34
+ cursor: pointer;
35
+ transition: background 0.2s;
36
+ }
37
+
38
+ button:hover {
39
+ background: #a29bfe;
40
+ }
@@ -0,0 +1,23 @@
1
+ import Particles, { ParticlesProvider } from "@tsparticles/react";
2
+ import { ribbons } from "@tsparticles/ribbons";
3
+ import type { Engine } from "@tsparticles/engine";
4
+ import "./App.css";
5
+
6
+ async function init(engine: Engine): Promise<void> {}
7
+
8
+ export default function App() {
9
+ function fireRibbons() {
10
+ ribbons();
11
+ }
12
+
13
+ return (
14
+ <ParticlesProvider init={init}>
15
+ <div id="app">
16
+ <h1>Ribbons</h1>
17
+ <div className="controls">
18
+ <button onClick={fireRibbons}>Fire Ribbons</button>
19
+ </div>
20
+ </div>
21
+ </ParticlesProvider>
22
+ );
23
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "{{packageName}}",
3
+ "private": true,
4
+ "version": "1.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "tsc && vite build",
9
+ "preview": "vite preview"
10
+ },
11
+ "dependencies": {
12
+ "@tsparticles/engine": "workspace:*",
13
+ "@tsparticles/ribbons": "workspace:*",
14
+
15
+ "@tsparticles/riot": "workspace:*",
16
+ "riot": "^9.0.0"
17
+ },
18
+ "devDependencies": {
19
+ "@riotjs/compiler": "^9.0.0",
20
+ "vite-plugin-riot": "^1.9.0"
21
+ }
22
+ }
@@ -0,0 +1,61 @@
1
+ <app>
2
+ <div id="app">
3
+ <h1>Ribbons</h1>
4
+ <div class="controls">
5
+ <button onclick={fireRibbons}>Fire Ribbons</button>
6
+ </div>
7
+ </div>
8
+
9
+ <script>
10
+ import { ribbons } from "@tsparticles/ribbons";
11
+
12
+ export default {
13
+ fireRibbons() {
14
+ ribbons();
15
+ },
16
+ };
17
+ </script>
18
+
19
+ <style>
20
+ body {
21
+ margin: 0;
22
+ overflow: hidden;
23
+ background: #0a0a23;
24
+ font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
25
+ }
26
+
27
+ #app {
28
+ position: absolute;
29
+ top: 50%;
30
+ left: 50%;
31
+ transform: translate(-50%, -50%);
32
+ z-index: 10;
33
+ text-align: center;
34
+ }
35
+
36
+ h1 {
37
+ font-size: 3.2em;
38
+ color: #fff;
39
+ text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
40
+ }
41
+
42
+ .controls {
43
+ margin-top: 2rem;
44
+ }
45
+
46
+ button {
47
+ padding: 0.8em 2em;
48
+ font-size: 1.1em;
49
+ border: none;
50
+ border-radius: 8px;
51
+ background: #6c5ce7;
52
+ color: #fff;
53
+ cursor: pointer;
54
+ transition: background 0.2s;
55
+ }
56
+
57
+ button:hover {
58
+ background: #a29bfe;
59
+ }
60
+ </style>
61
+ </app>
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "{{packageName}}",
3
+ "private": true,
4
+ "version": "1.0.0",
5
+ "type": "module",
6
+ "scripts": {
7
+ "dev": "vite",
8
+ "build": "tsc && vite build",
9
+ "preview": "vite preview"
10
+ },
11
+ "dependencies": {
12
+ "solid-js": "^1.8.11",
13
+ "@tsparticles/engine": "workspace:*",
14
+ "@tsparticles/ribbons": "workspace:*",
15
+ "@tsparticles/solid": "workspace:*"
16
+ },
17
+ "devDependencies": {
18
+ "vite-plugin-solid": "^2.8.2"
19
+ }
20
+ }
@@ -0,0 +1,12 @@
1
+ import { ribbons } from "@tsparticles/ribbons";
2
+
3
+ export default function App() {
4
+ return (
5
+ <div id="app">
6
+ <h1>Ribbons</h1>
7
+ <div class="controls">
8
+ <button onClick={() => ribbons()}>Fire Ribbons</button>
9
+ </div>
10
+ </div>
11
+ );
12
+ }
@@ -0,0 +1,40 @@
1
+ body {
2
+ margin: 0;
3
+ overflow: hidden;
4
+ background: #0a0a23;
5
+ font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
6
+ }
7
+
8
+ #app {
9
+ position: absolute;
10
+ top: 50%;
11
+ left: 50%;
12
+ transform: translate(-50%, -50%);
13
+ z-index: 10;
14
+ text-align: center;
15
+ }
16
+
17
+ h1 {
18
+ font-size: 3.2em;
19
+ color: #fff;
20
+ text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
21
+ }
22
+
23
+ .controls {
24
+ margin-top: 2rem;
25
+ }
26
+
27
+ button {
28
+ padding: 0.8em 2em;
29
+ font-size: 1.1em;
30
+ border: none;
31
+ border-radius: 8px;
32
+ background: #6c5ce7;
33
+ color: #fff;
34
+ cursor: pointer;
35
+ transition: background 0.2s;
36
+ }
37
+
38
+ button:hover {
39
+ background: #a29bfe;
40
+ }
@@ -0,0 +1,9 @@
1
+ import "./index.css";
2
+ import { render } from "solid-js/web";
3
+ import App from "./App";
4
+
5
+ const root = document.getElementById("root");
6
+
7
+ if (root) {
8
+ render(() => <App />, root);
9
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "{{packageName}}",
3
+ "private": true,
4
+ "version": "1.0.0",
5
+ "scripts": {
6
+ "build": "stencil build",
7
+ "start": "stencil build --dev --watch --serve",
8
+ "preview": "stencil build --dev --watch --serve",
9
+ "dev": "stencil build --dev --watch --serve"
10
+ },
11
+ "dependencies": {
12
+ "@stencil/core": "^4.20.0",
13
+ "@tsparticles/engine": "workspace:*",
14
+ "@tsparticles/ribbons": "workspace:*",
15
+
16
+ "@tsparticles/stencil": "workspace:*"
17
+ }
18
+ }
@@ -0,0 +1,22 @@
1
+ import { Component, h } from "@stencil/core";
2
+ import { ribbons } from "@tsparticles/ribbons";
3
+
4
+ @Component({
5
+ tag: "app-home",
6
+ })
7
+ export class AppHome {
8
+ private fireRibbons(): void {
9
+ ribbons();
10
+ }
11
+
12
+ render() {
13
+ return (
14
+ <div id="app">
15
+ <h1>Ribbons</h1>
16
+ <div class="controls">
17
+ <button onClick={() => this.fireRibbons()}>Fire Ribbons</button>
18
+ </div>
19
+ </div>
20
+ );
21
+ }
22
+ }