@ntragas/pouncejstest
Version:
A collection of UI components from Panther labs
53 lines (43 loc) • 2.11 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = exports.IconButton = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _react = _interopRequireDefault(require("react"));
var _Icon = _interopRequireDefault(require("../Icon"));
var _useIconButtonStyles = _interopRequireDefault(require("./useIconButtonStyles"));
var _AbstractButton = _interopRequireDefault(require("../AbstractButton"));
/** A wrapper that makes an <a href="/#/Icon">Icon<a> component be clickable */
var IconButton = /*#__PURE__*/_react.default.forwardRef(function IconButton(_ref, ref) {
var _ref$variantColor = _ref.variantColor,
variantColor = _ref$variantColor === void 0 ? 'blue' : _ref$variantColor,
_ref$variantBorderSty = _ref.variantBorderStyle,
variantBorderStyle = _ref$variantBorderSty === void 0 ? 'square' : _ref$variantBorderSty,
_ref$active = _ref.active,
active = _ref$active === void 0 ? false : _ref$active,
_ref$variant = _ref.variant,
variant = _ref$variant === void 0 ? 'solid' : _ref$variant,
_ref$size = _ref.size,
size = _ref$size === void 0 ? 'large' : _ref$size,
icon = _ref.icon,
rest = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["variantColor", "variantBorderStyle", "active", "variant", "size", "icon"]);
var styles = (0, _useIconButtonStyles.default)({
variantColor,
variant,
variantBorderStyle,
size
});
return /*#__PURE__*/_react.default.createElement(_AbstractButton.default, (0, _extends2.default)({
"aria-pressed": active !== undefined ? active : undefined,
"data-active": active || undefined
}, styles, rest, {
ref: ref
}), /*#__PURE__*/_react.default.createElement(_Icon.default, {
type: icon,
size: size
}));
});
exports.IconButton = IconButton;
var _default = IconButton;
exports.default = _default;