instantsearch.js 4.83.0 → 4.84.0
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.
- package/cjs/lib/version.js +1 -1
- package/cjs/widgets/autocomplete/autocomplete.js +133 -71
- package/cjs/widgets/index/index.js +10 -6
- package/dist/instantsearch.development.d.ts +27 -2
- package/dist/instantsearch.development.js +220 -102
- package/dist/instantsearch.development.js.map +1 -1
- package/dist/instantsearch.production.d.ts +27 -2
- package/dist/instantsearch.production.min.d.ts +27 -2
- package/dist/instantsearch.production.min.js +2 -2
- package/dist/instantsearch.production.min.js.map +1 -1
- package/es/lib/version.d.ts +1 -1
- package/es/lib/version.js +1 -1
- package/es/widgets/autocomplete/autocomplete.d.ts +22 -3
- package/es/widgets/autocomplete/autocomplete.js +133 -71
- package/es/widgets/index/index.d.ts +5 -0
- package/es/widgets/index/index.js +11 -7
- package/package.json +6 -6
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! InstantSearch.js 4.
|
|
1
|
+
/*! InstantSearch.js 4.84.0 | © 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) :
|
|
@@ -15936,6 +15936,12 @@
|
|
|
15936
15936
|
helper: helper
|
|
15937
15937
|
})));
|
|
15938
15938
|
},
|
|
15939
|
+
scheduleLocalSearch: defer(function () {
|
|
15940
|
+
if (isolated) {
|
|
15941
|
+
var _helper2;
|
|
15942
|
+
(_helper2 = helper) === null || _helper2 === void 0 ? void 0 : _helper2.search();
|
|
15943
|
+
}
|
|
15944
|
+
}),
|
|
15939
15945
|
getWidgets: function getWidgets() {
|
|
15940
15946
|
return localWidgets;
|
|
15941
15947
|
},
|
|
@@ -16001,8 +16007,7 @@
|
|
|
16001
16007
|
}
|
|
16002
16008
|
});
|
|
16003
16009
|
if (isolated) {
|
|
16004
|
-
|
|
16005
|
-
(_helper2 = helper) === null || _helper2 === void 0 ? void 0 : _helper2.search();
|
|
16010
|
+
this.scheduleLocalSearch();
|
|
16006
16011
|
} else {
|
|
16007
16012
|
localInstantSearchInstance.scheduleSearch();
|
|
16008
16013
|
}
|
|
@@ -16081,8 +16086,7 @@
|
|
|
16081
16086
|
helper.recommendState = cleanedRecommendState;
|
|
16082
16087
|
if (localWidgets.length) {
|
|
16083
16088
|
if (isolated) {
|
|
16084
|
-
|
|
16085
|
-
(_helper3 = helper) === null || _helper3 === void 0 ? void 0 : _helper3.search();
|
|
16089
|
+
this.scheduleLocalSearch();
|
|
16086
16090
|
} else {
|
|
16087
16091
|
localInstantSearchInstance.scheduleSearch();
|
|
16088
16092
|
}
|
|
@@ -16336,7 +16340,7 @@
|
|
|
16336
16340
|
},
|
|
16337
16341
|
dispose: function dispose() {
|
|
16338
16342
|
var _this5 = this,
|
|
16339
|
-
|
|
16343
|
+
_helper3,
|
|
16340
16344
|
_derivedHelper3;
|
|
16341
16345
|
localWidgets.forEach(function (widget) {
|
|
16342
16346
|
if (widget.dispose && helper) {
|
|
@@ -16356,7 +16360,7 @@
|
|
|
16356
16360
|
});
|
|
16357
16361
|
localInstantSearchInstance = null;
|
|
16358
16362
|
localParent = null;
|
|
16359
|
-
(
|
|
16363
|
+
(_helper3 = helper) === null || _helper3 === void 0 ? void 0 : _helper3.removeAllListeners();
|
|
16360
16364
|
helper = null;
|
|
16361
16365
|
(_derivedHelper3 = derivedHelper) === null || _derivedHelper3 === void 0 ? void 0 : _derivedHelper3.detach();
|
|
16362
16366
|
derivedHelper = null;
|
|
@@ -16482,7 +16486,7 @@
|
|
|
16482
16486
|
};
|
|
16483
16487
|
}
|
|
16484
16488
|
|
|
16485
|
-
var version$1 = '4.
|
|
16489
|
+
var version$1 = '4.84.0';
|
|
16486
16490
|
|
|
16487
16491
|
var withUsage$v = createDocumentationMessageGenerator({
|
|
16488
16492
|
name: 'instantsearch'
|
|
@@ -17498,6 +17502,7 @@
|
|
|
17498
17502
|
var createElement = _ref.createElement;
|
|
17499
17503
|
return function AutocompleteRecentSearch(_ref2) {
|
|
17500
17504
|
var item = _ref2.item,
|
|
17505
|
+
children = _ref2.children,
|
|
17501
17506
|
onSelect = _ref2.onSelect,
|
|
17502
17507
|
onRemoveRecentSearch = _ref2.onRemoveRecentSearch,
|
|
17503
17508
|
_ref2$classNames = _ref2.classNames,
|
|
@@ -17513,7 +17518,7 @@
|
|
|
17513
17518
|
createElement: createElement
|
|
17514
17519
|
})), createElement("div", {
|
|
17515
17520
|
className: cx('ais-AutocompleteItemContentBody', 'ais-AutocompleteRecentSearchItemContentBody', classNames.content)
|
|
17516
|
-
},
|
|
17521
|
+
}, children)), createElement("div", {
|
|
17517
17522
|
className: cx('ais-AutocompleteItemActions', 'ais-AutocompleteRecentSearchItemActions', classNames.actions)
|
|
17518
17523
|
}, createElement("button", {
|
|
17519
17524
|
className: cx('ais-AutocompleteItemActionButton', 'ais-AutocompleteRecentSearchItemDeleteButton', classNames.deleteButton),
|
|
@@ -17535,6 +17540,7 @@
|
|
|
17535
17540
|
onClear = _ref2.onClear,
|
|
17536
17541
|
query = _ref2.query,
|
|
17537
17542
|
isSearchStalled = _ref2.isSearchStalled;
|
|
17543
|
+
var inputRef = inputProps.ref;
|
|
17538
17544
|
return createElement("form", {
|
|
17539
17545
|
className: "ais-AutocompleteForm",
|
|
17540
17546
|
action: "",
|
|
@@ -17542,6 +17548,10 @@
|
|
|
17542
17548
|
role: "search",
|
|
17543
17549
|
onSubmit: function onSubmit(e) {
|
|
17544
17550
|
return e.preventDefault();
|
|
17551
|
+
},
|
|
17552
|
+
onReset: function onReset() {
|
|
17553
|
+
var _inputRef$current;
|
|
17554
|
+
return (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
|
|
17545
17555
|
}
|
|
17546
17556
|
}, createElement("div", {
|
|
17547
17557
|
className: "ais-AutocompleteInputWrapperPrefix"
|
|
@@ -17593,7 +17603,7 @@
|
|
|
17593
17603
|
function createAutocompleteSuggestionComponent(_ref) {
|
|
17594
17604
|
var createElement = _ref.createElement;
|
|
17595
17605
|
return function AutocompleteSuggestion(_ref2) {
|
|
17596
|
-
var
|
|
17606
|
+
var children = _ref2.children,
|
|
17597
17607
|
onSelect = _ref2.onSelect,
|
|
17598
17608
|
_ref2$classNames = _ref2.classNames,
|
|
17599
17609
|
classNames = _ref2$classNames === void 0 ? {} : _ref2$classNames;
|
|
@@ -17608,7 +17618,7 @@
|
|
|
17608
17618
|
createElement: createElement
|
|
17609
17619
|
})), createElement("div", {
|
|
17610
17620
|
className: cx('ais-AutocompleteItemContentBody', 'ais-AutocompleteSuggestionItemContentBody', classNames.content)
|
|
17611
|
-
},
|
|
17621
|
+
}, children)));
|
|
17612
17622
|
};
|
|
17613
17623
|
}
|
|
17614
17624
|
|
|
@@ -17624,6 +17634,7 @@
|
|
|
17624
17634
|
onRefine = _ref2.onRefine,
|
|
17625
17635
|
globalOnSelect = _ref2.onSelect;
|
|
17626
17636
|
var getElementId = createGetElementId(useId());
|
|
17637
|
+
var inputRef = useRef(null);
|
|
17627
17638
|
var rootRef = useRef(null);
|
|
17628
17639
|
var _useState = useState(false),
|
|
17629
17640
|
_useState2 = _slicedToArray$1(_useState, 2),
|
|
@@ -17655,7 +17666,7 @@
|
|
|
17655
17666
|
document.body.removeEventListener('click', onBodyClick);
|
|
17656
17667
|
};
|
|
17657
17668
|
}, [rootRef]);
|
|
17658
|
-
var
|
|
17669
|
+
var getNextActiveDescendant = function getNextActiveDescendant(key) {
|
|
17659
17670
|
switch (key) {
|
|
17660
17671
|
case 'ArrowLeft':
|
|
17661
17672
|
case 'ArrowUp':
|
|
@@ -17674,11 +17685,21 @@
|
|
|
17674
17685
|
}
|
|
17675
17686
|
};
|
|
17676
17687
|
var submit = function submit() {
|
|
17677
|
-
var
|
|
17678
|
-
|
|
17679
|
-
if (
|
|
17688
|
+
var _override$activeDesce;
|
|
17689
|
+
var override = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
17690
|
+
if (isOpen) {
|
|
17691
|
+
setIsOpen(false);
|
|
17692
|
+
} else {
|
|
17693
|
+
var _inputRef$current;
|
|
17694
|
+
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.blur();
|
|
17695
|
+
}
|
|
17696
|
+
var actualDescendant = (_override$activeDesce = override.activeDescendant) !== null && _override$activeDesce !== void 0 ? _override$activeDesce : activeDescendant;
|
|
17697
|
+
if (!actualDescendant && override.query) {
|
|
17698
|
+
onRefine(override.query);
|
|
17699
|
+
}
|
|
17700
|
+
if (actualDescendant && items.has(actualDescendant)) {
|
|
17680
17701
|
var _getQuery;
|
|
17681
|
-
var _ref3 = items.get(
|
|
17702
|
+
var _ref3 = items.get(actualDescendant),
|
|
17682
17703
|
_item = _ref3.item,
|
|
17683
17704
|
_ref3$config = _ref3.config,
|
|
17684
17705
|
indexOnSelect = _ref3$config.onSelect,
|
|
@@ -17700,6 +17721,7 @@
|
|
|
17700
17721
|
getInputProps: function getInputProps() {
|
|
17701
17722
|
return {
|
|
17702
17723
|
id: getElementId('input'),
|
|
17724
|
+
ref: inputRef,
|
|
17703
17725
|
role: 'combobox',
|
|
17704
17726
|
'aria-autocomplete': 'list',
|
|
17705
17727
|
'aria-expanded': isOpen,
|
|
@@ -17710,33 +17732,42 @@
|
|
|
17710
17732
|
return setIsOpen(true);
|
|
17711
17733
|
},
|
|
17712
17734
|
onKeyDown: function onKeyDown(event) {
|
|
17713
|
-
if (event.key === 'Escape') {
|
|
17714
|
-
setActiveDescendant(undefined);
|
|
17715
|
-
setIsOpen(false);
|
|
17716
|
-
return;
|
|
17717
|
-
}
|
|
17718
17735
|
switch (event.key) {
|
|
17736
|
+
case 'Escape':
|
|
17737
|
+
{
|
|
17738
|
+
if (isOpen) {
|
|
17739
|
+
setIsOpen(false);
|
|
17740
|
+
event.preventDefault();
|
|
17741
|
+
} else {
|
|
17742
|
+
setActiveDescendant(undefined);
|
|
17743
|
+
}
|
|
17744
|
+
break;
|
|
17745
|
+
}
|
|
17719
17746
|
case 'ArrowLeft':
|
|
17720
17747
|
case 'ArrowUp':
|
|
17721
17748
|
case 'ArrowRight':
|
|
17722
17749
|
case 'ArrowDown':
|
|
17723
17750
|
{
|
|
17724
17751
|
var _document$getElementB;
|
|
17725
|
-
|
|
17726
|
-
|
|
17727
|
-
(
|
|
17752
|
+
setIsOpen(true);
|
|
17753
|
+
var nextActiveDescendant = getNextActiveDescendant(event.key);
|
|
17754
|
+
setActiveDescendant(nextActiveDescendant);
|
|
17755
|
+
(_document$getElementB = document.getElementById(nextActiveDescendant)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.scrollIntoView(false);
|
|
17728
17756
|
event.preventDefault();
|
|
17729
17757
|
break;
|
|
17730
17758
|
}
|
|
17731
17759
|
case 'Enter':
|
|
17732
17760
|
{
|
|
17733
|
-
submit(
|
|
17761
|
+
submit({
|
|
17762
|
+
query: event.target.value
|
|
17763
|
+
});
|
|
17734
17764
|
break;
|
|
17735
17765
|
}
|
|
17736
17766
|
case 'Tab':
|
|
17737
17767
|
setIsOpen(false);
|
|
17738
17768
|
break;
|
|
17739
17769
|
default:
|
|
17770
|
+
setIsOpen(true);
|
|
17740
17771
|
return;
|
|
17741
17772
|
}
|
|
17742
17773
|
},
|
|
@@ -17764,7 +17795,9 @@
|
|
|
17764
17795
|
role: 'row',
|
|
17765
17796
|
'aria-selected': id === activeDescendant,
|
|
17766
17797
|
onSelect: function onSelect() {
|
|
17767
|
-
return submit(
|
|
17798
|
+
return submit({
|
|
17799
|
+
activeDescendant: id
|
|
17800
|
+
});
|
|
17768
17801
|
}
|
|
17769
17802
|
};
|
|
17770
17803
|
},
|
|
@@ -17905,7 +17938,13 @@
|
|
|
17905
17938
|
return {
|
|
17906
17939
|
objectID: value,
|
|
17907
17940
|
query: value,
|
|
17908
|
-
__indexName: 'recent-searches'
|
|
17941
|
+
__indexName: 'recent-searches',
|
|
17942
|
+
_highlightResult: getHighlightedAttribute({
|
|
17943
|
+
item: {
|
|
17944
|
+
query: value
|
|
17945
|
+
},
|
|
17946
|
+
query: query || ''
|
|
17947
|
+
})
|
|
17909
17948
|
};
|
|
17910
17949
|
});
|
|
17911
17950
|
var indicesForPropGetters = _toConsumableArray$1(indices);
|
|
@@ -17941,6 +17980,24 @@
|
|
|
17941
17980
|
return false;
|
|
17942
17981
|
}
|
|
17943
17982
|
}
|
|
17983
|
+
function getHighlightedAttribute(_ref3) {
|
|
17984
|
+
var item = _ref3.item,
|
|
17985
|
+
query = _ref3.query;
|
|
17986
|
+
if (!query.trim().length) {
|
|
17987
|
+
return {
|
|
17988
|
+
query: {
|
|
17989
|
+
matchLevel: 'none'
|
|
17990
|
+
}
|
|
17991
|
+
};
|
|
17992
|
+
}
|
|
17993
|
+
return {
|
|
17994
|
+
query: {
|
|
17995
|
+
value: item.query.replace(new RegExp(query.replace(/[-/\\^$*+?.()|[\]{}]/g, '\\$&'), 'gi'), function (match) {
|
|
17996
|
+
return "<mark>".concat(match, "</mark>");
|
|
17997
|
+
})
|
|
17998
|
+
}
|
|
17999
|
+
};
|
|
18000
|
+
}
|
|
17944
18001
|
function getLocalStorage() {
|
|
17945
18002
|
var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : LOCAL_STORAGE_KEY;
|
|
17946
18003
|
if (!isLocalStorageSupported()) {
|
|
@@ -17965,10 +18022,10 @@
|
|
|
17965
18022
|
}
|
|
17966
18023
|
};
|
|
17967
18024
|
}
|
|
17968
|
-
function createStorage(
|
|
17969
|
-
var
|
|
17970
|
-
limit =
|
|
17971
|
-
storageKey =
|
|
18025
|
+
function createStorage(_ref4) {
|
|
18026
|
+
var _ref4$limit = _ref4.limit,
|
|
18027
|
+
limit = _ref4$limit === void 0 ? 5 : _ref4$limit,
|
|
18028
|
+
storageKey = _ref4.storageKey;
|
|
17972
18029
|
var storage = getLocalStorage(storageKey);
|
|
17973
18030
|
var updateListener = null;
|
|
17974
18031
|
return {
|
|
@@ -20401,7 +20458,12 @@
|
|
|
20401
20458
|
rendererParams.renderState = {
|
|
20402
20459
|
indexTemplateProps: [],
|
|
20403
20460
|
isolatedIndex: isolatedIndex,
|
|
20404
|
-
targetIndex: targetIndex
|
|
20461
|
+
targetIndex: targetIndex,
|
|
20462
|
+
templateProps: prepareTemplateProps({
|
|
20463
|
+
defaultTemplates: {},
|
|
20464
|
+
templatesConfig: connectorParams.instantSearchInstance.templatesConfig,
|
|
20465
|
+
templates: rendererParams.templates
|
|
20466
|
+
})
|
|
20405
20467
|
};
|
|
20406
20468
|
connectorParams.refine((_targetIndex$getHelpe = (_targetIndex$getHelpe2 = targetIndex.getHelper()) === null || _targetIndex$getHelpe2 === void 0 ? void 0 : _targetIndex$getHelpe2.state.query) !== null && _targetIndex$getHelpe !== void 0 ? _targetIndex$getHelpe : '');
|
|
20407
20469
|
return;
|
|
@@ -20419,7 +20481,9 @@
|
|
|
20419
20481
|
cssClasses = _ref.cssClasses,
|
|
20420
20482
|
renderState = _ref.renderState,
|
|
20421
20483
|
instantSearchInstance = _ref.instantSearchInstance,
|
|
20422
|
-
showRecent = _ref.showRecent
|
|
20484
|
+
showRecent = _ref.showRecent,
|
|
20485
|
+
showSuggestions = _ref.showSuggestions,
|
|
20486
|
+
templates = _ref.templates;
|
|
20423
20487
|
var isolatedIndex = renderState.isolatedIndex,
|
|
20424
20488
|
targetIndex = renderState.targetIndex;
|
|
20425
20489
|
var searchboxQuery = isolatedIndex === null || isolatedIndex === void 0 ? void 0 : (_isolatedIndex$getHel = isolatedIndex.getHelper()) === null || _isolatedIndex$getHel === void 0 ? void 0 : _isolatedIndex$getHel.state.query;
|
|
@@ -20474,17 +20538,28 @@
|
|
|
20474
20538
|
getItemProps = _usePropGetters.getItemProps,
|
|
20475
20539
|
getPanelProps = _usePropGetters.getPanelProps,
|
|
20476
20540
|
getRootProps = _usePropGetters.getRootProps;
|
|
20477
|
-
var AutocompleteRecentSearchComponent =
|
|
20541
|
+
var AutocompleteRecentSearchComponent = function AutocompleteRecentSearchComponent(_ref4) {
|
|
20542
|
+
var item = _ref4.item,
|
|
20543
|
+
onSelect = _ref4.onSelect,
|
|
20544
|
+
onRemoveRecentSearch = _ref4.onRemoveRecentSearch;
|
|
20545
|
+
return h(AutocompleteRecentSearch, {
|
|
20546
|
+
item: item,
|
|
20547
|
+
onSelect: onSelect,
|
|
20548
|
+
onRemoveRecentSearch: onRemoveRecentSearch
|
|
20549
|
+
}, h(ConditionalReverseHighlight, {
|
|
20550
|
+
item: item
|
|
20551
|
+
}));
|
|
20552
|
+
};
|
|
20478
20553
|
if (_typeof(showRecent) === 'object' && (_showRecent$templates = showRecent.templates) !== null && _showRecent$templates !== void 0 && _showRecent$templates.item) {
|
|
20479
20554
|
var props = prepareTemplateProps({
|
|
20480
20555
|
defaultTemplates: {},
|
|
20481
20556
|
templatesConfig: instantSearchInstance.templatesConfig,
|
|
20482
20557
|
templates: showRecent.templates
|
|
20483
20558
|
});
|
|
20484
|
-
AutocompleteRecentSearchComponent = function AutocompleteRecentSearchComponent(
|
|
20485
|
-
var item =
|
|
20486
|
-
onSelect =
|
|
20487
|
-
onRemoveRecentSearch =
|
|
20559
|
+
AutocompleteRecentSearchComponent = function AutocompleteRecentSearchComponent(_ref5) {
|
|
20560
|
+
var item = _ref5.item,
|
|
20561
|
+
onSelect = _ref5.onSelect,
|
|
20562
|
+
onRemoveRecentSearch = _ref5.onRemoveRecentSearch;
|
|
20488
20563
|
return h(Template, _extends({}, props, {
|
|
20489
20564
|
templateKey: "item",
|
|
20490
20565
|
rootTagName: "fragment",
|
|
@@ -20496,45 +20571,36 @@
|
|
|
20496
20571
|
}));
|
|
20497
20572
|
};
|
|
20498
20573
|
}
|
|
20499
|
-
|
|
20500
|
-
|
|
20501
|
-
|
|
20502
|
-
|
|
20503
|
-
|
|
20504
|
-
|
|
20505
|
-
|
|
20506
|
-
|
|
20507
|
-
|
|
20508
|
-
|
|
20509
|
-
|
|
20510
|
-
|
|
20511
|
-
|
|
20512
|
-
|
|
20513
|
-
|
|
20514
|
-
|
|
20515
|
-
|
|
20516
|
-
|
|
20517
|
-
|
|
20518
|
-
|
|
20519
|
-
|
|
20520
|
-
|
|
20521
|
-
|
|
20522
|
-
|
|
20523
|
-
|
|
20524
|
-
|
|
20525
|
-
});
|
|
20526
|
-
},
|
|
20527
|
-
classNames: {
|
|
20528
|
-
root: 'ais-AutocompleteRecentSearches',
|
|
20529
|
-
list: 'ais-AutocompleteRecentSearchesList',
|
|
20530
|
-
item: 'ais-AutocompleteRecentSearchesItem'
|
|
20531
|
-
},
|
|
20532
|
-
items: storageHits,
|
|
20533
|
-
getItemProps: getItemProps
|
|
20534
|
-
}), indices.map(function (_ref6, i) {
|
|
20574
|
+
var elements = {};
|
|
20575
|
+
if (showRecent) {
|
|
20576
|
+
elements.recent = h(AutocompleteIndex
|
|
20577
|
+
// @ts-ignore - there seems to be problems with React.ComponentType and this, but it's actually correct
|
|
20578
|
+
, {
|
|
20579
|
+
ItemComponent: function ItemComponent(_ref6) {
|
|
20580
|
+
var item = _ref6.item,
|
|
20581
|
+
onSelect = _ref6.onSelect;
|
|
20582
|
+
return h(AutocompleteRecentSearchComponent, {
|
|
20583
|
+
item: item,
|
|
20584
|
+
onSelect: onSelect,
|
|
20585
|
+
onRemoveRecentSearch: function onRemoveRecentSearch() {
|
|
20586
|
+
return storage.onRemove(item.query);
|
|
20587
|
+
}
|
|
20588
|
+
});
|
|
20589
|
+
},
|
|
20590
|
+
classNames: {
|
|
20591
|
+
root: 'ais-AutocompleteRecentSearches',
|
|
20592
|
+
list: 'ais-AutocompleteRecentSearchesList',
|
|
20593
|
+
item: 'ais-AutocompleteRecentSearchesItem'
|
|
20594
|
+
},
|
|
20595
|
+
items: storageHits,
|
|
20596
|
+
getItemProps: getItemProps
|
|
20597
|
+
});
|
|
20598
|
+
}
|
|
20599
|
+
indices.forEach(function (_ref7, i) {
|
|
20535
20600
|
var _indicesConfig$i$temp;
|
|
20536
|
-
var indexId =
|
|
20537
|
-
|
|
20601
|
+
var indexId = _ref7.indexId,
|
|
20602
|
+
indexName = _ref7.indexName,
|
|
20603
|
+
hits = _ref7.hits;
|
|
20538
20604
|
if (!renderState.indexTemplateProps[i]) {
|
|
20539
20605
|
renderState.indexTemplateProps[i] = prepareTemplateProps({
|
|
20540
20606
|
defaultTemplates: {},
|
|
@@ -20542,8 +20608,8 @@
|
|
|
20542
20608
|
templates: indicesConfig[i].templates
|
|
20543
20609
|
});
|
|
20544
20610
|
}
|
|
20545
|
-
var headerComponent = (_indicesConfig$i$temp = indicesConfig[i].templates) !== null && _indicesConfig$i$temp !== void 0 && _indicesConfig$i$temp.header ? function (
|
|
20546
|
-
var items =
|
|
20611
|
+
var headerComponent = (_indicesConfig$i$temp = indicesConfig[i].templates) !== null && _indicesConfig$i$temp !== void 0 && _indicesConfig$i$temp.header ? function (_ref8) {
|
|
20612
|
+
var items = _ref8.items;
|
|
20547
20613
|
return h(Template, _extends({}, renderState.indexTemplateProps[i], {
|
|
20548
20614
|
templateKey: "header",
|
|
20549
20615
|
rootTagName: "fragment",
|
|
@@ -20552,9 +20618,9 @@
|
|
|
20552
20618
|
}
|
|
20553
20619
|
}));
|
|
20554
20620
|
} : undefined;
|
|
20555
|
-
var itemComponent = function itemComponent(
|
|
20556
|
-
var item =
|
|
20557
|
-
onSelect =
|
|
20621
|
+
var itemComponent = function itemComponent(_ref9) {
|
|
20622
|
+
var item = _ref9.item,
|
|
20623
|
+
onSelect = _ref9.onSelect;
|
|
20558
20624
|
return h(Template, _extends({}, renderState.indexTemplateProps[i], {
|
|
20559
20625
|
templateKey: "item",
|
|
20560
20626
|
rootTagName: "fragment",
|
|
@@ -20564,7 +20630,8 @@
|
|
|
20564
20630
|
}
|
|
20565
20631
|
}));
|
|
20566
20632
|
};
|
|
20567
|
-
|
|
20633
|
+
var elementId = indexName === (showSuggestions === null || showSuggestions === void 0 ? void 0 : showSuggestions.indexName) ? 'suggestions' : indexName;
|
|
20634
|
+
elements[elementId] = h(AutocompleteIndex, {
|
|
20568
20635
|
key: indexId,
|
|
20569
20636
|
HeaderComponent: headerComponent,
|
|
20570
20637
|
ItemComponent: itemComponent,
|
|
@@ -20576,26 +20643,54 @@
|
|
|
20576
20643
|
getItemProps: getItemProps,
|
|
20577
20644
|
classNames: indicesConfig[i].cssClasses
|
|
20578
20645
|
});
|
|
20646
|
+
});
|
|
20647
|
+
return h(Autocomplete, _extends({}, getRootProps(), {
|
|
20648
|
+
classNames: cssClasses
|
|
20649
|
+
}), h(AutocompleteSearchBox, {
|
|
20650
|
+
query: searchboxQuery || '',
|
|
20651
|
+
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);
|
|
20655
|
+
}
|
|
20656
|
+
}),
|
|
20657
|
+
onClear: function onClear() {
|
|
20658
|
+
return onRefine('');
|
|
20659
|
+
},
|
|
20660
|
+
isSearchStalled: instantSearchInstance.status === 'stalled'
|
|
20661
|
+
}), h(AutocompletePanel, getPanelProps(), templates.panel ? h(Template, _extends({}, renderState.templateProps, {
|
|
20662
|
+
templateKey: "panel",
|
|
20663
|
+
rootTagName: "fragment",
|
|
20664
|
+
data: {
|
|
20665
|
+
elements: elements,
|
|
20666
|
+
indices: indices
|
|
20667
|
+
}
|
|
20668
|
+
})) : Object.keys(elements).map(function (elementId) {
|
|
20669
|
+
return elements[elementId];
|
|
20579
20670
|
})));
|
|
20580
20671
|
}
|
|
20581
20672
|
function EXPERIMENTAL_autocomplete(widgetParams) {
|
|
20582
|
-
var
|
|
20583
|
-
container =
|
|
20584
|
-
escapeHTML =
|
|
20585
|
-
|
|
20586
|
-
indices =
|
|
20587
|
-
showSuggestions =
|
|
20588
|
-
showRecent =
|
|
20589
|
-
|
|
20590
|
-
|
|
20591
|
-
|
|
20592
|
-
templates =
|
|
20593
|
-
|
|
20594
|
-
|
|
20673
|
+
var _ref0 = widgetParams || {},
|
|
20674
|
+
container = _ref0.container,
|
|
20675
|
+
escapeHTML = _ref0.escapeHTML,
|
|
20676
|
+
_ref0$indices = _ref0.indices,
|
|
20677
|
+
indices = _ref0$indices === void 0 ? [] : _ref0$indices,
|
|
20678
|
+
showSuggestions = _ref0.showSuggestions,
|
|
20679
|
+
showRecent = _ref0.showRecent,
|
|
20680
|
+
userSearchParameters = _ref0.searchParameters,
|
|
20681
|
+
getSearchPageURL = _ref0.getSearchPageURL,
|
|
20682
|
+
onSelect = _ref0.onSelect,
|
|
20683
|
+
_ref0$templates = _ref0.templates,
|
|
20684
|
+
templates = _ref0$templates === void 0 ? {} : _ref0$templates,
|
|
20685
|
+
_ref0$cssClasses = _ref0.cssClasses,
|
|
20686
|
+
userCssClasses = _ref0$cssClasses === void 0 ? {} : _ref0$cssClasses;
|
|
20595
20687
|
if (!container) {
|
|
20596
20688
|
throw new Error(withUsage$z('The `container` option is required.'));
|
|
20597
20689
|
}
|
|
20598
20690
|
var containerNode = getContainerNode(container);
|
|
20691
|
+
var searchParameters = _objectSpread2({
|
|
20692
|
+
hitsPerPage: 5
|
|
20693
|
+
}, userSearchParameters);
|
|
20599
20694
|
var cssClasses = {
|
|
20600
20695
|
root: cx(suit$6(), userCssClasses.root)
|
|
20601
20696
|
};
|
|
@@ -20606,7 +20701,16 @@
|
|
|
20606
20701
|
indexName: showSuggestions.indexName,
|
|
20607
20702
|
templates: _objectSpread2({
|
|
20608
20703
|
// @ts-expect-error
|
|
20609
|
-
item:
|
|
20704
|
+
item: function item(_ref1) {
|
|
20705
|
+
var _item = _ref1.item,
|
|
20706
|
+
onSelectItem = _ref1.onSelect;
|
|
20707
|
+
return h(AutocompleteSuggestion, {
|
|
20708
|
+
item: _item,
|
|
20709
|
+
onSelect: onSelectItem
|
|
20710
|
+
}, h(ConditionalReverseHighlight, {
|
|
20711
|
+
item: _item
|
|
20712
|
+
}));
|
|
20713
|
+
}
|
|
20610
20714
|
}, showSuggestions.templates),
|
|
20611
20715
|
cssClasses: {
|
|
20612
20716
|
root: cx('ais-AutocompleteSuggestions', (_showSuggestions$cssC = showSuggestions.cssClasses) === null || _showSuggestions$cssC === void 0 ? void 0 : _showSuggestions$cssC.root),
|
|
@@ -20629,10 +20733,12 @@
|
|
|
20629
20733
|
onSelect: onSelect,
|
|
20630
20734
|
cssClasses: cssClasses,
|
|
20631
20735
|
showRecent: showRecent,
|
|
20736
|
+
showSuggestions: showSuggestions,
|
|
20632
20737
|
renderState: {
|
|
20633
20738
|
indexTemplateProps: [],
|
|
20634
20739
|
isolatedIndex: undefined,
|
|
20635
|
-
targetIndex: undefined
|
|
20740
|
+
targetIndex: undefined,
|
|
20741
|
+
templateProps: undefined
|
|
20636
20742
|
},
|
|
20637
20743
|
templates: templates
|
|
20638
20744
|
});
|
|
@@ -20644,20 +20750,32 @@
|
|
|
20644
20750
|
})({}), index({
|
|
20645
20751
|
indexId: "ais-autocomplete-".concat(instanceId),
|
|
20646
20752
|
EXPERIMENTAL_isolated: true
|
|
20647
|
-
}).addWidgets([].concat(_toConsumableArray(indicesConfig.map(function (
|
|
20648
|
-
var indexName =
|
|
20753
|
+
}).addWidgets([configure(searchParameters)].concat(_toConsumableArray(indicesConfig.map(function (_ref10) {
|
|
20754
|
+
var indexName = _ref10.indexName,
|
|
20755
|
+
indexSearchParameters = _ref10.searchParameters;
|
|
20649
20756
|
return index({
|
|
20650
20757
|
indexName: indexName,
|
|
20651
20758
|
indexId: indexName
|
|
20652
|
-
}).addWidgets([configure({
|
|
20653
|
-
hitsPerPage: 5
|
|
20654
|
-
})]);
|
|
20759
|
+
}).addWidgets([configure(indexSearchParameters || {})]);
|
|
20655
20760
|
})), [_objectSpread2(_objectSpread2({}, makeWidget({
|
|
20656
20761
|
escapeHTML: escapeHTML
|
|
20657
20762
|
})), {}, {
|
|
20658
20763
|
$$widgetType: 'ais.autocomplete'
|
|
20659
20764
|
})]))];
|
|
20660
20765
|
}
|
|
20766
|
+
function ConditionalReverseHighlight(_ref11) {
|
|
20767
|
+
var _item$_highlightResul;
|
|
20768
|
+
var item = _ref11.item;
|
|
20769
|
+
if (!((_item$_highlightResul = item._highlightResult) !== null && _item$_highlightResul !== void 0 && _item$_highlightResul.query) ||
|
|
20770
|
+
// @ts-expect-error - we should not have matchLevel as arrays here
|
|
20771
|
+
item._highlightResult.query.matchLevel === 'none') {
|
|
20772
|
+
return item.query;
|
|
20773
|
+
}
|
|
20774
|
+
return h(ReverseHighlight$1, {
|
|
20775
|
+
attribute: "query",
|
|
20776
|
+
hit: item
|
|
20777
|
+
});
|
|
20778
|
+
}
|
|
20661
20779
|
|
|
20662
20780
|
var Breadcrumb = function Breadcrumb(_ref) {
|
|
20663
20781
|
var items = _ref.items,
|