${this.renderRipple()} ${this.renderFocusRing()}
${this.renderBody()}
`);
}
/**
* Renders the root list item.
*
* @param content the child content of the list item.
*/
renderListItem(t) {
const a = this.type === "link";
let o;
switch (this.type) {
case "link":
o = p`a`;
break;
case "button":
o = p`button`;
break;
default:
case "text":
o = p`li`;
break;
}
const b = this.type !== "text", x = a && this.target ? this.target : s;
return k`
<${o}
id="item"
tabindex="${this.isDisabled || !b ? -1 : 0}"
?disabled=${this.isDisabled}
role="listitem"
aria-selected=${this.ariaSelected || s}
aria-checked=${this.ariaChecked || s}
aria-expanded=${this.ariaExpanded || s}
aria-haspopup=${this.ariaHasPopup || s}
class="list-item ${I(this.getRenderClasses())}"
href=${this.href || s}
target=${x}
@focus=${this.onFocus}
>${t}${o}>
`;
}
/**
* Handles rendering of the ripple element.
*/
renderRipple() {
return this.type === "text" ? s : l`