UNPKG

instantsearch-ui-components

Version:

Common UI components for InstantSearch.

35 lines 1.48 kB
import _extends from "@babel/runtime/helpers/extends"; import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; var _excluded = ["open", "onClick", "toggleIconComponent", "classNames", "className"]; import { cx } from "../../lib/cx.js"; import { createButtonComponent } from "../Button.js"; import { SparklesIcon, ChevronUpIcon } from "./icons.js"; export function createChatToggleButtonComponent(_ref) { var createElement = _ref.createElement; var Button = createButtonComponent({ createElement: createElement }); return function ChatToggleButton(userProps) { var open = userProps.open, onClick = userProps.onClick, ToggleIcon = userProps.toggleIconComponent, _userProps$classNames = userProps.classNames, classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames, className = userProps.className, props = _objectWithoutProperties(userProps, _excluded); var defaultIcon = open ? createElement(ChevronUpIcon, { createElement: createElement }) : createElement(SparklesIcon, { createElement: createElement }); return createElement(Button, _extends({ variant: "primary", size: "md", iconOnly: true, className: cx('ais-ChatToggleButton', open && 'ais-ChatToggleButton--open', classNames.root, className), onClick: onClick }, props), ToggleIcon ? createElement(ToggleIcon, { isOpen: open }) : defaultIcon); }; }