JSPM

  • Created
  • Published
  • Downloads 3086809
  • Score
    100M100P100Q198121F
  • License BSD-3-Clause

A simple base class for creating fast, lightweight web components

Package Exports

  • lit-element
  • lit-element/decorators.js
  • lit-element/decorators/custom-element.js
  • lit-element/decorators/event-options.js
  • lit-element/decorators/property.js
  • lit-element/decorators/query-all.js
  • lit-element/decorators/query-assigned-elements.js
  • lit-element/decorators/query-assigned-nodes.js
  • lit-element/decorators/query-async.js
  • lit-element/decorators/query.js
  • lit-element/decorators/state.js
  • lit-element/lit-element.js
  • lit-element/polyfill-support.js
  • lit-element/private-ssr-support.js

Readme

LitElement

A simple base class for creating fast, lightweight web components.

Build Status Published on npm Join our Discord Mentioned in Awesome Lit

LitElement is the base class that powers the Lit library for building fast web components.

Most users should import LitElement from the lit package rather than installing and importing from the lit-element package directly.

Documentation

Full documentation is available at lit.dev/docs/components/overview/.

Overview

LitElement is a base class for custom elements that extends the Lit project's core ReactiveElement (from [`@lit/reactive-element'](https://www.npmjs.com/package/@lit/reactive-element)) base class with lit-html templating. ReactiveElement enhances HTMLElement with reactive properties, additional lifecycle callbacks, convenient inline CSS authoring, and a set of useful class decorators, while lit-html provides fast, declarative HTML templating.

Example

import {LitElement, html, css} from 'lit';
import {customElement, property} from 'lit/decorators.js';

// Registers the element
@customElement('my-element')
export class MyElement extends LitElement {
  // Styles are applied to the shadow root and scoped to this element
  static styles = css`
    span {
      color: green;
    }
  `;

  // Creates a reactive property that triggers rendering
  @property()
  mood = 'great';

  // Render the component's DOM by returning a Lit template
  render() {
    return html`Web Components are <span>${this.mood}</span>!`;
  }
}

Contributing

Please see CONTRIBUTING.md.