import { noChange } from '../lit-html.js'; import { directive, Directive, PartType } from '../directive.js'; /** * @license * Copyright 2020 Google LLC * SPDX-License-Identifier: BSD-3-Clause */ class TemplateContentDirective extends Directive { constructor(partInfo) { super(partInfo); if (partInfo.type !== PartType.CHILD) { throw new Error('templateContent can only be used in child bindings'); } } render(template) { if (this._previousTemplate === template) { return noChange; } this._previousTemplate = template; return document.importNode(template.content, true); } } /** * Renders the content of a template element as HTML. * * Note, the template should be developer controlled and not user controlled. * Rendering a user-controlled template with this directive * could lead to cross-site-scripting vulnerabilities. */ const templateContent = directive(TemplateContentDirective); export { templateContent }; //# sourceMappingURL=template-content.js.map