// Copyright 2022 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. /* eslint-disable @devtools/no-lit-render-outside-of-view */ import '../../../ui/kit/kit.js'; import '../../../ui/legacy/legacy.js'; import * as i18n from '../../../core/i18n/i18n.js'; import {Directives, html, render} from '../../../ui/lit/lit.js'; import cssHintDetailsViewStyles from './cssHintDetailsView.css.js'; const UIStrings = { /** * @description Text for button that redirects to CSS property documentation. */ learnMore: 'Learn More', } as const; const str_ = i18n.i18n.registerUIStrings('panels/elements/components/CSSHintDetailsView.ts', UIStrings); const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_); interface Hint { getMessage(): string; getPossibleFixMessage(): string|null; getLearnMoreLink(): string|undefined; } export class CSSHintDetailsView extends HTMLElement { readonly #shadow = this.attachShadow({mode: 'open'}); readonly #authoringHint: Hint; constructor(authoringHint: Hint) { super(); this.#authoringHint = authoringHint; this.#render(); } #render(): void { const link = this.#authoringHint.getLearnMoreLink(); // clang-format off render(html`