react-instantsearch
Version:
⚡ Lightning-fast search for React, by Algolia
70 lines (68 loc) • 3.67 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "createDisplayResultsTool", {
enumerable: true,
get: function() {
return createDisplayResultsTool;
}
});
var _interop_require_wildcard = require("@swc/helpers/_/_interop_require_wildcard");
var _instantsearchuicomponents = require("instantsearch-ui-components");
var _react = /*#__PURE__*/ _interop_require_wildcard._(require("react"));
var _components = require("../../../components");
function createDisplayResultsTool(itemComponent) {
var DisplayResultsUIComponent = (0, _instantsearchuicomponents.createDisplayResultsToolComponent)({
createElement: _react.createElement,
Fragment: _react.Fragment
});
var Button = (0, _instantsearchuicomponents.createButtonComponent)({
createElement: _react.createElement
});
var DisplayResultsLayoutComponent = function DisplayResultsLayoutComponent(toolProps) {
return /*#__PURE__*/ _react.default.createElement(DisplayResultsUIComponent, {
toolProps: toolProps,
groupCarouselComponent: function groupCarouselComponent(param) {
var items = param.items, sendEvent = param.sendEvent;
return /*#__PURE__*/ _react.default.createElement(_components.Carousel, {
items: items,
itemComponent: itemComponent,
sendEvent: sendEvent,
showNavigation: false,
headerComponent: function headerComponent(param) {
var canScrollLeft = param.canScrollLeft, canScrollRight = param.canScrollRight, scrollLeft = param.scrollLeft, scrollRight = param.scrollRight;
return /*#__PURE__*/ _react.default.createElement("div", {
className: "ais-ChatToolDisplayResultsCarouselHeader"
}, /*#__PURE__*/ _react.default.createElement("div", {
className: "ais-ChatToolDisplayResultsCarouselHeaderCount"
}, items.length, " result", items.length > 1 ? 's' : ''), /*#__PURE__*/ _react.default.createElement("div", {
className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButtons"
}, /*#__PURE__*/ _react.default.createElement(Button, {
variant: "outline",
size: "sm",
iconOnly: true,
onClick: scrollLeft,
disabled: !canScrollLeft,
className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButton"
}, /*#__PURE__*/ _react.default.createElement(_instantsearchuicomponents.ChevronLeftIcon, {
createElement: _react.createElement
})), /*#__PURE__*/ _react.default.createElement(Button, {
variant: "outline",
size: "sm",
iconOnly: true,
onClick: scrollRight,
disabled: !canScrollRight,
className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButton"
}, /*#__PURE__*/ _react.default.createElement(_instantsearchuicomponents.ChevronRightIcon, {
createElement: _react.createElement
}))));
}
});
}
});
};
return {
layoutComponent: DisplayResultsLayoutComponent
};
}