UNPKG

2.09 kBTypeScriptView Raw
1/**
2 * @license
3 * Copyright 2019 Google LLC
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6import type { TemplateResult } from './lit-html.js';
7import { RenderOptions } from './lit-html.js';
8/**
9 * hydrate() operates on a container with server-side rendered content and
10 * restores the client side data structures needed for lit-html updates such as
11 * TemplateInstances and Parts. After calling `hydrate`, lit-html will behave as
12 * if it initially rendered the DOM, and any subsequent updates will update
13 * efficiently, the same as if lit-html had rendered the DOM on the client.
14 *
15 * hydrate() must be called on DOM that adheres the to lit-ssr structure for
16 * parts. ChildParts must be represented with both a start and end comment
17 * marker, and ChildParts that contain a TemplateInstance must have the template
18 * digest written into the comment data.
19 *
20 * Since render() encloses its output in a ChildPart, there must always be a root
21 * ChildPart.
22 *
23 * Example (using for # ... for annotations in HTML)
24 *
25 * Given this input:
26 *
27 * html`<div class=${x}>${y}</div>`
28 *
29 * The SSR DOM is:
30 *
31 * <!--lit-part AEmR7W+R0Ak=--> # Start marker for the root ChildPart created
32 * # by render(). Includes the digest of the
33 * # template
34 * <div class="TEST_X">
35 * <!--lit-node 0--> # Indicates there are attribute bindings here
36 * # The number is the depth-first index of the parent
37 * # node in the template.
38 * <!--lit-part--> # Start marker for the ${x} expression
39 * TEST_Y
40 * <!--/lit-part--> # End marker for the ${x} expression
41 * </div>
42 *
43 * <!--/lit-part--> # End marker for the root ChildPart
44 *
45 * @param rootValue
46 * @param container
47 * @param userOptions
48 */
49export declare const hydrate: (rootValue: unknown, container: Element | DocumentFragment, options?: Partial<RenderOptions>) => void;
50export declare const digestForTemplateResult: (templateResult: TemplateResult) => string;
51//# sourceMappingURL=experimental-hydrate.d.ts.map
\No newline at end of file