instantsearch-ui-components
Version:
Common UI components for InstantSearch.
32 lines (31 loc) • 1.51 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.createAutocompletePanelComponent = createAutocompletePanelComponent;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _cx = require("../../lib/cx");
var _excluded = ["children", "classNames", "hidden"];
function createAutocompletePanelComponent(_ref) {
var createElement = _ref.createElement;
return function AutocompletePanel(userProps) {
var children = userProps.children,
_userProps$classNames = userProps.classNames,
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
hidden = userProps.hidden,
props = (0, _objectWithoutProperties2.default)(userProps, _excluded);
return createElement("div", (0, _extends2.default)({}, props, {
"aria-hidden": hidden,
className: (0, _cx.cx)('ais-AutocompletePanel', !hidden && 'ais-AutocompletePanel--open', classNames.root, props.className),
onMouseDown: function onMouseDown(event) {
// Prevents the autocomplete panel from blurring the input when
// clicking inside the panel.
event.preventDefault();
}
}), createElement("div", {
className: (0, _cx.cx)('ais-AutocompletePanelLayout', classNames.layout)
}, children));
};
}