UNPKG

react-instantsearch

Version:
61 lines (58 loc) 3.2 kB
import { createDisplayResultsToolComponent, createButtonComponent, ChevronLeftIcon, ChevronRightIcon } from 'instantsearch-ui-components'; import React, { createElement, Fragment } from 'react'; import { Carousel } from '../../../components/Carousel.js'; function createDisplayResultsTool(itemComponent) { var DisplayResultsUIComponent = createDisplayResultsToolComponent({ createElement: createElement, Fragment: Fragment }); var Button = createButtonComponent({ createElement: createElement }); var DisplayResultsLayoutComponent = function DisplayResultsLayoutComponent(toolProps) { return /*#__PURE__*/ React.createElement(DisplayResultsUIComponent, { toolProps: toolProps, groupCarouselComponent: function groupCarouselComponent(param) { var items = param.items, sendEvent = param.sendEvent; return /*#__PURE__*/ React.createElement(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.createElement("div", { className: "ais-ChatToolDisplayResultsCarouselHeader" }, /*#__PURE__*/ React.createElement("div", { className: "ais-ChatToolDisplayResultsCarouselHeaderCount" }, items.length, " result", items.length > 1 ? 's' : ''), /*#__PURE__*/ React.createElement("div", { className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButtons" }, /*#__PURE__*/ React.createElement(Button, { variant: "outline", size: "sm", iconOnly: true, onClick: scrollLeft, disabled: !canScrollLeft, className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButton" }, /*#__PURE__*/ React.createElement(ChevronLeftIcon, { createElement: createElement })), /*#__PURE__*/ React.createElement(Button, { variant: "outline", size: "sm", iconOnly: true, onClick: scrollRight, disabled: !canScrollRight, className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButton" }, /*#__PURE__*/ React.createElement(ChevronRightIcon, { createElement: createElement })))); } }); } }); }; return { layoutComponent: DisplayResultsLayoutComponent }; } export { createDisplayResultsTool };