instantsearch-ui-components
Version:
Common UI components for InstantSearch.
52 lines (51 loc) • 2.45 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createAutocompleteRecentSearchComponent = createAutocompleteRecentSearchComponent;
var _lib = require("../../lib");
var _icons = require("./icons");
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: (0, _lib.cx)('ais-AutocompleteItemWrapper ais-AutocompleteRecentSearchWrapper', classNames.root)
}, createElement("div", {
className: (0, _lib.cx)('ais-AutocompleteItemContent', 'ais-AutocompleteRecentSearchItemContent', classNames.content)
}, createElement("div", {
className: (0, _lib.cx)('ais-AutocompleteItemIcon', 'ais-AutocompleteRecentSearchItemIcon', classNames.content)
}, createElement(_icons.ClockIcon, {
createElement: createElement
})), createElement("div", {
className: (0, _lib.cx)('ais-AutocompleteItemContentBody', 'ais-AutocompleteRecentSearchItemContentBody', classNames.content)
}, children)), createElement("div", {
className: (0, _lib.cx)('ais-AutocompleteItemActions', 'ais-AutocompleteRecentSearchItemActions', classNames.actions)
}, createElement("button", {
className: (0, _lib.cx)('ais-AutocompleteItemActionButton', 'ais-AutocompleteRecentSearchItemDeleteButton', classNames.deleteButton),
title: "Remove ".concat(item.query, " from recent searches"),
onClick: function onClick(evt) {
evt.stopPropagation();
onRemoveRecentSearch();
}
}, createElement(_icons.TrashIcon, {
createElement: createElement
})), createElement("button", {
className: (0, _lib.cx)('ais-AutocompleteItemActionButton', 'ais-AutocompleteRecentSearchItemApplyButton', classNames.applyButton),
title: "Apply ".concat(item.query, " as search"),
onClick: function onClick(evt) {
evt.stopPropagation();
onApply();
}
}, createElement(_icons.ApplyIcon, {
createElement: createElement
}))));
};
}