ankurrsinghal/svelte-legos

[NOT MAINTAINING ANYMORE] A framework for Svelte Utilities πŸ’‘ Current status: 87 utilities.

TypeScript

800

251 commits

updated Aug 12, 2025

See the code

README

Svelte Legos

Collection of essential Svelte Composition Utilities

πŸš€ Features

  • πŸŽͺ Interactive docs & demos
  • ⚑ Fully tree shakeable: Only take what you want, [bundle size]
  • 🦾 Type Strong: Written in TypeScript, with TS Docs
  • πŸ”‹ SSR Friendly
  • 🌎 No bundler required: Usable via CDN
  • πŸ”© Flexible: Configurable event filters and targets

πŸ¦„ Usage

<script lang="ts">
import { counterStore } from "svelte-legos";

const { counter, inc, dec, set, reset } = counterStore();
</script>

<button on:click={() => inc()}>Increment</button>

{counter}

<button on:click={() => dec()}>Decrement</button>
<script lang="ts">
import { clickOutsideAction } from "svelte-legos";

let hidden = false;

function handleClickOutside() {
	hidden = !hidden;
}
</script>

<div class="modal" use:clickOutsideAction on:clickoutside={handleClickOutside} />

Refer to functions list or documentations for more details.

πŸ“¦ Install

npm i svelte-legos

Local setup

npm run start:dev

🌸 Thanks

This project is heavily inspired by the following awesome projects.

License

MIT

svelte
svelte3
svelte-components
sveltejs
sveltekit
typescript

ankurrsinghal/svelte-legos

[NOT MAINTAINING ANYMORE] A framework for Svelte Utilities πŸ’‘ Current status: 87 utilities.

TypeScript

800

251 commits

updated Aug 12, 2025

See the code

README

Svelte Legos

Collection of essential Svelte Composition Utilities

πŸš€ Features

  • πŸŽͺ Interactive docs & demos
  • ⚑ Fully tree shakeable: Only take what you want, [bundle size]
  • 🦾 Type Strong: Written in TypeScript, with TS Docs
  • πŸ”‹ SSR Friendly
  • 🌎 No bundler required: Usable via CDN
  • πŸ”© Flexible: Configurable event filters and targets

πŸ¦„ Usage

<script lang="ts">
import { counterStore } from "svelte-legos";

const { counter, inc, dec, set, reset } = counterStore();
</script>

<button on:click={() => inc()}>Increment</button>

{counter}

<button on:click={() => dec()}>Decrement</button>
<script lang="ts">
import { clickOutsideAction } from "svelte-legos";

let hidden = false;

function handleClickOutside() {
	hidden = !hidden;
}
</script>

<div class="modal" use:clickOutsideAction on:clickoutside={handleClickOutside} />

Refer to functions list or documentations for more details.

πŸ“¦ Install

npm i svelte-legos

Local setup

npm run start:dev

🌸 Thanks

This project is heavily inspired by the following awesome projects.

License

MIT

svelte
svelte3
svelte-components
sveltejs
sveltekit
typescript

Project health

Latest release

0.2.5 Β· Aug 25, 2024

Releases this year

0

Significant stargazers

jyc.dev

151 followers Β· starred Mar 2023

Puru Vijay

995 followers Β· starred Apr 2023

Christian Winther

299 followers Β· starred Jul 2023

CokaKoala

135 followers Β· starred Jun 2023