npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

svelte-transition

v0.0.17

Published

Svelte component to transition elements via CSS classes

Downloads

7,971

Readme

svelte-transition

Svelte component to make using CSS class based transitions easier - ideally suited for use with TailwindCSS

Loosely modeled on the HeadlessUI Transition.

About 3Kb / 1.5Kb gzipped

Installation

Install using your package manager of choice:

pnpm i svelte-transition

Usage

Import into your component and use a flag to control whether to show or hide an HTML Element.

import Transition from 'svelte-transition'

let show = false

Wrap the HTML Element with the <Transition> component, setting the flag to toggle visibility and the classes to apply when transitioning:

<Transition
	{show}
	enter="ease-in-out duration-300"
	enterFrom="opacity-0"
	enterTo="opacity-100"
	leave="ease-in-out duration-300"
	leaveFrom="opacity-100"
	leaveTo="opacity-0"
></Transition>

Shortcut

If the leave transition is the opposite of the enter transition it can be omitted to save bytes. This is identical to the previous example:

<Transition {show} enter="ease-in-out duration-300" enterFrom="opacity-0" enterTo="opacity-100"></Transition>

i.e. leave will equal enter, leaveFrom will equal enterTo, and leaveTo will equal enterFrom unless you override them.

Appear

Set appear to have the transition play on initial mount.

Default false.

Unmount

Set unmount to have the transitioned element removed from the DOM when not shown (instead of just hidden).

Default false.

Co-ordinating Transitions

If the show property is ommitted then the transition is treated as a child and will receive it's state from it's parent. The parent will automatically wait for it's children to finish transitioning before they are unmounted or hidden, so the animations can complete.

Events

The component raises events to indicate when any transition is running:

  • before-enter runs before the enter transition happens
  • after-enter runs after the enter transition happens
  • before-leave runs before the leave transition happens
  • after-leave runs after the leave transition happens

TailwindUI

If you're converting from TailwindUI markup, you can use this handy converter to convert the comments into <Transition> markup and classes.