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

https://github.com/waggylabs/yumekit

Web Component UI Kit
https://github.com/waggylabs/yumekit

ui-components uikit web-components

Last synced: about 2 months ago
JSON representation

Web Component UI Kit

Awesome Lists containing this project

README

          


Yumekit Logo

Yumekit


A modern, themeable Web Components UI kit — no framework required.


npm version
license

---

## Overview

YumeKit is a collection of 35 production-ready custom elements built with native Web Components. It works with any framework — or none at all — and ships with a comprehensive design token system, built-in theming, an icon registry, and full TypeScript support.

- **Zero dependencies** — built entirely on web standards
- **Framework-agnostic** — works with React, Vue, Svelte, or plain HTML
- **Themeable** — 22 built-in themes plus support for fully custom themes
- **Accessible** — ARIA-compliant, keyboard navigable, form-associated inputs
- **Tree-shakeable** — import only the components you use

---

## Installation

```bash
npm install @waggylabs/yumekit
```

---

## Usage

### Via CDN (script tag)

The IIFE bundle includes all components and icons. Drop it into any HTML page:

```html

Click me
```

### Via ESM (recommended)

Import the full library or individual components for tree-shaking:

```js
// Full library
import "@waggylabs/yumekit";

// Individual components
import "@waggylabs/yumekit/components/y-theme";
import "@waggylabs/yumekit/components/y-button";
import "@waggylabs/yumekit/components/y-input";
```

Then use the `` component to apply a theme:

```html

```

---

## Components

| Component | Element | Description |
| ------------ | ------------------ | --------------------------------------------------- |
| App Bar | `` | Top or side navigation bar |
| Avatar | `` | User avatar with shape and color variants |
| Badge | `` | Status badge or label |
| Breadcrumbs | `` | Navigation breadcrumb trail with collapse support |
| Button | `` | Button with icon, size, and style variants |
| Button Group | `` | Groups buttons (or inputs) into a connected toolbar |
| Card | `` | Content card container |
| Checkbox | `` | Form checkbox input |
| Date | `` | Date input |
| DatePicker | `` | A date and time picker |
| Dialog | `` | Modal dialog |
| Dock | `` | Fixed navigation dock |
| Drawer | `` | Side drawer / sidebar |
| Gallery | `` | Media gallery with lightbox |
| Icon | `` | SVG icon display |
| Input | `` | Text input field |
| Menu | `` | Dropdown navigation menu |
| Panel | `` | Accordion panel |
| Panel Bar | `` | Accordion panel group |
| Progress | `` | Progress bar |
| Radio | `` | Radio button input |
| Rating | `` | Star / icon rating input |
| Select | `` | Select / dropdown input |
| Slider | `` | Range slider input |
| Stack | `` | Layout container (row, column, grid, masonry) |
| Stepper | `` | Multi-step wizard with sequential flow |
| Switch | `` | Toggle switch |
| Table | `` | Sortable data table |
| Textarea | `` | Multi-line text input |
| Tabs | `` | Tabbed interface |
| Tag | `` | Tag / chip label |
| Theme | `` | Theme provider |
| Toast | `` | Notification toast |
| Tooltip | `` | Tooltip / popover |

---

## TypeScript

Type definitions are included. React-specific type augmentations are available at `@waggylabs/yumekit/react`.

```ts
import "@waggylabs/yumekit";
```

---

## License

MIT © [WaggyLabs](https://github.com/waggylabs)