material-web/field/lib/outlined-field.ts
Material Web Team 41d41cc278 chore: update repository for Material 3
PiperOrigin-RevId: 455635969
2022-06-17 16:42:04 +00:00

53 lines
1.3 KiB
TypeScript

/**
* @license
* Copyright 2021 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import {html, TemplateResult} from 'lit';
import {ClassInfo} from 'lit/directives/class-map';
import {Field} from './field';
/** @soyCompatible */
export class OutlinedField extends Field {
/** @soyTemplate */
protected override getRenderClasses(): ClassInfo {
return {
...super.getRenderClasses(),
'md3-field--outlined': true,
};
}
/** @soyTemplate */
protected override renderContainerContents(): TemplateResult {
return html`
${this.renderOutline()}
${super.renderContainerContents()}
`;
}
/** @soyTemplate */
protected renderOutline(): TemplateResult {
return html`
<span class="md3-field__outline">
<span class="md3-field__outline-start"></span>
<span class="md3-field__outline-notch">
<span class="md3-field__outline-panel-inactive"></span>
<span class="md3-field__outline-panel-active"></span>
${this.renderFloatingLabel()}
</span>
<span class="md3-field__outline-end"></span>
</span>
`;
}
/** @soyTemplate */
protected override renderMiddleContents(): TemplateResult {
return html`
${this.renderRestingLabel()}
${super.renderMiddleContents()}
`;
}
}