Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

650 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Web Component Base

Note

This is the main branch tracking v7 work. If you are looking for the published latest source check out v6 branch. The next major version brings an even tinier default with opt-in reactivity, faster templates wit caching, and more.

counter example code snippet

Package information: NPM version Package information: NPM license Package information: NPM downloads Bundle Size

🤷‍♂️ zero-dependency, 🤏 tiny JS base class for creating reactive custom elements easily ✨

When you extend the WebComponent class for your component, you only have to define the template and properties. Any change in any property value will automatically cause just the component UI to render.

The result is a reactive UI on property changes.

Quick start

The fastest way to try wcb is to scaffold a new component:

npm create wcb@latest

Next actions:

  1. Read the docs
  2. View demos with code examples
  3. Play with a demo on CodePen.
  4. Try it on TypeScript playground

Want to get in touch?

There are many ways to get in touch:

  1. Open a GitHub issue or discussion
  2. Submit a ticket on SourceHut todo or via Email

Inspirations and thanks

  1. Sara Rainsberger - I never stop singing praises to the Astro documentation team and I use Sarah's "50 docs tips in 50 days" as a guide in reviewing the documentation for wcb. I do not have a team myself, and do not have the level of excellence Sarah brings to reviewing docs. I often need the assistance and have encodified a docs-review skill for it with permission.
  2. htm - I use it for the html function for tagged templates, and take a lot of inspiration in building the rendering implementation. It is highly likely that I will go for what Preact is doing... but we'll see.
  3. fast - When I found that Microsoft has their own base class I thought it was super cool!
  4. lit - lit-html continues to amaze me and I worked to make wcb generic so I (and others) can continue to use it

Size change log

See size-change-log.md for a running record of how each correctness/feature change affects the WebComponent base class bundle size, with the reason and benefit of each.

Background

This is the base class used for web components in Ayo's projects, primarily cozy-games, mcfly, his personal site, his blog, and others.


Just keep building.
A project by Ayo

About

Web Components in Easy Mode

Topics

Resources

Stars

81 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages