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

https://github.com/balsigergil/bloum

A powerful library of modern web components for your design system.
https://github.com/balsigergil/bloum

a11y component-library components css css-framework dark-mode design-system html javascript typescript ui-components ui-framework ui-library vanilla-javascript wai-aria web-components

Last synced: about 1 month ago
JSON representation

A powerful library of modern web components for your design system.

Awesome Lists containing this project

README

          




Bloum Logo


A powerful library of modern web components






NPM version


Minzipped size


License


Build status


## Table of Contents

- ๐Ÿ“– [Introduction](#what-is-bloum)
- ๐Ÿš€ [Features](#features)
- ๐Ÿ“ฆ [Installation](#installation)
- ๐Ÿ’ป [Usage](#usage)
- ๐Ÿ“‹ [Documentation](#documentation)
- โš–๏ธ [License](#license)

## What is Bloum?

Bloum is an open-source library of web components.
The goal of this library is to provide a set of CSS and JavaScript components
that can be used in any web project, regardless of the framework or library used.
The main use-case for Bloum is to provide easy-to-use components for a project
using MPA (Multi-Page Application) like Laravel, Django or Rails.
It pairs well with server-side rendering and progressive enhancement tools
like [HTMX](https://htmx.org/) and [Alpine.js](https://alpinejs.dev/).

## Features

- ๐Ÿš€ **Feature-rich:** Bloum provides a wide range of components to build modern web apps or design systems.
- ๐Ÿชถ **Lightweight:** Bloum is light. It's less than 30KB minified and gzipped.
- ๐Ÿ” **Accessible:** Built with accessibility in mind. It's fully keyboard-navigable and [WAI-ARIA](https://www.w3.org/WAI/ARIA/apg/) compliant.
- ๐ŸŒ“ **Dark mode:** Supports dark mode out of the box.
- ๐Ÿ“ฑ **Responsive:** Works on all modern browsers and devices.
- ๐Ÿ“ฆ **Single package:** Everything is bundled in a single package for an easy setup.
- ๐ŸŽจ **Theming:** Easy to customize with CSS variables.

[//]: # "- ๐Ÿงช **Tested:** End-to-end tests with [Playwright](https://playwright.dev/) and unit tests with [Vitest](https://vitejs.dev/guide/features.html#testing)."

## Installation

### CDN

Use the following lines in your `head` tag
to load the latest version of Bloum from a CDN:

```html

```

### Package Manager

Install Bloum using your favorite package manager:

```bash
# NPM
npm install bloum

# Yarn
yarn add bloum

# Pnpm
pnpm add bloum

# Bun
bun add bloum
```

## Usage

Once installed, import the library in your project and intialize it:

```js
import { init } from "bloum";
init();
```

This will register all the components globally.

After that, include the stylesheet in your JavaScript
if you're using a bundler like Vite or Webpack:

```js
import "bloum/dist/bloum.min.css";
```

Then, use the components in your HTML.

## Documentation

The documentation is available at [https://www.bloum.dev](https://www.bloum.dev)
for more information on how to use the components.

## License

Bloum is [MIT licensed](./LICENSE) ยฉ [Gil Balsiger](https://github.com/balsigergil)