blob: 602a0a566752e6519cff61a95a933beed33cb3e9 [file] [log] [blame]
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import {html} from '//resources/lit/v3_0/lit.rollup.js';
import type {ExtensionsMv2DeprecationPanelElement} from './mv2_deprecation_panel.js';
export function getHtml(this: ExtensionsMv2DeprecationPanelElement) {
// clang-format off
return html`<!--_html_template_start_-->
<h2 class="panel-title" ?hidden="${!this.showTitle}">
$i18n{mv2DeprecationPanelTitle}
</h2>
<div class="panel-background" id="panelContainer">
<div class="panel-header">
<cr-icon aria-hidden="true" icon="extensions-icons:my_extensions"
class="panel-header-icon">
</cr-icon>
<div class="panel-header-text">
<h3 id="headingText">${this.headerString_}</h3>
<div class="cr-secondary-text" .innerHTML="${this.getSubtitleString_()}">
</div>
</div>
<cr-button class="header-button" @click="${this.onDismissButtonClick_}">
$i18n{mv2DeprecationPanelDismissButton}
</cr-button>
</div>
<div class="panel-extensions">
${this.extensions.map((item, index) => html`
<div class="panel-extension-row cr-row">
<img class="panel-extension-icon" src="${item.iconUrl}"
role="presentation">
<div class="panel-extension-info text-elide">${item.name}</div>
<div class="extension-buttons">
<cr-button class="find-alternative-button"
data-recommendations-url="${item.recommendationsUrl}"
@click="${this.onFindAlternativeButtonClick_}"
?hidden="${!this.showExtensionFindAlternativeButton_(item)}"
aria-label="${this.getFindAlternativeButtonLabelFor_(item.name)}">
$i18n{mv2DeprecationPanelFindAlternativeButton}
<cr-icon icon="cr:open-in-new" slot="suffix-icon"></cr-icon>
</cr-button>
<cr-icon-button id="removeButton" class="icon-delete-gray"
data-id="${item.id}" @click="${this.onRemoveButtonClick_}"
title="$i18n{remove}"
aria-label="${this.getRemoveButtonLabelFor_(item.name)}"
?hidden="${!this.showExtensionRemoveButton_(item)}">
</cr-icon-button>
<cr-icon-button id="actionMenuButton" data-index="${index}"
class="icon-more-vert header-aligned-button"
@click="${this.onExtensionActionMenuClick_}"
title="$i18n{moreOptions}"
aria-label="${this.getActionMenuButtonLabelFor_(item.name)}"
?hidden="${!this.showActionMenu_(item)}">
</cr-icon-button>
</div>
</div>`)}
<cr-action-menu id="actionMenu">
<button class="dropdown-item" id="findAlternativeAction"
@click="${this.onFindAlternativeExtensionActionClick_}"
?hidden="${!this.showExtensionFindAlternativeAction_()}">
Find alternatives
</button>
<button class="dropdown-item" id="keepAction"
@click="${this.onKeepExtensionActionClick_}"
?hidden="${!this.showExtensionKeepAction_()}">
$i18n{mv2DeprecationPanelKeepForNowButton}
</button>
<button class="dropdown-item" id="removeAction"
@click="${this.onRemoveExtensionActionClicked_}"
?hidden="${!this.showExtensionRemoveAction_()}">
$i18n{mv2DeprecationPanelRemoveExtensionButton}
</button>
</cr-action-menu>
</div>
</div>
<!--_html_template_end_-->`;
// clang-format on
}