instantsearch-ui-components
Version:
Common UI components for InstantSearch.
46 lines (45 loc) • 1.86 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createChatToggleButtonComponent = createChatToggleButtonComponent;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _cx = require("../../lib/cx");
var _Button = require("../Button");
var _icons = require("./icons");
var _excluded = ["open", "onClick", "toggleIconComponent", "classNames", "className"];
function createChatToggleButtonComponent(_ref) {
var createElement = _ref.createElement;
var Button = (0, _Button.createButtonComponent)({
createElement: createElement
});
return function ChatToggleButton(_ref2) {
var open = _ref2.open,
onClick = _ref2.onClick,
ToggleIconComponent = _ref2.toggleIconComponent,
_ref2$classNames = _ref2.classNames,
classNames = _ref2$classNames === void 0 ? {} : _ref2$classNames,
className = _ref2.className,
props = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
var defaultIcon = open ? createElement(_icons.ChevronUpIconComponent, {
createElement: createElement,
width: 28,
height: 28
}) : createElement(_icons.SparklesIconComponent, {
createElement: createElement,
width: 28,
height: 28
});
return createElement(Button, (0, _extends2.default)({
variant: "primary",
size: "md",
iconOnly: true,
className: (0, _cx.cx)('ais-ChatToggleButton', open && 'ais-ChatToggleButton--open', classNames.root, className),
onClick: onClick
}, props), ToggleIconComponent ? createElement(ToggleIconComponent, {
isOpen: open
}) : defaultIcon);
};
}