Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tsparticles/preact
Preact.js tsParticles official component
https://github.com/tsparticles/preact
hacktoberfest javascript preact tsparticles typescript
Last synced: 3 months ago
JSON representation
Preact.js tsParticles official component
- Host: GitHub
- URL: https://github.com/tsparticles/preact
- Owner: tsparticles
- License: mit
- Created: 2022-11-11T00:30:12.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-10T14:20:18.000Z (4 months ago)
- Last Synced: 2024-10-01T14:53:00.147Z (4 months ago)
- Topics: hacktoberfest, javascript, preact, tsparticles, typescript
- Language: JavaScript
- Homepage:
- Size: 619 KB
- Stars: 7
- Watchers: 3
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[![banner](https://particles.js.org/images/banner3.png)](https://particles.js.org)
# @tsparticles/preact
[![npm](https://img.shields.io/npm/v/@tsparticles/preact)](https://www.npmjs.com/package/@tsparticles/preact) [![npm](https://img.shields.io/npm/dm/@tsparticles/preact)](https://www.npmjs.com/package/@tsparticles/preact) [![GitHub Sponsors](https://img.shields.io/github/sponsors/matteobruni)](https://github.com/sponsors/matteobruni)
Official [tsParticles](https://github.com/matteobruni/tsparticles) Preact component
[![Slack](https://particles.js.org/images/slack.png)](https://join.slack.com/t/tsparticles/shared_invite/enQtOTcxNTQxNjQ4NzkxLWE2MTZhZWExMWRmOWI5MTMxNjczOGE1Yjk0MjViYjdkYTUzODM3OTc5MGQ5MjFlODc4MzE0N2Q1OWQxZDc1YzI) [![Discord](https://particles.js.org/images/discord.png)](https://discord.gg/hACwv45Hme) [![Telegram](https://particles.js.org/images/telegram.png)](https://t.me/tsparticles)
[![tsParticles Product Hunt](https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=186113&theme=light)](https://www.producthunt.com/posts/tsparticles?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-tsparticles")
## Installation
```shell
npm install @tsparticles/preact
```or
```shell
yarn add @tsparticles/preact
```## How to use
### Code
Examples:
_Remote url_
```javascript
import Particles, { initParticlesEngine } from "@tsparticles/preact";
import { loadFull } from "tsparticles";class App extends Component {
state = {
particlesInitialized: false,
};constructor(props) {
super(props);this.particlesLoaded = this.particlesLoaded.bind(this);
initParticlesEngine(async engine => {
// you can initialize the tsParticles instance (main) here, adding custom shapes or presets
// 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(engine);
}).then(() => {
this.setState({
particlesInitialized: true,
});
});
}particlesLoaded(container) {
console.log(container);
}render() {
if (!this.state.particlesInitialized) {
return null;
}return (
);
}
}
```_Options object_
```javascript
import Particles from "@tsparticles/preact";
import { loadFull } from "tsparticles";class App extends Component {
state = {
particlesInitialized: false,
};constructor(props) {
super(props);this.particlesLoaded = this.particlesLoaded.bind(this);
initParticlesEngine(async engine => {
// you can initialize the tsParticles instance (main) here, adding custom shapes or presets
// 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(engine);
}).then(() => {
this.setState({
particlesInitialized: true,
});
});
}particlesLoaded(container) {
console.log(container);
}render() {
if (!this.state.particlesInitialized) {
return null;
}return (
);
}
}
```### Props
| Prop | Type | Definition |
| --------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| id | string | The id of the element. |
| width | string | The width of the canvas. |
| height | string | The height of the canvas. |
| options | object | The options of the particles instance. |
| url | string | The remote options url, called using an AJAX request |
| style | object | The style of the canvas element. |
| className | string | The class name of the canvas wrapper. |
| canvasClassName | string | the class name of the canvas. |
| container | object | The instance of the [particles container](https://particles.js.org/docs/modules/Core_Container.html) |
| particlesLoaded | function | This function is called when particles are correctly loaded in canvas, the current container is the parameter and you can customize it here |Find your parameters configuration [here](https://particles.js.org).
## 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)