UNPKG

react-instantsearch

Version:
76 lines (74 loc) 3.5 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "createGroupedResultsTool", { enumerable: true, get: function() { return createGroupedResultsTool; } }); 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 createGroupedResultsTool(itemComponent) { var DisplayResultsUIComponent = (0, _instantsearchuicomponents.createDisplayResultsToolComponent)({ createElement: _react.createElement, Fragment: _react.Fragment, useEffect: _react.useEffect, useRef: _react.useRef }); var Button = (0, _instantsearchuicomponents.createButtonComponent)({ createElement: _react.createElement }); var DisplayResultsCarouselHeader = function DisplayResultsCarouselHeader(param) { var nbItems = param.nbItems, 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" }, nbItems, " result", nbItems > 1 ? 's' : ''), /*#__PURE__*/ _react.default.createElement("div", { className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButtons" }, /*#__PURE__*/ _react.default.createElement(Button, { variant: "outline", size: "sm", iconOnly: true, "aria-label": "Previous", 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, "aria-label": "Next", onClick: scrollRight, disabled: !canScrollRight, className: "ais-ChatToolDisplayResultsCarouselHeaderScrollButton" }, /*#__PURE__*/ _react.default.createElement(_instantsearchuicomponents.ChevronRightIcon, { 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: DisplayResultsCarouselHeader }); } }); }; return { layoutComponent: DisplayResultsLayoutComponent, streamInput: true }; }