react-instantsearch 7.25.0 → 7.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/cjs/components/AutocompleteSearch.js +25 -36
  2. package/dist/cjs/components/Carousel.js +25 -39
  3. package/dist/cjs/components/index.js +6 -15
  4. package/dist/cjs/index.js +85 -44
  5. package/dist/cjs/lib/useStickToBottom.js +11 -17
  6. package/dist/cjs/package.json +4 -1
  7. package/dist/cjs/types/PartialKeys.js +2 -1
  8. package/dist/cjs/types/Translatable.js +2 -1
  9. package/dist/cjs/types/index.js +1 -26
  10. package/dist/cjs/ui/Breadcrumb.js +52 -57
  11. package/dist/cjs/ui/ClearRefinements.js +23 -28
  12. package/dist/cjs/ui/CurrentRefinements.js +48 -50
  13. package/dist/cjs/ui/HierarchicalMenu.js +71 -79
  14. package/dist/cjs/ui/Highlight.js +21 -25
  15. package/dist/cjs/ui/HitsPerPage.js +31 -34
  16. package/dist/cjs/ui/InfiniteHits.js +83 -88
  17. package/dist/cjs/ui/InternalHighlight.js +9 -10
  18. package/dist/cjs/ui/Menu.js +53 -56
  19. package/dist/cjs/ui/Pagination.js +117 -124
  20. package/dist/cjs/ui/PoweredBy.js +33 -37
  21. package/dist/cjs/ui/RangeInput.js +96 -116
  22. package/dist/cjs/ui/RefinementList.js +66 -67
  23. package/dist/cjs/ui/ReverseHighlight.js +21 -25
  24. package/dist/cjs/ui/SearchBox.js +141 -151
  25. package/dist/cjs/ui/ShowMoreButton.js +14 -17
  26. package/dist/cjs/ui/Snippet.js +21 -25
  27. package/dist/cjs/ui/SortBy.js +32 -36
  28. package/dist/cjs/ui/Stats.js +29 -32
  29. package/dist/cjs/ui/ToggleRefinement.js +30 -33
  30. package/dist/cjs/ui/lib/capitalize.js +5 -7
  31. package/dist/cjs/ui/lib/index.js +8 -26
  32. package/dist/cjs/ui/lib/isModifierClick.js +6 -8
  33. package/dist/cjs/widgets/Autocomplete.js +450 -491
  34. package/dist/cjs/widgets/Breadcrumb.js +34 -47
  35. package/dist/cjs/widgets/Chat.js +174 -221
  36. package/dist/cjs/widgets/ClearRefinements.js +31 -42
  37. package/dist/cjs/widgets/CurrentRefinements.js +27 -32
  38. package/dist/cjs/widgets/FilterSuggestions.js +46 -53
  39. package/dist/cjs/widgets/FrequentlyBoughtTogether.js +66 -74
  40. package/dist/cjs/widgets/HierarchicalMenu.js +53 -68
  41. package/dist/cjs/widgets/Highlight.js +31 -31
  42. package/dist/cjs/widgets/Hits.js +59 -64
  43. package/dist/cjs/widgets/HitsPerPage.js +32 -38
  44. package/dist/cjs/widgets/InfiniteHits.js +44 -61
  45. package/dist/cjs/widgets/LookingSimilar.js +66 -74
  46. package/dist/cjs/widgets/Menu.js +48 -62
  47. package/dist/cjs/widgets/Pagination.js +59 -74
  48. package/dist/cjs/widgets/PoweredBy.js +14 -17
  49. package/dist/cjs/widgets/RangeInput.js +38 -51
  50. package/dist/cjs/widgets/RefinementList.js +100 -125
  51. package/dist/cjs/widgets/RelatedProducts.js +66 -74
  52. package/dist/cjs/widgets/ReverseHighlight.js +38 -44
  53. package/dist/cjs/widgets/SearchBox.js +63 -86
  54. package/dist/cjs/widgets/Snippet.js +31 -31
  55. package/dist/cjs/widgets/SortBy.js +26 -32
  56. package/dist/cjs/widgets/Stats.js +54 -68
  57. package/dist/cjs/widgets/ToggleRefinement.js +33 -38
  58. package/dist/cjs/widgets/TrendingItems.js +70 -78
  59. package/dist/cjs/widgets/chat/tools/SearchIndexTool.js +92 -99
  60. package/dist/cjs/widgets/index.js +77 -289
  61. package/dist/cjs/widgets/index.umd.js +68 -322
  62. package/dist/es/components/AutocompleteSearch.js +22 -28
  63. package/dist/es/components/Carousel.js +23 -31
  64. package/dist/es/components/index.js +1 -1
  65. package/dist/es/index.js +29 -4
  66. package/dist/es/lib/useStickToBottom.js +10 -12
  67. package/dist/es/package.json +4 -0
  68. package/dist/es/types/PartialKeys.js +1 -1
  69. package/dist/es/types/Translatable.js +1 -1
  70. package/dist/es/types/index.js +1 -2
  71. package/dist/es/ui/Breadcrumb.js +49 -49
  72. package/dist/es/ui/ClearRefinements.js +21 -21
  73. package/dist/es/ui/CurrentRefinements.js +46 -43
  74. package/dist/es/ui/HierarchicalMenu.js +68 -71
  75. package/dist/es/ui/Highlight.js +19 -18
  76. package/dist/es/ui/HitsPerPage.js +29 -27
  77. package/dist/es/ui/InfiniteHits.js +80 -80
  78. package/dist/es/ui/InternalHighlight.js +7 -4
  79. package/dist/es/ui/Menu.js +51 -49
  80. package/dist/es/ui/Pagination.js +114 -116
  81. package/dist/es/ui/PoweredBy.js +31 -30
  82. package/dist/es/ui/RangeInput.js +93 -107
  83. package/dist/es/ui/RefinementList.js +64 -60
  84. package/dist/es/ui/ReverseHighlight.js +19 -18
  85. package/dist/es/ui/SearchBox.js +138 -143
  86. package/dist/es/ui/ShowMoreButton.js +13 -11
  87. package/dist/es/ui/Snippet.js +19 -18
  88. package/dist/es/ui/SortBy.js +30 -29
  89. package/dist/es/ui/Stats.js +27 -25
  90. package/dist/es/ui/ToggleRefinement.js +28 -26
  91. package/dist/es/ui/lib/capitalize.js +5 -3
  92. package/dist/es/ui/lib/index.js +2 -2
  93. package/dist/es/ui/lib/isModifierClick.js +6 -4
  94. package/dist/es/widgets/Autocomplete.js +438 -474
  95. package/dist/es/widgets/Breadcrumb.js +31 -39
  96. package/dist/es/widgets/Chat.js +164 -196
  97. package/dist/es/widgets/ClearRefinements.js +28 -34
  98. package/dist/es/widgets/CurrentRefinements.js +24 -24
  99. package/dist/es/widgets/FilterSuggestions.js +41 -42
  100. package/dist/es/widgets/FrequentlyBoughtTogether.js +62 -65
  101. package/dist/es/widgets/HierarchicalMenu.js +50 -60
  102. package/dist/es/widgets/Highlight.js +30 -25
  103. package/dist/es/widgets/Hits.js +54 -53
  104. package/dist/es/widgets/HitsPerPage.js +29 -30
  105. package/dist/es/widgets/InfiniteHits.js +41 -53
  106. package/dist/es/widgets/LookingSimilar.js +62 -65
  107. package/dist/es/widgets/Menu.js +45 -54
  108. package/dist/es/widgets/Pagination.js +56 -66
  109. package/dist/es/widgets/PoweredBy.js +12 -10
  110. package/dist/es/widgets/RangeInput.js +35 -43
  111. package/dist/es/widgets/RefinementList.js +98 -118
  112. package/dist/es/widgets/RelatedProducts.js +61 -64
  113. package/dist/es/widgets/ReverseHighlight.js +36 -37
  114. package/dist/es/widgets/SearchBox.js +61 -79
  115. package/dist/es/widgets/Snippet.js +30 -25
  116. package/dist/es/widgets/SortBy.js +23 -24
  117. package/dist/es/widgets/Stats.js +51 -60
  118. package/dist/es/widgets/ToggleRefinement.js +30 -30
  119. package/dist/es/widgets/TrendingItems.js +65 -68
  120. package/dist/es/widgets/chat/tools/SearchIndexTool.js +89 -91
  121. package/dist/es/widgets/index.js +27 -26
  122. package/dist/es/widgets/index.umd.js +36 -33
  123. package/dist/umd/ReactInstantSearch.js +23411 -30098
  124. package/dist/umd/ReactInstantSearch.min.js +3 -3
  125. package/package.json +8 -12
  126. package/dist/umd/ReactInstantSearch.js.map +0 -1
  127. package/dist/umd/ReactInstantSearch.min.js.map +0 -1
@@ -1,82 +1,74 @@
1
- "use strict";
1
+ 'use strict';
2
2
 
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.TrendingItems = TrendingItems;
8
- var _instantsearchUiComponents = require("instantsearch-ui-components");
9
- var _react = _interopRequireWildcard(require("react"));
10
- var _reactInstantsearchCore = require("react-instantsearch-core");
11
- var _excluded = ["facetName", "facetValue", "limit", "threshold", "fallbackParameters", "queryParameters", "escapeHTML", "transformItems", "itemComponent", "headerComponent", "emptyComponent", "layoutComponent"];
12
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
13
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
14
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
17
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
18
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
- function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
20
- function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
21
- var TrendingItemsUiComponent = (0, _instantsearchUiComponents.createTrendingItemsComponent)({
22
- createElement: _react.createElement,
23
- Fragment: _react.Fragment
3
+ var _object_spread = require('@swc/helpers/_/_object_spread');
4
+ var _object_spread_props = require('@swc/helpers/_/_object_spread_props');
5
+ var _object_without_properties = require('@swc/helpers/_/_object_without_properties');
6
+ var instantsearchUiComponents = require('instantsearch-ui-components');
7
+ var React = require('react');
8
+ var reactInstantsearchCore = require('react-instantsearch-core');
9
+
10
+ var TrendingItemsUiComponent = instantsearchUiComponents.createTrendingItemsComponent({
11
+ createElement: React.createElement,
12
+ Fragment: React.Fragment
24
13
  });
25
- function TrendingItems(_ref) {
26
- var facetName = _ref.facetName,
27
- facetValue = _ref.facetValue,
28
- limit = _ref.limit,
29
- threshold = _ref.threshold,
30
- fallbackParameters = _ref.fallbackParameters,
31
- queryParameters = _ref.queryParameters,
32
- escapeHTML = _ref.escapeHTML,
33
- transformItems = _ref.transformItems,
34
- itemComponent = _ref.itemComponent,
35
- headerComponent = _ref.headerComponent,
36
- emptyComponent = _ref.emptyComponent,
37
- layoutComponent = _ref.layoutComponent,
38
- props = _objectWithoutProperties(_ref, _excluded);
39
- var facetParameters = facetName && facetValue ? {
40
- facetName: facetName,
41
- facetValue: facetValue
42
- } : {};
43
- var _useInstantSearch = (0, _reactInstantsearchCore.useInstantSearch)(),
44
- status = _useInstantSearch.status;
45
- var _useTrendingItems = (0, _reactInstantsearchCore.useTrendingItems)(_objectSpread(_objectSpread({}, facetParameters), {}, {
46
- limit: limit,
47
- threshold: threshold,
48
- fallbackParameters: fallbackParameters,
49
- queryParameters: queryParameters,
50
- escapeHTML: escapeHTML,
51
- transformItems: transformItems
14
+ function TrendingItems(_0) {
15
+ var facetName = _0.facetName, facetValue = _0.facetValue, limit = _0.limit, threshold = _0.threshold, fallbackParameters = _0.fallbackParameters, queryParameters = _0.queryParameters, escapeHTML = _0.escapeHTML, transformItems = _0.transformItems, itemComponent = _0.itemComponent, headerComponent = _0.headerComponent, emptyComponent = _0.emptyComponent, layoutComponent = _0.layoutComponent, props = _object_without_properties._(_0, [
16
+ "facetName",
17
+ "facetValue",
18
+ "limit",
19
+ "threshold",
20
+ "fallbackParameters",
21
+ "queryParameters",
22
+ "escapeHTML",
23
+ "transformItems",
24
+ "itemComponent",
25
+ "headerComponent",
26
+ "emptyComponent",
27
+ "layoutComponent"
28
+ ]);
29
+ var facetParameters = facetName && facetValue ? {
30
+ facetName: facetName,
31
+ facetValue: facetValue
32
+ } : {};
33
+ var status = reactInstantsearchCore.useInstantSearch().status;
34
+ var _useTrendingItems = reactInstantsearchCore.useTrendingItems(_object_spread_props._(_object_spread._({}, facetParameters), {
35
+ limit: limit,
36
+ threshold: threshold,
37
+ fallbackParameters: fallbackParameters,
38
+ queryParameters: queryParameters,
39
+ escapeHTML: escapeHTML,
40
+ transformItems: transformItems
52
41
  }), {
53
- $$widgetType: 'ais.trendingItems'
54
- }),
55
- items = _useTrendingItems.items,
56
- sendEvent = _useTrendingItems.sendEvent;
57
- var layout = layoutComponent ? function (layoutProps) {
58
- return layoutComponent(_objectSpread(_objectSpread({}, layoutProps), {}, {
59
- classNames: {
60
- list: layoutProps.classNames.list,
61
- item: layoutProps.classNames.item
62
- }
63
- }));
64
- } : undefined;
65
- var _itemComponent = (0, _react.useMemo)(function () {
66
- return itemComponent ? function (itemProps) {
67
- return itemComponent(_objectSpread(_objectSpread({}, itemProps), {}, {
68
- sendEvent: sendEvent
69
- }));
42
+ $$widgetType: 'ais.trendingItems'
43
+ }), items = _useTrendingItems.items, sendEvent = _useTrendingItems.sendEvent;
44
+ var layout = layoutComponent ? function(layoutProps) {
45
+ return layoutComponent(_object_spread_props._(_object_spread._({}, layoutProps), {
46
+ classNames: {
47
+ list: layoutProps.classNames.list,
48
+ item: layoutProps.classNames.item
49
+ }
50
+ }));
70
51
  } : undefined;
71
- }, [itemComponent, sendEvent]);
72
- var uiProps = {
73
- items: items,
74
- itemComponent: _itemComponent,
75
- headerComponent: headerComponent,
76
- emptyComponent: emptyComponent,
77
- layout: layout,
78
- status: status,
79
- sendEvent: sendEvent
80
- };
81
- return /*#__PURE__*/_react.default.createElement(TrendingItemsUiComponent, _extends({}, props, uiProps));
82
- }
52
+ var _itemComponent = React.useMemo(function() {
53
+ return itemComponent ? function(itemProps) {
54
+ return itemComponent(_object_spread_props._(_object_spread._({}, itemProps), {
55
+ sendEvent: sendEvent
56
+ }));
57
+ } : undefined;
58
+ }, [
59
+ itemComponent,
60
+ sendEvent
61
+ ]);
62
+ var uiProps = {
63
+ items: items,
64
+ itemComponent: _itemComponent,
65
+ headerComponent: headerComponent,
66
+ emptyComponent: emptyComponent,
67
+ layout: layout,
68
+ status: status,
69
+ sendEvent: sendEvent
70
+ };
71
+ return /*#__PURE__*/ React.createElement(TrendingItemsUiComponent, _object_spread._({}, props, uiProps));
72
+ }
73
+
74
+ exports.TrendingItems = TrendingItems;
@@ -1,104 +1,97 @@
1
- "use strict";
1
+ 'use strict';
2
+
3
+ var _object_spread = require('@swc/helpers/_/_object_spread');
4
+ var instantsearchUiComponents = require('instantsearch-ui-components');
5
+ var React = require('react');
6
+ var Carousel = require('../../../components/Carousel.js');
2
7
 
3
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.createCarouselTool = createCarouselTool;
8
- var _instantsearchUiComponents = require("instantsearch-ui-components");
9
- var _react = _interopRequireWildcard(require("react"));
10
- var _components = require("../../../components");
11
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
12
- function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
13
8
  function createCarouselTool(showViewAll, itemComponent, getSearchPageURL) {
14
- var Button = (0, _instantsearchUiComponents.createButtonComponent)({
15
- createElement: _react.createElement
16
- });
17
- function SearchLayoutComponent(_ref) {
18
- var message = _ref.message,
19
- applyFilters = _ref.applyFilters,
20
- onClose = _ref.onClose;
21
- var input = message === null || message === void 0 ? void 0 : message.input;
22
- var output = message === null || message === void 0 ? void 0 : message.output;
23
- var items = (output === null || output === void 0 ? void 0 : output.hits) || [];
24
- var MemoedHeaderComponent = _react.default.useMemo(function () {
25
- return function (props) {
26
- return /*#__PURE__*/_react.default.createElement(HeaderComponent, _extends({
27
- nbHits: output === null || output === void 0 ? void 0 : output.nbHits,
28
- input: input,
29
- hitsPerPage: items.length,
30
- onClose: onClose,
31
- applyFilters: applyFilters
32
- }, props));
33
- };
34
- }, [items.length, input, output === null || output === void 0 ? void 0 : output.nbHits, applyFilters, onClose]);
35
- return /*#__PURE__*/_react.default.createElement(_components.Carousel, {
36
- items: items,
37
- itemComponent: itemComponent,
38
- sendEvent: function sendEvent() {},
39
- showNavigation: false,
40
- headerComponent: MemoedHeaderComponent
9
+ var Button = instantsearchUiComponents.createButtonComponent({
10
+ createElement: React.createElement
41
11
  });
42
- }
43
- function HeaderComponent(_ref2) {
44
- var canScrollLeft = _ref2.canScrollLeft,
45
- canScrollRight = _ref2.canScrollRight,
46
- scrollLeft = _ref2.scrollLeft,
47
- scrollRight = _ref2.scrollRight,
48
- nbHits = _ref2.nbHits,
49
- input = _ref2.input,
50
- hitsPerPage = _ref2.hitsPerPage,
51
- applyFilters = _ref2.applyFilters,
52
- onClose = _ref2.onClose;
53
- if ((hitsPerPage !== null && hitsPerPage !== void 0 ? hitsPerPage : 0) < 1) {
54
- return null;
55
- }
56
- return /*#__PURE__*/_react.default.createElement("div", {
57
- className: "ais-ChatToolSearchIndexCarouselHeader"
58
- }, /*#__PURE__*/_react.default.createElement("div", {
59
- className: "ais-ChatToolSearchIndexCarouselHeaderResults"
60
- }, nbHits && /*#__PURE__*/_react.default.createElement("div", {
61
- className: "ais-ChatToolSearchIndexCarouselHeaderCount"
62
- }, hitsPerPage !== null && hitsPerPage !== void 0 ? hitsPerPage : 0, " of ", nbHits.toLocaleString(), " result", nbHits > 1 ? 's' : ''), showViewAll && /*#__PURE__*/_react.default.createElement(Button, {
63
- variant: "ghost",
64
- size: "sm",
65
- onClick: function onClick() {
66
- if (!input || !applyFilters) return;
67
- var params = applyFilters({
68
- query: input.query,
69
- facetFilters: input.facet_filters
12
+ function SearchLayoutComponent(param) {
13
+ var message = param.message, applyFilters = param.applyFilters, onClose = param.onClose;
14
+ var input = message === null || message === void 0 ? void 0 : message.input;
15
+ var output = message === null || message === void 0 ? void 0 : message.output;
16
+ var items = (output === null || output === void 0 ? void 0 : output.hits) || [];
17
+ var MemoedHeaderComponent = React.useMemo(function() {
18
+ return function(props) {
19
+ return /*#__PURE__*/ React.createElement(HeaderComponent, _object_spread._({
20
+ nbHits: output === null || output === void 0 ? void 0 : output.nbHits,
21
+ input: input,
22
+ hitsPerPage: items.length,
23
+ onClose: onClose,
24
+ applyFilters: applyFilters
25
+ }, props));
26
+ };
27
+ }, [
28
+ items.length,
29
+ input,
30
+ output === null || output === void 0 ? void 0 : output.nbHits,
31
+ applyFilters,
32
+ onClose
33
+ ]);
34
+ return /*#__PURE__*/ React.createElement(Carousel.Carousel, {
35
+ items: items,
36
+ itemComponent: itemComponent,
37
+ sendEvent: function sendEvent() {},
38
+ showNavigation: false,
39
+ headerComponent: MemoedHeaderComponent
70
40
  });
71
- if (getSearchPageURL && new URL(getSearchPageURL(params)).pathname !== window.location.pathname) {
72
- window.location.href = getSearchPageURL(params);
41
+ }
42
+ function HeaderComponent(param) {
43
+ var canScrollLeft = param.canScrollLeft, canScrollRight = param.canScrollRight, scrollLeft = param.scrollLeft, scrollRight = param.scrollRight, nbHits = param.nbHits, input = param.input, hitsPerPage = param.hitsPerPage, applyFilters = param.applyFilters, onClose = param.onClose;
44
+ if ((hitsPerPage !== null && hitsPerPage !== void 0 ? hitsPerPage : 0) < 1) {
45
+ return null;
73
46
  }
74
- onClose();
75
- },
76
- className: "ais-ChatToolSearchIndexCarouselHeaderViewAll"
77
- }, "View all", /*#__PURE__*/_react.default.createElement(_instantsearchUiComponents.ArrowRightIcon, {
78
- createElement: _react.createElement
79
- }))), (hitsPerPage !== null && hitsPerPage !== void 0 ? hitsPerPage : 0) > 2 && /*#__PURE__*/_react.default.createElement("div", {
80
- className: "ais-ChatToolSearchIndexCarouselHeaderScrollButtons"
81
- }, /*#__PURE__*/_react.default.createElement(Button, {
82
- variant: "outline",
83
- size: "sm",
84
- iconOnly: true,
85
- onClick: scrollLeft,
86
- disabled: !canScrollLeft,
87
- className: "ais-ChatToolSearchIndexCarouselHeaderScrollButton"
88
- }, /*#__PURE__*/_react.default.createElement(_instantsearchUiComponents.ChevronLeftIcon, {
89
- createElement: _react.createElement
90
- })), /*#__PURE__*/_react.default.createElement(Button, {
91
- variant: "outline",
92
- size: "sm",
93
- iconOnly: true,
94
- onClick: scrollRight,
95
- disabled: !canScrollRight,
96
- className: "ais-ChatToolSearchIndexCarouselHeaderScrollButton"
97
- }, /*#__PURE__*/_react.default.createElement(_instantsearchUiComponents.ChevronRightIcon, {
98
- createElement: _react.createElement
99
- }))));
100
- }
101
- return {
102
- layoutComponent: SearchLayoutComponent
103
- };
104
- }
47
+ return /*#__PURE__*/ React.createElement("div", {
48
+ className: "ais-ChatToolSearchIndexCarouselHeader"
49
+ }, /*#__PURE__*/ React.createElement("div", {
50
+ className: "ais-ChatToolSearchIndexCarouselHeaderResults"
51
+ }, nbHits && /*#__PURE__*/ React.createElement("div", {
52
+ className: "ais-ChatToolSearchIndexCarouselHeaderCount"
53
+ }, hitsPerPage !== null && hitsPerPage !== void 0 ? hitsPerPage : 0, " of ", nbHits.toLocaleString(), " result", nbHits > 1 ? 's' : ''), showViewAll && /*#__PURE__*/ React.createElement(Button, {
54
+ variant: "ghost",
55
+ size: "sm",
56
+ onClick: function onClick() {
57
+ if (!input || !applyFilters) return;
58
+ var params = applyFilters({
59
+ query: input.query,
60
+ facetFilters: input.facet_filters
61
+ });
62
+ if (getSearchPageURL && new URL(getSearchPageURL(params)).pathname !== window.location.pathname) {
63
+ window.location.href = getSearchPageURL(params);
64
+ }
65
+ onClose();
66
+ },
67
+ className: "ais-ChatToolSearchIndexCarouselHeaderViewAll"
68
+ }, "View all", /*#__PURE__*/ React.createElement(instantsearchUiComponents.ArrowRightIcon, {
69
+ createElement: React.createElement
70
+ }))), (hitsPerPage !== null && hitsPerPage !== void 0 ? hitsPerPage : 0) > 2 && /*#__PURE__*/ React.createElement("div", {
71
+ className: "ais-ChatToolSearchIndexCarouselHeaderScrollButtons"
72
+ }, /*#__PURE__*/ React.createElement(Button, {
73
+ variant: "outline",
74
+ size: "sm",
75
+ iconOnly: true,
76
+ onClick: scrollLeft,
77
+ disabled: !canScrollLeft,
78
+ className: "ais-ChatToolSearchIndexCarouselHeaderScrollButton"
79
+ }, /*#__PURE__*/ React.createElement(instantsearchUiComponents.ChevronLeftIcon, {
80
+ createElement: React.createElement
81
+ })), /*#__PURE__*/ React.createElement(Button, {
82
+ variant: "outline",
83
+ size: "sm",
84
+ iconOnly: true,
85
+ onClick: scrollRight,
86
+ disabled: !canScrollRight,
87
+ className: "ais-ChatToolSearchIndexCarouselHeaderScrollButton"
88
+ }, /*#__PURE__*/ React.createElement(instantsearchUiComponents.ChevronRightIcon, {
89
+ createElement: React.createElement
90
+ }))));
91
+ }
92
+ return {
93
+ layoutComponent: SearchLayoutComponent
94
+ };
95
+ }
96
+
97
+ exports.createCarouselTool = createCarouselTool;