instantsearch.js 4.40.2 → 4.40.3
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/CHANGELOG.md +9 -0
- package/cjs/connectors/breadcrumb/connectBreadcrumb.js +1 -1
- package/cjs/connectors/hierarchical-menu/connectHierarchicalMenu.js +4 -3
- package/cjs/connectors/menu/connectMenu.js +3 -2
- package/cjs/connectors/refinement-list/connectRefinementList.js +7 -5
- package/cjs/lib/version.js +1 -1
- package/dist/instantsearch.development.js +66 -20
- package/dist/instantsearch.development.js.map +1 -1
- package/dist/instantsearch.production.min.js +2 -2
- package/dist/instantsearch.production.min.js.map +1 -1
- package/es/connectors/breadcrumb/connectBreadcrumb.js +1 -1
- package/es/connectors/hierarchical-menu/connectHierarchicalMenu.js +4 -3
- package/es/connectors/menu/connectMenu.js +3 -2
- package/es/connectors/refinement-list/connectRefinementList.js +7 -5
- package/es/lib/version.d.ts +1 -1
- package/es/lib/version.js +1 -1
- package/es/types/results.d.ts +2 -7
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
## [4.40.3](https://github.com/algolia/instantsearch.js/compare/v4.40.2...v4.40.3) (2022-04-04)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **refinements:** escape facet values starting with "-" ([#5039](https://github.com/algolia/instantsearch.js/issues/5039)) ([6b6f4e8](https://github.com/algolia/instantsearch.js/commit/6b6f4e86550a3c9dd02f3a8400d832cef64cb45d))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
1
10
|
## [4.40.2](https://github.com/algolia/instantsearch.js/compare/v4.40.1...v4.40.2) (2022-03-29)
|
|
2
11
|
|
|
3
12
|
|
|
@@ -114,13 +114,14 @@ var connectHierarchicalMenu = function connectHierarchicalMenu(renderFn) {
|
|
|
114
114
|
function _prepareFacetValues(facetValues) {
|
|
115
115
|
return facetValues.slice(0, getLimit()).map(function (_ref2) {
|
|
116
116
|
var label = _ref2.name,
|
|
117
|
-
value = _ref2.
|
|
117
|
+
value = _ref2.escapedValue,
|
|
118
118
|
data = _ref2.data,
|
|
119
|
-
|
|
119
|
+
path = _ref2.path,
|
|
120
|
+
subValue = _objectWithoutProperties(_ref2, ["name", "escapedValue", "data", "path"]);
|
|
120
121
|
|
|
121
122
|
var item = _objectSpread(_objectSpread({}, subValue), {}, {
|
|
122
|
-
label: label,
|
|
123
123
|
value: value,
|
|
124
|
+
label: label,
|
|
124
125
|
data: null
|
|
125
126
|
});
|
|
126
127
|
|
|
@@ -169,8 +169,9 @@ var connectMenu = function connectMenu(renderFn) {
|
|
|
169
169
|
canToggleShowMore = showMore && (isShowingMore || facetItems.length > getLimit());
|
|
170
170
|
items = transformItems(facetItems.slice(0, getLimit()).map(function (_ref3) {
|
|
171
171
|
var label = _ref3.name,
|
|
172
|
-
value = _ref3.
|
|
173
|
-
|
|
172
|
+
value = _ref3.escapedValue,
|
|
173
|
+
path = _ref3.path,
|
|
174
|
+
item = _objectWithoutProperties(_ref3, ["name", "escapedValue", "path"]);
|
|
174
175
|
|
|
175
176
|
return _objectSpread(_objectSpread({}, item), {}, {
|
|
176
177
|
label: label,
|
|
@@ -72,11 +72,12 @@ var connectRefinementList = function connectRefinementList(renderFn) {
|
|
|
72
72
|
|
|
73
73
|
var formatItems = function formatItems(_ref2) {
|
|
74
74
|
var label = _ref2.name,
|
|
75
|
-
|
|
75
|
+
value = _ref2.escapedValue,
|
|
76
|
+
item = _objectWithoutProperties(_ref2, ["name", "escapedValue"]);
|
|
76
77
|
|
|
77
78
|
return _objectSpread(_objectSpread({}, item), {}, {
|
|
79
|
+
value: value,
|
|
78
80
|
label: label,
|
|
79
|
-
value: label,
|
|
80
81
|
highlighted: label
|
|
81
82
|
});
|
|
82
83
|
};
|
|
@@ -134,11 +135,12 @@ var connectRefinementList = function connectRefinementList(renderFn) {
|
|
|
134
135
|
Math.min(getLimit(), 100), tags).then(function (results) {
|
|
135
136
|
var facetValues = escapeFacetValues ? (0, _index.escapeFacets)(results.facetHits) : results.facetHits;
|
|
136
137
|
var normalizedFacetValues = transformItems(facetValues.map(function (_ref3) {
|
|
137
|
-
var
|
|
138
|
-
|
|
138
|
+
var escapedValue = _ref3.escapedValue,
|
|
139
|
+
value = _ref3.value,
|
|
140
|
+
item = _objectWithoutProperties(_ref3, ["escapedValue", "value"]);
|
|
139
141
|
|
|
140
142
|
return _objectSpread(_objectSpread({}, item), {}, {
|
|
141
|
-
value:
|
|
143
|
+
value: escapedValue,
|
|
142
144
|
label: value
|
|
143
145
|
});
|
|
144
146
|
}), {
|
package/cjs/lib/version.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! InstantSearch.js 4.40.
|
|
1
|
+
/*! InstantSearch.js 4.40.3 | © Algolia, Inc. and contributors; MIT License | https://github.com/algolia/instantsearch.js */
|
|
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) :
|
|
@@ -2244,12 +2244,40 @@
|
|
|
2244
2244
|
);
|
|
2245
2245
|
};
|
|
2246
2246
|
|
|
2247
|
+
/**
|
|
2248
|
+
* Replaces a leading - with \-
|
|
2249
|
+
* @private
|
|
2250
|
+
* @param {string} value the facet value to replace
|
|
2251
|
+
* @returns string
|
|
2252
|
+
*/
|
|
2253
|
+
function escapeFacetValue(value) {
|
|
2254
|
+
return value.replace(/^-/, '\\-');
|
|
2255
|
+
}
|
|
2256
|
+
|
|
2257
|
+
/**
|
|
2258
|
+
* Replaces a leading \- with -
|
|
2259
|
+
* @private
|
|
2260
|
+
* @param {string} value the escaped facet value
|
|
2261
|
+
* @returns string
|
|
2262
|
+
*/
|
|
2263
|
+
function unescapeFacetValue(value) {
|
|
2264
|
+
return value.replace(/^\\-/, '-');
|
|
2265
|
+
}
|
|
2266
|
+
|
|
2267
|
+
var escapeFacetValue_1 = {
|
|
2268
|
+
escapeFacetValue: escapeFacetValue,
|
|
2269
|
+
unescapeFacetValue: unescapeFacetValue
|
|
2270
|
+
};
|
|
2271
|
+
|
|
2247
2272
|
var generateHierarchicalTree_1 = generateTrees;
|
|
2248
2273
|
|
|
2249
2274
|
|
|
2250
2275
|
|
|
2251
2276
|
|
|
2252
2277
|
|
|
2278
|
+
var escapeFacetValue$1 = escapeFacetValue_1.escapeFacetValue;
|
|
2279
|
+
var unescapeFacetValue$1 = escapeFacetValue_1.unescapeFacetValue;
|
|
2280
|
+
|
|
2253
2281
|
function generateTrees(state) {
|
|
2254
2282
|
return function generate(hierarchicalFacetResult, hierarchicalFacetIndex) {
|
|
2255
2283
|
var hierarchicalFacet = state.hierarchicalFacets[hierarchicalFacetIndex];
|
|
@@ -2295,6 +2323,7 @@
|
|
|
2295
2323
|
count: null, // root level, no count
|
|
2296
2324
|
isRefined: true, // root level, always refined
|
|
2297
2325
|
path: null, // root level, no path
|
|
2326
|
+
escapedValue: null,
|
|
2298
2327
|
exhaustive: rootExhaustive,
|
|
2299
2328
|
data: null
|
|
2300
2329
|
});
|
|
@@ -2370,7 +2399,7 @@
|
|
|
2370
2399
|
facetCount,
|
|
2371
2400
|
facetValue,
|
|
2372
2401
|
hierarchicalSeparator,
|
|
2373
|
-
currentRefinement,
|
|
2402
|
+
unescapeFacetValue$1(currentRefinement),
|
|
2374
2403
|
hierarchicalFacetResult.exhaustive
|
|
2375
2404
|
);
|
|
2376
2405
|
}),
|
|
@@ -2433,6 +2462,7 @@
|
|
|
2433
2462
|
return {
|
|
2434
2463
|
name: parts[parts.length - 1].trim(),
|
|
2435
2464
|
path: facetValue,
|
|
2465
|
+
escapedValue: escapeFacetValue$1(facetValue),
|
|
2436
2466
|
count: facetCount,
|
|
2437
2467
|
isRefined:
|
|
2438
2468
|
currentRefinement === facetValue ||
|
|
@@ -2442,6 +2472,11 @@
|
|
|
2442
2472
|
};
|
|
2443
2473
|
}
|
|
2444
2474
|
|
|
2475
|
+
var escapeFacetValue$2 = escapeFacetValue_1.escapeFacetValue;
|
|
2476
|
+
var unescapeFacetValue$2 = escapeFacetValue_1.unescapeFacetValue;
|
|
2477
|
+
|
|
2478
|
+
|
|
2479
|
+
|
|
2445
2480
|
/**
|
|
2446
2481
|
* @typedef SearchResults.Facet
|
|
2447
2482
|
* @type {object}
|
|
@@ -2940,7 +2975,7 @@
|
|
|
2940
2975
|
state.disjunctiveFacetsRefinements[dfacet].forEach(function(refinementValue) {
|
|
2941
2976
|
// add the disjunctive refinements if it is no more retrieved
|
|
2942
2977
|
if (!self.disjunctiveFacets[position].data[refinementValue] &&
|
|
2943
|
-
state.disjunctiveFacetsRefinements[dfacet].indexOf(refinementValue) > -1) {
|
|
2978
|
+
state.disjunctiveFacetsRefinements[dfacet].indexOf(unescapeFacetValue$2(refinementValue)) > -1) {
|
|
2944
2979
|
self.disjunctiveFacets[position].data[refinementValue] = 0;
|
|
2945
2980
|
}
|
|
2946
2981
|
});
|
|
@@ -3072,10 +3107,12 @@
|
|
|
3072
3107
|
if (!facet) return [];
|
|
3073
3108
|
|
|
3074
3109
|
return Object.keys(facet.data).map(function(name) {
|
|
3110
|
+
var value = escapeFacetValue$2(name);
|
|
3075
3111
|
return {
|
|
3076
3112
|
name: name,
|
|
3113
|
+
escapedValue: value,
|
|
3077
3114
|
count: facet.data[name],
|
|
3078
|
-
isRefined: results._state.isFacetRefined(attribute,
|
|
3115
|
+
isRefined: results._state.isFacetRefined(attribute, value),
|
|
3079
3116
|
isExcluded: results._state.isExcludeRefined(attribute, name)
|
|
3080
3117
|
};
|
|
3081
3118
|
});
|
|
@@ -3084,10 +3121,12 @@
|
|
|
3084
3121
|
if (!disjunctiveFacet) return [];
|
|
3085
3122
|
|
|
3086
3123
|
return Object.keys(disjunctiveFacet.data).map(function(name) {
|
|
3124
|
+
var value = escapeFacetValue$2(name);
|
|
3087
3125
|
return {
|
|
3088
3126
|
name: name,
|
|
3127
|
+
escapedValue: value,
|
|
3089
3128
|
count: disjunctiveFacet.data[name],
|
|
3090
|
-
isRefined: results._state.isDisjunctiveFacetRefined(attribute,
|
|
3129
|
+
isRefined: results._state.isDisjunctiveFacetRefined(attribute, value)
|
|
3091
3130
|
};
|
|
3092
3131
|
});
|
|
3093
3132
|
} else if (results._state.isHierarchicalFacet(attribute)) {
|
|
@@ -4120,7 +4159,9 @@
|
|
|
4120
4159
|
|
|
4121
4160
|
var requestBuilder_1 = requestBuilder;
|
|
4122
4161
|
|
|
4123
|
-
var version = '3.
|
|
4162
|
+
var version = '3.8.0';
|
|
4163
|
+
|
|
4164
|
+
var escapeFacetValue$3 = escapeFacetValue_1.escapeFacetValue;
|
|
4124
4165
|
|
|
4125
4166
|
/**
|
|
4126
4167
|
* Event triggered when a parameter is set or updated
|
|
@@ -4470,9 +4511,10 @@
|
|
|
4470
4511
|
content = Array.isArray(content) ? content[0] : content;
|
|
4471
4512
|
|
|
4472
4513
|
content.facetHits.forEach(function(f) {
|
|
4514
|
+
f.escapedValue = escapeFacetValue$3(f.value);
|
|
4473
4515
|
f.isRefined = isDisjunctive
|
|
4474
|
-
? state.isDisjunctiveFacetRefined(facet, f.
|
|
4475
|
-
: state.isFacetRefined(facet, f.
|
|
4516
|
+
? state.isDisjunctiveFacetRefined(facet, f.escapedValue)
|
|
4517
|
+
: state.isFacetRefined(facet, f.escapedValue);
|
|
4476
4518
|
});
|
|
4477
4519
|
|
|
4478
4520
|
return content;
|
|
@@ -8488,7 +8530,7 @@
|
|
|
8488
8530
|
instantSearchInstance.renderState = _objectSpread2(_objectSpread2({}, instantSearchInstance.renderState), {}, _defineProperty({}, parentIndexName, _objectSpread2(_objectSpread2({}, instantSearchInstance.renderState[parentIndexName]), renderState)));
|
|
8489
8531
|
}
|
|
8490
8532
|
|
|
8491
|
-
var version$1 = '4.40.
|
|
8533
|
+
var version$1 = '4.40.3';
|
|
8492
8534
|
|
|
8493
8535
|
var NAMESPACE = 'ais';
|
|
8494
8536
|
var component = function component(componentName) {
|
|
@@ -10922,13 +10964,14 @@
|
|
|
10922
10964
|
function _prepareFacetValues(facetValues) {
|
|
10923
10965
|
return facetValues.slice(0, getLimit()).map(function (_ref2) {
|
|
10924
10966
|
var label = _ref2.name,
|
|
10925
|
-
value = _ref2.
|
|
10967
|
+
value = _ref2.escapedValue,
|
|
10926
10968
|
data = _ref2.data,
|
|
10927
|
-
|
|
10969
|
+
path = _ref2.path,
|
|
10970
|
+
subValue = _objectWithoutProperties(_ref2, ["name", "escapedValue", "data", "path"]);
|
|
10928
10971
|
|
|
10929
10972
|
var item = _objectSpread2(_objectSpread2({}, subValue), {}, {
|
|
10930
|
-
label: label,
|
|
10931
10973
|
value: value,
|
|
10974
|
+
label: label,
|
|
10932
10975
|
data: null
|
|
10933
10976
|
});
|
|
10934
10977
|
|
|
@@ -11887,8 +11930,9 @@
|
|
|
11887
11930
|
canToggleShowMore = showMore && (isShowingMore || facetItems.length > getLimit());
|
|
11888
11931
|
items = transformItems(facetItems.slice(0, getLimit()).map(function (_ref3) {
|
|
11889
11932
|
var label = _ref3.name,
|
|
11890
|
-
value = _ref3.
|
|
11891
|
-
|
|
11933
|
+
value = _ref3.escapedValue,
|
|
11934
|
+
path = _ref3.path,
|
|
11935
|
+
item = _objectWithoutProperties(_ref3, ["name", "escapedValue", "path"]);
|
|
11892
11936
|
|
|
11893
11937
|
return _objectSpread2(_objectSpread2({}, item), {}, {
|
|
11894
11938
|
label: label,
|
|
@@ -12851,11 +12895,12 @@
|
|
|
12851
12895
|
|
|
12852
12896
|
var formatItems = function formatItems(_ref2) {
|
|
12853
12897
|
var label = _ref2.name,
|
|
12854
|
-
|
|
12898
|
+
value = _ref2.escapedValue,
|
|
12899
|
+
item = _objectWithoutProperties(_ref2, ["name", "escapedValue"]);
|
|
12855
12900
|
|
|
12856
12901
|
return _objectSpread2(_objectSpread2({}, item), {}, {
|
|
12902
|
+
value: value,
|
|
12857
12903
|
label: label,
|
|
12858
|
-
value: label,
|
|
12859
12904
|
highlighted: label
|
|
12860
12905
|
});
|
|
12861
12906
|
};
|
|
@@ -12913,11 +12958,12 @@
|
|
|
12913
12958
|
Math.min(getLimit(), 100), tags).then(function (results) {
|
|
12914
12959
|
var facetValues = escapeFacetValues ? escapeFacets(results.facetHits) : results.facetHits;
|
|
12915
12960
|
var normalizedFacetValues = transformItems(facetValues.map(function (_ref3) {
|
|
12916
|
-
var
|
|
12917
|
-
|
|
12961
|
+
var escapedValue = _ref3.escapedValue,
|
|
12962
|
+
value = _ref3.value,
|
|
12963
|
+
item = _objectWithoutProperties(_ref3, ["escapedValue", "value"]);
|
|
12918
12964
|
|
|
12919
12965
|
return _objectSpread2(_objectSpread2({}, item), {}, {
|
|
12920
|
-
value:
|
|
12966
|
+
value: escapedValue,
|
|
12921
12967
|
label: value
|
|
12922
12968
|
});
|
|
12923
12969
|
}), {
|
|
@@ -14057,7 +14103,7 @@
|
|
|
14057
14103
|
if (currentItem.isRefined) {
|
|
14058
14104
|
result.push({
|
|
14059
14105
|
label: currentItem.name,
|
|
14060
|
-
value: currentItem.
|
|
14106
|
+
value: currentItem.escapedValue
|
|
14061
14107
|
});
|
|
14062
14108
|
|
|
14063
14109
|
if (Array.isArray(currentItem.data)) {
|