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
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 aTemplateResult
, which is a container for a template, and the values that should populate the template.render()
: A function that renders aTemplateResult
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.