preact-material-components
Version:
preact wrapper for "Material Components for the web"
100 lines (75 loc) • 3.05 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.Button = exports.ButtonIcon = void 0;
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _preact = require("preact");
var _MaterialComponent2 = _interopRequireDefault(require("../Base/MaterialComponent"));
var _Icon2 = _interopRequireDefault(require("../Icon"));
var _generateThemeClass = _interopRequireDefault(require("../themeUtils/generateThemeClass"));
var ButtonIcon =
/*#__PURE__*/
function (_Icon) {
(0, _inherits2.default)(ButtonIcon, _Icon);
function ButtonIcon() {
var _this;
(0, _classCallCheck2.default)(this, ButtonIcon);
_this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(ButtonIcon).apply(this, arguments));
_this.componentName = 'button__icon';
return _this;
}
return ButtonIcon;
}(_Icon2.default);
exports.ButtonIcon = ButtonIcon;
var Button =
/*#__PURE__*/
function (_MaterialComponent) {
(0, _inherits2.default)(Button, _MaterialComponent);
function Button() {
var _this2;
(0, _classCallCheck2.default)(this, Button);
_this2 = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Button).apply(this, arguments));
_this2.componentName = 'button';
_this2.mdcProps = ['dense', 'raised', 'unelevated', 'outlined'];
_this2.themeProps = ['primary', 'secondary'];
return _this2;
}
(0, _createClass2.default)(Button, [{
key: "materialDom",
value: function materialDom(props) {
var ButtonElement = props.href ? 'a' : 'button';
var className = '';
this.themeProps.forEach(function (themeProp) {
if (themeProp in props && props[themeProp] !== false) {
className += (0, _generateThemeClass.default)(themeProp) + ' ';
}
});
return (0, _preact.h)(ButtonElement, Object.assign({
ref: this.setControlRef
}, props, {
className: className
}), this.props.children);
}
}]);
return Button;
}(_MaterialComponent2.default);
exports.Button = Button;
var default_1 =
/*#__PURE__*/
function (_Button) {
(0, _inherits2.default)(default_1, _Button);
function default_1() {
(0, _classCallCheck2.default)(this, default_1);
return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(default_1).apply(this, arguments));
}
return default_1;
}(Button);
exports.default = default_1;
default_1.Icon = ButtonIcon;
//# sourceMappingURL=index.js.map