react-instantsearch 7.7.2 → 7.8.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/dist/cjs/widgets/Hits.js +9 -2
- package/dist/es/widgets/Hits.d.ts +7 -2
- package/dist/es/widgets/Hits.js +9 -2
- package/dist/umd/ReactInstantSearch.js +79 -17
- package/dist/umd/ReactInstantSearch.js.map +1 -1
- package/dist/umd/ReactInstantSearch.min.js +1 -1
- package/dist/umd/ReactInstantSearch.min.js.map +1 -1
- package/package.json +5 -5
package/dist/cjs/widgets/Hits.js
CHANGED
|
@@ -8,7 +8,7 @@ exports.Hits = Hits;
|
|
|
8
8
|
var _instantsearchUiComponents = require("instantsearch-ui-components");
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _reactInstantsearchCore = require("react-instantsearch-core");
|
|
11
|
-
var _excluded = ["escapeHTML", "transformItems", "hitComponent"],
|
|
11
|
+
var _excluded = ["escapeHTML", "transformItems", "hitComponent", "bannerComponent"],
|
|
12
12
|
_excluded2 = ["hit", "index"];
|
|
13
13
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
14
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -34,6 +34,7 @@ function Hits(_ref2) {
|
|
|
34
34
|
transformItems = _ref2.transformItems,
|
|
35
35
|
_ref2$hitComponent = _ref2.hitComponent,
|
|
36
36
|
HitComponent = _ref2$hitComponent === void 0 ? DefaultHitComponent : _ref2$hitComponent,
|
|
37
|
+
BannerComponent = _ref2.bannerComponent,
|
|
37
38
|
props = _objectWithoutProperties(_ref2, _excluded);
|
|
38
39
|
var _useHits = (0, _reactInstantsearchCore.useHits)({
|
|
39
40
|
escapeHTML: escapeHTML,
|
|
@@ -42,6 +43,7 @@ function Hits(_ref2) {
|
|
|
42
43
|
$$widgetType: 'ais.hits'
|
|
43
44
|
}),
|
|
44
45
|
hits = _useHits.hits,
|
|
46
|
+
banner = _useHits.banner,
|
|
45
47
|
sendEvent = _useHits.sendEvent;
|
|
46
48
|
var itemComponent = function itemComponent(_ref3) {
|
|
47
49
|
var hit = _ref3.hit,
|
|
@@ -54,10 +56,15 @@ function Hits(_ref2) {
|
|
|
54
56
|
sendEvent: sendEvent
|
|
55
57
|
}));
|
|
56
58
|
};
|
|
59
|
+
var bannerComponent = BannerComponent === false ? function () {
|
|
60
|
+
return null;
|
|
61
|
+
} : BannerComponent;
|
|
57
62
|
var uiProps = {
|
|
58
63
|
hits: hits,
|
|
59
64
|
sendEvent: sendEvent,
|
|
60
|
-
itemComponent: itemComponent
|
|
65
|
+
itemComponent: itemComponent,
|
|
66
|
+
banner: banner,
|
|
67
|
+
bannerComponent: bannerComponent
|
|
61
68
|
};
|
|
62
69
|
return /*#__PURE__*/_react.default.createElement(HitsUiComponent, _extends({}, props, uiProps));
|
|
63
70
|
}
|
|
@@ -3,12 +3,17 @@ import type { HitsProps as HitsUiComponentProps } from 'instantsearch-ui-compone
|
|
|
3
3
|
import type { Hit, BaseHit } from 'instantsearch.js';
|
|
4
4
|
import type { SendEventForHits } from 'instantsearch.js/es/lib/utils';
|
|
5
5
|
import type { UseHitsProps } from 'react-instantsearch-core';
|
|
6
|
-
type UiProps<THit extends BaseHit> = Pick<HitsUiComponentProps<Hit<THit>>, 'hits' | 'sendEvent' | 'itemComponent' | 'emptyComponent'>;
|
|
6
|
+
type UiProps<THit extends BaseHit> = Pick<HitsUiComponentProps<Hit<THit>>, 'hits' | 'sendEvent' | 'itemComponent' | 'emptyComponent' | 'banner' | 'bannerComponent'>;
|
|
7
7
|
export type HitsProps<THit extends BaseHit> = Omit<HitsUiComponentProps<Hit<THit>>, keyof UiProps<THit>> & {
|
|
8
8
|
hitComponent?: React.JSXElementConstructor<{
|
|
9
9
|
hit: Hit<THit>;
|
|
10
10
|
sendEvent: SendEventForHits;
|
|
11
11
|
}>;
|
|
12
|
+
} & {
|
|
13
|
+
bannerComponent?: React.JSXElementConstructor<{
|
|
14
|
+
banner: Required<HitsUiComponentProps<Hit<THit>>>['banner'];
|
|
15
|
+
className: string;
|
|
16
|
+
}> | false;
|
|
12
17
|
} & UseHitsProps<THit>;
|
|
13
|
-
export declare function Hits<THit extends BaseHit = BaseHit>({ escapeHTML, transformItems, hitComponent: HitComponent, ...props }: HitsProps<THit>): JSX.Element;
|
|
18
|
+
export declare function Hits<THit extends BaseHit = BaseHit>({ escapeHTML, transformItems, hitComponent: HitComponent, bannerComponent: BannerComponent, ...props }: HitsProps<THit>): JSX.Element;
|
|
14
19
|
export {};
|
package/dist/es/widgets/Hits.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _excluded = ["escapeHTML", "transformItems", "hitComponent"],
|
|
1
|
+
var _excluded = ["escapeHTML", "transformItems", "hitComponent", "bannerComponent"],
|
|
2
2
|
_excluded2 = ["hit", "index"];
|
|
3
3
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : 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); }
|
|
4
4
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
@@ -25,6 +25,7 @@ export function Hits(_ref2) {
|
|
|
25
25
|
transformItems = _ref2.transformItems,
|
|
26
26
|
_ref2$hitComponent = _ref2.hitComponent,
|
|
27
27
|
HitComponent = _ref2$hitComponent === void 0 ? DefaultHitComponent : _ref2$hitComponent,
|
|
28
|
+
BannerComponent = _ref2.bannerComponent,
|
|
28
29
|
props = _objectWithoutProperties(_ref2, _excluded);
|
|
29
30
|
var _useHits = useHits({
|
|
30
31
|
escapeHTML: escapeHTML,
|
|
@@ -33,6 +34,7 @@ export function Hits(_ref2) {
|
|
|
33
34
|
$$widgetType: 'ais.hits'
|
|
34
35
|
}),
|
|
35
36
|
hits = _useHits.hits,
|
|
37
|
+
banner = _useHits.banner,
|
|
36
38
|
sendEvent = _useHits.sendEvent;
|
|
37
39
|
var itemComponent = function itemComponent(_ref3) {
|
|
38
40
|
var hit = _ref3.hit,
|
|
@@ -45,10 +47,15 @@ export function Hits(_ref2) {
|
|
|
45
47
|
sendEvent: sendEvent
|
|
46
48
|
}));
|
|
47
49
|
};
|
|
50
|
+
var bannerComponent = BannerComponent === false ? function () {
|
|
51
|
+
return null;
|
|
52
|
+
} : BannerComponent;
|
|
48
53
|
var uiProps = {
|
|
49
54
|
hits: hits,
|
|
50
55
|
sendEvent: sendEvent,
|
|
51
|
-
itemComponent: itemComponent
|
|
56
|
+
itemComponent: itemComponent,
|
|
57
|
+
banner: banner,
|
|
58
|
+
bannerComponent: bannerComponent
|
|
52
59
|
};
|
|
53
60
|
return /*#__PURE__*/React.createElement(HitsUiComponent, _extends({}, props, uiProps));
|
|
54
61
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
var React__default = 'default' in React ? React['default'] : React;
|
|
9
9
|
|
|
10
|
-
var version = '7.
|
|
10
|
+
var version = '7.8.0';
|
|
11
11
|
|
|
12
12
|
// Copyright Joyent, Inc. and other Node contributors.
|
|
13
13
|
//
|
|
@@ -4437,7 +4437,7 @@
|
|
|
4437
4437
|
|
|
4438
4438
|
var SearchResults_1 = SearchResults;
|
|
4439
4439
|
|
|
4440
|
-
var version$1 = '3.
|
|
4440
|
+
var version$1 = '3.19.0';
|
|
4441
4441
|
|
|
4442
4442
|
var escapeFacetValue$3 = escapeFacetValue_1.escapeFacetValue;
|
|
4443
4443
|
|
|
@@ -9986,9 +9986,18 @@
|
|
|
9986
9986
|
},
|
|
9987
9987
|
getScopedResults: function getScopedResults() {
|
|
9988
9988
|
var widgetParent = this.getParent();
|
|
9989
|
-
|
|
9990
|
-
|
|
9991
|
-
|
|
9989
|
+
var widgetSiblings;
|
|
9990
|
+
if (widgetParent) {
|
|
9991
|
+
widgetSiblings = widgetParent.getWidgets();
|
|
9992
|
+
} else if (indexName.length === 0) {
|
|
9993
|
+
// The widget is the root but has no index name:
|
|
9994
|
+
// we resolve results from its children index widgets
|
|
9995
|
+
widgetSiblings = this.getWidgets();
|
|
9996
|
+
} else {
|
|
9997
|
+
// The widget is the root and has an index name:
|
|
9998
|
+
// we consider itself as the only sibling
|
|
9999
|
+
widgetSiblings = [this];
|
|
10000
|
+
}
|
|
9992
10001
|
return resolveScopedResultsFromWidgets(widgetSiblings);
|
|
9993
10002
|
},
|
|
9994
10003
|
getParent: function getParent() {
|
|
@@ -10316,7 +10325,7 @@
|
|
|
10316
10325
|
_helper,
|
|
10317
10326
|
_derivedHelper2;
|
|
10318
10327
|
localWidgets.forEach(function (widget) {
|
|
10319
|
-
if (widget.dispose) {
|
|
10328
|
+
if (widget.dispose && helper) {
|
|
10320
10329
|
// The dispose function is always called once the instance is started
|
|
10321
10330
|
// (it's an effect of `removeWidgets`). The index is initialized and
|
|
10322
10331
|
// the Helper is available. We don't care about the return value of
|
|
@@ -12711,7 +12720,7 @@
|
|
|
12711
12720
|
};
|
|
12712
12721
|
}
|
|
12713
12722
|
|
|
12714
|
-
var version$3 = '4.
|
|
12723
|
+
var version$3 = '4.68.1';
|
|
12715
12724
|
|
|
12716
12725
|
function _typeof$o(obj) {
|
|
12717
12726
|
"@babel/helpers - typeof";
|
|
@@ -15339,6 +15348,7 @@
|
|
|
15339
15348
|
});
|
|
15340
15349
|
},
|
|
15341
15350
|
getWidgetRenderState: function getWidgetRenderState(_ref2) {
|
|
15351
|
+
var _results$renderingCon, _results$renderingCon2, _results$renderingCon3;
|
|
15342
15352
|
var results = _ref2.results,
|
|
15343
15353
|
helper = _ref2.helper,
|
|
15344
15354
|
instantSearchInstance = _ref2.instantSearchInstance;
|
|
@@ -15364,6 +15374,7 @@
|
|
|
15364
15374
|
return {
|
|
15365
15375
|
hits: [],
|
|
15366
15376
|
results: undefined,
|
|
15377
|
+
banner: undefined,
|
|
15367
15378
|
sendEvent: sendEvent,
|
|
15368
15379
|
bindEvent: bindEvent,
|
|
15369
15380
|
widgetParams: widgetParams
|
|
@@ -15377,9 +15388,11 @@
|
|
|
15377
15388
|
var transformedHits = transformItems(hitsWithAbsolutePositionAndQueryID, {
|
|
15378
15389
|
results: results
|
|
15379
15390
|
});
|
|
15391
|
+
var banner = (_results$renderingCon = results.renderingContent) === null || _results$renderingCon === void 0 ? void 0 : (_results$renderingCon2 = _results$renderingCon.widgets) === null || _results$renderingCon2 === void 0 ? void 0 : (_results$renderingCon3 = _results$renderingCon2.banners) === null || _results$renderingCon3 === void 0 ? void 0 : _results$renderingCon3[0];
|
|
15380
15392
|
return {
|
|
15381
15393
|
hits: transformedHits,
|
|
15382
15394
|
results: results,
|
|
15395
|
+
banner: banner,
|
|
15383
15396
|
sendEvent: sendEvent,
|
|
15384
15397
|
bindEvent: bindEvent,
|
|
15385
15398
|
widgetParams: widgetParams
|
|
@@ -18976,6 +18989,14 @@
|
|
|
18976
18989
|
results: results,
|
|
18977
18990
|
scopedResults: searchIndex.getScopedResults()
|
|
18978
18991
|
});
|
|
18992
|
+
} else if (search.mainIndex.getIndexName().length === 0) {
|
|
18993
|
+
// If the main index has no name, we get the scoped results from
|
|
18994
|
+
// the first child index instead.
|
|
18995
|
+
var childIndex = search.mainIndex.getWidgets().find(isIndexWidget);
|
|
18996
|
+
childIndex && setSearchResults({
|
|
18997
|
+
results: getIndexSearchResults(searchIndex).results,
|
|
18998
|
+
scopedResults: childIndex.getScopedResults()
|
|
18999
|
+
});
|
|
18979
19000
|
}
|
|
18980
19001
|
}
|
|
18981
19002
|
search.addListener('render', handleRender);
|
|
@@ -19640,12 +19661,43 @@
|
|
|
19640
19661
|
};
|
|
19641
19662
|
}
|
|
19642
19663
|
|
|
19643
|
-
var _excluded$d = ["classNames", "hits", "itemComponent", "sendEvent", "emptyComponent"];
|
|
19664
|
+
var _excluded$d = ["classNames", "hits", "itemComponent", "sendEvent", "emptyComponent", "banner", "bannerComponent"];
|
|
19644
19665
|
|
|
19645
19666
|
// Should be imported from a shared package in the future
|
|
19646
19667
|
|
|
19647
|
-
function
|
|
19668
|
+
function createDefaultBannerComponent(_ref) {
|
|
19648
19669
|
var createElement = _ref.createElement;
|
|
19670
|
+
return function DefaultBanner(_ref2) {
|
|
19671
|
+
var _banner$link;
|
|
19672
|
+
var classNames = _ref2.classNames,
|
|
19673
|
+
banner = _ref2.banner;
|
|
19674
|
+
if (!banner.image.urls[0].url) {
|
|
19675
|
+
return null;
|
|
19676
|
+
}
|
|
19677
|
+
return createElement("aside", {
|
|
19678
|
+
className: cx('ais-Hits-banner', classNames.bannerRoot)
|
|
19679
|
+
}, (_banner$link = banner.link) !== null && _banner$link !== void 0 && _banner$link.url ? createElement("a", {
|
|
19680
|
+
className: cx('ais-Hits-banner-link', classNames.bannerLink),
|
|
19681
|
+
href: banner.link.url,
|
|
19682
|
+
target: banner.link.target
|
|
19683
|
+
}, createElement("img", {
|
|
19684
|
+
className: cx('ais-Hits-banner-image', classNames.bannerImage),
|
|
19685
|
+
src: banner.image.urls[0].url,
|
|
19686
|
+
alt: banner.image.title
|
|
19687
|
+
})) : createElement("img", {
|
|
19688
|
+
className: cx('ais-Hits-banner-image', classNames.bannerImage),
|
|
19689
|
+
src: banner.image.urls[0].url,
|
|
19690
|
+
alt: banner.image.title
|
|
19691
|
+
}));
|
|
19692
|
+
};
|
|
19693
|
+
}
|
|
19694
|
+
function createHitsComponent(_ref3) {
|
|
19695
|
+
var createElement = _ref3.createElement,
|
|
19696
|
+
Fragment = _ref3.Fragment;
|
|
19697
|
+
var DefaultBannerComponent = createDefaultBannerComponent({
|
|
19698
|
+
createElement: createElement,
|
|
19699
|
+
Fragment: Fragment
|
|
19700
|
+
});
|
|
19649
19701
|
return function Hits(userProps) {
|
|
19650
19702
|
var _userProps$classNames = userProps.classNames,
|
|
19651
19703
|
classNames = _userProps$classNames === void 0 ? {} : _userProps$classNames,
|
|
@@ -19653,15 +19705,18 @@
|
|
|
19653
19705
|
ItemComponent = userProps.itemComponent,
|
|
19654
19706
|
sendEvent = userProps.sendEvent,
|
|
19655
19707
|
EmptyComponent = userProps.emptyComponent,
|
|
19708
|
+
banner = userProps.banner,
|
|
19709
|
+
BannerComponent = userProps.bannerComponent,
|
|
19656
19710
|
props = _objectWithoutProperties$d(userProps, _excluded$d);
|
|
19657
|
-
if (hits.length === 0 && EmptyComponent) {
|
|
19658
|
-
return createElement(EmptyComponent, {
|
|
19659
|
-
className: cx('ais-Hits', classNames.root, cx('ais-Hits--empty', classNames.emptyRoot), props.className)
|
|
19660
|
-
});
|
|
19661
|
-
}
|
|
19662
19711
|
return createElement("div", _extends$2({}, props, {
|
|
19663
19712
|
className: cx('ais-Hits', classNames.root, hits.length === 0 && cx('ais-Hits--empty', classNames.emptyRoot), props.className)
|
|
19664
|
-
}), createElement(
|
|
19713
|
+
}), banner && (BannerComponent ? createElement(BannerComponent, {
|
|
19714
|
+
className: cx('ais-Hits-banner', classNames.bannerRoot),
|
|
19715
|
+
banner: banner
|
|
19716
|
+
}) : createElement(DefaultBannerComponent, {
|
|
19717
|
+
classNames: classNames,
|
|
19718
|
+
banner: banner
|
|
19719
|
+
})), hits.length === 0 && EmptyComponent ? createElement(EmptyComponent, null) : createElement("ol", {
|
|
19665
19720
|
className: cx('ais-Hits-list', classNames.list)
|
|
19666
19721
|
}, hits.map(function (hit, index) {
|
|
19667
19722
|
return createElement(ItemComponent, {
|
|
@@ -20046,7 +20101,7 @@
|
|
|
20046
20101
|
}));
|
|
20047
20102
|
}
|
|
20048
20103
|
|
|
20049
|
-
var _excluded$p = ["escapeHTML", "transformItems", "hitComponent"],
|
|
20104
|
+
var _excluded$p = ["escapeHTML", "transformItems", "hitComponent", "bannerComponent"],
|
|
20050
20105
|
_excluded2$4 = ["hit", "index"];
|
|
20051
20106
|
// @MAJOR: Move default hit component back to the UI library
|
|
20052
20107
|
// once flavour specificities are erased
|
|
@@ -20067,6 +20122,7 @@
|
|
|
20067
20122
|
transformItems = _ref2.transformItems,
|
|
20068
20123
|
_ref2$hitComponent = _ref2.hitComponent,
|
|
20069
20124
|
HitComponent = _ref2$hitComponent === void 0 ? DefaultHitComponent : _ref2$hitComponent,
|
|
20125
|
+
BannerComponent = _ref2.bannerComponent,
|
|
20070
20126
|
props = _objectWithoutProperties$c(_ref2, _excluded$p);
|
|
20071
20127
|
var _useHits = useHits({
|
|
20072
20128
|
escapeHTML: escapeHTML,
|
|
@@ -20075,6 +20131,7 @@
|
|
|
20075
20131
|
$$widgetType: 'ais.hits'
|
|
20076
20132
|
}),
|
|
20077
20133
|
hits = _useHits.hits,
|
|
20134
|
+
banner = _useHits.banner,
|
|
20078
20135
|
sendEvent = _useHits.sendEvent;
|
|
20079
20136
|
var itemComponent = function itemComponent(_ref3) {
|
|
20080
20137
|
var hit = _ref3.hit,
|
|
@@ -20087,10 +20144,15 @@
|
|
|
20087
20144
|
sendEvent: sendEvent
|
|
20088
20145
|
}));
|
|
20089
20146
|
};
|
|
20147
|
+
var bannerComponent = BannerComponent === false ? function () {
|
|
20148
|
+
return null;
|
|
20149
|
+
} : BannerComponent;
|
|
20090
20150
|
var uiProps = {
|
|
20091
20151
|
hits: hits,
|
|
20092
20152
|
sendEvent: sendEvent,
|
|
20093
|
-
itemComponent: itemComponent
|
|
20153
|
+
itemComponent: itemComponent,
|
|
20154
|
+
banner: banner,
|
|
20155
|
+
bannerComponent: bannerComponent
|
|
20094
20156
|
};
|
|
20095
20157
|
return /*#__PURE__*/React__default.createElement(HitsUiComponent, _extends$1({}, props, uiProps));
|
|
20096
20158
|
}
|