instantsearch-ui-components
Version:
Common UI components for InstantSearch.
46 lines (45 loc) • 2.06 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createAutocompleteIndexComponent = createAutocompleteIndexComponent;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _cx = require("../../lib/cx");
var _excluded = ["className", "onSelect", "onApply"];
function createAutocompleteIndexComponent(_ref) {
var createElement = _ref.createElement;
return function AutocompleteIndex(userProps) {
var items = userProps.items,
HeaderComponent = userProps.HeaderComponent,
ItemComponent = userProps.ItemComponent,
getItemProps = userProps.getItemProps,
_userProps$classNames = userProps.classNames,
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames;
return createElement("div", {
className: (0, _cx.cx)('ais-AutocompleteIndex', classNames.root)
}, HeaderComponent && createElement("div", {
className: (0, _cx.cx)('ais-AutocompleteIndexHeader', classNames.header)
}, createElement(HeaderComponent, {
items: items
})), createElement("ol", {
className: (0, _cx.cx)('ais-AutocompleteIndexList', classNames.list)
}, items.map(function (item, index) {
var _getItemProps = getItemProps(item, index),
className = _getItemProps.className,
onSelect = _getItemProps.onSelect,
onApply = _getItemProps.onApply,
itemProps = (0, _objectWithoutProperties2.default)(_getItemProps, _excluded);
return createElement("li", (0, _extends2.default)({
key: "".concat(itemProps.id, ":").concat(item.objectID)
}, itemProps, {
className: (0, _cx.cx)('ais-AutocompleteIndexItem', classNames.item, className)
}), createElement(ItemComponent, {
item: item,
onSelect: onSelect,
onApply: onApply
}));
})));
};
}