UNPKG

instantsearch-ui-components

Version:

Common UI components for InstantSearch.

39 lines 1.71 kB
import _extends from "@babel/runtime/helpers/extends"; import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties"; var _excluded = ["className", "onSelect", "onApply"]; import { cx } from "../../lib/cx.js"; export 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: cx('ais-AutocompleteIndex', classNames.root) }, HeaderComponent && createElement("div", { className: cx('ais-AutocompleteIndexHeader', classNames.header) }, createElement(HeaderComponent, { items: items })), createElement("ol", { className: 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 = _objectWithoutProperties(_getItemProps, _excluded); return createElement("li", _extends({ key: "".concat(itemProps.id, ":").concat(item.objectID) }, itemProps, { className: cx('ais-AutocompleteIndexItem', classNames.item, className) }), createElement(ItemComponent, { item: item, onSelect: onSelect, onApply: onApply })); }))); }; }