instantsearch.js 4.47.0 → 4.48.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.
Files changed (121) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/cjs/components/Answers/Answers.js +4 -4
  3. package/cjs/components/Breadcrumb/Breadcrumb.js +4 -6
  4. package/cjs/components/ClearRefinements/ClearRefinements.js +2 -4
  5. package/cjs/components/CurrentRefinements/CurrentRefinements.js +2 -6
  6. package/cjs/components/GeoSearchControls/GeoSearchControls.js +3 -5
  7. package/cjs/components/Hits/Hits.js +2 -2
  8. package/cjs/components/InfiniteHits/InfiniteHits.js +4 -4
  9. package/cjs/components/MenuSelect/MenuSelect.js +2 -4
  10. package/cjs/components/Pagination/Pagination.js +3 -7
  11. package/cjs/components/Panel/Panel.js +2 -6
  12. package/cjs/components/RangeInput/RangeInput.js +4 -4
  13. package/cjs/components/RefinementList/RefinementList.js +4 -6
  14. package/cjs/components/Selector/Selector.js +3 -5
  15. package/cjs/components/Slider/Pit.js +2 -6
  16. package/cjs/components/Slider/Slider.js +3 -6
  17. package/cjs/components/Stats/Stats.js +2 -2
  18. package/cjs/connectors/current-refinements/connectCurrentRefinements.js +2 -0
  19. package/cjs/lib/InstantSearch.js +3 -1
  20. package/cjs/lib/utils/index.js +0 -13
  21. package/cjs/lib/version.js +1 -1
  22. package/cjs/middlewares/createInsightsMiddleware.js +3 -5
  23. package/cjs/widgets/answers/answers.js +7 -7
  24. package/cjs/widgets/breadcrumb/breadcrumb.js +8 -8
  25. package/cjs/widgets/clear-refinements/clear-refinements.js +4 -4
  26. package/cjs/widgets/current-refinements/current-refinements.js +9 -9
  27. package/cjs/widgets/geo-search/geo-search.js +11 -11
  28. package/cjs/widgets/hierarchical-menu/defaultTemplates.js +4 -4
  29. package/cjs/widgets/hierarchical-menu/hierarchical-menu.js +14 -14
  30. package/cjs/widgets/hits/hits.js +5 -5
  31. package/cjs/widgets/hits-per-page/hits-per-page.js +4 -4
  32. package/cjs/widgets/index/index.js +1 -1
  33. package/cjs/widgets/infinite-hits/infinite-hits.js +9 -9
  34. package/cjs/widgets/menu/defaultTemplates.js +4 -4
  35. package/cjs/widgets/menu/menu.js +11 -11
  36. package/cjs/widgets/menu-select/menu-select.js +5 -5
  37. package/cjs/widgets/numeric-menu/numeric-menu.js +9 -9
  38. package/cjs/widgets/pagination/pagination.js +13 -13
  39. package/cjs/widgets/panel/panel.js +10 -10
  40. package/cjs/widgets/powered-by/powered-by.js +4 -4
  41. package/cjs/widgets/query-rule-custom-data/query-rule-custom-data.js +2 -2
  42. package/cjs/widgets/range-input/range-input.js +10 -10
  43. package/cjs/widgets/range-slider/range-slider.js +3 -3
  44. package/cjs/widgets/rating-menu/defaultTemplates.js +6 -6
  45. package/cjs/widgets/rating-menu/rating-menu.js +13 -13
  46. package/cjs/widgets/refinement-list/defaultTemplates.js +5 -5
  47. package/cjs/widgets/refinement-list/refinement-list.js +23 -23
  48. package/cjs/widgets/relevant-sort/relevant-sort.js +4 -4
  49. package/cjs/widgets/search-box/search-box.js +10 -10
  50. package/cjs/widgets/sort-by/sort-by.js +4 -4
  51. package/cjs/widgets/stats/stats.js +3 -3
  52. package/cjs/widgets/toggle-refinement/toggle-refinement.js +5 -5
  53. package/cjs/widgets/voice-search/voice-search.js +4 -4
  54. package/dist/instantsearch.development.d.ts +7 -7
  55. package/dist/instantsearch.development.js +252 -303
  56. package/dist/instantsearch.development.js.map +1 -1
  57. package/dist/instantsearch.production.d.ts +7 -7
  58. package/dist/instantsearch.production.min.d.ts +7 -7
  59. package/dist/instantsearch.production.min.js +2 -2
  60. package/dist/instantsearch.production.min.js.map +1 -1
  61. package/es/components/Answers/Answers.js +4 -4
  62. package/es/components/Breadcrumb/Breadcrumb.js +4 -6
  63. package/es/components/ClearRefinements/ClearRefinements.js +2 -4
  64. package/es/components/CurrentRefinements/CurrentRefinements.js +2 -4
  65. package/es/components/GeoSearchControls/GeoSearchControls.js +3 -5
  66. package/es/components/Hits/Hits.js +1 -1
  67. package/es/components/InfiniteHits/InfiniteHits.js +3 -3
  68. package/es/components/InternalHighlight/InternalHighlight.d.ts +0 -1
  69. package/es/components/MenuSelect/MenuSelect.js +2 -4
  70. package/es/components/Pagination/Pagination.js +2 -4
  71. package/es/components/Panel/Panel.js +2 -6
  72. package/es/components/RangeInput/RangeInput.js +2 -2
  73. package/es/components/RefinementList/RefinementList.js +4 -6
  74. package/es/components/Selector/Selector.js +1 -1
  75. package/es/components/Slider/Pit.js +2 -4
  76. package/es/components/Slider/Slider.js +3 -6
  77. package/es/components/Stats/Stats.js +1 -1
  78. package/es/connectors/current-refinements/connectCurrentRefinements.js +2 -0
  79. package/es/lib/InstantSearch.js +3 -1
  80. package/es/lib/utils/index.d.ts +0 -1
  81. package/es/lib/utils/index.js +0 -1
  82. package/es/lib/version.d.ts +1 -1
  83. package/es/lib/version.js +1 -1
  84. package/es/middlewares/createInsightsMiddleware.d.ts +5 -5
  85. package/es/middlewares/createInsightsMiddleware.js +2 -2
  86. package/es/widgets/answers/answers.js +1 -1
  87. package/es/widgets/breadcrumb/breadcrumb.js +1 -1
  88. package/es/widgets/clear-refinements/clear-refinements.js +1 -1
  89. package/es/widgets/current-refinements/current-refinements.js +1 -1
  90. package/es/widgets/geo-search/geo-search.js +1 -1
  91. package/es/widgets/hierarchical-menu/defaultTemplates.js +2 -2
  92. package/es/widgets/hierarchical-menu/hierarchical-menu.js +1 -1
  93. package/es/widgets/hits/hits.js +1 -1
  94. package/es/widgets/hits-per-page/hits-per-page.js +1 -1
  95. package/es/widgets/index/index.d.ts +1 -1
  96. package/es/widgets/index/index.js +1 -1
  97. package/es/widgets/infinite-hits/infinite-hits.js +1 -1
  98. package/es/widgets/menu/defaultTemplates.js +1 -1
  99. package/es/widgets/menu/menu.js +1 -1
  100. package/es/widgets/menu-select/menu-select.js +1 -1
  101. package/es/widgets/numeric-menu/numeric-menu.js +1 -1
  102. package/es/widgets/pagination/pagination.js +1 -1
  103. package/es/widgets/panel/panel.js +1 -1
  104. package/es/widgets/powered-by/powered-by.js +1 -1
  105. package/es/widgets/query-rule-custom-data/query-rule-custom-data.js +1 -1
  106. package/es/widgets/range-input/range-input.js +1 -1
  107. package/es/widgets/range-slider/range-slider.js +1 -1
  108. package/es/widgets/rating-menu/defaultTemplates.js +2 -2
  109. package/es/widgets/rating-menu/rating-menu.js +1 -1
  110. package/es/widgets/refinement-list/defaultTemplates.js +1 -1
  111. package/es/widgets/refinement-list/refinement-list.js +1 -1
  112. package/es/widgets/relevant-sort/relevant-sort.js +1 -1
  113. package/es/widgets/search-box/search-box.js +1 -1
  114. package/es/widgets/sort-by/sort-by.js +1 -1
  115. package/es/widgets/stats/stats.js +1 -1
  116. package/es/widgets/toggle-refinement/toggle-refinement.js +1 -1
  117. package/es/widgets/voice-search/voice-search.js +1 -1
  118. package/package.json +3 -6
  119. package/cjs/lib/utils/cx.js +0 -10
  120. package/es/lib/utils/cx.d.ts +0 -1
  121. package/es/lib/utils/cx.js +0 -3
@@ -2,12 +2,12 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
2
2
 
3
3
  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; }
4
4
 
5
- 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); }
6
-
7
5
  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; }
8
6
 
7
+ 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); }
8
+
9
9
  import { h } from 'preact';
10
- import cx from 'classnames';
10
+ import { cx } from '@algolia/ui-components-shared';
11
11
  import Template from "../Template/Template.js";
12
12
 
13
13
  var Answers = function Answers(_ref) {
@@ -16,7 +16,7 @@ var Answers = function Answers(_ref) {
16
16
  cssClasses = _ref.cssClasses,
17
17
  templateProps = _ref.templateProps;
18
18
  return h("div", {
19
- className: cx(cssClasses.root, _defineProperty({}, cssClasses.emptyRoot, hits.length === 0))
19
+ className: cx(cssClasses.root, hits.length === 0 && cssClasses.emptyRoot)
20
20
  }, h(Template, _extends({}, templateProps, {
21
21
  templateKey: "header",
22
22
  rootProps: {
@@ -1,9 +1,7 @@
1
1
  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); }
2
2
 
3
- 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; }
4
-
5
3
  import { h } from 'preact';
6
- import cx from 'classnames';
4
+ import { cx } from '@algolia/ui-components-shared';
7
5
  import Template from "../Template/Template.js";
8
6
 
9
7
  var Breadcrumb = function Breadcrumb(_ref) {
@@ -13,11 +11,11 @@ var Breadcrumb = function Breadcrumb(_ref) {
13
11
  createURL = _ref.createURL,
14
12
  refine = _ref.refine;
15
13
  return h("div", {
16
- className: cx(cssClasses.root, _defineProperty({}, cssClasses.noRefinementRoot, items.length === 0))
14
+ className: cx(cssClasses.root, items.length === 0 && cssClasses.noRefinementRoot)
17
15
  }, h("ul", {
18
16
  className: cssClasses.list
19
17
  }, h("li", {
20
- className: cx(cssClasses.item, _defineProperty({}, cssClasses.selectedItem, items.length === 0))
18
+ className: cx(cssClasses.item, items.length === 0 && cssClasses.selectedItem)
21
19
  }, h(Template, _extends({}, templateProps, {
22
20
  templateKey: "home",
23
21
  rootTagName: "a",
@@ -33,7 +31,7 @@ var Breadcrumb = function Breadcrumb(_ref) {
33
31
  var isLast = idx === items.length - 1;
34
32
  return h("li", {
35
33
  key: item.label + idx,
36
- className: cx(cssClasses.item, _defineProperty({}, cssClasses.selectedItem, isLast))
34
+ className: cx(cssClasses.item, isLast && cssClasses.selectedItem)
37
35
  }, h(Template, _extends({}, templateProps, {
38
36
  templateKey: "separator",
39
37
  rootTagName: "span",
@@ -1,9 +1,7 @@
1
1
  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); }
2
2
 
3
- 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; }
4
-
5
3
  import { h } from 'preact';
6
- import cx from 'classnames';
4
+ import { cx } from '@algolia/ui-components-shared';
7
5
  import Template from "../Template/Template.js";
8
6
 
9
7
  var ClearRefinements = function ClearRefinements(_ref) {
@@ -17,7 +15,7 @@ var ClearRefinements = function ClearRefinements(_ref) {
17
15
  templateKey: "resetLabel",
18
16
  rootTagName: "button",
19
17
  rootProps: {
20
- className: cx(cssClasses.button, _defineProperty({}, cssClasses.disabledButton, !hasRefinements)),
18
+ className: cx(cssClasses.button, !hasRefinements && cssClasses.disabledButton),
21
19
  onClick: refine,
22
20
  disabled: !hasRefinements
23
21
  },
@@ -1,7 +1,5 @@
1
- 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; }
2
-
3
1
  import { h } from 'preact';
4
- import cx from 'classnames';
2
+ import { cx } from '@algolia/ui-components-shared';
5
3
  import { isSpecialClick, capitalize } from "../../lib/utils/index.js";
6
4
 
7
5
  var createItemKey = function createItemKey(_ref) {
@@ -30,7 +28,7 @@ var CurrentRefinements = function CurrentRefinements(_ref2) {
30
28
  cssClasses = _ref2.cssClasses,
31
29
  canRefine = _ref2.canRefine;
32
30
  return h("div", {
33
- className: cx(cssClasses.root, _defineProperty({}, cssClasses.noRefinementRoot, !canRefine))
31
+ className: cx(cssClasses.root, !canRefine && cssClasses.noRefinementRoot)
34
32
  }, h("ul", {
35
33
  className: cssClasses.list
36
34
  }, items.map(function (item, index) {
@@ -1,9 +1,7 @@
1
1
  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); }
2
2
 
3
- 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; }
4
-
5
3
  import { h, Fragment } from 'preact';
6
- import cx from 'classnames';
4
+ import { cx } from '@algolia/ui-components-shared';
7
5
  import Template from "../Template/Template.js";
8
6
  import GeoSearchButton from "./GeoSearchButton.js";
9
7
  import GeoSearchToggle from "./GeoSearchToggle.js";
@@ -23,7 +21,7 @@ var GeoSearchControls = function GeoSearchControls(_ref) {
23
21
  return h(Fragment, null, enableRefine && h("div", null, enableRefineControl && h("div", {
24
22
  className: cssClasses.control
25
23
  }, isRefineOnMapMove || !hasMapMoveSinceLastRefine ? h(GeoSearchToggle, {
26
- classNameLabel: cx(cssClasses.label, _defineProperty({}, cssClasses.selectedLabel, isRefineOnMapMove)),
24
+ classNameLabel: cx(cssClasses.label, isRefineOnMapMove && cssClasses.selectedLabel),
27
25
  classNameInput: cssClasses.input,
28
26
  checked: isRefineOnMapMove,
29
27
  onToggle: onRefineToggle
@@ -40,7 +38,7 @@ var GeoSearchControls = function GeoSearchControls(_ref) {
40
38
  })))), !enableRefineControl && !isRefineOnMapMove && h("div", {
41
39
  className: cssClasses.control
42
40
  }, h(GeoSearchButton, {
43
- className: cx(cssClasses.redo, _defineProperty({}, cssClasses.disabledRedo, !hasMapMoveSinceLastRefine)),
41
+ className: cx(cssClasses.redo, !hasMapMoveSinceLastRefine && cssClasses.disabledRedo),
44
42
  disabled: !hasMapMoveSinceLastRefine,
45
43
  onClick: onRefineClick
46
44
  }, h(Template, _extends({}, templateProps, {
@@ -7,7 +7,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
7
7
  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); }
8
8
 
9
9
  import { h } from 'preact';
10
- import cx from 'classnames';
10
+ import { cx } from '@algolia/ui-components-shared';
11
11
  import Template from "../Template/Template.js";
12
12
 
13
13
  var Hits = function Hits(_ref) {
@@ -7,7 +7,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
7
7
  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); }
8
8
 
9
9
  import { h } from 'preact';
10
- import cx from 'classnames';
10
+ import { cx } from '@algolia/ui-components-shared';
11
11
  import Template from "../Template/Template.js";
12
12
 
13
13
  var InfiniteHits = function InfiniteHits(_ref) {
@@ -39,7 +39,7 @@ var InfiniteHits = function InfiniteHits(_ref) {
39
39
  templateKey: "showPreviousText",
40
40
  rootTagName: "button",
41
41
  rootProps: {
42
- className: cx(cssClasses.loadPrevious, _defineProperty({}, cssClasses.disabledLoadPrevious, isFirstPage)),
42
+ className: cx(cssClasses.loadPrevious, isFirstPage && cssClasses.disabledLoadPrevious),
43
43
  disabled: isFirstPage,
44
44
  onClick: showPrevious
45
45
  }
@@ -63,7 +63,7 @@ var InfiniteHits = function InfiniteHits(_ref) {
63
63
  templateKey: "showMoreText",
64
64
  rootTagName: "button",
65
65
  rootProps: {
66
- className: cx(cssClasses.loadMore, _defineProperty({}, cssClasses.disabledLoadMore, isLastPage)),
66
+ className: cx(cssClasses.loadMore, isLastPage && cssClasses.disabledLoadMore),
67
67
  disabled: isLastPage,
68
68
  onClick: showMore
69
69
  }
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
1
  export declare const InternalHighlight: ({ parts, highlightedTagName, nonHighlightedTagName, separator, className, classNames, ...props }: import("@algolia/ui-components-highlight-vdom").HighlightProps) => JSX.Element;
@@ -1,9 +1,7 @@
1
1
  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); }
2
2
 
3
- 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; }
4
-
5
3
  import { h } from 'preact';
6
- import cx from 'classnames';
4
+ import { cx } from '@algolia/ui-components-shared';
7
5
  import { find } from "../../lib/utils/index.js";
8
6
  import Template from "../Template/Template.js";
9
7
 
@@ -21,7 +19,7 @@ function MenuSelect(_ref) {
21
19
  selectedValue = _ref2.value;
22
20
 
23
21
  return h("div", {
24
- className: cx(cssClasses.root, _defineProperty({}, cssClasses.noRefinementRoot, items.length === 0))
22
+ className: cx(cssClasses.root, items.length === 0 && cssClasses.noRefinementRoot)
25
23
  }, h("select", {
26
24
  className: cssClasses.select,
27
25
  value: selectedValue,
@@ -1,7 +1,5 @@
1
- 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; }
2
-
3
1
  import { h } from 'preact';
4
- import cx from 'classnames';
2
+ import { cx } from '@algolia/ui-components-shared';
5
3
  import { isSpecialClick } from "../../lib/utils/index.js";
6
4
 
7
5
  function Pagination(props) {
@@ -19,7 +17,7 @@ function Pagination(props) {
19
17
  }
20
18
 
21
19
  return h("div", {
22
- className: cx(props.cssClasses.root, _defineProperty({}, props.cssClasses.noRefinementRoot, props.nbPages <= 1))
20
+ className: cx(props.cssClasses.root, props.nbPages <= 1 && props.cssClasses.noRefinementRoot)
23
21
  }, h("ul", {
24
22
  className: props.cssClasses.list
25
23
  }, props.showFirst && h(PaginationLink, {
@@ -1,5 +1,3 @@
1
- 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; }
2
-
3
1
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
2
 
5
3
  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."); }
@@ -14,12 +12,10 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
12
 
15
13
  import { h } from 'preact';
16
14
  import { useState, useEffect, useRef } from 'preact/hooks';
17
- import cx from 'classnames';
15
+ import { cx } from '@algolia/ui-components-shared';
18
16
  import Template from "../Template/Template.js";
19
17
 
20
18
  function Panel(props) {
21
- var _cx;
22
-
23
19
  var _useState = useState(props.isCollapsed),
24
20
  _useState2 = _slicedToArray(_useState, 2),
25
21
  isCollapsed = _useState2[0],
@@ -49,7 +45,7 @@ function Panel(props) {
49
45
  }
50
46
 
51
47
  return h("div", {
52
- className: cx(props.cssClasses.root, (_cx = {}, _defineProperty(_cx, props.cssClasses.noRefinementRoot, props.hidden), _defineProperty(_cx, props.cssClasses.collapsibleRoot, props.collapsible), _defineProperty(_cx, props.cssClasses.collapsedRoot, isCollapsed), _cx)),
48
+ className: cx(props.cssClasses.root, props.hidden && props.cssClasses.noRefinementRoot, props.collapsible && props.cssClasses.collapsibleRoot, isCollapsed && props.cssClasses.collapsedRoot),
53
49
  hidden: props.hidden
54
50
  }, props.templates.header && h("div", {
55
51
  className: props.cssClasses.header
@@ -25,7 +25,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
25
25
  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; }
26
26
 
27
27
  import { h, Component } from 'preact';
28
- import cx from 'classnames';
28
+ import { cx } from '@algolia/ui-components-shared';
29
29
  import Template from "../Template/Template.js";
30
30
 
31
31
  var RangeInput = /*#__PURE__*/function (_Component) {
@@ -89,7 +89,7 @@ var RangeInput = /*#__PURE__*/function (_Component) {
89
89
  templateProps = _this$props.templateProps;
90
90
  var isDisabled = min && max ? min >= max : false;
91
91
  var hasRefinements = Boolean(minValue || maxValue);
92
- var rootClassNames = cx(cssClasses.root, _defineProperty({}, cssClasses.noRefinement, !hasRefinements));
92
+ var rootClassNames = cx(cssClasses.root, !hasRefinements && cssClasses.noRefinement);
93
93
  return h("div", {
94
94
  className: rootClassNames
95
95
  }, h("form", {
@@ -33,7 +33,7 @@ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.g
33
33
  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; }
34
34
 
35
35
  import { h, createRef, Component } from 'preact';
36
- import cx from 'classnames';
36
+ import { cx } from '@algolia/ui-components-shared';
37
37
  import { isSpecialClick, isEqual } from "../../lib/utils/index.js";
38
38
  import Template from "../Template/Template.js";
39
39
  import RefinementListItem from "./RefinementListItem.js";
@@ -79,8 +79,6 @@ var RefinementList = /*#__PURE__*/function (_Component) {
79
79
  }, {
80
80
  key: "_generateFacetItem",
81
81
  value: function _generateFacetItem(facetValue) {
82
- var _cx;
83
-
84
82
  var subItems;
85
83
 
86
84
  if (isHierarchicalMenuItem(facetValue) && Array.isArray(facetValue.data) && facetValue.data.length > 0) {
@@ -118,7 +116,7 @@ var RefinementList = /*#__PURE__*/function (_Component) {
118
116
  key += "/".concat(facetValue.count);
119
117
  }
120
118
 
121
- var refinementListItemClassName = cx(this.props.cssClasses.item, (_cx = {}, _defineProperty(_cx, this.props.cssClasses.selectedItem, facetValue.isRefined), _defineProperty(_cx, this.props.cssClasses.disabledItem, !facetValue.count), _defineProperty(_cx, this.props.cssClasses.parentItem, isHierarchicalMenuItem(facetValue) && Array.isArray(facetValue.data) && facetValue.data.length > 0), _cx));
119
+ var refinementListItemClassName = cx(this.props.cssClasses.item, facetValue.isRefined && this.props.cssClasses.selectedItem, !facetValue.count && this.props.cssClasses.disabledItem, Boolean(isHierarchicalMenuItem(facetValue) && Array.isArray(facetValue.data) && facetValue.data.length > 0) && this.props.cssClasses.parentItem);
122
120
  return h(RefinementListItem, {
123
121
  templateKey: "item",
124
122
  key: key,
@@ -212,7 +210,7 @@ var RefinementList = /*#__PURE__*/function (_Component) {
212
210
  value: function render() {
213
211
  var _this2 = this;
214
212
 
215
- var showMoreButtonClassName = cx(this.props.cssClasses.showMore, _defineProperty({}, this.props.cssClasses.disabledShowMore, !(this.props.showMore === true && this.props.canToggleShowMore)));
213
+ var showMoreButtonClassName = cx(this.props.cssClasses.showMore, !(this.props.showMore === true && this.props.canToggleShowMore) && this.props.cssClasses.disabledShowMore);
216
214
  var showMoreButton = this.props.showMore === true && h(Template, _extends({}, this.props.templateProps, {
217
215
  templateKey: "showMoreText",
218
216
  rootTagName: "button",
@@ -256,7 +254,7 @@ var RefinementList = /*#__PURE__*/function (_Component) {
256
254
  className: this.props.cssClasses.noResults
257
255
  }
258
256
  }));
259
- var rootClassName = cx(this.props.cssClasses.root, _defineProperty({}, this.props.cssClasses.noRefinementRoot, !this.props.facetValues || this.props.facetValues.length === 0), this.props.className);
257
+ var rootClassName = cx(this.props.cssClasses.root, (!this.props.facetValues || this.props.facetValues.length === 0) && this.props.cssClasses.noRefinementRoot, this.props.className);
260
258
  return h("div", {
261
259
  className: rootClassName
262
260
  }, this.props.children, searchBox, facetValues, noResults, showMoreButton);
@@ -1,5 +1,5 @@
1
1
  import { h } from 'preact';
2
- import cx from 'classnames';
2
+ import { cx } from '@algolia/ui-components-shared';
3
3
 
4
4
  function Selector(_ref) {
5
5
  var currentValue = _ref.currentValue,
@@ -5,7 +5,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
5
5
  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; }
6
6
 
7
7
  import { h } from 'preact';
8
- import cx from 'classnames';
8
+ import { cx } from '@algolia/ui-components-shared';
9
9
 
10
10
  var Pit = function Pit(_ref) {
11
11
  var style = _ref.style,
@@ -19,9 +19,7 @@ var Pit = function Pit(_ref) {
19
19
  style: _objectSpread(_objectSpread({}, style), {}, {
20
20
  marginLeft: positionValue === 100 ? '-2px' : 0
21
21
  }),
22
- className: cx('rheostat-marker', 'rheostat-marker-horizontal', {
23
- 'rheostat-marker-large': shouldDisplayValue
24
- })
22
+ className: cx('rheostat-marker', 'rheostat-marker-horizontal', shouldDisplayValue && 'rheostat-marker-large')
25
23
  }, shouldDisplayValue && h("div", {
26
24
  className: 'rheostat-value'
27
25
  }, pitValue));
@@ -38,7 +38,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
38
38
 
39
39
  import { h, Component } from 'preact';
40
40
  import Rheostat from "./Rheostat.js";
41
- import cx from 'classnames';
41
+ import { cx } from '@algolia/ui-components-shared';
42
42
  import { range } from "../../lib/utils/index.js";
43
43
  import Pit from "./Pit.js";
44
44
 
@@ -73,10 +73,7 @@ var Slider = /*#__PURE__*/function (_Component) {
73
73
  var roundedValue = Math.round( // have to cast as a string, as the value given to the prop is a number, but becomes a string when read
74
74
  parseFloat(props['aria-valuenow']) * 100) / 100;
75
75
  var value = _typeof(tooltips) === 'object' && tooltips.format ? tooltips.format(roundedValue) : roundedValue;
76
- var className = cx(props.className, {
77
- 'rheostat-handle-lower': props['data-handle-key'] === 0,
78
- 'rheostat-handle-upper': props['data-handle-key'] === 1
79
- });
76
+ var className = cx(props.className, props['data-handle-key'] === 0 && 'rheostat-handle-lower', props['data-handle-key'] === 1 && 'rheostat-handle-upper');
80
77
  return h("div", _extends({}, props, {
81
78
  className: className
82
79
  }), tooltips && h("div", {
@@ -150,7 +147,7 @@ var Slider = /*#__PURE__*/function (_Component) {
150
147
  max: max
151
148
  });
152
149
  return h("div", {
153
- className: cx(cssClasses.root, _defineProperty({}, cssClasses.disabledRoot, this.isDisabled))
150
+ className: cx(cssClasses.root, this.isDisabled && cssClasses.disabledRoot)
154
151
  }, h(Rheostat, {
155
152
  handle: this.createHandleComponent(tooltips),
156
153
  onChange: this.handleChange,
@@ -11,7 +11,7 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
11
11
  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; }
12
12
 
13
13
  import { h } from 'preact';
14
- import cx from 'classnames';
14
+ import { cx } from '@algolia/ui-components-shared';
15
15
  import Template from "../Template/Template.js";
16
16
 
17
17
  var Stats = function Stats(_ref) {
@@ -141,6 +141,8 @@ function getRefinementsItems(_ref3) {
141
141
  }
142
142
 
143
143
  function clearRefinementFromState(state, refinement) {
144
+ state = state.resetPage();
145
+
144
146
  switch (refinement.type) {
145
147
  case 'facet':
146
148
  return state.removeFacetRefinement(refinement.attribute, String(refinement.value));
@@ -60,7 +60,7 @@ var InstantSearch = /*#__PURE__*/function (_EventEmitter) {
60
60
 
61
61
  _classCallCheck(this, InstantSearch);
62
62
 
63
- _this = _super.call(this);
63
+ _this = _super.call(this); // prevent `render` event listening from causing a warning
64
64
 
65
65
  _defineProperty(_assertThisInitialized(_this), "client", void 0);
66
66
 
@@ -141,6 +141,8 @@ var InstantSearch = /*#__PURE__*/function (_EventEmitter) {
141
141
  });
142
142
  }));
143
143
 
144
+ _this.setMaxListeners(100);
145
+
144
146
  var _options$indexName = options.indexName,
145
147
  indexName = _options$indexName === void 0 ? null : _options$indexName,
146
148
  numberLocale = options.numberLocale,
@@ -8,7 +8,6 @@ export * from './createSendEventForFacet';
8
8
  export * from './createSendEventForHits';
9
9
  export * from './setIndexHelperState';
10
10
  export * from './isIndexWidget';
11
- export * from './cx';
12
11
  export * from './debounce';
13
12
  export * from './defer';
14
13
  export * from './documentation';
@@ -8,7 +8,6 @@ export * from "./createSendEventForFacet.js";
8
8
  export * from "./createSendEventForHits.js";
9
9
  export * from "./setIndexHelperState.js";
10
10
  export * from "./isIndexWidget.js";
11
- export * from "./cx.js";
12
11
  export * from "./debounce.js";
13
12
  export * from "./defer.js";
14
13
  export * from "./documentation.js";
@@ -1,2 +1,2 @@
1
- declare const _default: "4.47.0";
1
+ declare const _default: "4.48.1";
2
2
  export default _default;
package/es/lib/version.js CHANGED
@@ -1 +1 @@
1
- export default '4.47.0';
1
+ export default '4.48.1';
@@ -7,15 +7,15 @@ export declare type InsightsEvent = {
7
7
  hits?: Hit[];
8
8
  attribute?: string;
9
9
  };
10
- export declare type InsightsProps = {
11
- insightsClient: null | InsightsClient;
10
+ export declare type InsightsProps<TInsightsClient extends null | InsightsClient = InsightsClient | null> = {
11
+ insightsClient: TInsightsClient;
12
12
  insightsInitParams?: {
13
13
  userHasOptedOut?: boolean;
14
14
  useCookie?: boolean;
15
15
  cookieDuration?: number;
16
16
  region?: 'de' | 'us';
17
17
  };
18
- onEvent?: (event: InsightsEvent, insightsClient: null | InsightsClient) => void;
18
+ onEvent?: (event: InsightsEvent, insightsClient: TInsightsClient) => void;
19
19
  };
20
- export declare type CreateInsightsMiddleware = (props: InsightsProps) => InternalMiddleware;
21
- export declare const createInsightsMiddleware: CreateInsightsMiddleware;
20
+ export declare type CreateInsightsMiddleware = typeof createInsightsMiddleware;
21
+ export declare function createInsightsMiddleware<TInsightsClient extends null | InsightsClient>(props: InsightsProps<TInsightsClient>): InternalMiddleware;
@@ -18,7 +18,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
18
 
19
19
  import { getInsightsAnonymousUserTokenInternal } from "../helpers/index.js";
20
20
  import { warning, noop, getAppIdAndApiKey, find } from "../lib/utils/index.js";
21
- export var createInsightsMiddleware = function createInsightsMiddleware(props) {
21
+ export function createInsightsMiddleware(props) {
22
22
  var _ref = props || {},
23
23
  _insightsClient = _ref.insightsClient,
24
24
  insightsInitParams = _ref.insightsInitParams,
@@ -157,4 +157,4 @@ export var createInsightsMiddleware = function createInsightsMiddleware(props) {
157
157
  }
158
158
  };
159
159
  };
160
- };
160
+ }
@@ -5,7 +5,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
5
5
  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; }
6
6
 
7
7
  import { h, render } from 'preact';
8
- import cx from 'classnames';
8
+ import { cx } from '@algolia/ui-components-shared';
9
9
  import defaultTemplates from "./defaultTemplates.js";
10
10
  import { createDocumentationMessageGenerator, getContainerNode } from "../../lib/utils/index.js";
11
11
  import { prepareTemplateProps } from "../../lib/templating/index.js";
@@ -5,7 +5,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
5
5
  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; }
6
6
 
7
7
  import { h, render } from 'preact';
8
- import cx from 'classnames';
8
+ import { cx } from '@algolia/ui-components-shared';
9
9
  import Breadcrumb from "../../components/Breadcrumb/Breadcrumb.js";
10
10
  import connectBreadcrumb from "../../connectors/breadcrumb/connectBreadcrumb.js";
11
11
  import defaultTemplates from "./defaultTemplates.js";
@@ -6,7 +6,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
6
6
 
7
7
  import { h, render } from 'preact';
8
8
  import ClearRefinements from "../../components/ClearRefinements/ClearRefinements.js";
9
- import cx from 'classnames';
9
+ import { cx } from '@algolia/ui-components-shared';
10
10
  import connectClearRefinements from "../../connectors/clear-refinements/connectClearRefinements.js";
11
11
  import defaultTemplates from "./defaultTemplates.js";
12
12
  import { getContainerNode, createDocumentationMessageGenerator } from "../../lib/utils/index.js";
@@ -5,7 +5,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
5
5
  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; }
6
6
 
7
7
  import { h, render } from 'preact';
8
- import cx from 'classnames';
8
+ import { cx } from '@algolia/ui-components-shared';
9
9
  import CurrentRefinements from "../../components/CurrentRefinements/CurrentRefinements.js";
10
10
  import connectCurrentRefinements from "../../connectors/current-refinements/connectCurrentRefinements.js";
11
11
  import { getContainerNode, createDocumentationMessageGenerator } from "../../lib/utils/index.js";
@@ -11,7 +11,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
11
11
  // global for TypeScript alone
12
12
 
13
13
  /* global google */
14
- import cx from 'classnames';
14
+ import { cx } from '@algolia/ui-components-shared';
15
15
  import { render } from 'preact';
16
16
  import { getContainerNode, createDocumentationMessageGenerator } from "../../lib/utils/index.js";
17
17
  import { renderTemplate } from "../../lib/templating/index.js";
@@ -1,6 +1,6 @@
1
1
  import { h } from 'preact';
2
2
  import { formatNumber } from "../../lib/formatNumber.js";
3
- import { cx } from "../../lib/utils/index.js";
3
+ import { cx } from '@algolia/ui-components-shared';
4
4
  var defaultTemplates = {
5
5
  item: function item(_ref) {
6
6
  var url = _ref.url,
@@ -9,7 +9,7 @@ var defaultTemplates = {
9
9
  cssClasses = _ref.cssClasses,
10
10
  isRefined = _ref.isRefined;
11
11
  return h("a", {
12
- className: cx([cx(cssClasses.link), cx(isRefined ? cssClasses.selectedItemLink : undefined)]),
12
+ className: cx(cx(cssClasses.link), cx(isRefined ? cssClasses.selectedItemLink : undefined)),
13
13
  href: url
14
14
  }, h("span", {
15
15
  className: cx(cssClasses.label)
@@ -5,7 +5,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
5
5
  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; }
6
6
 
7
7
  import { h, render } from 'preact';
8
- import cx from 'classnames';
8
+ import { cx } from '@algolia/ui-components-shared';
9
9
  import RefinementList from "../../components/RefinementList/RefinementList.js";
10
10
  import connectHierarchicalMenu from "../../connectors/hierarchical-menu/connectHierarchicalMenu.js";
11
11
  import defaultTemplates from "./defaultTemplates.js";
@@ -5,7 +5,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
5
5
  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; }
6
6
 
7
7
  import { h, render } from 'preact';
8
- import cx from 'classnames';
8
+ import { cx } from '@algolia/ui-components-shared';
9
9
  import connectHits from "../../connectors/hits/connectHits.js";
10
10
  import Hits from "../../components/Hits/Hits.js";
11
11
  import defaultTemplates from "./defaultTemplates.js";
@@ -5,7 +5,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
5
5
  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; }
6
6
 
7
7
  import { h, render } from 'preact';
8
- import cx from 'classnames';
8
+ import { cx } from '@algolia/ui-components-shared';
9
9
  import Selector from "../../components/Selector/Selector.js";
10
10
  import connectHitsPerPage from "../../connectors/hits-per-page/connectHitsPerPage.js";
11
11
  import { getContainerNode, createDocumentationMessageGenerator, find } from "../../lib/utils/index.js";
@@ -36,7 +36,7 @@ export declare type IndexWidget = Omit<Widget<IndexWidgetDescription & {
36
36
  * @deprecated
37
37
  */
38
38
  getWidgetState(uiState: UiState): UiState;
39
- getWidgetUiState<TUiState = UiState>(uiState: TUiState): TUiState;
39
+ getWidgetUiState<TUiState extends UiState = UiState>(uiState: TUiState): TUiState;
40
40
  getWidgetSearchParameters(searchParameters: SearchParameters, searchParametersOptions: {
41
41
  uiState: IndexUiState;
42
42
  }): SearchParameters;
@@ -463,7 +463,7 @@ var index = function index(widgetParams) {
463
463
  getWidgetUiState: function getWidgetUiState(uiState) {
464
464
  return localWidgets.filter(isIndexWidget).reduce(function (previousUiState, innerIndex) {
465
465
  return innerIndex.getWidgetUiState(previousUiState);
466
- }, _objectSpread(_objectSpread({}, uiState), {}, _defineProperty({}, this.getIndexId(), localUiState)));
466
+ }, _objectSpread(_objectSpread({}, uiState), {}, _defineProperty({}, indexId, _objectSpread(_objectSpread({}, uiState[indexId]), localUiState))));
467
467
  },
468
468
  getWidgetState: function getWidgetState(uiState) {
469
469
  process.env.NODE_ENV === 'development' ? warning(false, 'The `getWidgetState` method is renamed `getWidgetUiState` and will no longer exist under that name in InstantSearch.js 5.x. Please use `getWidgetUiState` instead.') : void 0;
@@ -5,7 +5,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
5
5
  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; }
6
6
 
7
7
  import { h, render } from 'preact';
8
- import cx from 'classnames';
8
+ import { cx } from '@algolia/ui-components-shared';
9
9
  import InfiniteHits from "../../components/InfiniteHits/InfiniteHits.js";
10
10
  import connectInfiniteHits from "../../connectors/infinite-hits/connectInfiniteHits.js";
11
11
  import { getContainerNode, createDocumentationMessageGenerator } from "../../lib/utils/index.js";
@@ -1,6 +1,6 @@
1
1
  import { h } from 'preact';
2
2
  import { formatNumber } from "../../lib/formatNumber.js";
3
- import { cx } from "../../lib/utils/index.js";
3
+ import { cx } from '@algolia/ui-components-shared';
4
4
  var defaultTemplates = {
5
5
  item: function item(_ref) {
6
6
  var cssClasses = _ref.cssClasses,