// 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, nothing} from '//resources/lit/v3_0/lit.rollup.js';
import type {CrInputElement} from './cr_input.js';
export function getHtml(this: CrInputElement) {
return html`
<div id="label" class="cr-form-field-label" ?hidden="${!this.label}"
aria-hidden="true">
${this.label}
</div>
<div id="row-container" part="row-container">
<div id="input-container">
<div id="inner-input-container">
<div id="hover-layer"></div>
<div id="inner-input-content">
<slot name="inline-prefix"></slot>
<input id="input" ?disabled="${this.disabled}"
?autofocus="${this.autofocus}"
.value="${this.internalValue_}" tabindex="${this.inputTabindex}"
.type="${this.type}"
?readonly="${this.readonly}" maxlength="${this.maxlength}"
pattern="${this.pattern || nothing}" ?required="${this.required}"
minlength="${this.minlength}" inputmode="${this.inputmode}"
aria-description="${this.ariaDescription || nothing}"
aria-errormessage="${this.getAriaErrorMessage_() || nothing}"
aria-label="${this.getAriaLabel_()}"
aria-invalid="${this.getAriaInvalid_()}"
.max="${this.max || nothing}" .min="${this.min || nothing}"
@focus="${this.onInputFocus_}"
@blur="${this.onInputBlur_}" @change="${this.onInputChange_}"
@input="${this.onInput_}"
part="input"
autocomplete="off">
<slot name="inline-suffix"></slot>
</div>
</div>
<div id="underline-base"></div>
<div id="underline"></div>
</div>
<slot name="suffix"></slot>
</div>
<div id="error" role="${this.getErrorRole_() || nothing}"
aria-live="assertive">${this.getErrorMessage_()}</div>`;
}