diff --git a/button/lib/button.ts b/button/lib/button.ts index c5207c801..66a9e57f5 100644 --- a/button/lib/button.ts +++ b/button/lib/button.ts @@ -14,6 +14,7 @@ import {html, LitElement, TemplateResult} from 'lit'; import {property, query, queryAssignedElements, queryAsync, state} from 'lit/decorators.js'; import {ClassInfo, classMap} from 'lit/directives/class-map.js'; import {ifDefined} from 'lit/directives/if-defined.js'; +import {when} from 'lit/directives/when.js'; import {html as staticHtml, literal} from 'lit/static-html.js'; import {ariaProperty} from '../../decorators/aria-property.js'; @@ -55,10 +56,12 @@ export abstract class Button extends LitElement implements ButtonState { @query('.md3-button') buttonElement!: HTMLElement; - @queryAsync('md-ripple') ripple!: Promise; + @queryAsync('md-ripple') ripple!: Promise; @state() protected showFocusRing = false; + @state() protected showRipple = false; + @queryAssignedElements({slot: 'icon', flatten: true}) protected iconElement!: HTMLElement[]|null; @@ -67,6 +70,10 @@ export abstract class Button extends LitElement implements ButtonState { * @soyAttributes buttonAttributes: .md3-button */ protected override render(): TemplateResult { + const getRipple = () => { + this.showRipple = true; + return this.ripple; + }; // TODO(b/237283903): Replace ifDefined(... || undefined) with ifTruthy(...) return html`