instantsearch.js 4.44.1 → 4.46.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/CHANGELOG.md +28 -0
- package/cjs/components/Hits/Hits.js +3 -1
- package/cjs/components/InfiniteHits/InfiniteHits.js +3 -1
- package/cjs/components/Template/Template.js +13 -3
- package/cjs/connectors/hits-per-page/connectHitsPerPage.js +3 -1
- package/cjs/connectors/numeric-menu/connectNumericMenu.js +27 -2
- package/cjs/connectors/rating-menu/connectRatingMenu.js +10 -4
- package/cjs/connectors/sort-by/connectSortBy.js +3 -1
- package/cjs/lib/createHelpers.js +3 -1
- package/cjs/lib/formatNumber.js +10 -0
- package/cjs/lib/utils/cx.js +10 -0
- package/cjs/lib/utils/index.js +10 -1
- package/cjs/lib/utils/renderTemplate.js +17 -2
- package/cjs/lib/version.js +1 -1
- package/cjs/widgets/answers/defaultTemplates.js +6 -2
- package/cjs/widgets/breadcrumb/defaultTemplates.js +6 -2
- package/cjs/widgets/clear-refinements/clear-refinements.js +2 -2
- package/cjs/widgets/clear-refinements/defaultTemplates.js +3 -1
- package/cjs/widgets/geo-search/createHTMLMarker.js +10 -4
- package/cjs/widgets/geo-search/defaultTemplates.js +18 -4
- package/cjs/widgets/hierarchical-menu/defaultTemplates.js +26 -2
- package/cjs/widgets/hits/defaultTemplates.js +3 -1
- package/cjs/widgets/infinite-hits/defaultTemplates.js +9 -3
- package/cjs/widgets/menu/defaultTemplates.js +26 -2
- package/cjs/widgets/menu-select/defaultTemplates.js +11 -2
- package/cjs/widgets/numeric-menu/defaultTemplates.js +20 -1
- package/cjs/widgets/range-input/range-input.js +6 -2
- package/cjs/widgets/rating-menu/defaultTemplates.js +57 -1
- package/cjs/widgets/refinement-list/defaultTemplates.js +38 -3
- package/cjs/widgets/relevant-sort/defaultTemplates.js +3 -1
- package/cjs/widgets/search-box/defaultTemplates.js +62 -3
- package/cjs/widgets/stats/stats.js +70 -22
- package/cjs/widgets/toggle-refinement/defaultTemplates.js +4 -1
- package/cjs/widgets/voice-search/defaultTemplates.js +81 -9
- package/dist/instantsearch.development.d.ts +171 -29
- package/dist/instantsearch.development.js +1430 -671
- package/dist/instantsearch.development.js.map +1 -1
- package/dist/instantsearch.production.d.ts +171 -29
- package/dist/instantsearch.production.min.d.ts +171 -29
- package/dist/instantsearch.production.min.js +2 -2
- package/dist/instantsearch.production.min.js.map +1 -1
- package/es/components/Answers/Answers.d.ts +2 -2
- package/es/components/Hits/Hits.d.ts +3 -3
- package/es/components/Hits/Hits.js +3 -1
- package/es/components/InfiniteHits/InfiniteHits.d.ts +3 -3
- package/es/components/InfiniteHits/InfiniteHits.js +3 -1
- package/es/components/Template/Template.d.ts +4 -2
- package/es/components/Template/Template.js +14 -4
- package/es/connectors/answers/connectAnswers.d.ts +2 -2
- package/es/connectors/autocomplete/connectAutocomplete.d.ts +2 -2
- package/es/connectors/hits-per-page/connectHitsPerPage.d.ts +5 -0
- package/es/connectors/hits-per-page/connectHitsPerPage.js +3 -1
- package/es/connectors/numeric-menu/connectNumericMenu.d.ts +8 -0
- package/es/connectors/numeric-menu/connectNumericMenu.js +27 -2
- package/es/connectors/rating-menu/connectRatingMenu.d.ts +2 -0
- package/es/connectors/rating-menu/connectRatingMenu.js +10 -4
- package/es/connectors/sort-by/connectSortBy.d.ts +5 -0
- package/es/connectors/sort-by/connectSortBy.js +3 -1
- package/es/lib/createHelpers.js +2 -1
- package/es/lib/formatNumber.d.ts +1 -0
- package/es/lib/formatNumber.js +3 -0
- package/es/lib/insights/client.d.ts +2 -2
- package/es/lib/utils/createSendEventForHits.d.ts +3 -3
- package/es/lib/utils/cx.d.ts +1 -0
- package/es/lib/utils/cx.js +3 -0
- package/es/lib/utils/index.d.ts +1 -0
- package/es/lib/utils/index.js +2 -1
- package/es/lib/utils/renderTemplate.d.ts +4 -3
- package/es/lib/utils/renderTemplate.js +15 -2
- package/es/lib/version.d.ts +1 -1
- package/es/lib/version.js +1 -1
- package/es/types/connector.d.ts +2 -2
- package/es/types/templates.d.ts +16 -3
- package/es/widgets/answers/defaultTemplates.js +6 -2
- package/es/widgets/breadcrumb/defaultTemplates.js +6 -2
- package/es/widgets/clear-refinements/clear-refinements.d.ts +3 -1
- package/es/widgets/clear-refinements/clear-refinements.js +2 -2
- package/es/widgets/clear-refinements/defaultTemplates.js +3 -1
- package/es/widgets/geo-search/createHTMLMarker.d.ts +2 -1
- package/es/widgets/geo-search/createHTMLMarker.js +8 -1
- package/es/widgets/geo-search/defaultTemplates.d.ts +1 -0
- package/es/widgets/geo-search/defaultTemplates.js +17 -4
- package/es/widgets/hierarchical-menu/defaultTemplates.js +22 -2
- package/es/widgets/hierarchical-menu/hierarchical-menu.d.ts +2 -0
- package/es/widgets/hits/defaultTemplates.js +3 -1
- package/es/widgets/hits/hits.d.ts +2 -1
- package/es/widgets/infinite-hits/defaultTemplates.js +9 -3
- package/es/widgets/infinite-hits/infinite-hits.d.ts +1 -3
- package/es/widgets/menu/defaultTemplates.js +22 -2
- package/es/widgets/menu-select/defaultTemplates.js +9 -2
- package/es/widgets/numeric-menu/defaultTemplates.js +18 -1
- package/es/widgets/range-input/range-input.js +6 -2
- package/es/widgets/rating-menu/defaultTemplates.js +54 -1
- package/es/widgets/rating-menu/rating-menu.d.ts +6 -0
- package/es/widgets/refinement-list/defaultTemplates.js +34 -3
- package/es/widgets/refinement-list/refinement-list.d.ts +7 -1
- package/es/widgets/relevant-sort/defaultTemplates.js +3 -1
- package/es/widgets/search-box/defaultTemplates.js +61 -3
- package/es/widgets/search-box/search-box.d.ts +10 -3
- package/es/widgets/stats/stats.d.ts +10 -6
- package/es/widgets/stats/stats.js +69 -22
- package/es/widgets/toggle-refinement/defaultTemplates.js +4 -1
- package/es/widgets/toggle-refinement/toggle-refinement.d.ts +3 -1
- package/es/widgets/voice-search/defaultTemplates.js +81 -9
- package/package.json +7 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,31 @@
|
|
|
1
|
+
# [4.46.0](https://github.com/algolia/instantsearch.js/compare/v4.45.1...v4.46.0) (2022-09-12)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Features
|
|
5
|
+
|
|
6
|
+
* **html:** deprecate Hogan.js and string-based templates ([#5095](https://github.com/algolia/instantsearch.js/issues/5095)) ([a06ddf5](https://github.com/algolia/instantsearch.js/commit/a06ddf55f1ffd1a93cddab2fcf95d2be3220a423))
|
|
7
|
+
* **html:** introduce `html` templating ([#5081](https://github.com/algolia/instantsearch.js/issues/5081)) ([e55e224](https://github.com/algolia/instantsearch.js/commit/e55e2245256193d27f2c85f24b8aab7c9048c554))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
## [4.45.1](https://github.com/algolia/instantsearch.js/compare/v4.45.0...v4.45.1) (2022-09-06)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* **ratingMenu:** fix `undefined` facet values error when `disjunctiveFacets` is empty ([#5096](https://github.com/algolia/instantsearch.js/issues/5096)) ([dd870d5](https://github.com/algolia/instantsearch.js/commit/dd870d5a658ce42b068eadf34f9b69772291aa20))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
# [4.45.0](https://github.com/algolia/instantsearch.js/compare/v4.44.1...v4.45.0) (2022-08-29)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Features
|
|
24
|
+
|
|
25
|
+
* **connectors:** deprecate `hasNoResults` in favor of `canRefine` ([#5091](https://github.com/algolia/instantsearch.js/issues/5091)) ([1749a4e](https://github.com/algolia/instantsearch.js/commit/1749a4eb9a2f28fa4a8d442163e3b10acbde7c22))
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
1
29
|
## [4.44.1](https://github.com/algolia/instantsearch.js/compare/v4.44.0...v4.44.1) (2022-08-25)
|
|
2
30
|
|
|
3
31
|
|
|
@@ -25,6 +25,7 @@ var Hits = function Hits(_ref) {
|
|
|
25
25
|
var results = _ref.results,
|
|
26
26
|
hits = _ref.hits,
|
|
27
27
|
bindEvent = _ref.bindEvent,
|
|
28
|
+
sendEvent = _ref.sendEvent,
|
|
28
29
|
cssClasses = _ref.cssClasses,
|
|
29
30
|
templateProps = _ref.templateProps;
|
|
30
31
|
|
|
@@ -53,7 +54,8 @@ var Hits = function Hits(_ref) {
|
|
|
53
54
|
data: _objectSpread(_objectSpread({}, hit), {}, {
|
|
54
55
|
__hitIndex: index
|
|
55
56
|
}),
|
|
56
|
-
bindEvent: bindEvent
|
|
57
|
+
bindEvent: bindEvent,
|
|
58
|
+
sendEvent: sendEvent
|
|
57
59
|
}));
|
|
58
60
|
})));
|
|
59
61
|
};
|
|
@@ -25,6 +25,7 @@ var InfiniteHits = function InfiniteHits(_ref) {
|
|
|
25
25
|
var results = _ref.results,
|
|
26
26
|
hits = _ref.hits,
|
|
27
27
|
bindEvent = _ref.bindEvent,
|
|
28
|
+
sendEvent = _ref.sendEvent,
|
|
28
29
|
hasShowPrevious = _ref.hasShowPrevious,
|
|
29
30
|
showPrevious = _ref.showPrevious,
|
|
30
31
|
showMore = _ref.showMore,
|
|
@@ -66,7 +67,8 @@ var InfiniteHits = function InfiniteHits(_ref) {
|
|
|
66
67
|
data: _objectSpread(_objectSpread({}, hit), {}, {
|
|
67
68
|
__hitIndex: position
|
|
68
69
|
}),
|
|
69
|
-
bindEvent: bindEvent
|
|
70
|
+
bindEvent: bindEvent,
|
|
71
|
+
sendEvent: sendEvent
|
|
70
72
|
}));
|
|
71
73
|
})), (0, _preact.h)(_Template.default, _extends({}, templateProps, {
|
|
72
74
|
templateKey: "showMoreText",
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
@@ -13,6 +11,8 @@ var _index = require("../../lib/utils/index.js");
|
|
|
13
11
|
|
|
14
12
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
15
13
|
|
|
14
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
15
|
+
|
|
16
16
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
17
17
|
|
|
18
18
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
@@ -63,6 +63,11 @@ var Template = /*#__PURE__*/function (_Component) {
|
|
|
63
63
|
}, {
|
|
64
64
|
key: "render",
|
|
65
65
|
value: function render() {
|
|
66
|
+
var _this = this;
|
|
67
|
+
|
|
68
|
+
process.env.NODE_ENV === 'development' ? (0, _index.warning)(Object.keys(this.props.templates).every(function (key) {
|
|
69
|
+
return typeof _this.props.templates[key] === 'function';
|
|
70
|
+
}), "Hogan.js and string-based templates are deprecated and will not be supported in InstantSearch.js 5.x.\n\nYou can replace them with function-form templates and use either the provided `html` function or JSX templates.\n\nSee: https://www.algolia.com/doc/guides/building-search-ui/upgrade-guides/js/#upgrade-templates") : void 0;
|
|
66
71
|
var RootTagName = this.props.rootTagName;
|
|
67
72
|
var useCustomCompileOptions = this.props.useCustomCompileOptions[this.props.templateKey];
|
|
68
73
|
var compileOptions = useCustomCompileOptions ? this.props.templatesConfig.compileOptions : {};
|
|
@@ -72,7 +77,8 @@ var Template = /*#__PURE__*/function (_Component) {
|
|
|
72
77
|
compileOptions: compileOptions,
|
|
73
78
|
helpers: this.props.templatesConfig.helpers,
|
|
74
79
|
data: this.props.data,
|
|
75
|
-
bindEvent: this.props.bindEvent
|
|
80
|
+
bindEvent: this.props.bindEvent,
|
|
81
|
+
sendEvent: this.props.sendEvent
|
|
76
82
|
});
|
|
77
83
|
|
|
78
84
|
if (content === null) {
|
|
@@ -81,6 +87,10 @@ var Template = /*#__PURE__*/function (_Component) {
|
|
|
81
87
|
return null;
|
|
82
88
|
}
|
|
83
89
|
|
|
90
|
+
if (_typeof(content) === 'object') {
|
|
91
|
+
return (0, _preact.h)(RootTagName, this.props.rootProps, content);
|
|
92
|
+
}
|
|
93
|
+
|
|
84
94
|
return (0, _preact.h)(RootTagName, _extends({}, this.props.rootProps, {
|
|
85
95
|
dangerouslySetInnerHTML: {
|
|
86
96
|
__html: content
|
|
@@ -127,6 +127,7 @@ var connectHitsPerPage = function connectHitsPerPage(renderFn) {
|
|
|
127
127
|
results = _ref5.results,
|
|
128
128
|
createURL = _ref5.createURL,
|
|
129
129
|
helper = _ref5.helper;
|
|
130
|
+
var canRefine = results ? results.nbHits > 0 : false;
|
|
130
131
|
return {
|
|
131
132
|
items: transformItems(normalizeItems(state), {
|
|
132
133
|
results: results
|
|
@@ -136,7 +137,8 @@ var connectHitsPerPage = function connectHitsPerPage(renderFn) {
|
|
|
136
137
|
state: state,
|
|
137
138
|
createURL: createURL
|
|
138
139
|
}),
|
|
139
|
-
hasNoResults:
|
|
140
|
+
hasNoResults: !canRefine,
|
|
141
|
+
canRefine: canRefine,
|
|
140
142
|
widgetParams: widgetParams
|
|
141
143
|
};
|
|
142
144
|
},
|
|
@@ -7,6 +7,8 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _index = require("../../lib/utils/index.js");
|
|
9
9
|
|
|
10
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
11
|
+
|
|
10
12
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
11
13
|
|
|
12
14
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
@@ -185,12 +187,35 @@ var connectNumericMenu = function connectNumericMenu(renderFn) {
|
|
|
185
187
|
});
|
|
186
188
|
}
|
|
187
189
|
|
|
190
|
+
var hasNoResults = results ? results.nbHits === 0 : true;
|
|
191
|
+
var preparedItems = prepareItems(state);
|
|
192
|
+
var allIsSelected = true;
|
|
193
|
+
|
|
194
|
+
var _iterator = _createForOfIteratorHelper(preparedItems),
|
|
195
|
+
_step;
|
|
196
|
+
|
|
197
|
+
try {
|
|
198
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
199
|
+
var item = _step.value;
|
|
200
|
+
|
|
201
|
+
if (item.isRefined && decodeURI(item.value) !== '{}') {
|
|
202
|
+
allIsSelected = false;
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
} catch (err) {
|
|
207
|
+
_iterator.e(err);
|
|
208
|
+
} finally {
|
|
209
|
+
_iterator.f();
|
|
210
|
+
}
|
|
211
|
+
|
|
188
212
|
return {
|
|
189
213
|
createURL: connectorState.createURL(state),
|
|
190
|
-
items: transformItems(
|
|
214
|
+
items: transformItems(preparedItems, {
|
|
191
215
|
results: results
|
|
192
216
|
}),
|
|
193
|
-
hasNoResults:
|
|
217
|
+
hasNoResults: hasNoResults,
|
|
218
|
+
canRefine: !(hasNoResults && allIsSelected),
|
|
194
219
|
refine: connectorState.refine,
|
|
195
220
|
sendEvent: connectorState.sendEvent,
|
|
196
221
|
widgetParams: widgetParams
|
|
@@ -218,8 +218,11 @@ var connectRatingMenu = function connectRatingMenu(renderFn) {
|
|
|
218
218
|
});
|
|
219
219
|
}
|
|
220
220
|
|
|
221
|
-
|
|
222
|
-
|
|
221
|
+
var refinementIsApplied = false;
|
|
222
|
+
var totalCount = 0;
|
|
223
|
+
var facetResults = results === null || results === void 0 ? void 0 : results.getFacetValues(attribute, {});
|
|
224
|
+
|
|
225
|
+
if (results && facetResults) {
|
|
223
226
|
var maxValuesPerFacet = facetResults.length;
|
|
224
227
|
var maxDecimalPlaces = getFacetsMaxDecimalPlaces(facetResults);
|
|
225
228
|
var maxFacets = Math.pow(10, maxDecimalPlaces) * max;
|
|
@@ -233,6 +236,7 @@ var connectRatingMenu = function connectRatingMenu(renderFn) {
|
|
|
233
236
|
|
|
234
237
|
var _loop = function _loop(star) {
|
|
235
238
|
var isRefined = refinedStar === star;
|
|
239
|
+
refinementIsApplied = refinementIsApplied || isRefined;
|
|
236
240
|
var count = facetResults.filter(function (f) {
|
|
237
241
|
return Number(f.name) >= star && Number(f.name) <= max;
|
|
238
242
|
}).map(function (f) {
|
|
@@ -240,6 +244,7 @@ var connectRatingMenu = function connectRatingMenu(renderFn) {
|
|
|
240
244
|
}).reduce(function (sum, current) {
|
|
241
245
|
return sum + current;
|
|
242
246
|
}, 0);
|
|
247
|
+
totalCount += count;
|
|
243
248
|
|
|
244
249
|
if (refinedStar && !isRefined && count === 0) {
|
|
245
250
|
// skip count==0 when at least 1 refinement is enabled
|
|
@@ -269,10 +274,11 @@ var connectRatingMenu = function connectRatingMenu(renderFn) {
|
|
|
269
274
|
}
|
|
270
275
|
|
|
271
276
|
facetValues = facetValues.reverse();
|
|
277
|
+
var hasNoResults = results ? results.nbHits === 0 : true;
|
|
272
278
|
return {
|
|
273
279
|
items: facetValues,
|
|
274
|
-
hasNoResults:
|
|
275
|
-
canRefine:
|
|
280
|
+
hasNoResults: hasNoResults,
|
|
281
|
+
canRefine: (!hasNoResults || refinementIsApplied) && totalCount > 0,
|
|
276
282
|
refine: connectorState.toggleRefinementFactory(helper),
|
|
277
283
|
sendEvent: sendEvent,
|
|
278
284
|
createURL: connectorState.createURLFactory({
|
|
@@ -85,13 +85,15 @@ var connectSortBy = function connectSortBy(renderFn) {
|
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
+
var hasNoResults = results ? results.nbHits === 0 : true;
|
|
88
89
|
return {
|
|
89
90
|
currentRefinement: state.index,
|
|
90
91
|
options: transformItems(items, {
|
|
91
92
|
results: results
|
|
92
93
|
}),
|
|
93
94
|
refine: connectorState.setIndex,
|
|
94
|
-
hasNoResults:
|
|
95
|
+
hasNoResults: hasNoResults,
|
|
96
|
+
canRefine: !hasNoResults && items.length > 0,
|
|
95
97
|
widgetParams: widgetParams
|
|
96
98
|
};
|
|
97
99
|
},
|
package/cjs/lib/createHelpers.js
CHANGED
|
@@ -7,6 +7,8 @@ exports.default = hoganHelpers;
|
|
|
7
7
|
|
|
8
8
|
var _index = require("../helpers/index.js");
|
|
9
9
|
|
|
10
|
+
var _formatNumber2 = require("./formatNumber.js");
|
|
11
|
+
|
|
10
12
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
11
13
|
|
|
12
14
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
@@ -17,7 +19,7 @@ function hoganHelpers(_ref) {
|
|
|
17
19
|
var numberLocale = _ref.numberLocale;
|
|
18
20
|
return {
|
|
19
21
|
formatNumber: function formatNumber(value, render) {
|
|
20
|
-
return Number(render(value))
|
|
22
|
+
return (0, _formatNumber2.formatNumber)(Number(render(value)), numberLocale);
|
|
21
23
|
},
|
|
22
24
|
highlight: function highlight(options, render) {
|
|
23
25
|
try {
|
package/cjs/lib/utils/index.js
CHANGED
|
@@ -56,7 +56,8 @@ var _exportNames = {
|
|
|
56
56
|
serializePayload: true,
|
|
57
57
|
deserializePayload: true,
|
|
58
58
|
getWidgetAttribute: true,
|
|
59
|
-
safelyRunOnBrowser: true
|
|
59
|
+
safelyRunOnBrowser: true,
|
|
60
|
+
cx: true
|
|
60
61
|
};
|
|
61
62
|
Object.defineProperty(exports, "capitalize", {
|
|
62
63
|
enumerable: true,
|
|
@@ -376,6 +377,12 @@ Object.defineProperty(exports, "safelyRunOnBrowser", {
|
|
|
376
377
|
return _safelyRunOnBrowser.safelyRunOnBrowser;
|
|
377
378
|
}
|
|
378
379
|
});
|
|
380
|
+
Object.defineProperty(exports, "cx", {
|
|
381
|
+
enumerable: true,
|
|
382
|
+
get: function get() {
|
|
383
|
+
return _cx.cx;
|
|
384
|
+
}
|
|
385
|
+
});
|
|
379
386
|
|
|
380
387
|
var _capitalize = _interopRequireDefault(require("./capitalize.js"));
|
|
381
388
|
|
|
@@ -495,4 +502,6 @@ var _getWidgetAttribute = require("./getWidgetAttribute.js");
|
|
|
495
502
|
|
|
496
503
|
var _safelyRunOnBrowser = require("./safelyRunOnBrowser.js");
|
|
497
504
|
|
|
505
|
+
var _cx = require("./cx.js");
|
|
506
|
+
|
|
498
507
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -7,6 +7,10 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _hogan = _interopRequireDefault(require("hogan.js"));
|
|
9
9
|
|
|
10
|
+
var _index = require("../../helpers/components/index.js");
|
|
11
|
+
|
|
12
|
+
var _preact = require("htm/preact");
|
|
13
|
+
|
|
10
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
11
15
|
|
|
12
16
|
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
@@ -46,7 +50,8 @@ function renderTemplate(_ref) {
|
|
|
46
50
|
compileOptions = _ref.compileOptions,
|
|
47
51
|
helpers = _ref.helpers,
|
|
48
52
|
data = _ref.data,
|
|
49
|
-
bindEvent = _ref.bindEvent
|
|
53
|
+
bindEvent = _ref.bindEvent,
|
|
54
|
+
sendEvent = _ref.sendEvent;
|
|
50
55
|
var template = templates[templateKey];
|
|
51
56
|
|
|
52
57
|
if (typeof template !== 'string' && typeof template !== 'function') {
|
|
@@ -54,7 +59,17 @@ function renderTemplate(_ref) {
|
|
|
54
59
|
}
|
|
55
60
|
|
|
56
61
|
if (typeof template === 'function') {
|
|
57
|
-
|
|
62
|
+
// @MAJOR no longer pass bindEvent when string templates are removed
|
|
63
|
+
var params = bindEvent || {};
|
|
64
|
+
params.html = _preact.html;
|
|
65
|
+
params.sendEvent = sendEvent;
|
|
66
|
+
params.components = {
|
|
67
|
+
Highlight: _index.Highlight,
|
|
68
|
+
ReverseHighlight: _index.ReverseHighlight,
|
|
69
|
+
Snippet: _index.Snippet,
|
|
70
|
+
ReverseSnippet: _index.ReverseSnippet
|
|
71
|
+
};
|
|
72
|
+
return template(data, params);
|
|
58
73
|
}
|
|
59
74
|
|
|
60
75
|
var transformedHelpers = transformHelpersToHogan(helpers, compileOptions, data);
|
package/cjs/lib/version.js
CHANGED
|
@@ -5,8 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var defaultTemplates = {
|
|
8
|
-
header:
|
|
9
|
-
|
|
8
|
+
header: function header() {
|
|
9
|
+
return '';
|
|
10
|
+
},
|
|
11
|
+
loader: function loader() {
|
|
12
|
+
return '';
|
|
13
|
+
},
|
|
10
14
|
item: function item(_item) {
|
|
11
15
|
return JSON.stringify(_item);
|
|
12
16
|
}
|
|
@@ -5,8 +5,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var defaultTemplates = {
|
|
8
|
-
home:
|
|
9
|
-
|
|
8
|
+
home: function home() {
|
|
9
|
+
return 'Home';
|
|
10
|
+
},
|
|
11
|
+
separator: function separator() {
|
|
12
|
+
return '>';
|
|
13
|
+
}
|
|
10
14
|
};
|
|
11
15
|
var _default = defaultTemplates;
|
|
12
16
|
exports.default = _default;
|
|
@@ -39,7 +39,7 @@ var renderer = function renderer(_ref) {
|
|
|
39
39
|
templates = _ref.templates;
|
|
40
40
|
return function (_ref2, isFirstRendering) {
|
|
41
41
|
var refine = _ref2.refine,
|
|
42
|
-
|
|
42
|
+
canRefine = _ref2.canRefine,
|
|
43
43
|
instantSearchInstance = _ref2.instantSearchInstance;
|
|
44
44
|
|
|
45
45
|
if (isFirstRendering) {
|
|
@@ -54,7 +54,7 @@ var renderer = function renderer(_ref) {
|
|
|
54
54
|
(0, _preact.render)((0, _preact.h)(_ClearRefinements.default, {
|
|
55
55
|
refine: refine,
|
|
56
56
|
cssClasses: cssClasses,
|
|
57
|
-
hasRefinements:
|
|
57
|
+
hasRefinements: canRefine,
|
|
58
58
|
templateProps: renderState.templateProps
|
|
59
59
|
}), containerNode);
|
|
60
60
|
};
|
|
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var defaultTemplates = {
|
|
8
|
-
resetLabel:
|
|
8
|
+
resetLabel: function resetLabel() {
|
|
9
|
+
return 'Clear refinements';
|
|
10
|
+
}
|
|
9
11
|
};
|
|
10
12
|
var _default = defaultTemplates;
|
|
11
13
|
exports.default = _default;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.default = void 0;
|
|
9
7
|
|
|
8
|
+
var _preact = require("preact");
|
|
9
|
+
|
|
10
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
11
|
+
|
|
10
12
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
11
13
|
|
|
12
14
|
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
@@ -29,7 +31,6 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
|
|
|
29
31
|
|
|
30
32
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
31
33
|
|
|
32
|
-
/* global google EventListener */
|
|
33
34
|
var createHTMLMarker = function createHTMLMarker(googleReference) {
|
|
34
35
|
var HTMLMarker = /*#__PURE__*/function (_googleReference$maps) {
|
|
35
36
|
_inherits(HTMLMarker, _googleReference$maps);
|
|
@@ -73,7 +74,12 @@ var createHTMLMarker = function createHTMLMarker(googleReference) {
|
|
|
73
74
|
_this.element = document.createElement('div');
|
|
74
75
|
_this.element.className = className;
|
|
75
76
|
_this.element.style.position = 'absolute';
|
|
76
|
-
|
|
77
|
+
|
|
78
|
+
if (_typeof(template) === 'object') {
|
|
79
|
+
(0, _preact.render)(template, _this.element);
|
|
80
|
+
} else {
|
|
81
|
+
_this.element.innerHTML = template;
|
|
82
|
+
}
|
|
77
83
|
|
|
78
84
|
_this.setMap(map);
|
|
79
85
|
|
|
@@ -4,11 +4,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _preact = require("preact");
|
|
9
|
+
|
|
10
|
+
/** @jsx h */
|
|
11
|
+
var _ref = (0, _preact.h)("p", null, "Your custom HTML Marker");
|
|
12
|
+
|
|
7
13
|
var defaultTemplates = {
|
|
8
|
-
HTMLMarker:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
14
|
+
HTMLMarker: function HTMLMarker() {
|
|
15
|
+
return _ref;
|
|
16
|
+
},
|
|
17
|
+
reset: function reset() {
|
|
18
|
+
return 'Clear the map refinement';
|
|
19
|
+
},
|
|
20
|
+
toggle: function toggle() {
|
|
21
|
+
return 'Search as I move the map';
|
|
22
|
+
},
|
|
23
|
+
redo: function redo() {
|
|
24
|
+
return 'Redo search here';
|
|
25
|
+
}
|
|
12
26
|
};
|
|
13
27
|
var _default = defaultTemplates;
|
|
14
28
|
exports.default = _default;
|
|
@@ -4,9 +4,33 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _preact = require("preact");
|
|
9
|
+
|
|
10
|
+
var _formatNumber = require("../../lib/formatNumber.js");
|
|
11
|
+
|
|
12
|
+
var _index = require("../../lib/utils/index.js");
|
|
13
|
+
|
|
14
|
+
/** @jsx h */
|
|
7
15
|
var defaultTemplates = {
|
|
8
|
-
item:
|
|
9
|
-
|
|
16
|
+
item: function item(_ref) {
|
|
17
|
+
var url = _ref.url,
|
|
18
|
+
label = _ref.label,
|
|
19
|
+
count = _ref.count,
|
|
20
|
+
cssClasses = _ref.cssClasses;
|
|
21
|
+
return (0, _preact.h)("a", {
|
|
22
|
+
className: (0, _index.cx)(cssClasses.link),
|
|
23
|
+
href: url
|
|
24
|
+
}, (0, _preact.h)("span", {
|
|
25
|
+
className: (0, _index.cx)(cssClasses.label)
|
|
26
|
+
}, label), (0, _preact.h)("span", {
|
|
27
|
+
className: (0, _index.cx)(cssClasses.count)
|
|
28
|
+
}, (0, _formatNumber.formatNumber)(count)));
|
|
29
|
+
},
|
|
30
|
+
showMoreText: function showMoreText(_ref2) {
|
|
31
|
+
var isShowingMore = _ref2.isShowingMore;
|
|
32
|
+
return isShowingMore ? 'Show less' : 'Show more';
|
|
33
|
+
}
|
|
10
34
|
};
|
|
11
35
|
var _default = defaultTemplates;
|
|
12
36
|
exports.default = _default;
|
|
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var defaultTemplates = {
|
|
8
|
-
empty:
|
|
8
|
+
empty: function empty() {
|
|
9
|
+
return 'No results';
|
|
10
|
+
},
|
|
9
11
|
item: function item(data) {
|
|
10
12
|
return JSON.stringify(data, null, 2);
|
|
11
13
|
}
|
|
@@ -5,9 +5,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var defaultTemplates = {
|
|
8
|
-
empty:
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
empty: function empty() {
|
|
9
|
+
return 'No results';
|
|
10
|
+
},
|
|
11
|
+
showPreviousText: function showPreviousText() {
|
|
12
|
+
return 'Show previous results';
|
|
13
|
+
},
|
|
14
|
+
showMoreText: function showMoreText() {
|
|
15
|
+
return 'Show more results';
|
|
16
|
+
},
|
|
11
17
|
item: function item(data) {
|
|
12
18
|
return JSON.stringify(data, null, 2);
|
|
13
19
|
}
|
|
@@ -4,9 +4,33 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _preact = require("preact");
|
|
9
|
+
|
|
10
|
+
var _formatNumber = require("../../lib/formatNumber.js");
|
|
11
|
+
|
|
12
|
+
var _index = require("../../lib/utils/index.js");
|
|
13
|
+
|
|
14
|
+
/** @jsx h */
|
|
7
15
|
var defaultTemplates = {
|
|
8
|
-
item:
|
|
9
|
-
|
|
16
|
+
item: function item(_ref) {
|
|
17
|
+
var cssClasses = _ref.cssClasses,
|
|
18
|
+
url = _ref.url,
|
|
19
|
+
label = _ref.label,
|
|
20
|
+
count = _ref.count;
|
|
21
|
+
return (0, _preact.h)("a", {
|
|
22
|
+
className: (0, _index.cx)(cssClasses.link),
|
|
23
|
+
href: url
|
|
24
|
+
}, (0, _preact.h)("span", {
|
|
25
|
+
className: (0, _index.cx)(cssClasses.label)
|
|
26
|
+
}, label), (0, _preact.h)("span", {
|
|
27
|
+
className: (0, _index.cx)(cssClasses.count)
|
|
28
|
+
}, (0, _formatNumber.formatNumber)(count)));
|
|
29
|
+
},
|
|
30
|
+
showMoreText: function showMoreText(_ref2) {
|
|
31
|
+
var isShowingMore = _ref2.isShowingMore;
|
|
32
|
+
return isShowingMore ? 'Show less' : 'Show more';
|
|
33
|
+
}
|
|
10
34
|
};
|
|
11
35
|
var _default = defaultTemplates;
|
|
12
36
|
exports.default = _default;
|
|
@@ -4,9 +4,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _formatNumber = require("../../lib/formatNumber.js");
|
|
9
|
+
|
|
7
10
|
var defaultTemplates = {
|
|
8
|
-
item:
|
|
9
|
-
|
|
11
|
+
item: function item(_ref) {
|
|
12
|
+
var label = _ref.label,
|
|
13
|
+
count = _ref.count;
|
|
14
|
+
return "".concat(label, " (").concat((0, _formatNumber.formatNumber)(count), ")");
|
|
15
|
+
},
|
|
16
|
+
defaultOption: function defaultOption() {
|
|
17
|
+
return 'See all';
|
|
18
|
+
}
|
|
10
19
|
};
|
|
11
20
|
var _default = defaultTemplates;
|
|
12
21
|
exports.default = _default;
|