Skip to content

fuzdev/fuz_ui

Repository files navigation

Fuz

a friendly brown spider facing you

friendly user zystem 🧶 fuz.dev

Fuz UI is a Svelte UI library with components and helpers for making modern websites. It's in early alpha and it will go through many breaking changes.

Fuz UI is being made to support my other projects that focus on end-users. Fuz emphasizes capability and efficiency and tries to be simple for those goals. Compared to most UI libraries, Fuz has fewer conventional features and more opinions.

To learn more see the docs and contributing.md. Feel free to take the ideas and code for your own purposes.

The Svelte components and helpers:

  • builds on Fuz CSS
  • plain CSS and minimal abstraction
  • near-zero dependencies except for Svelte, SvelteKit, Fuz CSS, and my utility library @fuzdev/fuz_util (not all components require SvelteKit but some do import its modules, needs more consideration)
  • not a fully-featured enterprise-ready set of components, it's being developed for the needs of specific projects, though eventually it will fill out
  • should be easy to copy/paste into your projects when you need full control like shadcn-svelte, I'll look into smoothing this pattern out in the future

Usage

⚠️ Expect a lot of breaking changes. If you want to help stabilize the API, thank you see contributing.md, your input is appreciated.

If you feel comfortable looking at the source code, Fuz UI is ready to use in your own projects, with the major caveat that there will be a lot of breaking changes ahead. The code is significantly incomplete but I think it's stable enough to use if you're willing to keep up with the relatively fast-moving changelog.

npm i -D @fuzdev/fuz_ui

Fuz uses my style framework Fuz CSS. Import modules at their full paths:

// Fuz CSS has one main plain CSS stylesheet:
import '@fuzdev/fuz_css/style.css';

// and import a Fuz CSS theme:
import '@fuzdev/fuz_css/theme.css'; // or bring your own

// using Gro generates Fuz CSS' utility classes stylesheet by default:
import '$routes/fuz.css';

// then import Fuz Svelte components:
import Themed from '@fuzdev/fuz_ui/Themed.svelte';

// and Fuz TypeScript modules:
import {type Theme, themer_context} from '@fuzdev/fuz_ui/themer.svelte.js';

See the library for more.

Contributing

See contributing.md.

Develop

npm i # node >=20.10

# development
npm run dev

# production
npm run build
npm start

Fuz uses Gro, my CLI and toolkit that I use to run tasks in all of my projects. If you're not allergic it's handy to install globally.

License 🐦

MIT

About

Svelte UI library 🧶 friendly user zystem

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

  •