Awesome Lit
      
    
    
      A curated list of awesome Lit resources.
    
    
      Lit — a simple library
      for building fast, lightweight web components.
    
    
      At its core is a boilerplate-killing component base class that provides
      reactive state, scoped styles, and a declarative template system that
      leads the pack in size, speed, and expressiveness.
    
    Contents
    
    General resources
    
    
    
    Overview
    
    Implementations
    Sorted by creation date (oldest first).
    
      - 
        lit-element -
        Simple base class for creating fast, lightweight Web Components.
      
 
      - 
        [@gluon/gluon](https://www.npmjs.com/package/@gluon/gluon) - Lightweight library for building Web Components and applications.
      
 
      - 
        [@lit-any/core](https://github.com/hypermedia-app/lit-any-core) - Partials library,
        which uses lit-html to compose views and forms from smaller templates.
      
 
      - 
        lit-html-element
        - Base class for creating Web Components using lit-html.
      
 
      - 
        fit-html -
        Combination of lit-html, Web Components and Redux.
      
 
      - 
        lit-html-brackets
        - A lit-html extension that uses a bracket syntax similar to Angular’s
        template syntax.
      
 
      - 
        [@littleq/element-lite](https://www.npmjs.com/package/@littleq/element-lite) - A take on using lit-html and Polymer’s property mixin.
      
 
      - 
        [@popeindustries/lit-html-server](https://www.npmjs.com/package/@popeindustries/lit-html-server) - Render lit-html templates on the server as Node.js streams.
      
 
      - 
        ullr - Building Web
        Components with Functional Programming Using lit-html.
      
 
      - 
        ce-decorators
        - TypeScript library for building Web Components based on decorators
        proposal and lit-html.
      
 
      - 
        [@appnest/lit-translate](https://www.npmjs.com/package/@appnest/lit-translate) - Lightweight i18n library providing a lit-html directive.
      
 
      - 
        haunted - React’s
        Hooks API but for standard web components and hyperHTML or lit-html.
      
 
      - 
        fuco - Functional
        component like React, but for Web Components.
      
 
      - 
        lit-up - Minimal yet
        scalable state pattern for reactive web apps with lit-html templates
      
 
      - 
        lit-app - Isomorphic
        lit-html based context for front-end apps, server-side rendering and
        static sites
      
 
      - 
        perlite - Declarative
        way to create rich client-side widgets designed with server-side apps in
        mind.
      
 
    
    Renderers
    
      The following libraries allow using lit-html as a renderer, while also
      providing alternatives such as
      HyperHTML or JSX.
    
    
      - 
        [@corpuscule/lit-html-renderer](https://www.npmjs.com/package/@corpuscule/lit-html-renderer) - lit-html based renderer for
        Corpuscule.
      
 
      - 
        [@helikopter/render-lit-html](https://www.npmjs.com/package/@helikopter/render-lit-html) - lit-html based renderer for
        Helicopter.
      
 
      - 
        [@moleculejs/molecule-lit](https://www.npmjs.com/package/@moleculejs/molecule-lit) - lit-html based renderer for
        Molecule.
      
 
      - 
        [@skatejs/element-lit-html](https://www.npmjs.com/package/@skatejs/element-lit-html) - lit-html based renderer for
        SkateJS.
      
 
      - 
        icomponent-lit
        - lit-html based renderer for
        icomponent.
      
 
    
    LitElement Extensions
    
      These are not implementations of lit-html itself but rather community
      extensions of the official LitElement base class.
    
    
      - 
        [@adobe/lit-mobx](https://www.npmjs.com/package/@adobe/lit-mobx) - Mixin and base class for using mobx with LitElement.
      
 
      - 
        [@apollo-elements/lit-apollo](https://www.npmjs.com/package/@apollo-elements/lit-apollo) - LitElement integrations with Apollo GraphQL.
      
 
      - 
        [@collaborne/lit-flexbox-literals](https://www.npmjs.com/package/@collaborne/lit-flexbox-literals) - Provides LitElement CSS literals & classes ported from
        [@polymer/iron-flex-layout](https://github.com/PolymerElements/iron-flex-layout).
      
 
      - 
        [@morbidick/lit-element-notify](https://www.npmjs.com/package/@morbidick/lit-element-notify) - Small mixin for LitElement to get easy change events via the
        properties getter.
      
 
      - 
        fluent-localize-mixin
        - LitElement extension that provides easy l10n out of the box.
      
 
      - 
        haunted-lit-element
        - A missing connection between
        Haunted and
        LitElement.
      
 
      - 
        lit-robot -
        LitElement integration with Robot.
      
 
      - 
        lit-element-state
        - Simple shared app state management for LitElement.
      
 
      - 
        nextbone - Backbone
        re-imagined with ES classes and decorators for using with LitElement.
      
 
      - 
        wc-context - A
        context implementation for web components with LitElement integration.
      
 
      - 
        lit-element-state-decoupler
        - Utility for state handling outside of the component for LitElement.
      
 
    
    Other
    
      - 
        [@feature-hub/dom](https://www.npmjs.com/package/@feature-hub/dom) - Library for building a
        Feature Hub
        integrator using Web Components.
      
 
    
    Components
    Component Libraries
    
    Individual Components
    
      - 
        
<api-viewer>
        - API documentation and live playground for Web Components.
       
      - 
        
<app-datepicker>
        - Datepicker element built with LitElement and Material Design 2.
       
      - 
        
<burgton-button>
        - Simple to use, customizable and accessible burger-button element.
       
      - 
        
<code-block>
        - Web component that displays colorfully formatted code with Prism.js
        and LitElement.
       
      - 
        
<codesandbox-button>
        - Custom Element that shows a CodeSandbox demo when you click on it.
       
      - 
        
<dile-modal>
        - Web Component to implement a modal box, based on LitElement.
       
      - 
        
<erd-editor>
        - ERD Editor element database modeling tool built with LitElement
       
      - 
        
<granite-qrcode-generator>
        - Custom element to generate and render QR Codes, using qr.js library.
       
      - 
        
<lit-datatable>
        - Material Design implementation of a data table, powered by LitElement.
       
      - 
        
<lottie-player>
        - Web Component for easily embedding and playing Lottie animations.
       
      - 
        
<model-viewer>
        - A web component for rendering interactive 3D models.
       
      - 
        
<rapi-doc>
        - Web Component to view OpenAPI 3.0 & Swagger 2.0 Spec.
       
      - 
        
<stl-part-viewer>
        - LitElement web component that utilizes Three.js to display an STL
        model file.
       
    
    Starter Templates
    
      - 
        open-wc-starter-app
        - Starter app based on Open Web Components Recommendations.
      
 
      - 
        generator-lit-element-next
        - Generator for developing your next custom element with latest
        LitElement in TypeScript.
      
 
      - 
        pwa-starter -
        LitElement edition of the PWABuilder pwa-starter.
      
 
      - 
        [@rxdi/starter-client-lit-html](https://github.com/rxdi/starter-client-side-lit-html) - Client side
        application build with 
@rxdi, lit-html, GraphQL, dependency
        injection.
       
    
    IDE Plugins
    
    TypeScript Plugins
    
      - 
        ts-lit-plugin
        - Plugin that adds type checking and code completion for lit-html. Used
        by 
vscode-lit-plugin.
       
      - 
        typescript-lit-html-plugin
        - TypeScript server plugin that adds IntelliSense for lit-html. Used by
        
vscode-lit-html.
       
    
    
    
    CDN
    
      The following content delivery networks provide ES module versions of
      lit-html and LitElement:
    
    
    Note on using CDN
    
      - 
        lit-html directives
        might not work
        with LitElement when using Pika CDN.
      
 
      - 
        See
        this issue
        where the static build for CDN distribution is discussed.
      
 
    
    Static Site Generators
    
      - 
        Greenwood -
        Modern and performant static site generator supporting Web Components
        based development.
      
 
      - 
        Hydrogen -
        Static-site generator built with TypeScript, which uses templating
        inspired by lit-html.
      
 
    
    Examples
    
    Videos
    
    Podcasts
    
    Blogs
    
      - 
        A gentle introduction to lit-html
      
 
      - 
        lit-html templates from zero to hero
      
 
      - 
        lit-html Part 1 - A solution for DOM management in web components
      
 
      - 
        lit-html Part 2 - Working with attributes and properties
      
 
      - 
        Getting started with LitElement and TypeScript
      
 
      - 
        Routing Management with LitElement and TypeScript
      
 
      - 
        Navigation Lifecycle using Vaadin Router, LitElement and
          TypeScript
      
 
      - 
        Recreating The Arduino Pushbutton Using SVG And
          <lit-element>
      
 
      - 
        Building a chat with Twilio, lit-html, Parcel and TypeScript
      
 
      - 
        Making a fullstack CRUD app with LitHTML, Redux, Express, and
          Webpack
      
 
      - 
        The future of Polymer & lit-html
      
 
      - 
        A night experimenting with Lit-HTML
      
 
      - 
        LitElement To Do App
      
 
      - 
        A new, lean way of creating web apps
      
 
      - 
        LitElement with Rollup, Babel & Karma
      
 
      - 
        Let’s Build Web Components! Part 5: LitElement
      
 
      - 
        Render HTML with Vanilla JavaScript and lit-html
      
 
      - 
        Updating blog-pwa from Polymer to LitElement, Workbox, and Rollup
      
 
      - 
        Here’s a minimalist no-frills Redux Toolkit & LitElement
          example
      
 
    
    Projects
    
      
        | Name | 
        URL | 
        Source | 
      
      
        | Create Social Images | 
        https://createsocialimages.com | 
        
          Source
         | 
      
      
        | DevWeb Content Firehose | 
        https://devwebfeed.appspot.com | 
        
          Source
         | 
      
      
        | rx-metronome | 
        https://rx-metronome.web.app | 
        
          Source
         | 
      
      
        | Scandisk | 
        https://manzdev.github.io/scandisk-2.0/ | 
        
          Source
         | 
      
      
        | Web Skills | 
        https://andreasbm.github.io/web-skills/ | 
        
          Source
         | 
      
    
    Inspired Solutions
    
      These libraries do not depend on lit-html, but are inspired by some of its
      concepts. They use html tagged template literal, and leverage
      the benefits of the same IDE Plugins for syntax
      highlighting.
    
    
      - 
        htm - Hyperscript Tagged
        Markup: JSX alternative using standard tagged templates, with compiler
        support.
      
 
      - 
        hybrids - UI library
        for creating Web Components with simple and functional API.
      
 
      - 
        lit-ntml - Lightweight
        and modern templating for SSR in Node.js, inspired by lit-html.
      
 
      - 
        lite-html - A modern
        replacement for VirtualDOM rendering engines.
      
 
      - 
        modulor-html -
        Missing template engine for Web Components.
      
 
      - 
        nanohtml - HTML
        template strings for the browser with support for Server Side Rendering
        in Node.
      
 
      - 
        picohtml -
        Powerfully ~2kB (gzip) HTML template strings.
      
 
      - 
        tiny-lit - Library
        for building user interfaces using template literals.
      
 
    
    Other awesome resources
    
      If you want more awesome resources, check the
        awesome
        list!
    
    
    License