# sileo is one dependency, one Toaster element, and an opinion about animation

> sileo is a React toast component built around spring physics, installed as a single npm package and mounted once as a Toaster with a position prop. The repository holds the package and the Next.js documentation site together, and the project remains in the 0.1 line.

**hiaaryan/sileo** — An opinionated, physics-based toast component for React.

- Repository: https://github.com/hiaaryan/sileo
- Website: https://sileo.aaryan.design
- Stars: 1,755 · Forks: 90
- Language: TypeScript
- License: not declared
- Published: 2026-10-16 · Updated: 2026-10-16 · Language: en
- Canonical page: https://hysenlabs.com/projects/hiaaryan-sileo

## The entire integration is one element and one prop

The README's getting started section is the whole public API as presented to a new user.

Install it like any other package:

```bash
npm i sileo
```

Then mount a Toaster once, near the root of your application, alongside your app:

```tsx
import { sileo, Toaster } from "sileo";

export default function App() {
  return (
    <>
      <Toaster position="top-right" />
      <YourApp />
    </>
  );
}
```

Two details are worth pausing on. The import pulls two names, sileo and Toaster, which implies a callable for firing a toast alongside the component that renders the queue. And the position prop is given a value in the example, top-right, which implies other positions exist and that placement is a decision you make once rather than per toast.

There is no provider, no configuration object and no theme file in that example. That is the substance of the word opinionated in the project description. You accept the library's defaults in exchange for not wiring anything.

For a library like this, the documentation is the specification, and the README points to sileo.aaryan.design and a docs section on the same site. The API surface beyond Toaster is therefore not readable from the repository.

## Physics is the differentiator and the constraint

The project describes itself as physics-based, and a demo video sits at the top of the README. That word carries a specific engineering meaning: a toast library that springs its entrance rather than playing a fixed keyframe animation.

The practical difference shows up in interruptibility. With a keyframed animation, a toast that is dismissed halfway through has to either finish its animation or snap. With a spring, the element has a position and a velocity, so an interruption resolves from wherever the motion currently is. For a queue that can be added to while an exit is running, that is the difference between a component that feels solid and one that visibly snaps.

It is also a constraint. Physics-based motion is not universally desirable. Reduced motion preferences, a dense dashboard, or an application that already has a motion language from its design system will all argue for something else. The README does not describe a reduced motion option or a way to swap the animation out, so that question belongs on your first evaluation list.

The word opinionated again does work here: you are adopting a motion system along with a toast component, not just a renderer.

## Package and site in one repository, released from GitHub

The README is explicit about the repository structure, which is unusual enough to be worth reading closely.

There are two things in one repository. The packages/sileo directory is the sileo npm package, and the README states it is published on GitHub Release rather than from the registry build pipeline. Alongside it are app, components, lib and public, which make up the Next.js site at sileo.aaryan.design, deployed by Vercel.

The README links the package directory to its GitHub releases.

The site is a normal Next.js application. The root package.json is named sileo-web, is marked private, and declares workspaces over packages/*, so it is the workspace root rather than the published package. It depends on sileo with the workspace protocol, which is how the site builds against the local source of the package it documents.

That arrangement lets the documentation site build against the local package source. It also means the site build fails when the package fails.

## A 0.1 library with a September release after a quiet spring

The release history says more about the state of this project than any marketing language would.

There are three recent releases: v0.1.4 on 2026-02-17, v0.1.5 on 2026-02-22, and v0.1.6 on 2026-10-13. Five days separated the first two, and then eight months passed before the third. The last push to the repository was on 2026-10-14, one day after that release.

So the project is still at 0.1.x, which in semver means no stability guarantee, and its cadence is irregular. That is not a criticism so much as a fact to plan around: a component you depend on for user feedback should be one you can vendor or wrap, because a patch release that changes timing behaviour will not be flagged as a breaking change at this version number.

Maintenance itself is current, which is the more important half of that sentence. The repository is not archived and the newest release is a day old relative to the last push, so whoever maintains it is still working on it.

The licence is the item to check before any of this matters. The repository records no licence identifier, and no LICENSE file appears in the root listing. Without an explicit grant of rights, the default position is that you do not have permission to redistribute the code, which is a weaker position than an MIT or Apache package gives you and worth resolving with the author before you vendor it.

## The site tells you more about the author's stack than about toasts

The documentation site's dependencies are worth a look if you are deciding how closely the two projects are coupled.

The site runs Next.js 16.1.6 with React 19.2.4 and Tailwind 4, uses MDX through @next/mdx with remark-gfm for the documentation content, and pulls in clsx, tailwind-merge and class-variance-authority for class handling. The repository lists class-variance-authority among the site's dependencies.

Icons come from Hugeicons, and two other dependencies are unusual enough to be explained by their names. 

Formatting and linting run through oxfmt rather than Prettier, configured by.oxfmtrc.json at the root, with eslint.config.mjs alongside it for linting. Bun is the package manager, with bun.lock committed and bun install plus bun run dev as the documented commands for either the site or the package, each installed separately in its own directory.

None of this is required to use the library. It is useful context if you want to contribute,.

## Conclusion

sileo is a reasonable choice for a React application that wants a single animated toast surface with no configuration file and no provider tree, and it is a poor fit for a team that needs to control animation curves, accessible announcements or dismissal behaviour, because the project describes itself as opinionated and its documentation is built in the same repository. Before adopting it, read the docs site for the option surface, and check the licence yourself, since the repository records none.

## FAQ

### How do I install and use sileo?

Run npm i sileo, then mount a Toaster once in your app with a position prop such as top-right. The import pulls both sileo and Toaster from the package.

### What does physics-based mean for a sileo toast?

The project describes itself as a physics-based toast component for React, with a demo video at the top of the README. The README does not document a reduced motion option or a way to replace the animation.

### How is the sileo package published?

The README states that the npm package in packages/sileo is published on GitHub Release, while the Next.js documentation site is deployed by Vercel.

### Where is the sileo documentation?

On a separate site at sileo.aaryan.design with a docs section, built from the app, components and lib directories in the same repository as the package.

### What license does sileo use?

The repository records no licence identifier and no LICENSE file appears at its root, so the terms are not stated. Confirm the licensing with the author before redistributing the code.

## Sources

- [hiaaryan/sileo on GitHub](https://github.com/hiaaryan/sileo)
- [Issues](https://github.com/hiaaryan/sileo/issues)
- [Project website](https://sileo.aaryan.design)
- [README](https://github.com/hiaaryan/sileo/blob/main/README.md)
- [Releases](https://github.com/hiaaryan/sileo/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/hiaaryan-sileo
