instantsearch.js 4.45.1 → 4.46.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 (230) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/cjs/components/Hits/Hits.js +3 -1
  3. package/cjs/components/InfiniteHits/InfiniteHits.js +3 -1
  4. package/cjs/components/Template/Template.js +13 -3
  5. package/cjs/connectors/toggle-refinement/connectToggleRefinement.js +3 -1
  6. package/cjs/helpers/components/Highlight.js +7 -7
  7. package/cjs/helpers/components/ReverseHighlight.js +7 -7
  8. package/cjs/helpers/components/ReverseSnippet.js +7 -7
  9. package/cjs/helpers/components/Snippet.js +7 -7
  10. package/cjs/lib/InstantSearch.js +33 -24
  11. package/cjs/lib/createHelpers.js +3 -1
  12. package/cjs/lib/formatNumber.js +10 -0
  13. package/cjs/lib/utils/capitalize.js +2 -5
  14. package/cjs/lib/utils/checkIndexUiState.js +3 -5
  15. package/cjs/lib/utils/checkRendering.js +4 -9
  16. package/cjs/lib/utils/clearRefinements.js +3 -9
  17. package/cjs/lib/utils/concatHighlightedParts.js +1 -1
  18. package/cjs/lib/utils/createSendEventForFacet.js +2 -4
  19. package/cjs/lib/utils/cx.js +10 -0
  20. package/cjs/lib/utils/defer.js +3 -6
  21. package/cjs/lib/utils/detect-insights-client.js +1 -1
  22. package/cjs/lib/utils/documentation.js +6 -9
  23. package/cjs/lib/utils/escape-highlight.js +4 -6
  24. package/cjs/lib/utils/escape-html.js +60 -0
  25. package/cjs/lib/utils/find.js +2 -5
  26. package/cjs/lib/utils/findIndex.js +2 -5
  27. package/cjs/lib/utils/getContainerNode.js +4 -9
  28. package/cjs/lib/utils/getHighlightFromSiblings.js +3 -5
  29. package/cjs/lib/utils/getHighlightedParts.js +1 -1
  30. package/cjs/lib/utils/getObjectType.js +2 -5
  31. package/cjs/lib/utils/getPropertyByPath.js +2 -5
  32. package/cjs/lib/utils/getRefinements.js +4 -6
  33. package/cjs/lib/utils/index.js +563 -432
  34. package/cjs/lib/utils/isDomElement.js +2 -5
  35. package/cjs/lib/utils/isEqual.js +2 -5
  36. package/cjs/lib/utils/isFacetRefined.js +1 -1
  37. package/cjs/lib/utils/isFiniteNumber.js +3 -5
  38. package/cjs/lib/utils/isIndexWidget.js +10 -0
  39. package/cjs/lib/utils/isPlainObject.js +2 -5
  40. package/cjs/lib/utils/isSpecialClick.js +2 -5
  41. package/cjs/lib/utils/logger.js +3 -5
  42. package/cjs/lib/utils/mergeSearchParameters.js +7 -10
  43. package/cjs/lib/utils/noop.js +2 -5
  44. package/cjs/lib/utils/prepareTemplateProps.js +4 -9
  45. package/cjs/lib/utils/range.js +2 -5
  46. package/cjs/lib/utils/renderTemplate.js +19 -7
  47. package/cjs/lib/utils/resolveSearchParameters.js +3 -6
  48. package/cjs/lib/utils/reverseHighlightedParts.js +3 -5
  49. package/cjs/lib/utils/setIndexHelperState.js +28 -0
  50. package/cjs/lib/utils/toArray.js +2 -5
  51. package/cjs/lib/utils/uniq.js +2 -5
  52. package/cjs/lib/version.js +1 -1
  53. package/cjs/middlewares/createInsightsMiddleware.js +23 -30
  54. package/cjs/middlewares/createMetadataMiddleware.js +1 -0
  55. package/cjs/middlewares/createRouterMiddleware.js +1 -0
  56. package/cjs/widgets/answers/defaultTemplates.js +6 -2
  57. package/cjs/widgets/breadcrumb/defaultTemplates.js +6 -2
  58. package/cjs/widgets/clear-refinements/defaultTemplates.js +3 -1
  59. package/cjs/widgets/geo-search/createHTMLMarker.js +10 -4
  60. package/cjs/widgets/geo-search/defaultTemplates.js +18 -4
  61. package/cjs/widgets/hierarchical-menu/defaultTemplates.js +26 -2
  62. package/cjs/widgets/hits/defaultTemplates.js +3 -1
  63. package/cjs/widgets/index/index.js +8 -12
  64. package/cjs/widgets/infinite-hits/defaultTemplates.js +9 -3
  65. package/cjs/widgets/menu/defaultTemplates.js +26 -2
  66. package/cjs/widgets/menu-select/defaultTemplates.js +11 -2
  67. package/cjs/widgets/numeric-menu/defaultTemplates.js +20 -1
  68. package/cjs/widgets/range-input/range-input.js +6 -2
  69. package/cjs/widgets/rating-menu/defaultTemplates.js +57 -1
  70. package/cjs/widgets/refinement-list/defaultTemplates.js +38 -3
  71. package/cjs/widgets/relevant-sort/defaultTemplates.js +3 -1
  72. package/cjs/widgets/search-box/defaultTemplates.js +62 -3
  73. package/cjs/widgets/stats/stats.js +70 -22
  74. package/cjs/widgets/toggle-refinement/defaultTemplates.js +4 -1
  75. package/cjs/widgets/voice-search/defaultTemplates.js +81 -9
  76. package/dist/instantsearch.development.d.ts +153 -22
  77. package/dist/instantsearch.development.js +2842 -2112
  78. package/dist/instantsearch.development.js.map +1 -1
  79. package/dist/instantsearch.production.d.ts +153 -22
  80. package/dist/instantsearch.production.min.d.ts +153 -22
  81. package/dist/instantsearch.production.min.js +2 -2
  82. package/dist/instantsearch.production.min.js.map +1 -1
  83. package/es/components/Breadcrumb/Breadcrumb.d.ts +1 -1
  84. package/es/components/ClearRefinements/ClearRefinements.d.ts +1 -1
  85. package/es/components/GeoSearchControls/GeoSearchControls.d.ts +1 -1
  86. package/es/components/Hits/Hits.d.ts +2 -3
  87. package/es/components/Hits/Hits.js +3 -1
  88. package/es/components/InfiniteHits/InfiniteHits.d.ts +1 -1
  89. package/es/components/InfiniteHits/InfiniteHits.js +3 -1
  90. package/es/components/RefinementList/RefinementList.d.ts +1 -1
  91. package/es/components/Template/Template.d.ts +4 -3
  92. package/es/components/Template/Template.js +14 -4
  93. package/es/components/ToggleRefinement/ToggleRefinement.d.ts +1 -4
  94. package/es/components/ToggleRefinement/ToggleRefinement.js +0 -4
  95. package/es/connectors/toggle-refinement/connectToggleRefinement.d.ts +3 -2
  96. package/es/connectors/toggle-refinement/connectToggleRefinement.js +3 -1
  97. package/es/helpers/components/Highlight.js +7 -5
  98. package/es/helpers/components/ReverseHighlight.js +7 -5
  99. package/es/helpers/components/ReverseSnippet.js +7 -5
  100. package/es/helpers/components/Snippet.js +7 -5
  101. package/es/lib/InstantSearch.d.ts +6 -1
  102. package/es/lib/InstantSearch.js +34 -21
  103. package/es/lib/createHelpers.js +2 -1
  104. package/es/lib/formatNumber.d.ts +1 -0
  105. package/es/lib/formatNumber.js +3 -0
  106. package/es/lib/utils/capitalize.d.ts +1 -2
  107. package/es/lib/utils/capitalize.js +2 -4
  108. package/es/lib/utils/checkIndexUiState.js +1 -1
  109. package/es/lib/utils/checkRendering.d.ts +1 -2
  110. package/es/lib/utils/checkRendering.js +3 -6
  111. package/es/lib/utils/clearRefinements.d.ts +4 -8
  112. package/es/lib/utils/clearRefinements.js +3 -8
  113. package/es/lib/utils/concatHighlightedParts.d.ts +1 -1
  114. package/es/lib/utils/concatHighlightedParts.js +1 -1
  115. package/es/lib/utils/createSendEventForFacet.js +1 -1
  116. package/es/lib/utils/createSendEventForHits.d.ts +0 -3
  117. package/es/lib/utils/createSendEventForHits.js +0 -3
  118. package/es/lib/utils/cx.d.ts +1 -0
  119. package/es/lib/utils/cx.js +3 -0
  120. package/es/lib/utils/defer.d.ts +2 -2
  121. package/es/lib/utils/defer.js +2 -5
  122. package/es/lib/utils/detect-insights-client.d.ts +1 -1
  123. package/es/lib/utils/detect-insights-client.js +1 -1
  124. package/es/lib/utils/documentation.d.ts +2 -2
  125. package/es/lib/utils/documentation.js +4 -4
  126. package/es/lib/utils/escape-highlight.js +2 -2
  127. package/es/lib/utils/{escape.d.ts → escape-html.d.ts} +6 -2
  128. package/es/lib/utils/escape-html.js +51 -0
  129. package/es/lib/utils/escapeFacetValue.d.ts +1 -1
  130. package/es/lib/utils/find.d.ts +1 -2
  131. package/es/lib/utils/find.js +2 -4
  132. package/es/lib/utils/findIndex.d.ts +1 -2
  133. package/es/lib/utils/findIndex.js +2 -4
  134. package/es/lib/utils/getContainerNode.d.ts +1 -2
  135. package/es/lib/utils/getContainerNode.js +3 -5
  136. package/es/lib/utils/getHighlightFromSiblings.d.ts +1 -1
  137. package/es/lib/utils/getHighlightFromSiblings.js +2 -2
  138. package/es/lib/utils/getHighlightedParts.d.ts +1 -1
  139. package/es/lib/utils/getHighlightedParts.js +1 -1
  140. package/es/lib/utils/getObjectType.d.ts +1 -2
  141. package/es/lib/utils/getObjectType.js +2 -4
  142. package/es/lib/utils/getPropertyByPath.d.ts +1 -2
  143. package/es/lib/utils/getPropertyByPath.js +2 -4
  144. package/es/lib/utils/getRefinements.d.ts +1 -1
  145. package/es/lib/utils/getRefinements.js +2 -2
  146. package/es/lib/utils/index.d.ts +46 -45
  147. package/es/lib/utils/index.js +46 -45
  148. package/es/lib/utils/isDomElement.d.ts +1 -2
  149. package/es/lib/utils/isDomElement.js +2 -4
  150. package/es/lib/utils/isEqual.d.ts +1 -2
  151. package/es/lib/utils/isEqual.js +2 -4
  152. package/es/lib/utils/isFacetRefined.d.ts +1 -1
  153. package/es/lib/utils/isFacetRefined.js +1 -1
  154. package/es/lib/utils/isFiniteNumber.d.ts +1 -2
  155. package/es/lib/utils/isFiniteNumber.js +3 -4
  156. package/es/lib/utils/isIndexWidget.d.ts +3 -0
  157. package/es/lib/utils/isIndexWidget.js +3 -0
  158. package/es/lib/utils/isPlainObject.d.ts +1 -2
  159. package/es/lib/utils/isPlainObject.js +2 -4
  160. package/es/lib/utils/isSpecialClick.d.ts +1 -2
  161. package/es/lib/utils/isSpecialClick.js +2 -4
  162. package/es/lib/utils/logger.js +1 -1
  163. package/es/lib/utils/mergeSearchParameters.d.ts +1 -2
  164. package/es/lib/utils/mergeSearchParameters.js +4 -6
  165. package/es/lib/utils/noop.d.ts +1 -2
  166. package/es/lib/utils/noop.js +1 -3
  167. package/es/lib/utils/prepareTemplateProps.d.ts +2 -2
  168. package/es/lib/utils/prepareTemplateProps.js +3 -5
  169. package/es/lib/utils/range.d.ts +2 -2
  170. package/es/lib/utils/range.js +2 -4
  171. package/es/lib/utils/renderTemplate.d.ts +4 -4
  172. package/es/lib/utils/renderTemplate.js +17 -6
  173. package/es/lib/utils/resolveSearchParameters.d.ts +1 -2
  174. package/es/lib/utils/resolveSearchParameters.js +2 -4
  175. package/es/lib/utils/reverseHighlightedParts.d.ts +1 -1
  176. package/es/lib/utils/reverseHighlightedParts.js +2 -2
  177. package/es/lib/utils/setIndexHelperState.d.ts +3 -0
  178. package/es/lib/utils/setIndexHelperState.js +19 -0
  179. package/es/lib/utils/toArray.d.ts +3 -2
  180. package/es/lib/utils/toArray.js +2 -4
  181. package/es/lib/utils/uniq.d.ts +1 -2
  182. package/es/lib/utils/uniq.js +2 -4
  183. package/es/lib/version.d.ts +1 -1
  184. package/es/lib/version.js +1 -1
  185. package/es/middlewares/createInsightsMiddleware.js +23 -27
  186. package/es/middlewares/createMetadataMiddleware.js +1 -0
  187. package/es/middlewares/createRouterMiddleware.js +1 -0
  188. package/es/types/middleware.d.ts +1 -0
  189. package/es/types/templates.d.ts +16 -3
  190. package/es/widgets/answers/defaultTemplates.js +6 -2
  191. package/es/widgets/breadcrumb/defaultTemplates.js +6 -2
  192. package/es/widgets/clear-refinements/clear-refinements.d.ts +3 -1
  193. package/es/widgets/clear-refinements/defaultTemplates.js +3 -1
  194. package/es/widgets/geo-search/createHTMLMarker.d.ts +2 -1
  195. package/es/widgets/geo-search/createHTMLMarker.js +8 -1
  196. package/es/widgets/geo-search/defaultTemplates.d.ts +1 -0
  197. package/es/widgets/geo-search/defaultTemplates.js +17 -4
  198. package/es/widgets/hierarchical-menu/defaultTemplates.js +22 -2
  199. package/es/widgets/hierarchical-menu/hierarchical-menu.d.ts +2 -0
  200. package/es/widgets/hits/defaultTemplates.js +3 -1
  201. package/es/widgets/hits/hits.d.ts +2 -1
  202. package/es/widgets/index/index.d.ts +0 -1
  203. package/es/widgets/index/index.js +5 -6
  204. package/es/widgets/infinite-hits/defaultTemplates.js +9 -3
  205. package/es/widgets/infinite-hits/infinite-hits.d.ts +1 -3
  206. package/es/widgets/menu/defaultTemplates.js +22 -2
  207. package/es/widgets/menu-select/defaultTemplates.js +9 -2
  208. package/es/widgets/numeric-menu/defaultTemplates.js +18 -1
  209. package/es/widgets/range-input/range-input.js +6 -2
  210. package/es/widgets/rating-menu/defaultTemplates.js +54 -1
  211. package/es/widgets/rating-menu/rating-menu.d.ts +6 -0
  212. package/es/widgets/refinement-list/defaultTemplates.js +34 -3
  213. package/es/widgets/refinement-list/refinement-list.d.ts +7 -1
  214. package/es/widgets/relevant-sort/defaultTemplates.js +3 -1
  215. package/es/widgets/search-box/defaultTemplates.js +61 -3
  216. package/es/widgets/search-box/search-box.d.ts +10 -3
  217. package/es/widgets/stats/stats.d.ts +10 -6
  218. package/es/widgets/stats/stats.js +69 -22
  219. package/es/widgets/toggle-refinement/defaultTemplates.js +4 -1
  220. package/es/widgets/toggle-refinement/toggle-refinement.d.ts +3 -1
  221. package/es/widgets/voice-search/defaultTemplates.js +81 -9
  222. package/package.json +8 -7
  223. package/cjs/lib/utils/convertNumericRefinementsToFilters.js +0 -31
  224. package/cjs/lib/utils/escape.js +0 -35
  225. package/cjs/lib/utils/unescape.js +0 -32
  226. package/es/lib/utils/convertNumericRefinementsToFilters.d.ts +0 -2
  227. package/es/lib/utils/convertNumericRefinementsToFilters.js +0 -24
  228. package/es/lib/utils/escape.js +0 -27
  229. package/es/lib/utils/unescape.d.ts +0 -9
  230. package/es/lib/utils/unescape.js +0 -25
@@ -3,11 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.isDomElement = isDomElement;
7
7
 
8
8
  function isDomElement(object) {
9
9
  return object instanceof HTMLElement || Boolean(object) && object.nodeType > 0;
10
- }
11
-
12
- var _default = isDomElement;
13
- exports.default = _default;
10
+ }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.isEqual = isEqual;
7
7
 
8
8
  function isPrimitive(obj) {
9
9
  return obj !== Object(obj);
@@ -35,7 +35,4 @@ function isEqual(first, second) {
35
35
  }
36
36
 
37
37
  return true;
38
- }
39
-
40
- var _default = isEqual;
41
- exports.default = _default;
38
+ }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = isFacetRefined;
6
+ exports.isFacetRefined = isFacetRefined;
7
7
 
8
8
  function isFacetRefined(helper, facet, value) {
9
9
  if (helper.state.isHierarchicalFacet(facet)) {
@@ -3,14 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.isFiniteNumber = isFiniteNumber;
7
7
 
8
8
  // This is the `Number.isFinite()` polyfill recommended by MDN.
9
9
  // We do not provide any tests for this function.
10
10
  // See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite#Polyfill
11
+ // @MAJOR Replace with the native `Number.isFinite` method
11
12
  function isFiniteNumber(value) {
12
13
  return typeof value === 'number' && isFinite(value);
13
- }
14
-
15
- var _default = isFiniteNumber;
16
- exports.default = _default;
14
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isIndexWidget = isIndexWidget;
7
+
8
+ function isIndexWidget(widget) {
9
+ return widget.$$type === 'ais.index';
10
+ }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.isPlainObject = isPlainObject;
7
7
 
8
8
  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); }
9
9
 
@@ -46,7 +46,4 @@ function isPlainObject(value) {
46
46
  }
47
47
 
48
48
  return Object.getPrototypeOf(value) === proto;
49
- }
50
-
51
- var _default = isPlainObject;
52
- exports.default = _default;
49
+ }
@@ -3,12 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.isSpecialClick = isSpecialClick;
7
7
 
8
8
  function isSpecialClick(event) {
9
9
  var isMiddleClick = event.button === 1;
10
10
  return isMiddleClick || event.altKey || event.ctrlKey || event.metaKey || event.shiftKey;
11
- }
12
-
13
- var _default = isSpecialClick;
14
- exports.default = _default;
11
+ }
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.warning = exports.deprecate = exports.warn = void 0;
7
7
 
8
- var _noop = _interopRequireDefault(require("./noop.js"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
+ var _noop = require("./noop.js");
11
9
 
12
10
  /**
13
11
  * Logs a warning when this function is called, in development environment only.
@@ -22,14 +20,14 @@ var deprecate = function deprecate(fn, message) {
22
20
 
23
21
 
24
22
  exports.deprecate = deprecate;
25
- var warn = _noop.default;
23
+ var warn = _noop.noop;
26
24
  /**
27
25
  * Logs a warning if the condition is not met.
28
26
  * This is used to log issues in development environment only.
29
27
  */
30
28
 
31
29
  exports.warn = warn;
32
- var _warning = _noop.default;
30
+ var _warning = _noop.noop;
33
31
  exports.warning = _warning;
34
32
 
35
33
  if (process.env.NODE_ENV === 'development') {
@@ -3,13 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.mergeSearchParameters = void 0;
7
7
 
8
- var _findIndex = _interopRequireDefault(require("./findIndex.js"));
8
+ var _findIndex = require("./findIndex.js");
9
9
 
10
- var _uniq = _interopRequireDefault(require("./uniq.js"));
11
-
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ var _uniq = require("./uniq.js");
13
11
 
14
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; }
15
13
 
@@ -53,7 +51,7 @@ var mergeDisjunctiveFacets = function mergeDisjunctiveFacets(left, right) {
53
51
  var mergeHierarchicalFacets = function mergeHierarchicalFacets(left, right) {
54
52
  return left.setQueryParameters({
55
53
  hierarchicalFacets: right.hierarchicalFacets.reduce(function (facets, facet) {
56
- var index = (0, _findIndex.default)(facets, function (_) {
54
+ var index = (0, _findIndex.findIndex)(facets, function (_) {
57
55
  return _.name === facet.name;
58
56
  });
59
57
 
@@ -106,7 +104,7 @@ var mergeHierarchicalFacetsRefinements = function mergeHierarchicalFacetsRefinem
106
104
  };
107
105
 
108
106
  var mergeRuleContexts = function mergeRuleContexts(left, right) {
109
- var ruleContexts = (0, _uniq.default)([].concat(left.ruleContexts).concat(right.ruleContexts).filter(Boolean));
107
+ var ruleContexts = (0, _uniq.uniq)([].concat(left.ruleContexts).concat(right.ruleContexts).filter(Boolean));
110
108
 
111
109
  if (ruleContexts.length > 0) {
112
110
  return left.setQueryParameters({
@@ -117,7 +115,7 @@ var mergeRuleContexts = function mergeRuleContexts(left, right) {
117
115
  return left;
118
116
  };
119
117
 
120
- var merge = function merge() {
118
+ var mergeSearchParameters = function mergeSearchParameters() {
121
119
  for (var _len = arguments.length, parameters = new Array(_len), _key = 0; _key < _len; _key++) {
122
120
  parameters[_key] = arguments[_key];
123
121
  }
@@ -137,5 +135,4 @@ var merge = function merge() {
137
135
  });
138
136
  };
139
137
 
140
- var _default = merge;
141
- exports.default = _default;
138
+ exports.mergeSearchParameters = mergeSearchParameters;
@@ -3,9 +3,6 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.noop = noop;
7
7
 
8
- function noop() {}
9
-
10
- var _default = noop;
11
- exports.default = _default;
8
+ function noop() {}
@@ -3,11 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.prepareTemplateProps = prepareTemplateProps;
7
7
 
8
- var _uniq = _interopRequireDefault(require("./uniq.js"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
+ var _uniq = require("./uniq.js");
11
9
 
12
10
  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; }
13
11
 
@@ -30,7 +28,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
30
28
  function prepareTemplates( // can not use = {} here, since the template could have different constraints
31
29
  defaultTemplates) {
32
30
  var templates = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
33
- var allKeys = (0, _uniq.default)([].concat(_toConsumableArray(Object.keys(defaultTemplates || {})), _toConsumableArray(Object.keys(templates))));
31
+ var allKeys = (0, _uniq.uniq)([].concat(_toConsumableArray(Object.keys(defaultTemplates || {})), _toConsumableArray(Object.keys(templates))));
34
32
  return allKeys.reduce(function (config, key) {
35
33
  var defaultTemplate = defaultTemplates ? defaultTemplates[key] : undefined;
36
34
  var customTemplate = templates[key];
@@ -59,7 +57,4 @@ function prepareTemplateProps(_ref) {
59
57
  return _objectSpread({
60
58
  templatesConfig: templatesConfig
61
59
  }, preparedTemplates);
62
- }
63
-
64
- var _default = prepareTemplateProps;
65
- exports.default = _default;
60
+ }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.range = range;
7
7
 
8
8
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
9
9
 
@@ -34,7 +34,4 @@ function range(_ref) {
34
34
  return _toConsumableArray(Array(arrayLength)).map(function (_, current) {
35
35
  return start + current * limitStep;
36
36
  });
37
- }
38
-
39
- var _default = range;
40
- exports.default = _default;
37
+ }
@@ -3,10 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.renderTemplate = renderTemplate;
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
- return template(data, bindEvent);
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);
@@ -63,7 +78,4 @@ function renderTemplate(_ref) {
63
78
  })).replace(/[ \n\r\t\f\xA0]+/g, function (spaces) {
64
79
  return spaces.replace(/(^|\xA0+)[^\xA0]+/g, '$1 ');
65
80
  }).trim();
66
- }
67
-
68
- var _default = renderTemplate;
69
- exports.default = _default;
81
+ }
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.resolveSearchParameters = resolveSearchParameters;
7
7
 
8
- var resolveSearchParameters = function resolveSearchParameters(current) {
8
+ function resolveSearchParameters(current) {
9
9
  var parent = current.getParent();
10
10
  var states = [current.getHelper().state];
11
11
 
@@ -15,7 +15,4 @@ var resolveSearchParameters = function resolveSearchParameters(current) {
15
15
  }
16
16
 
17
17
  return states;
18
- };
19
-
20
- var _default = resolveSearchParameters;
21
- exports.default = _default;
18
+ }
@@ -3,11 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = reverseHighlightedParts;
6
+ exports.reverseHighlightedParts = reverseHighlightedParts;
7
7
 
8
- var _getHighlightFromSiblings = _interopRequireDefault(require("./getHighlightFromSiblings.js"));
9
-
10
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8
+ var _getHighlightFromSiblings = require("./getHighlightFromSiblings.js");
11
9
 
12
10
  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; }
13
11
 
@@ -28,7 +26,7 @@ function reverseHighlightedParts(parts) {
28
26
 
29
27
  return parts.map(function (part, i) {
30
28
  return _objectSpread(_objectSpread({}, part), {}, {
31
- isHighlighted: !(0, _getHighlightFromSiblings.default)(parts, i)
29
+ isHighlighted: !(0, _getHighlightFromSiblings.getHighlightFromSiblings)(parts, i)
32
30
  });
33
31
  });
34
32
  }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.setIndexHelperState = setIndexHelperState;
7
+
8
+ var _isIndexWidget = require("./isIndexWidget.js");
9
+
10
+ var _checkIndexUiState = require("./checkIndexUiState.js");
11
+
12
+ function setIndexHelperState(finalUiState, indexWidget) {
13
+ var nextIndexUiState = finalUiState[indexWidget.getIndexId()] || {};
14
+
15
+ if (process.env.NODE_ENV === 'development') {
16
+ (0, _checkIndexUiState.checkIndexUiState)({
17
+ index: indexWidget,
18
+ indexUiState: nextIndexUiState
19
+ });
20
+ }
21
+
22
+ indexWidget.getHelper().setState(indexWidget.getWidgetSearchParameters(indexWidget.getHelper().state, {
23
+ uiState: nextIndexUiState
24
+ }));
25
+ indexWidget.getWidgets().filter(_isIndexWidget.isIndexWidget).forEach(function (widget) {
26
+ return setIndexHelperState(finalUiState, widget);
27
+ });
28
+ }
@@ -3,11 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.toArray = toArray;
7
7
 
8
8
  function toArray(value) {
9
9
  return Array.isArray(value) ? value : [value];
10
- }
11
-
12
- var _default = toArray;
13
- exports.default = _default;
10
+ }
@@ -3,13 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = void 0;
6
+ exports.uniq = uniq;
7
7
 
8
8
  function uniq(array) {
9
9
  return array.filter(function (value, index, self) {
10
10
  return self.indexOf(value) === index;
11
11
  });
12
- }
13
-
14
- var _default = uniq;
15
- exports.default = _default;
12
+ }
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- var _default = '4.45.1';
7
+ var _default = '4.46.1';
8
8
  exports.default = _default;
@@ -9,10 +9,6 @@ var _index = require("../helpers/index.js");
9
9
 
10
10
  var _index2 = require("../lib/utils/index.js");
11
11
 
12
- var _connectConfigure = _interopRequireDefault(require("../connectors/configure/connectConfigure.js"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
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; }
17
13
 
18
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; }
@@ -98,31 +94,28 @@ var createInsightsMiddleware = function createInsightsMiddleware(props) {
98
94
  appId: appId,
99
95
  apiKey: apiKey
100
96
  }, insightsInitParams));
101
- var createWidget = (0, _connectConfigure.default)(_index2.noop);
102
- var configureClickAnalytics;
103
- var configureUserToken;
97
+ var initialParameters;
98
+ var helper;
104
99
  return {
105
100
  onStateChange: function onStateChange() {},
106
- subscribe: function subscribe() {
101
+ subscribe: function subscribe() {},
102
+ started: function started() {
107
103
  insightsClient('addAlgoliaAgent', 'insights-middleware');
108
- configureClickAnalytics = createWidget({
109
- searchParameters: {
110
- clickAnalytics: true
111
- }
112
- });
113
- instantSearchInstance.addWidgets([configureClickAnalytics]);
104
+ helper = instantSearchInstance.helper;
105
+ initialParameters = {
106
+ userToken: helper.state.userToken,
107
+ clickAnalytics: helper.state.clickAnalytics
108
+ };
109
+ helper.overrideStateWithoutTriggeringChangeEvent(_objectSpread(_objectSpread({}, helper.state), {}, {
110
+ clickAnalytics: true
111
+ }));
112
+ instantSearchInstance.scheduleSearch();
114
113
 
115
114
  var setUserTokenToSearch = function setUserTokenToSearch(userToken) {
116
- if (configureUserToken) {
117
- instantSearchInstance.removeWidgets([configureUserToken]);
118
- }
119
-
120
- configureUserToken = createWidget({
121
- searchParameters: {
122
- userToken: userToken
123
- }
124
- });
125
- instantSearchInstance.addWidgets([configureUserToken]);
115
+ helper.overrideStateWithoutTriggeringChangeEvent(_objectSpread(_objectSpread({}, helper.state), {}, {
116
+ userToken: userToken
117
+ }));
118
+ instantSearchInstance.scheduleSearch();
126
119
  };
127
120
 
128
121
  var anonymousUserToken = (0, _index.getInsightsAnonymousUserTokenInternal)();
@@ -150,9 +143,7 @@ var createInsightsMiddleware = function createInsightsMiddleware(props) {
150
143
  if (onEvent) {
151
144
  onEvent(event, _insightsClient);
152
145
  } else if (event.insightsMethod) {
153
- // At this point, instantSearchInstance must be started and
154
- // it means there is a configure widget (added above).
155
- var hasUserToken = Boolean(instantSearchInstance.renderState[instantSearchInstance.indexName].configure.widgetParams.searchParameters.userToken);
146
+ var hasUserToken = Boolean(helper.state.userToken);
156
147
 
157
148
  if (hasUserToken) {
158
149
  insightsClient(event.insightsMethod, event.payload);
@@ -166,10 +157,12 @@ var createInsightsMiddleware = function createInsightsMiddleware(props) {
166
157
  },
167
158
  unsubscribe: function unsubscribe() {
168
159
  insightsClient('onUserTokenChange', undefined);
169
- instantSearchInstance.removeWidgets([configureClickAnalytics, configureUserToken]);
170
- configureClickAnalytics = undefined;
171
- configureUserToken = undefined;
172
160
  instantSearchInstance.sendEventToInsights = _index2.noop;
161
+
162
+ if (helper && initialParameters) {
163
+ helper.setState(_objectSpread(_objectSpread({}, helper.state), initialParameters));
164
+ instantSearchInstance.scheduleSearch();
165
+ }
173
166
  }
174
167
  };
175
168
  };
@@ -94,6 +94,7 @@ function createMetadataMiddleware() {
94
94
  refNode.appendChild(payloadContainer);
95
95
  }, 0);
96
96
  },
97
+ started: function started() {},
97
98
  unsubscribe: function unsubscribe() {
98
99
  payloadContainer.remove();
99
100
  }
@@ -57,6 +57,7 @@ var createRouterMiddleware = function createRouterMiddleware() {
57
57
  instantSearchInstance.setUiState(stateMapping.routeToState(route));
58
58
  });
59
59
  },
60
+ started: function started() {},
60
61
  unsubscribe: function unsubscribe() {
61
62
  router.dispose();
62
63
  }
@@ -5,8 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var defaultTemplates = {
8
- header: '',
9
- loader: '',
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: 'Home',
9
- separator: '>'
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;
@@ -5,7 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var defaultTemplates = {
8
- resetLabel: 'Clear refinements'
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
- _this.element.innerHTML = template;
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: '<p>Your custom HTML Marker</p>',
9
- reset: 'Clear the map refinement',
10
- toggle: 'Search as I move the map',
11
- redo: 'Redo search here'
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;