react-instantsearch 7.6.0 → 7.7.1

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.
@@ -31,7 +31,7 @@ function RefinementList(_ref) {
31
31
  translations = _ref.translations,
32
32
  props = _objectWithoutProperties(_ref, _excluded);
33
33
  return /*#__PURE__*/_react.default.createElement("div", _extends({}, props, {
34
- className: (0, _instantsearchUiComponents.cx)('ais-RefinementList', classNames.root, !canRefine && (0, _instantsearchUiComponents.cx)('ais-RefinementList--noRefinement', classNames.noRefinementRoot), className)
34
+ className: (0, _instantsearchUiComponents.cx)('ais-RefinementList', classNames.root, items.length === 0 && (0, _instantsearchUiComponents.cx)('ais-RefinementList--noRefinement', classNames.noRefinementRoot), className)
35
35
  }), searchBox && /*#__PURE__*/_react.default.createElement("div", {
36
36
  className: (0, _instantsearchUiComponents.cx)('ais-RefinementList-searchBox', classNames.searchBox)
37
37
  }, searchBox), noResults ? /*#__PURE__*/_react.default.createElement("div", {
@@ -1,21 +1,40 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.Hits = Hits;
7
- var _react = _interopRequireDefault(require("react"));
8
+ var _instantsearchUiComponents = require("instantsearch-ui-components");
9
+ var _react = _interopRequireWildcard(require("react"));
8
10
  var _reactInstantsearchCore = require("react-instantsearch-core");
9
- var _Hits = require("../ui/Hits");
10
- var _excluded = ["escapeHTML", "transformItems"];
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ var _excluded = ["escapeHTML", "transformItems", "hitComponent"],
12
+ _excluded2 = ["hit", "index"];
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
+ 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; }
12
15
  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); }
13
16
  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; }
14
17
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
15
- function Hits(_ref) {
16
- var escapeHTML = _ref.escapeHTML,
17
- transformItems = _ref.transformItems,
18
- props = _objectWithoutProperties(_ref, _excluded);
18
+ // @MAJOR: Move default hit component back to the UI library
19
+ // once flavour specificities are erased
20
+ function DefaultHitComponent(_ref) {
21
+ var hit = _ref.hit;
22
+ return /*#__PURE__*/_react.default.createElement("div", {
23
+ style: {
24
+ wordBreak: 'break-all'
25
+ }
26
+ }, JSON.stringify(hit).slice(0, 100), "\u2026");
27
+ }
28
+ var HitsUiComponent = (0, _instantsearchUiComponents.createHitsComponent)({
29
+ createElement: _react.createElement,
30
+ Fragment: _react.Fragment
31
+ });
32
+ function Hits(_ref2) {
33
+ var escapeHTML = _ref2.escapeHTML,
34
+ transformItems = _ref2.transformItems,
35
+ _ref2$hitComponent = _ref2.hitComponent,
36
+ HitComponent = _ref2$hitComponent === void 0 ? DefaultHitComponent : _ref2$hitComponent,
37
+ props = _objectWithoutProperties(_ref2, _excluded);
19
38
  var _useHits = (0, _reactInstantsearchCore.useHits)({
20
39
  escapeHTML: escapeHTML,
21
40
  transformItems: transformItems
@@ -24,9 +43,21 @@ function Hits(_ref) {
24
43
  }),
25
44
  hits = _useHits.hits,
26
45
  sendEvent = _useHits.sendEvent;
46
+ var itemComponent = function itemComponent(_ref3) {
47
+ var hit = _ref3.hit,
48
+ index = _ref3.index,
49
+ itemProps = _objectWithoutProperties(_ref3, _excluded2);
50
+ return /*#__PURE__*/_react.default.createElement("li", _extends({
51
+ key: hit.objectID
52
+ }, itemProps), /*#__PURE__*/_react.default.createElement(HitComponent, {
53
+ hit: hit,
54
+ sendEvent: sendEvent
55
+ }));
56
+ };
27
57
  var uiProps = {
28
58
  hits: hits,
29
- sendEvent: sendEvent
59
+ sendEvent: sendEvent,
60
+ itemComponent: itemComponent
30
61
  };
31
- return /*#__PURE__*/_react.default.createElement(_Hits.Hits, _extends({}, props, uiProps));
62
+ return /*#__PURE__*/_react.default.createElement(HitsUiComponent, _extends({}, props, uiProps));
32
63
  }
@@ -24,7 +24,7 @@ export function RefinementList(_ref) {
24
24
  translations = _ref.translations,
25
25
  props = _objectWithoutProperties(_ref, _excluded);
26
26
  return /*#__PURE__*/React.createElement("div", _extends({}, props, {
27
- className: cx('ais-RefinementList', classNames.root, !canRefine && cx('ais-RefinementList--noRefinement', classNames.noRefinementRoot), className)
27
+ className: cx('ais-RefinementList', classNames.root, items.length === 0 && cx('ais-RefinementList--noRefinement', classNames.noRefinementRoot), className)
28
28
  }), searchBox && /*#__PURE__*/React.createElement("div", {
29
29
  className: cx('ais-RefinementList-searchBox', classNames.searchBox)
30
30
  }, searchBox), noResults ? /*#__PURE__*/React.createElement("div", {
@@ -1,7 +1,14 @@
1
- import type { HitsProps as HitsUiComponentProps } from '../ui/Hits';
1
+ import React from 'react';
2
+ import type { HitsProps as HitsUiComponentProps } from 'instantsearch-ui-components';
2
3
  import type { Hit, BaseHit } from 'instantsearch.js';
4
+ import type { SendEventForHits } from 'instantsearch.js/es/lib/utils';
3
5
  import type { UseHitsProps } from 'react-instantsearch-core';
4
- type UiProps<THit extends BaseHit> = Pick<HitsUiComponentProps<Hit<THit>>, 'hits' | 'sendEvent'>;
5
- export type HitsProps<THit extends BaseHit> = Omit<HitsUiComponentProps<Hit<THit>>, keyof UiProps<THit>> & UseHitsProps<THit>;
6
- export declare function Hits<THit extends BaseHit = BaseHit>({ escapeHTML, transformItems, ...props }: HitsProps<THit>): JSX.Element;
6
+ type UiProps<THit extends BaseHit> = Pick<HitsUiComponentProps<Hit<THit>>, 'hits' | 'sendEvent' | 'itemComponent' | 'emptyComponent'>;
7
+ export type HitsProps<THit extends BaseHit> = Omit<HitsUiComponentProps<Hit<THit>>, keyof UiProps<THit>> & {
8
+ hitComponent?: React.JSXElementConstructor<{
9
+ hit: Hit<THit>;
10
+ sendEvent: SendEventForHits;
11
+ }>;
12
+ } & UseHitsProps<THit>;
13
+ export declare function Hits<THit extends BaseHit = BaseHit>({ escapeHTML, transformItems, hitComponent: HitComponent, ...props }: HitsProps<THit>): JSX.Element;
7
14
  export {};
@@ -1,14 +1,31 @@
1
- var _excluded = ["escapeHTML", "transformItems"];
1
+ var _excluded = ["escapeHTML", "transformItems", "hitComponent"],
2
+ _excluded2 = ["hit", "index"];
2
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); }
3
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; }
4
5
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
- import React from 'react';
6
+ import { createHitsComponent } from 'instantsearch-ui-components';
7
+ import React, { createElement, Fragment } from 'react';
6
8
  import { useHits } from 'react-instantsearch-core';
7
- import { Hits as HitsUiComponent } from "../ui/Hits.js";
8
- export function Hits(_ref) {
9
- var escapeHTML = _ref.escapeHTML,
10
- transformItems = _ref.transformItems,
11
- props = _objectWithoutProperties(_ref, _excluded);
9
+ // @MAJOR: Move default hit component back to the UI library
10
+ // once flavour specificities are erased
11
+ function DefaultHitComponent(_ref) {
12
+ var hit = _ref.hit;
13
+ return /*#__PURE__*/React.createElement("div", {
14
+ style: {
15
+ wordBreak: 'break-all'
16
+ }
17
+ }, JSON.stringify(hit).slice(0, 100), "\u2026");
18
+ }
19
+ var HitsUiComponent = createHitsComponent({
20
+ createElement: createElement,
21
+ Fragment: Fragment
22
+ });
23
+ export function Hits(_ref2) {
24
+ var escapeHTML = _ref2.escapeHTML,
25
+ transformItems = _ref2.transformItems,
26
+ _ref2$hitComponent = _ref2.hitComponent,
27
+ HitComponent = _ref2$hitComponent === void 0 ? DefaultHitComponent : _ref2$hitComponent,
28
+ props = _objectWithoutProperties(_ref2, _excluded);
12
29
  var _useHits = useHits({
13
30
  escapeHTML: escapeHTML,
14
31
  transformItems: transformItems
@@ -17,9 +34,21 @@ export function Hits(_ref) {
17
34
  }),
18
35
  hits = _useHits.hits,
19
36
  sendEvent = _useHits.sendEvent;
37
+ var itemComponent = function itemComponent(_ref3) {
38
+ var hit = _ref3.hit,
39
+ index = _ref3.index,
40
+ itemProps = _objectWithoutProperties(_ref3, _excluded2);
41
+ return /*#__PURE__*/React.createElement("li", _extends({
42
+ key: hit.objectID
43
+ }, itemProps), /*#__PURE__*/React.createElement(HitComponent, {
44
+ hit: hit,
45
+ sendEvent: sendEvent
46
+ }));
47
+ };
20
48
  var uiProps = {
21
49
  hits: hits,
22
- sendEvent: sendEvent
50
+ sendEvent: sendEvent,
51
+ itemComponent: itemComponent
23
52
  };
24
53
  return /*#__PURE__*/React.createElement(HitsUiComponent, _extends({}, props, uiProps));
25
54
  }