preact-material-components
Version:
preact wrapper for "Material Components for the web"
38 lines • 1.23 kB
JavaScript
import { MDCIconButtonToggle } from '@material/icon-button';
import { h } from 'preact';
import MaterialComponent from '../Base/MaterialComponent';
export class Icon extends MaterialComponent {
constructor() {
super(...arguments);
this.componentName = 'icon-button__icon';
this.mdcProps = ['on'];
}
materialDom(props) {
const IconElement = props.element || 'i';
return (h(IconElement, Object.assign({ class: "material-icons" }, props), props.children));
}
}
export class IconButton extends MaterialComponent {
constructor() {
super(...arguments);
this.componentName = 'icon-button';
this.mdcProps = [];
}
componentDidMount() {
super.componentDidMount();
this.MDComponent = new MDCIconButtonToggle(this.control);
}
componentWillUnmount() {
super.componentWillUnmount();
if (this.MDComponent) {
this.MDComponent.destroy();
}
}
materialDom(props) {
return (h("button", Object.assign({ ref: this.setControlRef }, props), this.props.children));
}
}
export default class default_1 extends IconButton {
}
default_1.Icon = Icon;
//# sourceMappingURL=index.js.map