instantsearch.js 4.84.0 → 4.85.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 (44) hide show
  1. package/cjs/connectors/chat/connectChat.js +12 -9
  2. package/cjs/lib/utils/getAlgoliaAgent.js +10 -0
  3. package/cjs/lib/utils/index.js +11 -0
  4. package/cjs/lib/version.js +1 -1
  5. package/cjs/middlewares/createMetadataMiddleware.js +1 -2
  6. package/cjs/widgets/autocomplete/autocomplete.js +18 -9
  7. package/cjs/widgets/chat/chat.js +3 -3
  8. package/dist/instantsearch.development.d.ts +109 -30
  9. package/dist/instantsearch.development.js +72 -57
  10. package/dist/instantsearch.development.js.map +1 -1
  11. package/dist/instantsearch.production.d.ts +109 -30
  12. package/dist/instantsearch.production.min.d.ts +109 -30
  13. package/dist/instantsearch.production.min.js +2 -2
  14. package/dist/instantsearch.production.min.js.map +1 -1
  15. package/es/connectors/chat/connectChat.d.ts +165 -60
  16. package/es/connectors/chat/connectChat.js +13 -10
  17. package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.d.ts +2 -2
  18. package/es/connectors/geo-search/connectGeoSearch.d.ts +1 -1
  19. package/es/connectors/hits/connectHits.d.ts +1 -1
  20. package/es/connectors/hits/connectHitsWithInsights.d.ts +1 -1
  21. package/es/connectors/infinite-hits/connectInfiniteHits.d.ts +1 -1
  22. package/es/connectors/infinite-hits/connectInfiniteHitsWithInsights.d.ts +1 -1
  23. package/es/connectors/looking-similar/connectLookingSimilar.d.ts +2 -2
  24. package/es/connectors/related-products/connectRelatedProducts.d.ts +2 -2
  25. package/es/connectors/trending-items/connectTrendingItems.d.ts +2 -2
  26. package/es/lib/utils/getAlgoliaAgent.d.ts +1 -0
  27. package/es/lib/utils/getAlgoliaAgent.js +4 -0
  28. package/es/lib/utils/index.d.ts +1 -0
  29. package/es/lib/utils/index.js +1 -0
  30. package/es/lib/version.d.ts +1 -1
  31. package/es/lib/version.js +1 -1
  32. package/es/middlewares/createMetadataMiddleware.js +2 -3
  33. package/es/widgets/autocomplete/autocomplete.d.ts +4 -0
  34. package/es/widgets/autocomplete/autocomplete.js +19 -10
  35. package/es/widgets/chat/chat.d.ts +109 -6
  36. package/es/widgets/chat/chat.js +4 -4
  37. package/es/widgets/frequently-bought-together/frequently-bought-together.d.ts +5 -3
  38. package/es/widgets/geo-search/geo-search.d.ts +1 -1
  39. package/es/widgets/hits/hits.d.ts +1 -1
  40. package/es/widgets/infinite-hits/infinite-hits.d.ts +1 -1
  41. package/es/widgets/looking-similar/looking-similar.d.ts +5 -3
  42. package/es/widgets/related-products/related-products.d.ts +5 -3
  43. package/es/widgets/trending-items/trending-items.d.ts +5 -3
  44. package/package.json +6 -6
@@ -1,4 +1,4 @@
1
- /*! InstantSearch.js 4.84.0 | © Algolia, Inc. and contributors; MIT License | https://github.com/algolia/instantsearch */
1
+ /*! InstantSearch.js 4.85.1 | © Algolia, Inc. and contributors; MIT License | https://github.com/algolia/instantsearch */
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
4
4
  typeof define === 'function' && define.amd ? define(factory) :
@@ -1127,6 +1127,11 @@
1127
1127
  return insideBoundingBoxStringToBoundingBox(value);
1128
1128
  }
1129
1129
 
1130
+ function getAlgoliaAgent(client) {
1131
+ var clientTyped = client;
1132
+ return clientTyped.transporter && clientTyped.transporter.userAgent ? clientTyped.transporter.userAgent.value : clientTyped._ua;
1133
+ }
1134
+
1130
1135
  // typed as any, since it accepts the _real_ js clients, not the interface we otherwise expect
1131
1136
  function getAppIdAndApiKey(searchClient) {
1132
1137
  if (searchClient.appId && searchClient.apiKey) {
@@ -14500,8 +14505,7 @@
14500
14505
  subscribe: function subscribe() {
14501
14506
  // using setTimeout here to delay extraction until widgets have been added in a tick (e.g. Vue)
14502
14507
  setTimeout(function () {
14503
- var client = instantSearchInstance.client;
14504
- payload.ua = client.transporter && client.transporter.userAgent ? client.transporter.userAgent.value : client._ua;
14508
+ payload.ua = getAlgoliaAgent(instantSearchInstance.client);
14505
14509
  extractWidgetPayload(instantSearchInstance.mainIndex.getWidgets(), instantSearchInstance, payload);
14506
14510
  instantSearchInstance.middleware.forEach(function (middleware) {
14507
14511
  return payload.widgets.push({
@@ -16486,7 +16490,7 @@
16486
16490
  };
16487
16491
  }
16488
16492
 
16489
- var version$1 = '4.84.0';
16493
+ var version$1 = '4.85.1';
16490
16494
 
16491
16495
  var withUsage$v = createDocumentationMessageGenerator({
16492
16496
  name: 'instantsearch'
@@ -17262,7 +17266,7 @@
17262
17266
  onSelect = _getItemProps.onSelect,
17263
17267
  itemProps = _objectWithoutProperties$1(_getItemProps, _excluded$a);
17264
17268
  return createElement("li", _extends$1({
17265
- key: item.objectID
17269
+ key: "".concat(itemProps.id, ":").concat(item.objectID)
17266
17270
  }, itemProps, {
17267
17271
  className: cx('ais-AutocompleteIndexItem', classNames.item, className)
17268
17272
  }), createElement(ItemComponent, {
@@ -17273,16 +17277,23 @@
17273
17277
  };
17274
17278
  }
17275
17279
 
17276
- var _excluded$b = ["children", "classNames"];
17280
+ var _excluded$b = ["children", "classNames", "hidden"];
17277
17281
  function createAutocompletePanelComponent(_ref) {
17278
17282
  var createElement = _ref.createElement;
17279
17283
  return function AutocompletePanel(userProps) {
17280
17284
  var children = userProps.children,
17281
17285
  _userProps$classNames = userProps.classNames,
17282
17286
  classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
17287
+ hidden = userProps.hidden,
17283
17288
  props = _objectWithoutProperties$1(userProps, _excluded$b);
17284
17289
  return createElement("div", _extends$1({}, props, {
17285
- className: cx('ais-AutocompletePanel', classNames.root, props.className)
17290
+ "aria-hidden": hidden,
17291
+ className: cx('ais-AutocompletePanel', !hidden && 'ais-AutocompletePanel--open', classNames.root, props.className),
17292
+ onMouseDown: function onMouseDown(event) {
17293
+ // Prevents the autocomplete panel from blurring the input when
17294
+ // clicking inside the panel.
17295
+ event.preventDefault();
17296
+ }
17286
17297
  }), createElement("div", {
17287
17298
  className: cx('ais-AutocompletePanelLayout', classNames.layout)
17288
17299
  }, children));
@@ -17431,25 +17442,21 @@
17431
17442
 
17432
17443
  var _slicedToArray$1 = unwrapExports(slicedToArray);
17433
17444
 
17434
- function AutocompleteSubmitIcon(_ref) {
17445
+ function SubmitIcon(_ref) {
17435
17446
  var createElement = _ref.createElement;
17436
17447
  return createElement("svg", {
17437
17448
  className: "ais-AutocompleteSubmitIcon",
17438
17449
  viewBox: "0 0 24 24",
17439
- width: "20",
17440
- height: "20",
17441
17450
  fill: "currentColor"
17442
17451
  }, createElement("path", {
17443
17452
  d: "M16.041 15.856c-0.034 0.026-0.067 0.055-0.099 0.087s-0.060 0.064-0.087 0.099c-1.258 1.213-2.969 1.958-4.855 1.958-1.933 0-3.682-0.782-4.95-2.050s-2.050-3.017-2.050-4.95 0.782-3.682 2.050-4.95 3.017-2.050 4.95-2.050 3.682 0.782 4.95 2.050 2.050 3.017 2.050 4.95c0 1.886-0.745 3.597-1.959 4.856zM21.707 20.293l-3.675-3.675c1.231-1.54 1.968-3.493 1.968-5.618 0-2.485-1.008-4.736-2.636-6.364s-3.879-2.636-6.364-2.636-4.736 1.008-6.364 2.636-2.636 3.879-2.636 6.364 1.008 4.736 2.636 6.364 3.879 2.636 6.364 2.636c2.125 0 4.078-0.737 5.618-1.968l3.675 3.675c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414z"
17444
17453
  }));
17445
17454
  }
17446
- function AutocompleteLoadingIcon(_ref2) {
17455
+ function LoadingIcon(_ref2) {
17447
17456
  var createElement = _ref2.createElement;
17448
17457
  return createElement("svg", {
17449
17458
  className: "ais-AutocompleteLoadingIcon",
17450
- viewBox: "0 0 100 100",
17451
- width: "20",
17452
- height: "20"
17459
+ viewBox: "0 0 100 100"
17453
17460
  }, createElement("circle", {
17454
17461
  cx: "50",
17455
17462
  cy: "50",
@@ -17467,19 +17474,17 @@
17467
17474
  keyTimes: "0;0.40;0.65;1"
17468
17475
  })));
17469
17476
  }
17470
- function AutocompleteClearIcon(_ref3) {
17477
+ function ClearIcon(_ref3) {
17471
17478
  var createElement = _ref3.createElement;
17472
17479
  return createElement("svg", {
17473
17480
  className: "ais-AutocompleteClearIcon",
17474
17481
  viewBox: "0 0 24 24",
17475
- width: "18",
17476
- height: "18",
17477
17482
  fill: "currentColor"
17478
17483
  }, createElement("path", {
17479
17484
  d: "M5.293 6.707l5.293 5.293-5.293 5.293c-0.391 0.391-0.391 1.024 0 1.414s1.024 0.391 1.414 0l5.293-5.293 5.293 5.293c0.391 0.391 1.024 0.391 1.414 0s0.391-1.024 0-1.414l-5.293-5.293 5.293-5.293c0.391-0.391 0.391-1.024 0-1.414s-1.024-0.391-1.414 0l-5.293 5.293-5.293-5.293c-0.391-0.391-1.024-0.391-1.414 0s-0.391 1.024 0 1.414z"
17480
17485
  }));
17481
17486
  }
17482
- function AutocompleteClockIcon(_ref4) {
17487
+ function ClockIcon(_ref4) {
17483
17488
  var createElement = _ref4.createElement;
17484
17489
  return createElement("svg", {
17485
17490
  viewBox: "0 0 24 24",
@@ -17488,7 +17493,7 @@
17488
17493
  d: "M12.516 6.984v5.25l4.5 2.672-0.75 1.266-5.25-3.188v-6h1.5zM12 20.016q3.281 0 5.648-2.367t2.367-5.648-2.367-5.648-5.648-2.367-5.648 2.367-2.367 5.648 2.367 5.648 5.648 2.367zM12 2.016q4.125 0 7.055 2.93t2.93 7.055-2.93 7.055-7.055 2.93-7.055-2.93-2.93-7.055 2.93-7.055 7.055-2.93z"
17489
17494
  }));
17490
17495
  }
17491
- function AutocompleteTrashIcon(_ref5) {
17496
+ function TrashIcon(_ref5) {
17492
17497
  var createElement = _ref5.createElement;
17493
17498
  return createElement("svg", {
17494
17499
  viewBox: "0 0 24 24",
@@ -17500,13 +17505,13 @@
17500
17505
 
17501
17506
  function createAutocompleteRecentSearchComponent(_ref) {
17502
17507
  var createElement = _ref.createElement;
17503
- return function AutocompleteRecentSearch(_ref2) {
17504
- var item = _ref2.item,
17505
- children = _ref2.children,
17506
- onSelect = _ref2.onSelect,
17507
- onRemoveRecentSearch = _ref2.onRemoveRecentSearch,
17508
- _ref2$classNames = _ref2.classNames,
17509
- classNames = _ref2$classNames === void 0 ? {} : _ref2$classNames;
17508
+ return function AutocompleteRecentSearch(userProps) {
17509
+ var item = userProps.item,
17510
+ children = userProps.children,
17511
+ onSelect = userProps.onSelect,
17512
+ onRemoveRecentSearch = userProps.onRemoveRecentSearch,
17513
+ _userProps$classNames = userProps.classNames,
17514
+ classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames;
17510
17515
  return createElement("div", {
17511
17516
  onClick: onSelect,
17512
17517
  className: cx('ais-AutocompleteItemWrapper ais-AutocompleteRecentSearchWrapper', classNames.root)
@@ -17514,7 +17519,7 @@
17514
17519
  className: cx('ais-AutocompleteItemContent', 'ais-AutocompleteRecentSearchItemContent', classNames.content)
17515
17520
  }, createElement("div", {
17516
17521
  className: cx('ais-AutocompleteItemIcon', 'ais-AutocompleteRecentSearchItemIcon', classNames.content)
17517
- }, createElement(AutocompleteClockIcon, {
17522
+ }, createElement(ClockIcon, {
17518
17523
  createElement: createElement
17519
17524
  })), createElement("div", {
17520
17525
  className: cx('ais-AutocompleteItemContentBody', 'ais-AutocompleteRecentSearchItemContentBody', classNames.content)
@@ -17527,7 +17532,7 @@
17527
17532
  evt.stopPropagation();
17528
17533
  onRemoveRecentSearch();
17529
17534
  }
17530
- }, createElement(AutocompleteTrashIcon, {
17535
+ }, createElement(TrashIcon, {
17531
17536
  createElement: createElement
17532
17537
  }))));
17533
17538
  };
@@ -17535,11 +17540,11 @@
17535
17540
 
17536
17541
  function createAutocompleteSearchComponent(_ref) {
17537
17542
  var createElement = _ref.createElement;
17538
- return function AutocompleteSearch(_ref2) {
17539
- var inputProps = _ref2.inputProps,
17540
- onClear = _ref2.onClear,
17541
- query = _ref2.query,
17542
- isSearchStalled = _ref2.isSearchStalled;
17543
+ return function AutocompleteSearch(userProps) {
17544
+ var inputProps = userProps.inputProps,
17545
+ onClear = userProps.onClear,
17546
+ query = userProps.query,
17547
+ isSearchStalled = userProps.isSearchStalled;
17543
17548
  var inputRef = inputProps.ref;
17544
17549
  return createElement("form", {
17545
17550
  className: "ais-AutocompleteForm",
@@ -17564,12 +17569,12 @@
17564
17569
  className: "ais-AutocompleteSubmitButton",
17565
17570
  type: "submit",
17566
17571
  title: "Submit"
17567
- }, createElement(AutocompleteSubmitIcon, {
17572
+ }, createElement(SubmitIcon, {
17568
17573
  createElement: createElement
17569
17574
  }))), createElement("div", {
17570
17575
  className: "ais-AutocompleteLoadingIndicator",
17571
17576
  hidden: !isSearchStalled
17572
- }, createElement(AutocompleteLoadingIcon, {
17577
+ }, createElement(LoadingIcon, {
17573
17578
  createElement: createElement
17574
17579
  }))), createElement("div", {
17575
17580
  className: "ais-AutocompleteInputWrapper"
@@ -17582,7 +17587,6 @@
17582
17587
  autoCapitalize: "off",
17583
17588
  enterKeyHint: "search",
17584
17589
  spellCheck: "false",
17585
- placeholder: "",
17586
17590
  maxLength: 512,
17587
17591
  type: "search",
17588
17592
  value: query
@@ -17594,7 +17598,7 @@
17594
17598
  title: "Clear",
17595
17599
  hidden: query.length === 0 || isSearchStalled,
17596
17600
  onClick: onClear
17597
- }, createElement(AutocompleteClearIcon, {
17601
+ }, createElement(ClearIcon, {
17598
17602
  createElement: createElement
17599
17603
  }))));
17600
17604
  };
@@ -17602,11 +17606,11 @@
17602
17606
 
17603
17607
  function createAutocompleteSuggestionComponent(_ref) {
17604
17608
  var createElement = _ref.createElement;
17605
- return function AutocompleteSuggestion(_ref2) {
17606
- var children = _ref2.children,
17607
- onSelect = _ref2.onSelect,
17608
- _ref2$classNames = _ref2.classNames,
17609
- classNames = _ref2$classNames === void 0 ? {} : _ref2$classNames;
17609
+ return function AutocompleteSuggestion(userProps) {
17610
+ var children = userProps.children,
17611
+ onSelect = userProps.onSelect,
17612
+ _userProps$classNames = userProps.classNames,
17613
+ classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames;
17610
17614
  return createElement("div", {
17611
17615
  onClick: onSelect,
17612
17616
  className: cx('ais-AutocompleteItemWrapper', 'ais-AutocompleteSuggestionWrapper', classNames.root)
@@ -17614,7 +17618,7 @@
17614
17618
  className: cx('ais-AutocompleteItemContent', 'ais-AutocompleteSuggestionItemContent', classNames.content)
17615
17619
  }, createElement("div", {
17616
17620
  className: cx('ais-AutocompleteItemIcon', 'ais-AutocompleteSuggestionItemIcon', classNames.content)
17617
- }, createElement(AutocompleteSubmitIcon, {
17621
+ }, createElement(SubmitIcon, {
17618
17622
  createElement: createElement
17619
17623
  })), createElement("div", {
17620
17624
  className: cx('ais-AutocompleteItemContentBody', 'ais-AutocompleteSuggestionItemContentBody', classNames.content)
@@ -17632,7 +17636,8 @@
17632
17636
  var indices = _ref2.indices,
17633
17637
  indicesConfig = _ref2.indicesConfig,
17634
17638
  onRefine = _ref2.onRefine,
17635
- globalOnSelect = _ref2.onSelect;
17639
+ globalOnSelect = _ref2.onSelect,
17640
+ placeholder = _ref2.placeholder;
17636
17641
  var getElementId = createGetElementId(useId());
17637
17642
  var inputRef = useRef(null);
17638
17643
  var rootRef = useRef(null);
@@ -17728,6 +17733,7 @@
17728
17733
  'aria-haspopup': 'grid',
17729
17734
  'aria-controls': getElementId('panel'),
17730
17735
  'aria-activedescendant': activeDescendant,
17736
+ placeholder: placeholder,
17731
17737
  onFocus: function onFocus() {
17732
17738
  return setIsOpen(true);
17733
17739
  },
@@ -18198,9 +18204,9 @@
18198
18204
  Fragment: Fragment
18199
18205
  }) : _userProps$itemCompon,
18200
18206
  _userProps$previousIc = userProps.previousIconComponent,
18201
- PreviousIconComponent = _userProps$previousIc === void 0 ? PreviousIconDefaultComponent : _userProps$previousIc,
18207
+ PreviousIcon = _userProps$previousIc === void 0 ? PreviousIconDefaultComponent : _userProps$previousIc,
18202
18208
  _userProps$nextIconCo = userProps.nextIconComponent,
18203
- NextIconComponent = _userProps$nextIconCo === void 0 ? NextIconDefaultComponent : _userProps$nextIconCo,
18209
+ NextIcon = _userProps$nextIconCo === void 0 ? NextIconDefaultComponent : _userProps$nextIconCo,
18204
18210
  HeaderComponent = userProps.headerComponent,
18205
18211
  _userProps$showNaviga = userProps.showNavigation,
18206
18212
  showNavigation = _userProps$showNaviga === void 0 ? true : _userProps$showNaviga,
@@ -18269,7 +18275,7 @@
18269
18275
  event.preventDefault();
18270
18276
  scrollLeft();
18271
18277
  }
18272
- }, createElement(PreviousIconComponent, {
18278
+ }, createElement(PreviousIcon, {
18273
18279
  createElement: createElement
18274
18280
  })), createElement("ol", {
18275
18281
  className: cx(cssClasses.list),
@@ -18315,7 +18321,7 @@
18315
18321
  event.preventDefault();
18316
18322
  scrollRight();
18317
18323
  }
18318
- }, createElement(NextIconComponent, {
18324
+ }, createElement(NextIcon, {
18319
18325
  createElement: createElement
18320
18326
  })));
18321
18327
  };
@@ -20477,13 +20483,14 @@
20477
20483
  indices = _ref.indices,
20478
20484
  getSearchPageURL = _ref.getSearchPageURL,
20479
20485
  userOnSelect = _ref.onSelect,
20480
- refine = _ref.refine,
20486
+ refineAutocomplete = _ref.refine,
20481
20487
  cssClasses = _ref.cssClasses,
20482
20488
  renderState = _ref.renderState,
20483
20489
  instantSearchInstance = _ref.instantSearchInstance,
20484
20490
  showRecent = _ref.showRecent,
20485
20491
  showSuggestions = _ref.showSuggestions,
20486
- templates = _ref.templates;
20492
+ templates = _ref.templates,
20493
+ placeholder = _ref.placeholder;
20487
20494
  var isolatedIndex = renderState.isolatedIndex,
20488
20495
  targetIndex = renderState.targetIndex;
20489
20496
  var searchboxQuery = isolatedIndex === null || isolatedIndex === void 0 ? void 0 : (_isolatedIndex$getHel = isolatedIndex.getHelper()) === null || _isolatedIndex$getHel === void 0 ? void 0 : _isolatedIndex$getHel.state.query;
@@ -20502,6 +20509,7 @@
20502
20509
  return ['ais.hits', 'ais.infiniteHits'].includes($$type);
20503
20510
  })) !== null && _targetIndex$getWidge !== void 0 ? _targetIndex$getWidge : false;
20504
20511
  var onRefine = function onRefine(query) {
20512
+ refineAutocomplete(query);
20505
20513
  instantSearchInstance.setUiState(function (uiState) {
20506
20514
  var _objectSpread2$1;
20507
20515
  return _objectSpread2(_objectSpread2({}, uiState), {}, (_objectSpread2$1 = {}, _defineProperty(_objectSpread2$1, targetIndex.getIndexId(), _objectSpread2(_objectSpread2({}, uiState[targetIndex.getIndexId()]), {}, {
@@ -20532,7 +20540,8 @@
20532
20540
  return;
20533
20541
  }
20534
20542
  setQuery(query);
20535
- }
20543
+ },
20544
+ placeholder: placeholder
20536
20545
  }),
20537
20546
  getInputProps = _usePropGetters.getInputProps,
20538
20547
  getItemProps = _usePropGetters.getItemProps,
@@ -20631,11 +20640,16 @@
20631
20640
  }));
20632
20641
  };
20633
20642
  var elementId = indexName === (showSuggestions === null || showSuggestions === void 0 ? void 0 : showSuggestions.indexName) ? 'suggestions' : indexName;
20643
+ var filteredHits = elementId === 'suggestions' && showRecent ? hits.filter(function (suggestionHit) {
20644
+ return !find(storageHits, function (storageHit) {
20645
+ return storageHit.query === suggestionHit.query;
20646
+ });
20647
+ }) : hits;
20634
20648
  elements[elementId] = h(AutocompleteIndex, {
20635
20649
  key: indexId,
20636
20650
  HeaderComponent: headerComponent,
20637
20651
  ItemComponent: itemComponent,
20638
- items: hits.map(function (item) {
20652
+ items: filteredHits.map(function (item) {
20639
20653
  return _objectSpread2(_objectSpread2({}, item), {}, {
20640
20654
  __indexName: indexId
20641
20655
  });
@@ -20649,13 +20663,12 @@
20649
20663
  }), h(AutocompleteSearchBox, {
20650
20664
  query: searchboxQuery || '',
20651
20665
  inputProps: _objectSpread2(_objectSpread2({}, getInputProps()), {}, {
20652
- // @ts-ignore - This clashes with some ambient React JSX declarations.
20653
- onInput: function onInput(evt) {
20654
- return refine(evt.currentTarget.value);
20666
+ onInput: function onInput(event) {
20667
+ return refineAutocomplete(event.currentTarget.value);
20655
20668
  }
20656
20669
  }),
20657
20670
  onClear: function onClear() {
20658
- return onRefine('');
20671
+ onRefine('');
20659
20672
  },
20660
20673
  isSearchStalled: instantSearchInstance.status === 'stalled'
20661
20674
  }), h(AutocompletePanel, getPanelProps(), templates.panel ? h(Template, _extends({}, renderState.templateProps, {
@@ -20683,7 +20696,8 @@
20683
20696
  _ref0$templates = _ref0.templates,
20684
20697
  templates = _ref0$templates === void 0 ? {} : _ref0$templates,
20685
20698
  _ref0$cssClasses = _ref0.cssClasses,
20686
- userCssClasses = _ref0$cssClasses === void 0 ? {} : _ref0$cssClasses;
20699
+ userCssClasses = _ref0$cssClasses === void 0 ? {} : _ref0$cssClasses,
20700
+ placeholder = _ref0.placeholder;
20687
20701
  if (!container) {
20688
20702
  throw new Error(withUsage$z('The `container` option is required.'));
20689
20703
  }
@@ -20734,6 +20748,7 @@
20734
20748
  cssClasses: cssClasses,
20735
20749
  showRecent: showRecent,
20736
20750
  showSuggestions: showSuggestions,
20751
+ placeholder: placeholder,
20737
20752
  renderState: {
20738
20753
  indexTemplateProps: [],
20739
20754
  isolatedIndex: undefined,