Home

Awesome

This project has reached the end of its development. Feel free to browse the code.

<p align="center"> <img src="https://raw.githubusercontent.com/andreasbm/elements/master/assets/brand/logo-text-dark.png" alt="Logo" width="400" height="auto" /> </p> <p align="center"> <a href="https://npmcharts.com/compare/weightless?minimal=true"><img alt="Downloads per month" src="https://img.shields.io/npm/dm/weightless.svg" height="20"/></a> <a href="https://www.npmjs.com/package/weightless"><img alt="NPM Version" src="https://img.shields.io/npm/v/weightless.svg" height="20"/></a> <a href="https://david-dm.org/andreasbm/weightless"><img alt="Dependencies" src="https://img.shields.io/david/andreasbm/weightless.svg" height="20"/></a> <a href="https://github.com/andreasbm/weightless/graphs/contributors"><img alt="Contributors" src="https://img.shields.io/github/contributors/andreasbm/weightless.svg" height="20"/></a> <a href="https://www.webcomponents.org/element/weightless"><img alt="Published on webcomponents.org" src="https://img.shields.io/badge/webcomponents.org-published-blue.svg" height="20"/></a> </p> <p align="center"> <b>High-quality Web Components with a small footprint</b></br> <sub>Thank you so much for showing interest in this project! If you want to help us feed our Octocat you should definitely become a <a href='https://github.com/andreasbm/weightless/stargazers' target='_blank'>stargazer</a>. These web components are built to be used. They are lightweight, have a simple API and are easy to extend and compose. Go here to see a demo <a href="https://weightless.dev/elements">https://weightless.dev/elements</a>.<sub> </p> <br />

-----------------------------------------------------

➤ Table of Contents

-----------------------------------------------------

➤ Demo

Go here to try the demo.

-----------------------------------------------------

➤ Installation

$ npm i weightless

If you want to get started super quickly you can use the CLI.

$ npm init web-config new my-project --lit

If you prefer to use the umd bundle you can import https://unpkg.com/weightless/umd/weightless.min.js. Keep in mind that this imports all elements, so it is recommended that you only use it for test purposes.

<script src="https://unpkg.com/weightless/umd/weightless.min.js"></script>

-----------------------------------------------------

➤ Elements

NameTagDescriptionDocumentationDemo
Backdropwl-backdropDark layer to use behind overlayed elements.DocumentationDemo
Bannerwl-bannerDisplay a non-interruptive message and related optional actions.DocumentationDemo
Buttonwl-buttonAllow users to take actions, and make choices, with a single tap.DocumentationDemo
Cardwl-cardGroup related content and action.DocumentationDemo
Checkboxwl-checkboxTurn an option on or off.DocumentationDemo
Dialogwl-dialogHighly interruptive messages.DocumentationDemo
Dividerwl-dividerThin line that groups content in lists and layouts.DocumentationDemo
Expansionwl-expansionProvide an expandable details-summary view.DocumentationDemo
Iconwl-iconSymbols for common actions and items.DocumentationDemo
Labelwl-labelMake form elements more accessible.DocumentationDemo
List Itemwl-list-itemDisplay an item in a list.DocumentationDemo
Navwl-navProvide access to destinations in your app.DocumentationDemo
Popoverwl-popoverContextual anchored elementsDocumentationDemo
Popover Cardwl-popover-cardGive popovers a contextual flair.DocumentationDemo
Progress Barwl-progress-barFills a bar from 0% to 100%.DocumentationDemo
Progress Spinnerwl-progress-spinnerFills a circle from 0% to 100%.DocumentationDemo
Radiowl-radioSelect one option from a set.DocumentationDemo
Ripplewl-rippleIndicate touch actions.DocumentationDemo
Selectwl-selectSelect one or more values from a set of options.DocumentationDemo
Sliderwl-sliderMake selections from a range of values.DocumentationDemo
Snackbarwl-snackbarProvide brief messages at the bottom of the screen.DocumentationDemo
Switchwl-switchTurn an option on or off.DocumentationDemo
Tabwl-tabOrganize navigation between groups of content.DocumentationDemo
Tab Groupwl-tab-groupOrganize navigation between groups of content.DocumentationDemo
Textwl-textGroup text into paragraphs.DocumentationDemo
Textareawl-textareaMultiline text fields.DocumentationDemo
Textfieldwl-textfieldSingleline text fields.DocumentationDemo
Titlewl-titleIndicate the start of a new section.DocumentationDemo
Tooltipwl-tooltipInformative context related text.DocumentationDemo

-----------------------------------------------------

➤ Roadmap

There's lots of exciting things on the roadmap. Until v1.0.0 you can expect the API to be fairly stable but refactoring might still happen and break the backwards compatibility. You are very welcome to use the library, create pull requests or add issues.

-----------------------------------------------------

➤ Contributing guide

You are more than welcome to contribute to this repository! Below are some instructions on how to setup the project for development.

  1. Clone this repository by running git clone https://github.com/andreasbm/weightless.git.
  2. Run npm i to install all dependencies.
  3. Spin up the development server with npm run s. The browser should automatically be opened at the correct url. If not, you can open your browser and go to http://localhost:1350.
  4. Run tests with npm run test.
  5. Lint the files with npm run lint.
  6. Compile the documentation by running npm run docs.

The elements are written in Typescript and the stylesheets are written in SASS. All of the web components uses lit-element.

If you want to know more about how you can help you should definitely check out the CONTRIBUTING.md file. All contributors will be added to the contributors section below.

-----------------------------------------------------

➤ Contributors

<img alt="Andreas Mehlsen" src="https://avatars1.githubusercontent.com/u/6267397?s=460&v=4" width="100"><img alt="You?" src="https://joeschmoe.io/api/v1/random" width="100">
Andreas MehlsenYou?

-----------------------------------------------------

➤ License

Licensed under MIT.