JSPM

  • Created
  • Published
  • Downloads 3007343
  • Score
    100M100P100Q188806F
  • License BSD-3-Clause

HTML template literals in JavaScript

Package Exports

  • lit-html
  • lit-html/directives/async-append
  • lit-html/directives/async-append.js
  • lit-html/directives/async-replace
  • lit-html/directives/async-replace.js
  • lit-html/directives/cache
  • lit-html/directives/cache.js
  • lit-html/directives/class-map
  • lit-html/directives/class-map.js
  • lit-html/directives/guard
  • lit-html/directives/guard.js
  • lit-html/directives/if-defined
  • lit-html/directives/if-defined.js
  • lit-html/directives/live
  • lit-html/directives/live.js
  • lit-html/directives/repeat
  • lit-html/directives/repeat.js
  • lit-html/directives/style-map
  • lit-html/directives/style-map.js
  • lit-html/directives/template-content
  • lit-html/directives/template-content.js
  • lit-html/directives/unsafe-html
  • lit-html/directives/unsafe-html.js
  • lit-html/directives/unsafe-svg
  • lit-html/directives/unsafe-svg.js
  • lit-html/directives/until
  • lit-html/directives/until.js
  • lit-html/lib/directive.js
  • lit-html/lib/dom.js
  • lit-html/lib/part
  • lit-html/lib/part.js
  • lit-html/lib/parts
  • lit-html/lib/render
  • lit-html/lib/render.js
  • lit-html/lib/shady-render
  • lit-html/lib/shady-render.js
  • lit-html/lib/template-factory.js
  • lit-html/lib/template.js
  • lit-html/lit-html
  • lit-html/lit-html.js
  • lit-html/package.json
  • lit-html/polyfills/template_polyfill.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (lit-html) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

lit-html

Efficient, Expressive, Extensible HTML templates in JavaScript

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

Documentation

Full documentation is available at lit-html.polymer-project.org.

Docs source is in the docs folder. To build the site yourself, see the instructions in docs/README.md.

Overview

lit-html lets you write HTML templates in JavaScript with template literals.

lit-html templates are plain JavaScript and combine the familiarity of writing HTML with the power of JavaScript. lit-html takes care of efficiently rendering templates to DOM, including efficiently updating the DOM with new values.

import {html, render} from 'lit-html';

// This is a lit-html template function. It returns a lit-html template.
const helloTemplate = (name) => html`<div>Hello ${name}!</div>`;

// This renders <div>Hello Steve!</div> to the document body
render(helloTemplate('Steve'), document.body);

// This updates to <div>Hello Kevin!</div>, but only updates the ${name} part
render(helloTemplate('Kevin'), document.body);

lit-html provides two main exports:

  • html: A JavaScript template tag used to produce a TemplateResult, which is a container for a template, and the values that should populate the template.
  • render(): A function that renders a TemplateResult to a DOM container, such as an element or shadow root.

Installation

$ npm install lit-html

Forward compatibility with lit-html 2.0

lit-html 2.0 has a new directive authoring API that has been back-ported to lit-html 1.4 in order to ease upgrading.

The lit-html 2.0 directive API is available in new modules whose paths are the same in lit-html 1.4 and 2.0, allowing code to import and use the APIs against either version.

You can import the new APIs like so:

import {html} from 'lit-html';
import {directive, Directive, Part, PartInfo, PartType} from 'lit-html/directive.js';

Then implement a directive class and convert it to a directive function:

class MyDirective extends Directive {
  // ...
}
/** My directive docs **/
export const myDirective = directive(MyDirective);

Important note: The AsyncDirective base class is available, but lit-html 1.4 does not implement the disconnected and reconnected callbacks.

For more details on upgrading see the Update custom directive implementations guide.

Contributing

Please see CONTRIBUTING.md.