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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@khwarizmi/svelte-ui

v0.1.7

Published

Koleksi komponen UI Svelte 5 + Tailwind CSS v4 dengan gaya "pressable" — border tebal, box-shadow berwarna sebagai alas, dan efek tekan dua tahap. Dua cara pakai: CLI yang menyalin source code ke project kamu (bebas diubah), atau library npm biasa yang

Readme

Khwarizmi UI

Koleksi komponen UI Svelte 5 + Tailwind CSS v4 dengan gaya "pressable" — border tebal, box-shadow berwarna sebagai alas, dan efek tekan dua tahap. Dua cara pakai: CLI yang menyalin source code ke project kamu (bebas diubah), atau library npm biasa yang tinggal di-import.

Situs dokumentasi & preview: https://ui.khwarizmi.co.id

Struktur repo

src/               Situs dokumentasi (SvelteKit) sekaligus sumber komponen
  lib/components/ui/     Source semua komponen (.svelte) — source of truth
  lib/registry.ts         Metadata tiap komponen: deskripsi, contoh, props
  routes/r/[name].json/   Endpoint registry yang dibaca CLI (format shadcn registry)
cli/               Paket npm `@khwarizmi/cli`, CLI buat instalasi komponen
packages/svelte-ui/  Paket npm `@khwarizmi/svelte-ui`, library import biasa
                      (di-build dari src/lib/components/ui/ lewat svelte-package)

Pakai di project kamu

Prasyarat: Svelte 5 (runes) dan Tailwind CSS v4.

Opsi 1 — CLI (salin kode ke project)

# pasang semua komponen
npx @khwarizmi/cli@latest add --all

# atau pilih yang perlu saja
npx @khwarizmi/cli add button card input

# lihat semua yang tersedia
npx @khwarizmi/cli list

File-nya mendarat di src/lib/components/khwarizmi-ui/ di project kamu. Dependency eksternal seperti lucide-svelte dipasang otomatis bila komponen yang dipilih membutuhkannya.

Opsi 2 — npm install (library biasa)

npm install @khwarizmi/svelte-ui lucide-svelte
<script lang="ts">
  import { Button, Card } from '@khwarizmi/svelte-ui';
</script>

Tidak ada kode yang mendarat di project kamu; update lewat versi package seperti library pada umumnya. Detail lengkap ada di packages/svelte-ui/README.md.

Warna primary

Stylesheet komponen membuat seluruh aksen utama dari dua variabel. Timpa nilainya setelah import:

@import '@khwarizmi/svelte-ui/styles.css';

:root {
  --primary: var(--color-green-400);
  --primary-shade: var(--color-green-600);
}

CLI menambahkan stylesheet tersebut otomatis. Warna status dan tone="orange" tetap independen.

Pengembangan situs ini

npm install
npm run dev       # jalankan situs dokumentasi di localhost:5173
npm run check     # type-check (svelte-check)
npm run build     # build statis ke ./build
npm run deploy    # build + wrangler deploy

Menambah komponen baru

  1. Buat file komponen di src/lib/components/ui/, mengikuti gaya visual dan pola props komponen yang sudah ada (lihat Button.svelte, Select.svelte untuk referensi pola umum).
  2. Daftarkan di src/lib/registry.ts: import source-nya lewat ?raw, lalu tambahkan RegistryEntry (slug, deskripsi, usage, examples, props).
  3. Tambahkan preview-nya di src/lib/components/gallery/Demos.svelte.

Halaman dokumentasi (/components/<slug>), sidebar navigasi, dan endpoint /r/<slug>.json yang dipakai CLI semuanya digerakkan otomatis dari isi registry.ts — tidak perlu bikin route baru.

packages/svelte-ui (paket @khwarizmi/svelte-ui) juga ambil source dari folder yang sama (src/lib/components/ui/), jadi komponen baru otomatis ikut ke situ di build berikutnya — tidak perlu langkah tambahan, tapi package itu perlu di-npm publish ulang secara manual kalau kamu mau rilis versi barunya ke npm.