Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/perfect-things/ui

Perfect UI components
https://github.com/perfect-things/ui

components svelte ui-components

Last synced: about 2 months ago
JSON representation

Perfect UI components

Awesome Lists containing this project

README

        

PerfectThings/UI
================

A set of simple, but perfect, UI components, written in Svelte (the only front-end framework worth learning).

[![Tests](https://github.com/perfect-things/ui/actions/workflows/node.js.yml/badge.svg)](https://github.com/perfect-things/ui/actions/workflows/node.js.yml)

### Github pages site with docs
https://ui.perfectthings.dev

![Screenshot](screen.png)

## Install & Setup

### Firstly, install the module as a dev dependency:
```sh
npm i -D @perfectthings/ui
```

### Importing the CSS
You need to import the `docs/ui.css` into your bundle.
There are many ways to do that. I specifically didn't use any css-to-js imports as these restrict the tools & the setup you may want to have.

The easiest way is probably to add a `postinstall` script into your `package.json` that will just copy the file into your `dist` folder:
```sh
...
"postinstall": "cp node_modules/@perfectthings/ui/docs/ui.css ./dist/ui.css"
...
```
From there - you can just add it directly to the `index.html`.

### Svelte components
Just `import` them from the module, as normal:
```js
import { Button } from '@perfectthings/ui';
```

## Usage with SvelteKit

Available from **v6.4.0.**.

### 1. Configs
Because this is a purely front-end framework and requires browser to work, it will not work with SSR so you need to disable it. Create a file: `src/routes/+layout.js` and add this:
```js
export const ssr = false;
```

### 2. CSS
If you're using SvelteKit, you need to add the `ui.css` file to the `static` folder, and then either import it into your `global.css` file or add it to the `head` section of your `app.html` file:
```html

...

```

### 3. Svelte components
Once that's done, you can import the components as normal.

## Development

You need node & npm (obviously). Run these:
```sh
git clone [email protected]:perfect-things/ui.git perfectthings-ui
cd perfectthings-ui
npm i && npm start
```
A browser window should open with the demo of the components.

## Resources

- [Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/components/) from Apple
- Icons from [Tabler Icons](https://tablericons.com)
- *Prime Light* font from [Fontfabric](www.fontfabric.com)

## Support

Donate with PayPal Buy Me A Coffee Donate using Liberapay