UNPKG

instantsearch-ui-components

Version:

Common UI components for InstantSearch.

46 lines 2.24 kB
import { cx } from "../../lib/index.js"; import { ApplyIcon, ClockIcon, TrashIcon } from "./icons.js"; export function createAutocompleteRecentSearchComponent(_ref) { var createElement = _ref.createElement; return function AutocompleteRecentSearch(userProps) { var item = userProps.item, children = userProps.children, onSelect = userProps.onSelect, onRemoveRecentSearch = userProps.onRemoveRecentSearch, onApply = userProps.onApply, _userProps$classNames = userProps.classNames, classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames; return createElement("div", { onClick: onSelect, className: cx('ais-AutocompleteItemWrapper ais-AutocompleteRecentSearchWrapper', classNames.root) }, createElement("div", { className: cx('ais-AutocompleteItemContent', 'ais-AutocompleteRecentSearchItemContent', classNames.content) }, createElement("div", { className: cx('ais-AutocompleteItemIcon', 'ais-AutocompleteRecentSearchItemIcon', classNames.content) }, createElement(ClockIcon, { createElement: createElement })), createElement("div", { className: cx('ais-AutocompleteItemContentBody', 'ais-AutocompleteRecentSearchItemContentBody', classNames.content) }, children)), createElement("div", { className: cx('ais-AutocompleteItemActions', 'ais-AutocompleteRecentSearchItemActions', classNames.actions) }, createElement("button", { className: cx('ais-AutocompleteItemActionButton', 'ais-AutocompleteRecentSearchItemDeleteButton', classNames.deleteButton), title: "Remove ".concat(item.query, " from recent searches"), onClick: function onClick(evt) { evt.stopPropagation(); onRemoveRecentSearch(); } }, createElement(TrashIcon, { createElement: createElement })), createElement("button", { className: cx('ais-AutocompleteItemActionButton', 'ais-AutocompleteRecentSearchItemApplyButton', classNames.applyButton), title: "Apply ".concat(item.query, " as search"), onClick: function onClick(evt) { evt.stopPropagation(); onApply(); } }, createElement(ApplyIcon, { createElement: createElement })))); }; }