instantsearch.js 4.82.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/connectors/chat/connectChat.js +11 -1
- package/cjs/lib/version.js +1 -1
- package/cjs/widgets/autocomplete/autocomplete.js +179 -49
- package/cjs/widgets/chat/chat.js +57 -6
- package/cjs/widgets/index/index.js +10 -12
- package/dist/instantsearch.development.d.ts +48 -5
- package/dist/instantsearch.development.js +634 -198
- package/dist/instantsearch.development.js.map +1 -1
- package/dist/instantsearch.production.d.ts +48 -5
- package/dist/instantsearch.production.min.d.ts +48 -5
- package/dist/instantsearch.production.min.js +2 -2
- package/dist/instantsearch.production.min.js.map +1 -1
- package/es/connectors/chat/connectChat.d.ts +4 -4
- package/es/connectors/chat/connectChat.js +11 -1
- package/es/lib/version.d.ts +1 -1
- package/es/lib/version.js +1 -1
- package/es/widgets/autocomplete/autocomplete.d.ts +40 -3
- package/es/widgets/autocomplete/autocomplete.js +180 -50
- package/es/widgets/chat/chat.d.ts +41 -2
- package/es/widgets/chat/chat.js +57 -6
- package/es/widgets/index/index.d.ts +5 -0
- package/es/widgets/index/index.js +11 -13
- package/package.json +7 -7
|
@@ -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) :
|
|
@@ -6277,8 +6277,8 @@
|
|
|
6277
6277
|
|
|
6278
6278
|
return recSort(
|
|
6279
6279
|
function (data, facetName) {
|
|
6280
|
+
var facetOrdering = getFacetOrdering(results, facetName);
|
|
6280
6281
|
if (options.facetOrdering) {
|
|
6281
|
-
var facetOrdering = getFacetOrdering(results, facetName);
|
|
6282
6282
|
if (facetOrdering) {
|
|
6283
6283
|
return sortViaFacetOrdering(data, facetOrdering);
|
|
6284
6284
|
}
|
|
@@ -6286,7 +6286,24 @@
|
|
|
6286
6286
|
|
|
6287
6287
|
if (Array.isArray(options.sortBy)) {
|
|
6288
6288
|
var order = formatSort(options.sortBy, SearchResults.DEFAULT_SORT);
|
|
6289
|
-
|
|
6289
|
+
var items = orderBy_1(data, order[0], order[1]);
|
|
6290
|
+
|
|
6291
|
+
var hide =
|
|
6292
|
+
facetOrdering && facetOrdering.hide ? facetOrdering.hide : [];
|
|
6293
|
+
if (hide.length > 0) {
|
|
6294
|
+
var visible = [];
|
|
6295
|
+
items.forEach(function (item) {
|
|
6296
|
+
// hierarchical facets get sorted using their raw name
|
|
6297
|
+
var name = item.path || item.name;
|
|
6298
|
+
if (hide.indexOf(name) === -1) {
|
|
6299
|
+
visible.push(item);
|
|
6300
|
+
}
|
|
6301
|
+
});
|
|
6302
|
+
|
|
6303
|
+
return visible;
|
|
6304
|
+
}
|
|
6305
|
+
|
|
6306
|
+
return items;
|
|
6290
6307
|
} else if (typeof options.sortBy === 'function') {
|
|
6291
6308
|
return vanillaSortFn(options.sortBy, data);
|
|
6292
6309
|
}
|
|
@@ -6551,7 +6568,7 @@
|
|
|
6551
6568
|
|
|
6552
6569
|
var sortAndMergeRecommendations_1 = sortAndMergeRecommendations;
|
|
6553
6570
|
|
|
6554
|
-
var version = '3.26.
|
|
6571
|
+
var version = '3.26.1';
|
|
6555
6572
|
|
|
6556
6573
|
var escapeFacetValue$4 = escapeFacetValue_1.escapeFacetValue;
|
|
6557
6574
|
|
|
@@ -7004,16 +7021,19 @@
|
|
|
7004
7021
|
|
|
7005
7022
|
content = Array.isArray(content) ? content[0] : content;
|
|
7006
7023
|
|
|
7007
|
-
content.facetHits.
|
|
7024
|
+
content.facetHits = content.facetHits.reduce(function (acc, f) {
|
|
7008
7025
|
if (hide.indexOf(f.value) > -1) {
|
|
7009
|
-
|
|
7010
|
-
return;
|
|
7026
|
+
return acc;
|
|
7011
7027
|
}
|
|
7028
|
+
|
|
7012
7029
|
f.escapedValue = escapeFacetValue$4(f.value);
|
|
7013
7030
|
f.isRefined = isDisjunctive
|
|
7014
7031
|
? state.isDisjunctiveFacetRefined(facet, f.escapedValue)
|
|
7015
7032
|
: state.isFacetRefined(facet, f.escapedValue);
|
|
7016
|
-
|
|
7033
|
+
|
|
7034
|
+
acc.push(f);
|
|
7035
|
+
return acc;
|
|
7036
|
+
}, []);
|
|
7017
7037
|
|
|
7018
7038
|
return content;
|
|
7019
7039
|
},
|
|
@@ -15916,6 +15936,12 @@
|
|
|
15916
15936
|
helper: helper
|
|
15917
15937
|
})));
|
|
15918
15938
|
},
|
|
15939
|
+
scheduleLocalSearch: defer(function () {
|
|
15940
|
+
if (isolated) {
|
|
15941
|
+
var _helper2;
|
|
15942
|
+
(_helper2 = helper) === null || _helper2 === void 0 ? void 0 : _helper2.search();
|
|
15943
|
+
}
|
|
15944
|
+
}),
|
|
15919
15945
|
getWidgets: function getWidgets() {
|
|
15920
15946
|
return localWidgets;
|
|
15921
15947
|
},
|
|
@@ -15981,8 +16007,7 @@
|
|
|
15981
16007
|
}
|
|
15982
16008
|
});
|
|
15983
16009
|
if (isolated) {
|
|
15984
|
-
|
|
15985
|
-
(_helper2 = helper) === null || _helper2 === void 0 ? void 0 : _helper2.search();
|
|
16010
|
+
this.scheduleLocalSearch();
|
|
15986
16011
|
} else {
|
|
15987
16012
|
localInstantSearchInstance.scheduleSearch();
|
|
15988
16013
|
}
|
|
@@ -16061,8 +16086,7 @@
|
|
|
16061
16086
|
helper.recommendState = cleanedRecommendState;
|
|
16062
16087
|
if (localWidgets.length) {
|
|
16063
16088
|
if (isolated) {
|
|
16064
|
-
|
|
16065
|
-
(_helper3 = helper) === null || _helper3 === void 0 ? void 0 : _helper3.search();
|
|
16089
|
+
this.scheduleLocalSearch();
|
|
16066
16090
|
} else {
|
|
16067
16091
|
localInstantSearchInstance.scheduleSearch();
|
|
16068
16092
|
}
|
|
@@ -16134,12 +16158,6 @@
|
|
|
16134
16158
|
helper.searchWithoutTriggeringOnStateChange = function () {
|
|
16135
16159
|
return mainHelper.search();
|
|
16136
16160
|
};
|
|
16137
|
-
|
|
16138
|
-
// We use the same pattern for the `searchForFacetValues`.
|
|
16139
|
-
helper.searchForFacetValues = function (facetName, facetValue, maxFacetHits, userState) {
|
|
16140
|
-
var state = helper.state.setQueryParameters(userState);
|
|
16141
|
-
return mainHelper.searchForFacetValues(facetName, facetValue, maxFacetHits, state);
|
|
16142
|
-
};
|
|
16143
16161
|
var isolatedHelper = indexName ? helper : algoliasearchHelper_1({}, '__empty_index__', {});
|
|
16144
16162
|
var derivingHelper = isolated ? isolatedHelper : nearestIsolatedHelper(parent, mainHelper);
|
|
16145
16163
|
derivedHelper = derivingHelper.derive(function () {
|
|
@@ -16322,7 +16340,7 @@
|
|
|
16322
16340
|
},
|
|
16323
16341
|
dispose: function dispose() {
|
|
16324
16342
|
var _this5 = this,
|
|
16325
|
-
|
|
16343
|
+
_helper3,
|
|
16326
16344
|
_derivedHelper3;
|
|
16327
16345
|
localWidgets.forEach(function (widget) {
|
|
16328
16346
|
if (widget.dispose && helper) {
|
|
@@ -16342,7 +16360,7 @@
|
|
|
16342
16360
|
});
|
|
16343
16361
|
localInstantSearchInstance = null;
|
|
16344
16362
|
localParent = null;
|
|
16345
|
-
(
|
|
16363
|
+
(_helper3 = helper) === null || _helper3 === void 0 ? void 0 : _helper3.removeAllListeners();
|
|
16346
16364
|
helper = null;
|
|
16347
16365
|
(_derivedHelper3 = derivedHelper) === null || _derivedHelper3 === void 0 ? void 0 : _derivedHelper3.detach();
|
|
16348
16366
|
derivedHelper = null;
|
|
@@ -16468,7 +16486,7 @@
|
|
|
16468
16486
|
};
|
|
16469
16487
|
}
|
|
16470
16488
|
|
|
16471
|
-
var version$1 = '4.
|
|
16489
|
+
var version$1 = '4.84.0';
|
|
16472
16490
|
|
|
16473
16491
|
var withUsage$v = createDocumentationMessageGenerator({
|
|
16474
16492
|
name: 'instantsearch'
|
|
@@ -17271,117 +17289,6 @@
|
|
|
17271
17289
|
};
|
|
17272
17290
|
}
|
|
17273
17291
|
|
|
17274
|
-
function AutocompleteSubmitIcon(_ref) {
|
|
17275
|
-
var createElement = _ref.createElement;
|
|
17276
|
-
return createElement("svg", {
|
|
17277
|
-
className: "ais-AutocompleteSubmitIcon",
|
|
17278
|
-
viewBox: "0 0 24 24",
|
|
17279
|
-
width: "20",
|
|
17280
|
-
height: "20",
|
|
17281
|
-
fill: "currentColor"
|
|
17282
|
-
}, createElement("path", {
|
|
17283
|
-
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"
|
|
17284
|
-
}));
|
|
17285
|
-
}
|
|
17286
|
-
function AutocompleteLoadingIcon(_ref2) {
|
|
17287
|
-
var createElement = _ref2.createElement;
|
|
17288
|
-
return createElement("svg", {
|
|
17289
|
-
className: "ais-AutocompleteLoadingIcon",
|
|
17290
|
-
viewBox: "0 0 100 100",
|
|
17291
|
-
width: "20",
|
|
17292
|
-
height: "20"
|
|
17293
|
-
}, createElement("circle", {
|
|
17294
|
-
cx: "50",
|
|
17295
|
-
cy: "50",
|
|
17296
|
-
fill: "none",
|
|
17297
|
-
r: "35",
|
|
17298
|
-
stroke: "currentColor",
|
|
17299
|
-
strokeDasharray: "164.93361431346415 56.97787143782138",
|
|
17300
|
-
strokeWidth: "6"
|
|
17301
|
-
}, createElement("animateTransform", {
|
|
17302
|
-
attributeName: "transform",
|
|
17303
|
-
type: "rotate",
|
|
17304
|
-
repeatCount: "indefinite",
|
|
17305
|
-
dur: "1s",
|
|
17306
|
-
values: "0 50 50;90 50 50;180 50 50;360 50 50",
|
|
17307
|
-
keyTimes: "0;0.40;0.65;1"
|
|
17308
|
-
})));
|
|
17309
|
-
}
|
|
17310
|
-
function AutocompleteClearIcon(_ref3) {
|
|
17311
|
-
var createElement = _ref3.createElement;
|
|
17312
|
-
return createElement("svg", {
|
|
17313
|
-
className: "ais-AutocompleteClearIcon",
|
|
17314
|
-
viewBox: "0 0 24 24",
|
|
17315
|
-
width: "18",
|
|
17316
|
-
height: "18",
|
|
17317
|
-
fill: "currentColor"
|
|
17318
|
-
}, createElement("path", {
|
|
17319
|
-
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"
|
|
17320
|
-
}));
|
|
17321
|
-
}
|
|
17322
|
-
|
|
17323
|
-
function createAutocompleteSearchComponent(_ref) {
|
|
17324
|
-
var createElement = _ref.createElement;
|
|
17325
|
-
return function AutocompleteSearch(_ref2) {
|
|
17326
|
-
var inputProps = _ref2.inputProps,
|
|
17327
|
-
onClear = _ref2.onClear,
|
|
17328
|
-
query = _ref2.query,
|
|
17329
|
-
isSearchStalled = _ref2.isSearchStalled;
|
|
17330
|
-
return createElement("form", {
|
|
17331
|
-
className: "ais-AutocompleteForm",
|
|
17332
|
-
action: "",
|
|
17333
|
-
noValidate: true,
|
|
17334
|
-
role: "search",
|
|
17335
|
-
onSubmit: function onSubmit(e) {
|
|
17336
|
-
return e.preventDefault();
|
|
17337
|
-
}
|
|
17338
|
-
}, createElement("div", {
|
|
17339
|
-
className: "ais-AutocompleteInputWrapperPrefix"
|
|
17340
|
-
}, createElement("label", {
|
|
17341
|
-
className: "ais-AutocompleteLabel",
|
|
17342
|
-
"aria-label": "Submit",
|
|
17343
|
-
htmlFor: inputProps.id,
|
|
17344
|
-
id: "".concat(inputProps.id, "-label")
|
|
17345
|
-
}, createElement("button", {
|
|
17346
|
-
className: "ais-AutocompleteSubmitButton",
|
|
17347
|
-
type: "submit",
|
|
17348
|
-
title: "Submit"
|
|
17349
|
-
}, createElement(AutocompleteSubmitIcon, {
|
|
17350
|
-
createElement: createElement
|
|
17351
|
-
}))), createElement("div", {
|
|
17352
|
-
className: "ais-AutocompleteLoadingIndicator",
|
|
17353
|
-
hidden: !isSearchStalled
|
|
17354
|
-
}, createElement(AutocompleteLoadingIcon, {
|
|
17355
|
-
createElement: createElement
|
|
17356
|
-
}))), createElement("div", {
|
|
17357
|
-
className: "ais-AutocompleteInputWrapper"
|
|
17358
|
-
}, createElement("input", _extends$1({
|
|
17359
|
-
className: "ais-AutocompleteInput",
|
|
17360
|
-
"aria-autocomplete": "both",
|
|
17361
|
-
"aria-labelledby": "".concat(inputProps.id, "-label"),
|
|
17362
|
-
autoComplete: "off",
|
|
17363
|
-
autoCorrect: "off",
|
|
17364
|
-
autoCapitalize: "off",
|
|
17365
|
-
enterKeyHint: "search",
|
|
17366
|
-
spellCheck: "false",
|
|
17367
|
-
placeholder: "",
|
|
17368
|
-
maxLength: 512,
|
|
17369
|
-
type: "search",
|
|
17370
|
-
value: query
|
|
17371
|
-
}, inputProps))), createElement("div", {
|
|
17372
|
-
className: "ais-AutocompleteInputWrapperSuffix"
|
|
17373
|
-
}, createElement("button", {
|
|
17374
|
-
className: "ais-AutocompleteClearButton",
|
|
17375
|
-
type: "reset",
|
|
17376
|
-
title: "Clear",
|
|
17377
|
-
hidden: query.length === 0 || isSearchStalled,
|
|
17378
|
-
onClick: onClear
|
|
17379
|
-
}, createElement(AutocompleteClearIcon, {
|
|
17380
|
-
createElement: createElement
|
|
17381
|
-
}))));
|
|
17382
|
-
};
|
|
17383
|
-
}
|
|
17384
|
-
|
|
17385
17292
|
var _typeof_1 = createCommonjsModule(function (module) {
|
|
17386
17293
|
function _typeof(o) {
|
|
17387
17294
|
"@babel/helpers - typeof";
|
|
@@ -17524,17 +17431,194 @@
|
|
|
17524
17431
|
|
|
17525
17432
|
var _slicedToArray$1 = unwrapExports(slicedToArray);
|
|
17526
17433
|
|
|
17434
|
+
function AutocompleteSubmitIcon(_ref) {
|
|
17435
|
+
var createElement = _ref.createElement;
|
|
17436
|
+
return createElement("svg", {
|
|
17437
|
+
className: "ais-AutocompleteSubmitIcon",
|
|
17438
|
+
viewBox: "0 0 24 24",
|
|
17439
|
+
width: "20",
|
|
17440
|
+
height: "20",
|
|
17441
|
+
fill: "currentColor"
|
|
17442
|
+
}, createElement("path", {
|
|
17443
|
+
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
|
+
}));
|
|
17445
|
+
}
|
|
17446
|
+
function AutocompleteLoadingIcon(_ref2) {
|
|
17447
|
+
var createElement = _ref2.createElement;
|
|
17448
|
+
return createElement("svg", {
|
|
17449
|
+
className: "ais-AutocompleteLoadingIcon",
|
|
17450
|
+
viewBox: "0 0 100 100",
|
|
17451
|
+
width: "20",
|
|
17452
|
+
height: "20"
|
|
17453
|
+
}, createElement("circle", {
|
|
17454
|
+
cx: "50",
|
|
17455
|
+
cy: "50",
|
|
17456
|
+
fill: "none",
|
|
17457
|
+
r: "35",
|
|
17458
|
+
stroke: "currentColor",
|
|
17459
|
+
strokeDasharray: "164.93361431346415 56.97787143782138",
|
|
17460
|
+
strokeWidth: "6"
|
|
17461
|
+
}, createElement("animateTransform", {
|
|
17462
|
+
attributeName: "transform",
|
|
17463
|
+
type: "rotate",
|
|
17464
|
+
repeatCount: "indefinite",
|
|
17465
|
+
dur: "1s",
|
|
17466
|
+
values: "0 50 50;90 50 50;180 50 50;360 50 50",
|
|
17467
|
+
keyTimes: "0;0.40;0.65;1"
|
|
17468
|
+
})));
|
|
17469
|
+
}
|
|
17470
|
+
function AutocompleteClearIcon(_ref3) {
|
|
17471
|
+
var createElement = _ref3.createElement;
|
|
17472
|
+
return createElement("svg", {
|
|
17473
|
+
className: "ais-AutocompleteClearIcon",
|
|
17474
|
+
viewBox: "0 0 24 24",
|
|
17475
|
+
width: "18",
|
|
17476
|
+
height: "18",
|
|
17477
|
+
fill: "currentColor"
|
|
17478
|
+
}, createElement("path", {
|
|
17479
|
+
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
|
+
}));
|
|
17481
|
+
}
|
|
17482
|
+
function AutocompleteClockIcon(_ref4) {
|
|
17483
|
+
var createElement = _ref4.createElement;
|
|
17484
|
+
return createElement("svg", {
|
|
17485
|
+
viewBox: "0 0 24 24",
|
|
17486
|
+
fill: "currentColor"
|
|
17487
|
+
}, createElement("path", {
|
|
17488
|
+
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
|
+
}));
|
|
17490
|
+
}
|
|
17491
|
+
function AutocompleteTrashIcon(_ref5) {
|
|
17492
|
+
var createElement = _ref5.createElement;
|
|
17493
|
+
return createElement("svg", {
|
|
17494
|
+
viewBox: "0 0 24 24",
|
|
17495
|
+
fill: "currentColor"
|
|
17496
|
+
}, createElement("path", {
|
|
17497
|
+
d: "M18 7v13c0 0.276-0.111 0.525-0.293 0.707s-0.431 0.293-0.707 0.293h-10c-0.276 0-0.525-0.111-0.707-0.293s-0.293-0.431-0.293-0.707v-13zM17 5v-1c0-0.828-0.337-1.58-0.879-2.121s-1.293-0.879-2.121-0.879h-4c-0.828 0-1.58 0.337-2.121 0.879s-0.879 1.293-0.879 2.121v1h-4c-0.552 0-1 0.448-1 1s0.448 1 1 1h1v13c0 0.828 0.337 1.58 0.879 2.121s1.293 0.879 2.121 0.879h10c0.828 0 1.58-0.337 2.121-0.879s0.879-1.293 0.879-2.121v-13h1c0.552 0 1-0.448 1-1s-0.448-1-1-1zM9 5v-1c0-0.276 0.111-0.525 0.293-0.707s0.431-0.293 0.707-0.293h4c0.276 0 0.525 0.111 0.707 0.293s0.293 0.431 0.293 0.707v1zM9 11v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1zM13 11v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1z"
|
|
17498
|
+
}));
|
|
17499
|
+
}
|
|
17500
|
+
|
|
17501
|
+
function createAutocompleteRecentSearchComponent(_ref) {
|
|
17502
|
+
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;
|
|
17510
|
+
return createElement("div", {
|
|
17511
|
+
onClick: onSelect,
|
|
17512
|
+
className: cx('ais-AutocompleteItemWrapper ais-AutocompleteRecentSearchWrapper', classNames.root)
|
|
17513
|
+
}, createElement("div", {
|
|
17514
|
+
className: cx('ais-AutocompleteItemContent', 'ais-AutocompleteRecentSearchItemContent', classNames.content)
|
|
17515
|
+
}, createElement("div", {
|
|
17516
|
+
className: cx('ais-AutocompleteItemIcon', 'ais-AutocompleteRecentSearchItemIcon', classNames.content)
|
|
17517
|
+
}, createElement(AutocompleteClockIcon, {
|
|
17518
|
+
createElement: createElement
|
|
17519
|
+
})), createElement("div", {
|
|
17520
|
+
className: cx('ais-AutocompleteItemContentBody', 'ais-AutocompleteRecentSearchItemContentBody', classNames.content)
|
|
17521
|
+
}, children)), createElement("div", {
|
|
17522
|
+
className: cx('ais-AutocompleteItemActions', 'ais-AutocompleteRecentSearchItemActions', classNames.actions)
|
|
17523
|
+
}, createElement("button", {
|
|
17524
|
+
className: cx('ais-AutocompleteItemActionButton', 'ais-AutocompleteRecentSearchItemDeleteButton', classNames.deleteButton),
|
|
17525
|
+
title: "Remove ".concat(item.query, " from recent searches"),
|
|
17526
|
+
onClick: function onClick(evt) {
|
|
17527
|
+
evt.stopPropagation();
|
|
17528
|
+
onRemoveRecentSearch();
|
|
17529
|
+
}
|
|
17530
|
+
}, createElement(AutocompleteTrashIcon, {
|
|
17531
|
+
createElement: createElement
|
|
17532
|
+
}))));
|
|
17533
|
+
};
|
|
17534
|
+
}
|
|
17535
|
+
|
|
17536
|
+
function createAutocompleteSearchComponent(_ref) {
|
|
17537
|
+
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
|
+
var inputRef = inputProps.ref;
|
|
17544
|
+
return createElement("form", {
|
|
17545
|
+
className: "ais-AutocompleteForm",
|
|
17546
|
+
action: "",
|
|
17547
|
+
noValidate: true,
|
|
17548
|
+
role: "search",
|
|
17549
|
+
onSubmit: function onSubmit(e) {
|
|
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();
|
|
17555
|
+
}
|
|
17556
|
+
}, createElement("div", {
|
|
17557
|
+
className: "ais-AutocompleteInputWrapperPrefix"
|
|
17558
|
+
}, createElement("label", {
|
|
17559
|
+
className: "ais-AutocompleteLabel",
|
|
17560
|
+
"aria-label": "Submit",
|
|
17561
|
+
htmlFor: inputProps.id,
|
|
17562
|
+
id: "".concat(inputProps.id, "-label")
|
|
17563
|
+
}, createElement("button", {
|
|
17564
|
+
className: "ais-AutocompleteSubmitButton",
|
|
17565
|
+
type: "submit",
|
|
17566
|
+
title: "Submit"
|
|
17567
|
+
}, createElement(AutocompleteSubmitIcon, {
|
|
17568
|
+
createElement: createElement
|
|
17569
|
+
}))), createElement("div", {
|
|
17570
|
+
className: "ais-AutocompleteLoadingIndicator",
|
|
17571
|
+
hidden: !isSearchStalled
|
|
17572
|
+
}, createElement(AutocompleteLoadingIcon, {
|
|
17573
|
+
createElement: createElement
|
|
17574
|
+
}))), createElement("div", {
|
|
17575
|
+
className: "ais-AutocompleteInputWrapper"
|
|
17576
|
+
}, createElement("input", _extends$1({
|
|
17577
|
+
className: "ais-AutocompleteInput",
|
|
17578
|
+
"aria-autocomplete": "both",
|
|
17579
|
+
"aria-labelledby": "".concat(inputProps.id, "-label"),
|
|
17580
|
+
autoComplete: "off",
|
|
17581
|
+
autoCorrect: "off",
|
|
17582
|
+
autoCapitalize: "off",
|
|
17583
|
+
enterKeyHint: "search",
|
|
17584
|
+
spellCheck: "false",
|
|
17585
|
+
placeholder: "",
|
|
17586
|
+
maxLength: 512,
|
|
17587
|
+
type: "search",
|
|
17588
|
+
value: query
|
|
17589
|
+
}, inputProps))), createElement("div", {
|
|
17590
|
+
className: "ais-AutocompleteInputWrapperSuffix"
|
|
17591
|
+
}, createElement("button", {
|
|
17592
|
+
className: "ais-AutocompleteClearButton",
|
|
17593
|
+
type: "reset",
|
|
17594
|
+
title: "Clear",
|
|
17595
|
+
hidden: query.length === 0 || isSearchStalled,
|
|
17596
|
+
onClick: onClear
|
|
17597
|
+
}, createElement(AutocompleteClearIcon, {
|
|
17598
|
+
createElement: createElement
|
|
17599
|
+
}))));
|
|
17600
|
+
};
|
|
17601
|
+
}
|
|
17602
|
+
|
|
17527
17603
|
function createAutocompleteSuggestionComponent(_ref) {
|
|
17528
17604
|
var createElement = _ref.createElement;
|
|
17529
17605
|
return function AutocompleteSuggestion(_ref2) {
|
|
17530
|
-
var
|
|
17606
|
+
var children = _ref2.children,
|
|
17531
17607
|
onSelect = _ref2.onSelect,
|
|
17532
17608
|
_ref2$classNames = _ref2.classNames,
|
|
17533
17609
|
classNames = _ref2$classNames === void 0 ? {} : _ref2$classNames;
|
|
17534
17610
|
return createElement("div", {
|
|
17535
17611
|
onClick: onSelect,
|
|
17536
|
-
className: cx('ais-
|
|
17537
|
-
},
|
|
17612
|
+
className: cx('ais-AutocompleteItemWrapper', 'ais-AutocompleteSuggestionWrapper', classNames.root)
|
|
17613
|
+
}, createElement("div", {
|
|
17614
|
+
className: cx('ais-AutocompleteItemContent', 'ais-AutocompleteSuggestionItemContent', classNames.content)
|
|
17615
|
+
}, createElement("div", {
|
|
17616
|
+
className: cx('ais-AutocompleteItemIcon', 'ais-AutocompleteSuggestionItemIcon', classNames.content)
|
|
17617
|
+
}, createElement(AutocompleteSubmitIcon, {
|
|
17618
|
+
createElement: createElement
|
|
17619
|
+
})), createElement("div", {
|
|
17620
|
+
className: cx('ais-AutocompleteItemContentBody', 'ais-AutocompleteSuggestionItemContentBody', classNames.content)
|
|
17621
|
+
}, children)));
|
|
17538
17622
|
};
|
|
17539
17623
|
}
|
|
17540
17624
|
|
|
@@ -17550,6 +17634,7 @@
|
|
|
17550
17634
|
onRefine = _ref2.onRefine,
|
|
17551
17635
|
globalOnSelect = _ref2.onSelect;
|
|
17552
17636
|
var getElementId = createGetElementId(useId());
|
|
17637
|
+
var inputRef = useRef(null);
|
|
17553
17638
|
var rootRef = useRef(null);
|
|
17554
17639
|
var _useState = useState(false),
|
|
17555
17640
|
_useState2 = _slicedToArray$1(_useState, 2),
|
|
@@ -17581,7 +17666,7 @@
|
|
|
17581
17666
|
document.body.removeEventListener('click', onBodyClick);
|
|
17582
17667
|
};
|
|
17583
17668
|
}, [rootRef]);
|
|
17584
|
-
var
|
|
17669
|
+
var getNextActiveDescendant = function getNextActiveDescendant(key) {
|
|
17585
17670
|
switch (key) {
|
|
17586
17671
|
case 'ArrowLeft':
|
|
17587
17672
|
case 'ArrowUp':
|
|
@@ -17600,11 +17685,21 @@
|
|
|
17600
17685
|
}
|
|
17601
17686
|
};
|
|
17602
17687
|
var submit = function submit() {
|
|
17603
|
-
var
|
|
17604
|
-
|
|
17605
|
-
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)) {
|
|
17606
17701
|
var _getQuery;
|
|
17607
|
-
var _ref3 = items.get(
|
|
17702
|
+
var _ref3 = items.get(actualDescendant),
|
|
17608
17703
|
_item = _ref3.item,
|
|
17609
17704
|
_ref3$config = _ref3.config,
|
|
17610
17705
|
indexOnSelect = _ref3$config.onSelect,
|
|
@@ -17626,6 +17721,7 @@
|
|
|
17626
17721
|
getInputProps: function getInputProps() {
|
|
17627
17722
|
return {
|
|
17628
17723
|
id: getElementId('input'),
|
|
17724
|
+
ref: inputRef,
|
|
17629
17725
|
role: 'combobox',
|
|
17630
17726
|
'aria-autocomplete': 'list',
|
|
17631
17727
|
'aria-expanded': isOpen,
|
|
@@ -17636,33 +17732,42 @@
|
|
|
17636
17732
|
return setIsOpen(true);
|
|
17637
17733
|
},
|
|
17638
17734
|
onKeyDown: function onKeyDown(event) {
|
|
17639
|
-
if (event.key === 'Escape') {
|
|
17640
|
-
setActiveDescendant(undefined);
|
|
17641
|
-
setIsOpen(false);
|
|
17642
|
-
return;
|
|
17643
|
-
}
|
|
17644
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
|
+
}
|
|
17645
17746
|
case 'ArrowLeft':
|
|
17646
17747
|
case 'ArrowUp':
|
|
17647
17748
|
case 'ArrowRight':
|
|
17648
17749
|
case 'ArrowDown':
|
|
17649
17750
|
{
|
|
17650
17751
|
var _document$getElementB;
|
|
17651
|
-
|
|
17652
|
-
|
|
17653
|
-
(
|
|
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);
|
|
17654
17756
|
event.preventDefault();
|
|
17655
17757
|
break;
|
|
17656
17758
|
}
|
|
17657
17759
|
case 'Enter':
|
|
17658
17760
|
{
|
|
17659
|
-
submit(
|
|
17761
|
+
submit({
|
|
17762
|
+
query: event.target.value
|
|
17763
|
+
});
|
|
17660
17764
|
break;
|
|
17661
17765
|
}
|
|
17662
17766
|
case 'Tab':
|
|
17663
17767
|
setIsOpen(false);
|
|
17664
17768
|
break;
|
|
17665
17769
|
default:
|
|
17770
|
+
setIsOpen(true);
|
|
17666
17771
|
return;
|
|
17667
17772
|
}
|
|
17668
17773
|
},
|
|
@@ -17690,7 +17795,9 @@
|
|
|
17690
17795
|
role: 'row',
|
|
17691
17796
|
'aria-selected': id === activeDescendant,
|
|
17692
17797
|
onSelect: function onSelect() {
|
|
17693
|
-
return submit(
|
|
17798
|
+
return submit({
|
|
17799
|
+
activeDescendant: id
|
|
17800
|
+
});
|
|
17694
17801
|
}
|
|
17695
17802
|
};
|
|
17696
17803
|
},
|
|
@@ -17752,6 +17859,206 @@
|
|
|
17752
17859
|
: ref.current; // React
|
|
17753
17860
|
}
|
|
17754
17861
|
|
|
17862
|
+
var arrayWithoutHoles = createCommonjsModule(function (module) {
|
|
17863
|
+
function _arrayWithoutHoles(r) {
|
|
17864
|
+
if (Array.isArray(r)) return arrayLikeToArray(r);
|
|
17865
|
+
}
|
|
17866
|
+
module.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
17867
|
+
});
|
|
17868
|
+
|
|
17869
|
+
unwrapExports(arrayWithoutHoles);
|
|
17870
|
+
|
|
17871
|
+
var iterableToArray = createCommonjsModule(function (module) {
|
|
17872
|
+
function _iterableToArray(r) {
|
|
17873
|
+
if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r);
|
|
17874
|
+
}
|
|
17875
|
+
module.exports = _iterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
17876
|
+
});
|
|
17877
|
+
|
|
17878
|
+
unwrapExports(iterableToArray);
|
|
17879
|
+
|
|
17880
|
+
var nonIterableSpread = createCommonjsModule(function (module) {
|
|
17881
|
+
function _nonIterableSpread() {
|
|
17882
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
17883
|
+
}
|
|
17884
|
+
module.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
17885
|
+
});
|
|
17886
|
+
|
|
17887
|
+
unwrapExports(nonIterableSpread);
|
|
17888
|
+
|
|
17889
|
+
var toConsumableArray = createCommonjsModule(function (module) {
|
|
17890
|
+
function _toConsumableArray(r) {
|
|
17891
|
+
return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();
|
|
17892
|
+
}
|
|
17893
|
+
module.exports = _toConsumableArray, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
17894
|
+
});
|
|
17895
|
+
|
|
17896
|
+
var _toConsumableArray$1 = unwrapExports(toConsumableArray);
|
|
17897
|
+
|
|
17898
|
+
function createAutocompleteStorage(_ref) {
|
|
17899
|
+
var useEffect = _ref.useEffect,
|
|
17900
|
+
useMemo = _ref.useMemo,
|
|
17901
|
+
useState = _ref.useState;
|
|
17902
|
+
return function useStorage(_ref2) {
|
|
17903
|
+
var showRecent = _ref2.showRecent,
|
|
17904
|
+
query = _ref2.query,
|
|
17905
|
+
indices = _ref2.indices,
|
|
17906
|
+
indicesConfig = _ref2.indicesConfig;
|
|
17907
|
+
var storageKey = showRecent && _typeof$1(showRecent) === 'object' ? showRecent.storageKey : undefined;
|
|
17908
|
+
var storage = useMemo(function () {
|
|
17909
|
+
return createStorage({
|
|
17910
|
+
limit: 5,
|
|
17911
|
+
storageKey: storageKey
|
|
17912
|
+
});
|
|
17913
|
+
}, [storageKey]);
|
|
17914
|
+
var _useState = useState(storage.getSnapshot()),
|
|
17915
|
+
_useState2 = _slicedToArray$1(_useState, 2),
|
|
17916
|
+
snapshot = _useState2[0],
|
|
17917
|
+
setSnapshot = _useState2[1];
|
|
17918
|
+
useEffect(function () {
|
|
17919
|
+
storage.registerUpdateListener(function () {
|
|
17920
|
+
setSnapshot(storage.getSnapshot());
|
|
17921
|
+
});
|
|
17922
|
+
return function () {
|
|
17923
|
+
storage.unregisterUpdateListener();
|
|
17924
|
+
};
|
|
17925
|
+
}, [storage]);
|
|
17926
|
+
if (!showRecent) {
|
|
17927
|
+
return {
|
|
17928
|
+
storage: {
|
|
17929
|
+
onAdd: function onAdd() {},
|
|
17930
|
+
onRemove: function onRemove() {}
|
|
17931
|
+
},
|
|
17932
|
+
storageHits: [],
|
|
17933
|
+
indicesForPropGetters: indices,
|
|
17934
|
+
indicesConfigForPropGetters: indicesConfig
|
|
17935
|
+
};
|
|
17936
|
+
}
|
|
17937
|
+
var storageHits = snapshot.getAll(query).map(function (value) {
|
|
17938
|
+
return {
|
|
17939
|
+
objectID: value,
|
|
17940
|
+
query: value,
|
|
17941
|
+
__indexName: 'recent-searches',
|
|
17942
|
+
_highlightResult: getHighlightedAttribute({
|
|
17943
|
+
item: {
|
|
17944
|
+
query: value
|
|
17945
|
+
},
|
|
17946
|
+
query: query || ''
|
|
17947
|
+
})
|
|
17948
|
+
};
|
|
17949
|
+
});
|
|
17950
|
+
var indicesForPropGetters = _toConsumableArray$1(indices);
|
|
17951
|
+
var indicesConfigForPropGetters = _toConsumableArray$1(indicesConfig);
|
|
17952
|
+
indicesForPropGetters.unshift({
|
|
17953
|
+
indexName: 'recent-searches',
|
|
17954
|
+
indexId: 'recent-searches',
|
|
17955
|
+
hits: storageHits
|
|
17956
|
+
});
|
|
17957
|
+
indicesConfigForPropGetters.unshift({
|
|
17958
|
+
indexName: 'recent-searches',
|
|
17959
|
+
// @ts-expect-error - we know it has query as it's generated from storageHits
|
|
17960
|
+
getQuery: function getQuery(item) {
|
|
17961
|
+
return item.query;
|
|
17962
|
+
}
|
|
17963
|
+
});
|
|
17964
|
+
return {
|
|
17965
|
+
storage: storage,
|
|
17966
|
+
storageHits: storageHits,
|
|
17967
|
+
indicesForPropGetters: indicesForPropGetters,
|
|
17968
|
+
indicesConfigForPropGetters: indicesConfigForPropGetters
|
|
17969
|
+
};
|
|
17970
|
+
};
|
|
17971
|
+
}
|
|
17972
|
+
var LOCAL_STORAGE_KEY_TEST = 'test-localstorage-support';
|
|
17973
|
+
var LOCAL_STORAGE_KEY = 'autocomplete-recent-searches';
|
|
17974
|
+
function isLocalStorageSupported() {
|
|
17975
|
+
try {
|
|
17976
|
+
localStorage.setItem(LOCAL_STORAGE_KEY_TEST, '');
|
|
17977
|
+
localStorage.removeItem(LOCAL_STORAGE_KEY_TEST);
|
|
17978
|
+
return true;
|
|
17979
|
+
} catch (error) {
|
|
17980
|
+
return false;
|
|
17981
|
+
}
|
|
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
|
+
}
|
|
18001
|
+
function getLocalStorage() {
|
|
18002
|
+
var key = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : LOCAL_STORAGE_KEY;
|
|
18003
|
+
if (!isLocalStorageSupported()) {
|
|
18004
|
+
return {
|
|
18005
|
+
setItems: function setItems() {},
|
|
18006
|
+
getItems: function getItems() {
|
|
18007
|
+
return [];
|
|
18008
|
+
}
|
|
18009
|
+
};
|
|
18010
|
+
}
|
|
18011
|
+
return {
|
|
18012
|
+
setItems: function setItems(items) {
|
|
18013
|
+
try {
|
|
18014
|
+
window.localStorage.setItem(key, JSON.stringify(items));
|
|
18015
|
+
} catch (_unused) {
|
|
18016
|
+
// do nothing, this likely means the storage is full
|
|
18017
|
+
}
|
|
18018
|
+
},
|
|
18019
|
+
getItems: function getItems() {
|
|
18020
|
+
var items = window.localStorage.getItem(key);
|
|
18021
|
+
return items ? JSON.parse(items) : [];
|
|
18022
|
+
}
|
|
18023
|
+
};
|
|
18024
|
+
}
|
|
18025
|
+
function createStorage(_ref4) {
|
|
18026
|
+
var _ref4$limit = _ref4.limit,
|
|
18027
|
+
limit = _ref4$limit === void 0 ? 5 : _ref4$limit,
|
|
18028
|
+
storageKey = _ref4.storageKey;
|
|
18029
|
+
var storage = getLocalStorage(storageKey);
|
|
18030
|
+
var updateListener = null;
|
|
18031
|
+
return {
|
|
18032
|
+
onAdd: function onAdd(query) {
|
|
18033
|
+
this.onRemove(query);
|
|
18034
|
+
storage.setItems([query].concat(_toConsumableArray$1(storage.getItems())));
|
|
18035
|
+
},
|
|
18036
|
+
onRemove: function onRemove(query) {
|
|
18037
|
+
var _updateListener;
|
|
18038
|
+
storage.setItems(storage.getItems().filter(function (q) {
|
|
18039
|
+
return q !== query;
|
|
18040
|
+
}));
|
|
18041
|
+
(_updateListener = updateListener) === null || _updateListener === void 0 ? void 0 : _updateListener();
|
|
18042
|
+
},
|
|
18043
|
+
registerUpdateListener: function registerUpdateListener(callback) {
|
|
18044
|
+
updateListener = callback;
|
|
18045
|
+
},
|
|
18046
|
+
unregisterUpdateListener: function unregisterUpdateListener() {
|
|
18047
|
+
updateListener = null;
|
|
18048
|
+
},
|
|
18049
|
+
getSnapshot: function getSnapshot() {
|
|
18050
|
+
return {
|
|
18051
|
+
getAll: function getAll() {
|
|
18052
|
+
var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
|
|
18053
|
+
return storage.getItems().filter(function (q) {
|
|
18054
|
+
return q.includes(query);
|
|
18055
|
+
}).slice(0, limit);
|
|
18056
|
+
}
|
|
18057
|
+
};
|
|
18058
|
+
}
|
|
18059
|
+
};
|
|
18060
|
+
}
|
|
18061
|
+
|
|
17755
18062
|
function createDefaultEmptyComponent(_ref) {
|
|
17756
18063
|
var createElement = _ref.createElement,
|
|
17757
18064
|
Fragment = _ref.Fragment;
|
|
@@ -20117,6 +20424,10 @@
|
|
|
20117
20424
|
createElement: h,
|
|
20118
20425
|
Fragment: p
|
|
20119
20426
|
});
|
|
20427
|
+
var AutocompleteRecentSearch = createAutocompleteRecentSearchComponent({
|
|
20428
|
+
createElement: h,
|
|
20429
|
+
Fragment: p
|
|
20430
|
+
});
|
|
20120
20431
|
var usePropGetters = createAutocompletePropGetters({
|
|
20121
20432
|
useEffect: s$1,
|
|
20122
20433
|
useId: b$1,
|
|
@@ -20124,12 +20435,18 @@
|
|
|
20124
20435
|
useRef: A$1,
|
|
20125
20436
|
useState: y$1
|
|
20126
20437
|
});
|
|
20438
|
+
var useStorage = createAutocompleteStorage({
|
|
20439
|
+
useEffect: s$1,
|
|
20440
|
+
useState: y$1,
|
|
20441
|
+
useMemo: T$1
|
|
20442
|
+
});
|
|
20127
20443
|
var createRenderer = function createRenderer(params) {
|
|
20128
20444
|
var instanceId = params.instanceId,
|
|
20129
20445
|
containerNode = params.containerNode,
|
|
20130
20446
|
rendererParams = _objectWithoutProperties(params, _excluded$s);
|
|
20131
20447
|
return function (connectorParams, isFirstRendering) {
|
|
20132
20448
|
if (isFirstRendering) {
|
|
20449
|
+
var _targetIndex$getHelpe, _targetIndex$getHelpe2;
|
|
20133
20450
|
var isolatedIndex = connectorParams.instantSearchInstance.mainIndex;
|
|
20134
20451
|
var targetIndex = connectorParams.instantSearchInstance.mainIndex;
|
|
20135
20452
|
walkIndex(targetIndex, function (childIndex) {
|
|
@@ -20141,15 +20458,21 @@
|
|
|
20141
20458
|
rendererParams.renderState = {
|
|
20142
20459
|
indexTemplateProps: [],
|
|
20143
20460
|
isolatedIndex: isolatedIndex,
|
|
20144
|
-
targetIndex: targetIndex
|
|
20461
|
+
targetIndex: targetIndex,
|
|
20462
|
+
templateProps: prepareTemplateProps({
|
|
20463
|
+
defaultTemplates: {},
|
|
20464
|
+
templatesConfig: connectorParams.instantSearchInstance.templatesConfig,
|
|
20465
|
+
templates: rendererParams.templates
|
|
20466
|
+
})
|
|
20145
20467
|
};
|
|
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 : '');
|
|
20146
20469
|
return;
|
|
20147
20470
|
}
|
|
20148
20471
|
P(h(AutocompleteWrapper, _extends({}, rendererParams, connectorParams)), containerNode);
|
|
20149
20472
|
};
|
|
20150
20473
|
};
|
|
20151
20474
|
function AutocompleteWrapper(_ref) {
|
|
20152
|
-
var _targetIndex$getWidge,
|
|
20475
|
+
var _isolatedIndex$getHel, _targetIndex$getWidge, _showRecent$templates;
|
|
20153
20476
|
var indicesConfig = _ref.indicesConfig,
|
|
20154
20477
|
indices = _ref.indices,
|
|
20155
20478
|
getSearchPageURL = _ref.getSearchPageURL,
|
|
@@ -20157,9 +20480,23 @@
|
|
|
20157
20480
|
refine = _ref.refine,
|
|
20158
20481
|
cssClasses = _ref.cssClasses,
|
|
20159
20482
|
renderState = _ref.renderState,
|
|
20160
|
-
instantSearchInstance = _ref.instantSearchInstance
|
|
20483
|
+
instantSearchInstance = _ref.instantSearchInstance,
|
|
20484
|
+
showRecent = _ref.showRecent,
|
|
20485
|
+
showSuggestions = _ref.showSuggestions,
|
|
20486
|
+
templates = _ref.templates;
|
|
20161
20487
|
var isolatedIndex = renderState.isolatedIndex,
|
|
20162
20488
|
targetIndex = renderState.targetIndex;
|
|
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;
|
|
20490
|
+
var _useStorage = useStorage({
|
|
20491
|
+
query: searchboxQuery,
|
|
20492
|
+
showRecent: showRecent,
|
|
20493
|
+
indices: indices,
|
|
20494
|
+
indicesConfig: indicesConfig
|
|
20495
|
+
}),
|
|
20496
|
+
storage = _useStorage.storage,
|
|
20497
|
+
storageHits = _useStorage.storageHits,
|
|
20498
|
+
indicesConfigForPropGetters = _useStorage.indicesConfigForPropGetters,
|
|
20499
|
+
indicesForPropGetters = _useStorage.indicesForPropGetters;
|
|
20163
20500
|
var isSearchPage = (_targetIndex$getWidge = targetIndex === null || targetIndex === void 0 ? void 0 : targetIndex.getWidgets().some(function (_ref2) {
|
|
20164
20501
|
var $$type = _ref2.$$type;
|
|
20165
20502
|
return ['ais.hits', 'ais.infiniteHits'].includes($$type);
|
|
@@ -20173,10 +20510,11 @@
|
|
|
20173
20510
|
query: query
|
|
20174
20511
|
}), _objectSpread2$1));
|
|
20175
20512
|
});
|
|
20513
|
+
query.length > 0 && storage.onAdd(query);
|
|
20176
20514
|
};
|
|
20177
20515
|
var _usePropGetters = usePropGetters({
|
|
20178
|
-
indices:
|
|
20179
|
-
indicesConfig:
|
|
20516
|
+
indices: indicesForPropGetters,
|
|
20517
|
+
indicesConfig: indicesConfigForPropGetters,
|
|
20180
20518
|
onRefine: onRefine,
|
|
20181
20519
|
onSelect: userOnSelect !== null && userOnSelect !== void 0 ? userOnSelect : function (_ref3) {
|
|
20182
20520
|
var query = _ref3.query,
|
|
@@ -20200,25 +20538,69 @@
|
|
|
20200
20538
|
getItemProps = _usePropGetters.getItemProps,
|
|
20201
20539
|
getPanelProps = _usePropGetters.getPanelProps,
|
|
20202
20540
|
getRootProps = _usePropGetters.getRootProps;
|
|
20203
|
-
var
|
|
20204
|
-
|
|
20205
|
-
|
|
20206
|
-
|
|
20207
|
-
|
|
20208
|
-
|
|
20209
|
-
|
|
20210
|
-
|
|
20211
|
-
|
|
20212
|
-
|
|
20213
|
-
})
|
|
20214
|
-
|
|
20215
|
-
|
|
20216
|
-
|
|
20217
|
-
|
|
20218
|
-
|
|
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
|
+
};
|
|
20553
|
+
if (_typeof(showRecent) === 'object' && (_showRecent$templates = showRecent.templates) !== null && _showRecent$templates !== void 0 && _showRecent$templates.item) {
|
|
20554
|
+
var props = prepareTemplateProps({
|
|
20555
|
+
defaultTemplates: {},
|
|
20556
|
+
templatesConfig: instantSearchInstance.templatesConfig,
|
|
20557
|
+
templates: showRecent.templates
|
|
20558
|
+
});
|
|
20559
|
+
AutocompleteRecentSearchComponent = function AutocompleteRecentSearchComponent(_ref5) {
|
|
20560
|
+
var item = _ref5.item,
|
|
20561
|
+
onSelect = _ref5.onSelect,
|
|
20562
|
+
onRemoveRecentSearch = _ref5.onRemoveRecentSearch;
|
|
20563
|
+
return h(Template, _extends({}, props, {
|
|
20564
|
+
templateKey: "item",
|
|
20565
|
+
rootTagName: "fragment",
|
|
20566
|
+
data: {
|
|
20567
|
+
item: item,
|
|
20568
|
+
onSelect: onSelect,
|
|
20569
|
+
onRemoveRecentSearch: onRemoveRecentSearch
|
|
20570
|
+
}
|
|
20571
|
+
}));
|
|
20572
|
+
};
|
|
20573
|
+
}
|
|
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) {
|
|
20219
20600
|
var _indicesConfig$i$temp;
|
|
20220
|
-
var indexId =
|
|
20221
|
-
|
|
20601
|
+
var indexId = _ref7.indexId,
|
|
20602
|
+
indexName = _ref7.indexName,
|
|
20603
|
+
hits = _ref7.hits;
|
|
20222
20604
|
if (!renderState.indexTemplateProps[i]) {
|
|
20223
20605
|
renderState.indexTemplateProps[i] = prepareTemplateProps({
|
|
20224
20606
|
defaultTemplates: {},
|
|
@@ -20226,8 +20608,8 @@
|
|
|
20226
20608
|
templates: indicesConfig[i].templates
|
|
20227
20609
|
});
|
|
20228
20610
|
}
|
|
20229
|
-
var headerComponent = (_indicesConfig$i$temp = indicesConfig[i].templates) !== null && _indicesConfig$i$temp !== void 0 && _indicesConfig$i$temp.header ? function (
|
|
20230
|
-
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;
|
|
20231
20613
|
return h(Template, _extends({}, renderState.indexTemplateProps[i], {
|
|
20232
20614
|
templateKey: "header",
|
|
20233
20615
|
rootTagName: "fragment",
|
|
@@ -20236,9 +20618,9 @@
|
|
|
20236
20618
|
}
|
|
20237
20619
|
}));
|
|
20238
20620
|
} : undefined;
|
|
20239
|
-
var itemComponent = function itemComponent(
|
|
20240
|
-
var item =
|
|
20241
|
-
onSelect =
|
|
20621
|
+
var itemComponent = function itemComponent(_ref9) {
|
|
20622
|
+
var item = _ref9.item,
|
|
20623
|
+
onSelect = _ref9.onSelect;
|
|
20242
20624
|
return h(Template, _extends({}, renderState.indexTemplateProps[i], {
|
|
20243
20625
|
templateKey: "item",
|
|
20244
20626
|
rootTagName: "fragment",
|
|
@@ -20248,7 +20630,8 @@
|
|
|
20248
20630
|
}
|
|
20249
20631
|
}));
|
|
20250
20632
|
};
|
|
20251
|
-
|
|
20633
|
+
var elementId = indexName === (showSuggestions === null || showSuggestions === void 0 ? void 0 : showSuggestions.indexName) ? 'suggestions' : indexName;
|
|
20634
|
+
elements[elementId] = h(AutocompleteIndex, {
|
|
20252
20635
|
key: indexId,
|
|
20253
20636
|
HeaderComponent: headerComponent,
|
|
20254
20637
|
ItemComponent: itemComponent,
|
|
@@ -20260,25 +20643,54 @@
|
|
|
20260
20643
|
getItemProps: getItemProps,
|
|
20261
20644
|
classNames: indicesConfig[i].cssClasses
|
|
20262
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];
|
|
20263
20670
|
})));
|
|
20264
20671
|
}
|
|
20265
20672
|
function EXPERIMENTAL_autocomplete(widgetParams) {
|
|
20266
|
-
var
|
|
20267
|
-
container =
|
|
20268
|
-
escapeHTML =
|
|
20269
|
-
|
|
20270
|
-
indices =
|
|
20271
|
-
showSuggestions =
|
|
20272
|
-
|
|
20273
|
-
|
|
20274
|
-
|
|
20275
|
-
|
|
20276
|
-
|
|
20277
|
-
|
|
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;
|
|
20278
20687
|
if (!container) {
|
|
20279
20688
|
throw new Error(withUsage$z('The `container` option is required.'));
|
|
20280
20689
|
}
|
|
20281
20690
|
var containerNode = getContainerNode(container);
|
|
20691
|
+
var searchParameters = _objectSpread2({
|
|
20692
|
+
hitsPerPage: 5
|
|
20693
|
+
}, userSearchParameters);
|
|
20282
20694
|
var cssClasses = {
|
|
20283
20695
|
root: cx(suit$6(), userCssClasses.root)
|
|
20284
20696
|
};
|
|
@@ -20289,7 +20701,16 @@
|
|
|
20289
20701
|
indexName: showSuggestions.indexName,
|
|
20290
20702
|
templates: _objectSpread2({
|
|
20291
20703
|
// @ts-expect-error
|
|
20292
|
-
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
|
+
}
|
|
20293
20714
|
}, showSuggestions.templates),
|
|
20294
20715
|
cssClasses: {
|
|
20295
20716
|
root: cx('ais-AutocompleteSuggestions', (_showSuggestions$cssC = showSuggestions.cssClasses) === null || _showSuggestions$cssC === void 0 ? void 0 : _showSuggestions$cssC.root),
|
|
@@ -20311,10 +20732,13 @@
|
|
|
20311
20732
|
getSearchPageURL: getSearchPageURL,
|
|
20312
20733
|
onSelect: onSelect,
|
|
20313
20734
|
cssClasses: cssClasses,
|
|
20735
|
+
showRecent: showRecent,
|
|
20736
|
+
showSuggestions: showSuggestions,
|
|
20314
20737
|
renderState: {
|
|
20315
20738
|
indexTemplateProps: [],
|
|
20316
20739
|
isolatedIndex: undefined,
|
|
20317
|
-
targetIndex: undefined
|
|
20740
|
+
targetIndex: undefined,
|
|
20741
|
+
templateProps: undefined
|
|
20318
20742
|
},
|
|
20319
20743
|
templates: templates
|
|
20320
20744
|
});
|
|
@@ -20326,20 +20750,32 @@
|
|
|
20326
20750
|
})({}), index({
|
|
20327
20751
|
indexId: "ais-autocomplete-".concat(instanceId),
|
|
20328
20752
|
EXPERIMENTAL_isolated: true
|
|
20329
|
-
}).addWidgets([configure({
|
|
20330
|
-
|
|
20331
|
-
|
|
20332
|
-
var indexName = _ref8.indexName;
|
|
20753
|
+
}).addWidgets([configure(searchParameters)].concat(_toConsumableArray(indicesConfig.map(function (_ref10) {
|
|
20754
|
+
var indexName = _ref10.indexName,
|
|
20755
|
+
indexSearchParameters = _ref10.searchParameters;
|
|
20333
20756
|
return index({
|
|
20334
20757
|
indexName: indexName,
|
|
20335
20758
|
indexId: indexName
|
|
20336
|
-
}).addWidgets([configure({})]);
|
|
20759
|
+
}).addWidgets([configure(indexSearchParameters || {})]);
|
|
20337
20760
|
})), [_objectSpread2(_objectSpread2({}, makeWidget({
|
|
20338
20761
|
escapeHTML: escapeHTML
|
|
20339
20762
|
})), {}, {
|
|
20340
20763
|
$$widgetType: 'ais.autocomplete'
|
|
20341
20764
|
})]))];
|
|
20342
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
|
+
}
|
|
20343
20779
|
|
|
20344
20780
|
var Breadcrumb = function Breadcrumb(_ref) {
|
|
20345
20781
|
var items = _ref.items,
|