| /** |
| * @license |
| * Copyright 2025 Google LLC |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| import {html, LitElement} from 'lit'; |
| import {customElement, property} from 'lit/decorators.js'; |
| import {sanitizeHtmlToFragment} from 'safevalues'; |
| |
| /** |
| * A component for rendering HTML durectly. |
| * In Gerrit we reset css using sharedStyles meaning the components are not styled |
| * like the way the response should be. |
| * This component SHOULD NOT import sharedStyles. |
| */ |
| @customElement('gr-html-renderer') |
| export class GrHtmlRenderer extends LitElement { |
| @property({type: String}) |
| htmlContent?: string; |
| |
| override render() { |
| return html`${sanitizeHtmlToFragment(this.htmlContent ?? '')}`; |
| } |
| } |
| |
| declare global { |
| interface HTMLElementTagNameMap { |
| 'gr-html-renderer': GrHtmlRenderer; |
| } |
| } |