function IconButton({
icon,
iconOff,
on,
...attributes
}) {
mdcStyles();
const _iconOn = typeof icon === "string" ? Icon(icon) : icon;
_iconOn.classList.add("mdc-icon-button__icon");
const _iconOff = typeof iconOff === "string" ? Icon(iconOff) : iconOff;
_iconOff && _iconOff.classList.add("mdc-icon-button__icon");
const el = html`<button class="mdc-icon-button">
<span class="mdc-icon-button__ripple"></span>
<span class="mdc-icon-button__focus-ring"></span>
${_iconOn}
${_iconOff ?? ""}
<span class="mdc-icon-button__touch"></span>
</button>`;
Object.entries(attributes)
.forEach(([ name, val ]) => el.setAttribute(name, val));
if (_iconOff) {
_iconOn.classList.add("mdc-icon-button__icon--on");
on && el.classList.add("mdc-icon-button--on");
el.toggle = new mdc.iconButton.MDCIconButtonToggle(el);
}
return el;
}