instantsearch-ui-components
Version:
Common UI components for InstantSearch.
29 lines (28 loc) • 1.42 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createButtonComponent = createButtonComponent;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _cx = require("../lib/cx");
var _excluded = ["variant", "size", "iconOnly", "className", "children"];
function createButtonComponent(_ref) {
var createElement = _ref.createElement;
return function Button(userProps) {
var _userProps$variant = userProps.variant,
variant = _userProps$variant === void 0 ? 'primary' : _userProps$variant,
_userProps$size = userProps.size,
size = _userProps$size === void 0 ? 'md' : _userProps$size,
_userProps$iconOnly = userProps.iconOnly,
iconOnly = _userProps$iconOnly === void 0 ? false : _userProps$iconOnly,
className = userProps.className,
children = userProps.children,
props = (0, _objectWithoutProperties2.default)(userProps, _excluded);
return createElement("button", (0, _extends2.default)({
type: "button",
className: (0, _cx.cx)('ais-Button', "ais-Button--".concat(variant), "ais-Button--".concat(size), iconOnly && 'ais-Button--icon-only', className)
}, props), children);
};
}