2.0.0-beta.3 • Published 4 years ago

svelte-particles v2.0.0-beta.3

Weekly downloads
175
License
MIT
Repository
github
Last release
4 years ago

banner

svelte-particles

npm npm downloads

Official tsParticles SvelteJS component

Installation

npm install svelte-particles svelte

or

yarn add svelte-particles svelte

Usage

<script>
  import Particles from "svelte-particles";
  import { loadFull } from "tsparticles";

  let particlesUrl = "http://foo.bar/particles.json";

  let particlesConfig = {
    particles: {
      color: {
        value: "#000",
      },
      links: {
        enable: true,
        color: "#000",
      },
      move: {
        enable: true,
      },
    },
  };

  let onParticlesLoaded = (event) => {
    const particlesContainer = event.detail.particles;

    // you can use particlesContainer to call all the Container class
    // (from the core library) methods like play, pause, refresh, start, stop
  };

  let particlesInit = async (main) => {
    // you can use main to customize the tsParticles instance adding presets or custom shapes
    // this loads the tsparticles package bundle, it's the easiest method for getting everything ready
    // starting from v2 you can add only the features you need reducing the bundle size
    await loadFull(main);
  };
</script>

<Particles
  id="tsparticles"
  options="{particlesConfig}"
  on:particlesLoaded="{onParticlesLoaded}"
  particlesInit="{particlesInit}"
/>

<!-- or -->

<Particles
  id="tsparticles"
  url="{particlesUrl}"
  on:particlesLoaded="{onParticlesLoaded}"
  particlesInit="{particlesInit}"
/>

SSR

The particles component isn't built for SSR, so you have to force the component to be called client side with async import.

You can see a sample below:

<script>
  import { onMount } from "svelte";
  import { loadFull } from "tsparticles";

  let ParticlesComponent;

  onMount(async () => {
    const module = await import("svelte-particles");

    ParticlesComponent = module.default;
  });

  let particlesUrl = "http://foo.bar/particles.json";

  let particlesConfig = {
    particles: {
      color: {
        value: "#000",
      },
      links: {
        enable: true,
        color: "#000",
      },
      move: {
        enable: true,
      },
    },
  };

  let onParticlesLoaded = (event) => {
    const particlesContainer = event.detail.particles;

    // you can use particlesContainer to call all the Container class
    // (from the core library) methods like play, pause, refresh, start, stop
  };

  let particlesInit = async (main) => {
    // you can use main to customize the tsParticles instance adding presets or custom shapes
    // this loads the tsparticles package bundle, it's the easiest method for getting everything ready
    // starting from v2 you can add only the features you need reducing the bundle size
    await loadFull(main);
  };
</script>

<svelte:component
  this="{ParticlesComponent}"
  id="tsparticles"
  options="{particlesConfig}"
  on:particlesLoaded="{onParticlesLoaded}"
  particlesInit="{particlesInit}"
/>

<!-- or -->

<svelte:component
  this="{ParticlesComponent}"
  id="tsparticles"
  url="{particlesUrl}"
  on:particlesLoaded="{onParticlesLoaded}"
  particlesInit="{particlesInit}"
/>

Demos

The demo website is here

https://particles.js.org

There's also a CodePen collection actively maintained and updated here

https://codepen.io/collection/DPOage

2.11.0

2 years ago

2.10.1

2 years ago

2.12.0

2 years ago

2.8.0

3 years ago

2.9.2

2 years ago

2.9.1

2 years ago

2.9.3

2 years ago

2.9.0

2 years ago

2.4.0

3 years ago

2.7.0

3 years ago

2.7.1

3 years ago

2.6.0

3 years ago

2.5.0

3 years ago

2.5.2

3 years ago

2.5.1

3 years ago

2.5.3

3 years ago

2.3.0

3 years ago

2.3.2

3 years ago

2.3.1

3 years ago

2.3.3

3 years ago

2.2.4

3 years ago

2.2.1

3 years ago

2.2.0

3 years ago

2.2.3

3 years ago

2.2.2

3 years ago

2.1.2

3 years ago

2.1.1

3 years ago

2.1.4

3 years ago

2.1.3

3 years ago

2.1.0

3 years ago

2.0.3

3 years ago

2.0.5

3 years ago

2.0.4

3 years ago

2.0.6

3 years ago

1.42.0

3 years ago

1.42.2

3 years ago

1.42.1

3 years ago

1.42.4

3 years ago

1.42.3

3 years ago

1.43.1

3 years ago

1.43.0

3 years ago

1.41.6

3 years ago

2.0.2

3 years ago

1.40.0

3 years ago

1.40.2

3 years ago

1.21.0

4 years ago

1.40.1

3 years ago

2.0.1

3 years ago

2.0.0

3 years ago

2.0.0-beta.2

4 years ago

1.41.1

3 years ago

1.41.0

3 years ago

1.22.0

4 years ago

1.41.3

3 years ago

2.0.0-beta.4

4 years ago

1.41.2

3 years ago

2.0.0-beta.3

4 years ago

1.41.5

3 years ago

1.22.3

3 years ago

1.41.4

3 years ago

1.22.1

4 years ago

1.22.2

4 years ago

1.20.6

4 years ago

1.20.5

4 years ago

1.20.4

4 years ago

1.20.1

4 years ago

1.20.2

4 years ago

1.20.0

4 years ago

1.20.3

4 years ago

1.18.4

4 years ago

1.19.0

4 years ago

2.0.0-beta.1

4 years ago

2.0.0-beta.0

4 years ago

1.18.3

4 years ago

1.18.2

4 years ago

1.18.1

4 years ago

1.18.0

4 years ago

1.17.1

4 years ago

1.17.0

4 years ago

1.16.3

4 years ago

1.16.2

4 years ago

1.16.1

4 years ago

1.16.0

4 years ago

1.15.0

4 years ago

1.14.2

4 years ago

1.14.1

4 years ago

1.14.0

4 years ago

1.13.4

4 years ago

1.13.3

4 years ago

1.13.2

4 years ago

1.13.1

4 years ago

1.13.0

4 years ago

1.12.2

4 years ago

1.12.1

4 years ago

1.11.2

4 years ago

1.12.0

4 years ago

1.11.1

4 years ago

1.11.0

4 years ago

1.9.3

4 years ago

1.10.0

4 years ago

2.0.0-alpha.7

4 years ago

1.9.2

4 years ago

1.9.1

4 years ago

1.9.0

4 years ago

1.8.0

4 years ago

1.7.3

4 years ago

2.0.0-alpha.6

4 years ago

1.7.2

4 years ago

1.6.0

4 years ago

1.7.1

4 years ago

1.7.0

4 years ago

1.5.1

4 years ago

1.5.0

4 years ago

1.4.0

4 years ago

2.0.0-alpha.5

4 years ago

1.3.1

4 years ago

1.3.0

4 years ago

2.0.0-alpha.4

4 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.0

4 years ago

1.2.1

4 years ago

2.0.0-alpha.3

4 years ago

1.1.12

4 years ago

2.0.0-alpha.1

5 years ago

2.0.0-alpha.2

5 years ago

2.0.0-alpha.0

5 years ago

1.2.0-alpha.5

5 years ago

1.2.0-alpha.4

5 years ago

1.2.0-alpha.3

5 years ago

1.2.0-alpha.2

5 years ago

1.2.0-alpha.1

5 years ago

1.2.0-alpha.0

5 years ago

1.1.11

5 years ago

1.1.10

5 years ago

1.1.9

5 years ago

1.1.8

5 years ago

1.1.7

5 years ago

1.1.6

5 years ago

1.1.5

5 years ago

1.1.4

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.1.0-beta.5

5 years ago

1.1.0-beta.4

5 years ago

1.1.0-beta.2

5 years ago

1.1.0-beta.1

5 years ago

1.1.0-beta.0

5 years ago

1.1.0-beta.3

5 years ago

1.0.13

5 years ago

1.0.12

5 years ago

1.0.11

5 years ago

1.1.0-alpha.14

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.1.0-alpha.13

5 years ago

1.1.0-alpha.12

5 years ago

1.0.8

5 years ago

1.1.0-alpha.11

5 years ago

1.1.0-alpha.10

5 years ago

1.1.0-alpha.9

5 years ago

1.1.0-alpha.8

5 years ago

1.1.0-alpha.7

5 years ago

1.1.0-alpha.6

5 years ago

1.1.0-alpha.5

5 years ago

1.1.0-alpha.4

5 years ago

1.1.0-alpha.3

5 years ago

1.1.0-alpha.1

5 years ago

1.1.0-alpha.2

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.1.0-alpha.0

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

1.0.0-beta.7

5 years ago

1.0.0-beta.6

5 years ago

1.0.0-beta.4

5 years ago

1.0.0-beta.5

5 years ago

1.0.0-beta.2

5 years ago

1.0.0-beta.3

5 years ago

1.0.0-beta.1

5 years ago

1.0.0-beta.0

5 years ago

1.0.0-alpha.0

5 years ago