instantsearch.js 4.35.0 → 4.37.2

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 (273) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/cjs/components/Answers/Answers.js +1 -1
  3. package/cjs/components/Breadcrumb/Breadcrumb.js +1 -1
  4. package/cjs/components/ClearRefinements/ClearRefinements.js +1 -1
  5. package/cjs/components/CurrentRefinements/CurrentRefinements.js +3 -3
  6. package/cjs/components/GeoSearchControls/GeoSearchControls.js +3 -3
  7. package/cjs/components/Hits/Hits.js +1 -7
  8. package/cjs/components/InfiniteHits/InfiniteHits.js +1 -1
  9. package/cjs/components/MenuSelect/MenuSelect.js +3 -3
  10. package/cjs/components/Pagination/Pagination.js +89 -160
  11. package/cjs/components/Panel/Panel.js +1 -1
  12. package/cjs/components/QueryRuleCustomData/QueryRuleCustomData.js +1 -1
  13. package/cjs/components/RangeInput/RangeInput.js +1 -1
  14. package/cjs/components/RefinementList/RefinementList.js +6 -6
  15. package/cjs/components/RefinementList/RefinementListItem.js +1 -1
  16. package/cjs/components/RelevantSort/RelevantSort.js +1 -1
  17. package/cjs/components/SearchBox/SearchBox.js +9 -10
  18. package/cjs/components/Slider/Slider.js +5 -5
  19. package/cjs/components/Stats/Stats.js +1 -1
  20. package/cjs/components/Template/Template.js +3 -3
  21. package/cjs/components/ToggleRefinement/ToggleRefinement.js +1 -1
  22. package/cjs/components/VoiceSearch/VoiceSearch.js +1 -1
  23. package/cjs/connectors/answers/connectAnswers.js +10 -10
  24. package/cjs/connectors/autocomplete/connectAutocomplete.js +9 -9
  25. package/cjs/connectors/breadcrumb/connectBreadcrumb.js +9 -7
  26. package/cjs/connectors/clear-refinements/connectClearRefinements.js +9 -9
  27. package/cjs/connectors/configure/connectConfigure.js +8 -8
  28. package/cjs/connectors/configure-related-items/connectConfigureRelatedItems.js +5 -5
  29. package/cjs/connectors/current-refinements/connectCurrentRefinements.js +6 -6
  30. package/cjs/connectors/dynamic-widgets/connectDynamicWidgets.js +35 -10
  31. package/cjs/connectors/geo-search/connectGeoSearch.js +11 -11
  32. package/cjs/connectors/hierarchical-menu/connectHierarchicalMenu.js +6 -6
  33. package/cjs/connectors/hits/connectHits.js +11 -11
  34. package/cjs/connectors/hits/connectHitsWithInsights.js +3 -3
  35. package/cjs/connectors/hits-per-page/connectHitsPerPage.js +6 -6
  36. package/cjs/connectors/index.js +31 -31
  37. package/cjs/connectors/infinite-hits/connectInfiniteHits.js +12 -12
  38. package/cjs/connectors/infinite-hits/connectInfiniteHitsWithInsights.js +3 -3
  39. package/cjs/connectors/menu/connectMenu.js +5 -5
  40. package/cjs/connectors/numeric-menu/connectNumericMenu.js +7 -7
  41. package/cjs/connectors/pagination/Paginator.js +3 -3
  42. package/cjs/connectors/pagination/connectPagination.js +5 -5
  43. package/cjs/connectors/powered-by/connectPoweredBy.js +5 -5
  44. package/cjs/connectors/query-rules/connectQueryRules.js +7 -7
  45. package/cjs/connectors/range/connectRange.js +27 -27
  46. package/cjs/connectors/rating-menu/connectRatingMenu.js +6 -6
  47. package/cjs/connectors/refinement-list/connectRefinementList.js +8 -8
  48. package/cjs/connectors/relevant-sort/connectRelevantSort.js +3 -3
  49. package/cjs/connectors/search-box/connectSearchBox.js +19 -29
  50. package/cjs/connectors/sort-by/connectSortBy.js +6 -6
  51. package/cjs/connectors/stats/connectStats.js +4 -4
  52. package/cjs/connectors/toggle-refinement/connectToggleRefinement.js +11 -11
  53. package/cjs/connectors/voice-search/connectVoiceSearch.js +6 -6
  54. package/cjs/helpers/get-insights-anonymous-user-token.js +2 -2
  55. package/cjs/helpers/highlight.js +4 -4
  56. package/cjs/helpers/index.js +6 -6
  57. package/cjs/helpers/insights.js +4 -4
  58. package/cjs/helpers/reverseHighlight.js +5 -5
  59. package/cjs/helpers/reverseSnippet.js +5 -5
  60. package/cjs/helpers/snippet.js +4 -4
  61. package/cjs/index.js +9 -9
  62. package/cjs/lib/InstantSearch.js +32 -27
  63. package/cjs/lib/createHelpers.js +6 -6
  64. package/cjs/lib/infiniteHitsCache/index.js +1 -1
  65. package/cjs/lib/infiniteHitsCache/sessionStorage.js +4 -4
  66. package/cjs/lib/insights/client.js +5 -5
  67. package/cjs/lib/insights/index.js +2 -2
  68. package/cjs/lib/insights/listener.js +3 -3
  69. package/cjs/lib/routers/history.js +6 -6
  70. package/cjs/lib/routers/index.js +1 -1
  71. package/cjs/lib/stateMappings/index.js +2 -2
  72. package/cjs/lib/utils/checkIndexUiState.js +3 -3
  73. package/cjs/lib/utils/checkRendering.js +1 -1
  74. package/cjs/lib/utils/concatHighlightedParts.js +1 -1
  75. package/cjs/lib/utils/createSendEventForFacet.js +1 -1
  76. package/cjs/lib/utils/createSendEventForHits.js +1 -1
  77. package/cjs/lib/utils/detect-insights-client.js +1 -1
  78. package/cjs/lib/utils/escape-highlight.js +2 -2
  79. package/cjs/lib/utils/getContainerNode.js +1 -1
  80. package/cjs/lib/utils/getHighlightFromSiblings.js +1 -1
  81. package/cjs/lib/utils/getHighlightedParts.js +1 -1
  82. package/cjs/lib/utils/getRefinements.js +2 -2
  83. package/cjs/lib/utils/index.js +48 -48
  84. package/cjs/lib/utils/logger.js +1 -1
  85. package/cjs/lib/utils/mergeSearchParameters.js +2 -2
  86. package/cjs/lib/utils/prepareTemplateProps.js +1 -1
  87. package/cjs/lib/utils/reverseHighlightedParts.js +1 -1
  88. package/cjs/lib/version.js +1 -1
  89. package/cjs/middlewares/createInsightsMiddleware.js +11 -11
  90. package/cjs/middlewares/createMetadataMiddleware.js +2 -2
  91. package/cjs/middlewares/createRouterMiddleware.js +4 -4
  92. package/cjs/middlewares/index.js +3 -3
  93. package/cjs/types/index.js +14 -14
  94. package/cjs/widgets/analytics/analytics.js +3 -3
  95. package/cjs/widgets/answers/answers.js +8 -8
  96. package/cjs/widgets/breadcrumb/breadcrumb.js +8 -8
  97. package/cjs/widgets/clear-refinements/clear-refinements.js +8 -8
  98. package/cjs/widgets/configure/configure.js +3 -3
  99. package/cjs/widgets/configure-related-items/configure-related-items.js +3 -3
  100. package/cjs/widgets/current-refinements/current-refinements.js +6 -6
  101. package/cjs/widgets/dynamic-widgets/dynamic-widgets.js +14 -11
  102. package/cjs/widgets/geo-search/GeoSearchRenderer.js +3 -3
  103. package/cjs/widgets/geo-search/geo-search.js +9 -9
  104. package/cjs/widgets/hierarchical-menu/hierarchical-menu.js +8 -8
  105. package/cjs/widgets/hits/hits.js +11 -11
  106. package/cjs/widgets/hits-per-page/hits-per-page.js +7 -7
  107. package/cjs/widgets/index/index.js +6 -6
  108. package/cjs/widgets/index.js +36 -36
  109. package/cjs/widgets/infinite-hits/infinite-hits.js +11 -11
  110. package/cjs/widgets/menu/menu.js +8 -8
  111. package/cjs/widgets/menu-select/menu-select.js +8 -8
  112. package/cjs/widgets/numeric-menu/numeric-menu.js +8 -8
  113. package/cjs/widgets/pagination/pagination.js +7 -7
  114. package/cjs/widgets/panel/panel.js +7 -7
  115. package/cjs/widgets/powered-by/powered-by.js +6 -6
  116. package/cjs/widgets/query-rule-context/query-rule-context.js +4 -4
  117. package/cjs/widgets/query-rule-custom-data/query-rule-custom-data.js +6 -6
  118. package/cjs/widgets/range-input/range-input.js +7 -7
  119. package/cjs/widgets/range-slider/range-slider.js +6 -6
  120. package/cjs/widgets/rating-menu/rating-menu.js +8 -8
  121. package/cjs/widgets/refinement-list/refinement-list.js +10 -10
  122. package/cjs/widgets/relevant-sort/relevant-sort.js +7 -7
  123. package/cjs/widgets/search-box/search-box.js +7 -7
  124. package/cjs/widgets/sort-by/sort-by.js +6 -6
  125. package/cjs/widgets/stats/defaultTemplates.js +1 -1
  126. package/cjs/widgets/stats/stats.js +7 -7
  127. package/cjs/widgets/toggle-refinement/toggle-refinement.js +8 -8
  128. package/cjs/widgets/voice-search/voice-search.js +7 -7
  129. package/dist/instantsearch.development.d.ts +50 -7
  130. package/dist/instantsearch.development.js +341 -412
  131. package/dist/instantsearch.development.js.map +1 -1
  132. package/dist/instantsearch.development.min.d.ts +50 -7
  133. package/dist/instantsearch.production.d.ts +50 -7
  134. package/dist/instantsearch.production.min.d.ts +50 -7
  135. package/dist/instantsearch.production.min.js +2 -2
  136. package/dist/instantsearch.production.min.js.map +1 -1
  137. package/es/components/Answers/Answers.js +1 -1
  138. package/es/components/Breadcrumb/Breadcrumb.js +1 -1
  139. package/es/components/ClearRefinements/ClearRefinements.js +1 -1
  140. package/es/components/CurrentRefinements/CurrentRefinements.js +1 -1
  141. package/es/components/GeoSearchControls/GeoSearchControls.js +3 -3
  142. package/es/components/Hits/Hits.d.ts +1 -9
  143. package/es/components/Hits/Hits.js +1 -7
  144. package/es/components/InfiniteHits/InfiniteHits.js +1 -1
  145. package/es/components/MenuSelect/MenuSelect.js +2 -2
  146. package/es/components/Pagination/Pagination.d.ts +5 -19
  147. package/es/components/Pagination/Pagination.js +89 -158
  148. package/es/components/Panel/Panel.js +1 -1
  149. package/es/components/QueryRuleCustomData/QueryRuleCustomData.js +1 -1
  150. package/es/components/RangeInput/RangeInput.js +1 -1
  151. package/es/components/RefinementList/RefinementList.js +4 -4
  152. package/es/components/RefinementList/RefinementListItem.js +1 -1
  153. package/es/components/RelevantSort/RelevantSort.js +1 -1
  154. package/es/components/SearchBox/SearchBox.js +5 -6
  155. package/es/components/Slider/Slider.js +3 -3
  156. package/es/components/Stats/Stats.js +1 -1
  157. package/es/components/Template/Template.js +1 -1
  158. package/es/components/ToggleRefinement/ToggleRefinement.js +1 -1
  159. package/es/components/VoiceSearch/VoiceSearch.js +1 -1
  160. package/es/connectors/answers/connectAnswers.js +1 -1
  161. package/es/connectors/autocomplete/connectAutocomplete.js +1 -1
  162. package/es/connectors/breadcrumb/connectBreadcrumb.js +5 -3
  163. package/es/connectors/clear-refinements/connectClearRefinements.js +1 -1
  164. package/es/connectors/configure/connectConfigure.js +1 -1
  165. package/es/connectors/configure-related-items/connectConfigureRelatedItems.js +2 -2
  166. package/es/connectors/current-refinements/connectCurrentRefinements.js +1 -1
  167. package/es/connectors/dynamic-widgets/connectDynamicWidgets.d.ts +14 -0
  168. package/es/connectors/dynamic-widgets/connectDynamicWidgets.js +31 -6
  169. package/es/connectors/geo-search/connectGeoSearch.js +1 -1
  170. package/es/connectors/hierarchical-menu/connectHierarchicalMenu.js +1 -1
  171. package/es/connectors/hits/connectHits.js +1 -1
  172. package/es/connectors/hits/connectHitsWithInsights.js +2 -2
  173. package/es/connectors/hits-per-page/connectHitsPerPage.js +1 -1
  174. package/es/connectors/index.js +30 -30
  175. package/es/connectors/infinite-hits/connectInfiniteHits.js +1 -1
  176. package/es/connectors/infinite-hits/connectInfiniteHitsWithInsights.js +2 -2
  177. package/es/connectors/menu/connectMenu.js +1 -1
  178. package/es/connectors/numeric-menu/connectNumericMenu.js +1 -1
  179. package/es/connectors/pagination/Paginator.js +1 -1
  180. package/es/connectors/pagination/connectPagination.js +2 -2
  181. package/es/connectors/powered-by/connectPoweredBy.js +1 -1
  182. package/es/connectors/query-rules/connectQueryRules.js +1 -1
  183. package/es/connectors/range/connectRange.js +1 -1
  184. package/es/connectors/rating-menu/connectRatingMenu.js +1 -1
  185. package/es/connectors/refinement-list/connectRefinementList.js +1 -1
  186. package/es/connectors/relevant-sort/connectRelevantSort.js +1 -1
  187. package/es/connectors/search-box/connectSearchBox.js +16 -26
  188. package/es/connectors/sort-by/connectSortBy.js +1 -1
  189. package/es/connectors/stats/connectStats.js +1 -1
  190. package/es/connectors/toggle-refinement/connectToggleRefinement.d.ts +36 -7
  191. package/es/connectors/toggle-refinement/connectToggleRefinement.js +1 -1
  192. package/es/connectors/voice-search/connectVoiceSearch.js +2 -2
  193. package/es/helpers/get-insights-anonymous-user-token.js +1 -1
  194. package/es/helpers/highlight.js +2 -2
  195. package/es/helpers/index.js +10 -10
  196. package/es/helpers/insights.js +1 -1
  197. package/es/helpers/reverseHighlight.js +2 -2
  198. package/es/helpers/reverseSnippet.js +2 -2
  199. package/es/helpers/snippet.js +2 -2
  200. package/es/index.js +6 -6
  201. package/es/lib/InstantSearch.js +15 -10
  202. package/es/lib/createHelpers.js +1 -1
  203. package/es/lib/infiniteHitsCache/index.js +1 -1
  204. package/es/lib/infiniteHitsCache/sessionStorage.js +1 -1
  205. package/es/lib/insights/client.js +1 -1
  206. package/es/lib/insights/index.js +2 -2
  207. package/es/lib/insights/listener.js +2 -2
  208. package/es/lib/routers/history.js +1 -1
  209. package/es/lib/routers/index.js +1 -1
  210. package/es/lib/stateMappings/index.js +2 -2
  211. package/es/lib/utils/checkIndexUiState.js +3 -3
  212. package/es/lib/utils/checkRendering.js +1 -1
  213. package/es/lib/utils/concatHighlightedParts.js +1 -1
  214. package/es/lib/utils/createSendEventForFacet.js +1 -1
  215. package/es/lib/utils/createSendEventForHits.js +1 -1
  216. package/es/lib/utils/detect-insights-client.js +1 -1
  217. package/es/lib/utils/escape-highlight.js +2 -2
  218. package/es/lib/utils/getContainerNode.js +1 -1
  219. package/es/lib/utils/getHighlightFromSiblings.js +1 -1
  220. package/es/lib/utils/getHighlightedParts.js +1 -1
  221. package/es/lib/utils/getRefinements.js +2 -2
  222. package/es/lib/utils/index.js +48 -48
  223. package/es/lib/utils/logger.js +1 -1
  224. package/es/lib/utils/mergeSearchParameters.js +2 -2
  225. package/es/lib/utils/prepareTemplateProps.js +1 -1
  226. package/es/lib/utils/reverseHighlightedParts.js +1 -1
  227. package/es/lib/version.d.ts +1 -1
  228. package/es/lib/version.js +1 -1
  229. package/es/middlewares/createInsightsMiddleware.js +3 -3
  230. package/es/middlewares/createMetadataMiddleware.js +1 -1
  231. package/es/middlewares/createRouterMiddleware.js +3 -3
  232. package/es/middlewares/index.js +3 -3
  233. package/es/package.json +1 -0
  234. package/es/types/index.js +14 -14
  235. package/es/widgets/analytics/analytics.js +1 -1
  236. package/es/widgets/answers/answers.js +5 -5
  237. package/es/widgets/breadcrumb/breadcrumb.js +5 -5
  238. package/es/widgets/clear-refinements/clear-refinements.js +5 -5
  239. package/es/widgets/configure/configure.js +2 -2
  240. package/es/widgets/configure-related-items/configure-related-items.js +2 -2
  241. package/es/widgets/current-refinements/current-refinements.js +4 -4
  242. package/es/widgets/dynamic-widgets/dynamic-widgets.js +11 -8
  243. package/es/widgets/geo-search/GeoSearchRenderer.js +2 -2
  244. package/es/widgets/geo-search/geo-search.js +6 -6
  245. package/es/widgets/hierarchical-menu/hierarchical-menu.js +5 -5
  246. package/es/widgets/hits/hits.js +6 -6
  247. package/es/widgets/hits-per-page/hits-per-page.js +4 -4
  248. package/es/widgets/index/index.js +1 -1
  249. package/es/widgets/index.js +34 -34
  250. package/es/widgets/infinite-hits/infinite-hits.js +6 -6
  251. package/es/widgets/menu/menu.js +5 -5
  252. package/es/widgets/menu-select/menu-select.js +5 -5
  253. package/es/widgets/numeric-menu/numeric-menu.js +5 -5
  254. package/es/widgets/pagination/pagination.js +4 -4
  255. package/es/widgets/panel/panel.js +3 -3
  256. package/es/widgets/powered-by/powered-by.js +4 -4
  257. package/es/widgets/query-rule-context/query-rule-context.js +2 -2
  258. package/es/widgets/query-rule-custom-data/query-rule-custom-data.js +4 -4
  259. package/es/widgets/range-input/range-input.js +4 -4
  260. package/es/widgets/range-slider/range-slider.js +4 -4
  261. package/es/widgets/rating-menu/rating-menu.js +5 -5
  262. package/es/widgets/refinement-list/refinement-list.js +6 -6
  263. package/es/widgets/relevant-sort/relevant-sort.js +5 -5
  264. package/es/widgets/search-box/search-box.js +5 -5
  265. package/es/widgets/sort-by/sort-by.js +4 -4
  266. package/es/widgets/stats/defaultTemplates.js +1 -1
  267. package/es/widgets/stats/stats.js +4 -4
  268. package/es/widgets/toggle-refinement/toggle-refinement.js +5 -5
  269. package/es/widgets/voice-search/voice-search.js +5 -5
  270. package/package.json +6 -5
  271. package/cjs/components/Pagination/PaginationLink.js +0 -47
  272. package/es/components/Pagination/PaginationLink.d.ts +0 -17
  273. package/es/components/Pagination/PaginationLink.js +0 -39
@@ -1101,6 +1101,20 @@ declare type DynamicWidgetsConnectorParams = {
1101
1101
  transformItems?(items: string[], metadata: {
1102
1102
  results: SearchResults;
1103
1103
  }): string[];
1104
+ /**
1105
+ * To prevent unneeded extra network requests when widgets mount or unmount,
1106
+ * we request all facet values.
1107
+ *
1108
+ * @default ['*']
1109
+ */
1110
+ facets?: ['*'] | never[];
1111
+ /**
1112
+ * If you have more than 20 facet values pinned, you need to increase the
1113
+ * maxValuesPerFacet to at least that value.
1114
+ *
1115
+ * @default 20
1116
+ */
1117
+ maxValuesPerFacet?: number;
1104
1118
  };
1105
1119
 
1106
1120
  declare type DynamicWidgetsRenderState = {
@@ -4901,7 +4915,9 @@ declare const toggleRefinement: ToggleRefinementWidget;
4901
4915
  declare type ToggleRefinementConnector = Connector<ToggleRefinementWidgetDescription, ToggleRefinementConnectorParams>;
4902
4916
 
4903
4917
  declare type ToggleRefinementConnectorParams = {
4904
- /** Name of the attribute for faceting (eg. "free_shipping"). */
4918
+ /**
4919
+ * Name of the attribute for faceting (e.g., "free_shipping").
4920
+ */
4905
4921
  attribute: string;
4906
4922
  /**
4907
4923
  * Value to filter on when toggled.
@@ -4936,19 +4952,42 @@ declare type ToggleRefinementCSSClasses = Partial<{
4936
4952
  declare type ToggleRefinementRenderState = {
4937
4953
  /** The current toggle value */
4938
4954
  value: {
4955
+ /**
4956
+ * The attribute name of this toggle.
4957
+ */
4939
4958
  name: string;
4959
+ /**
4960
+ * Whether the current option is "on" (true) or "off" (false)
4961
+ */
4940
4962
  isRefined: boolean;
4963
+ /**
4964
+ * Number of results if this option is toggled.
4965
+ */
4941
4966
  count: number | null;
4967
+ /**
4968
+ * Information about the "on" toggle.
4969
+ */
4942
4970
  onFacetValue: ToggleRefinementValue;
4971
+ /**
4972
+ * Information about the "off" toggle.
4973
+ */
4943
4974
  offFacetValue: ToggleRefinementValue;
4944
4975
  };
4945
- /** Creates an URL for the next state. */
4976
+ /**
4977
+ * Creates an URL for the next state.
4978
+ */
4946
4979
  createURL: CreateURL<string>;
4947
- /** send a "facet clicked" insights event */
4980
+ /**
4981
+ * Send a "Facet Clicked" Insights event.
4982
+ */
4948
4983
  sendEvent: SendEventForToggle;
4949
- /** Indicates if search state can be refined. */
4984
+ /**
4985
+ * Indicates if search state can be refined.
4986
+ */
4950
4987
  canRefine: boolean;
4951
- /** Updates to the next state by applying the toggle refinement. */
4988
+ /**
4989
+ * Updates to the next state by applying the toggle refinement.
4990
+ */
4952
4991
  refine: (value?: {
4953
4992
  isRefined: boolean;
4954
4993
  }) => void;
@@ -4962,9 +5001,13 @@ declare type ToggleRefinementTemplates = Partial<{
4962
5001
  }>;
4963
5002
 
4964
5003
  declare type ToggleRefinementValue = {
4965
- /** whether this option is enabled */
5004
+ /**
5005
+ * Whether this option is enabled.
5006
+ */
4966
5007
  isRefined: boolean;
4967
- /** number of result if this option is enabled */
5008
+ /**
5009
+ * Number of result if this option is toggled.
5010
+ */
4968
5011
  count: number | null;
4969
5012
  };
4970
5013
 
@@ -1101,6 +1101,20 @@ declare type DynamicWidgetsConnectorParams = {
1101
1101
  transformItems?(items: string[], metadata: {
1102
1102
  results: SearchResults;
1103
1103
  }): string[];
1104
+ /**
1105
+ * To prevent unneeded extra network requests when widgets mount or unmount,
1106
+ * we request all facet values.
1107
+ *
1108
+ * @default ['*']
1109
+ */
1110
+ facets?: ['*'] | never[];
1111
+ /**
1112
+ * If you have more than 20 facet values pinned, you need to increase the
1113
+ * maxValuesPerFacet to at least that value.
1114
+ *
1115
+ * @default 20
1116
+ */
1117
+ maxValuesPerFacet?: number;
1104
1118
  };
1105
1119
 
1106
1120
  declare type DynamicWidgetsRenderState = {
@@ -4901,7 +4915,9 @@ declare const toggleRefinement: ToggleRefinementWidget;
4901
4915
  declare type ToggleRefinementConnector = Connector<ToggleRefinementWidgetDescription, ToggleRefinementConnectorParams>;
4902
4916
 
4903
4917
  declare type ToggleRefinementConnectorParams = {
4904
- /** Name of the attribute for faceting (eg. "free_shipping"). */
4918
+ /**
4919
+ * Name of the attribute for faceting (e.g., "free_shipping").
4920
+ */
4905
4921
  attribute: string;
4906
4922
  /**
4907
4923
  * Value to filter on when toggled.
@@ -4936,19 +4952,42 @@ declare type ToggleRefinementCSSClasses = Partial<{
4936
4952
  declare type ToggleRefinementRenderState = {
4937
4953
  /** The current toggle value */
4938
4954
  value: {
4955
+ /**
4956
+ * The attribute name of this toggle.
4957
+ */
4939
4958
  name: string;
4959
+ /**
4960
+ * Whether the current option is "on" (true) or "off" (false)
4961
+ */
4940
4962
  isRefined: boolean;
4963
+ /**
4964
+ * Number of results if this option is toggled.
4965
+ */
4941
4966
  count: number | null;
4967
+ /**
4968
+ * Information about the "on" toggle.
4969
+ */
4942
4970
  onFacetValue: ToggleRefinementValue;
4971
+ /**
4972
+ * Information about the "off" toggle.
4973
+ */
4943
4974
  offFacetValue: ToggleRefinementValue;
4944
4975
  };
4945
- /** Creates an URL for the next state. */
4976
+ /**
4977
+ * Creates an URL for the next state.
4978
+ */
4946
4979
  createURL: CreateURL<string>;
4947
- /** send a "facet clicked" insights event */
4980
+ /**
4981
+ * Send a "Facet Clicked" Insights event.
4982
+ */
4948
4983
  sendEvent: SendEventForToggle;
4949
- /** Indicates if search state can be refined. */
4984
+ /**
4985
+ * Indicates if search state can be refined.
4986
+ */
4950
4987
  canRefine: boolean;
4951
- /** Updates to the next state by applying the toggle refinement. */
4988
+ /**
4989
+ * Updates to the next state by applying the toggle refinement.
4990
+ */
4952
4991
  refine: (value?: {
4953
4992
  isRefined: boolean;
4954
4993
  }) => void;
@@ -4962,9 +5001,13 @@ declare type ToggleRefinementTemplates = Partial<{
4962
5001
  }>;
4963
5002
 
4964
5003
  declare type ToggleRefinementValue = {
4965
- /** whether this option is enabled */
5004
+ /**
5005
+ * Whether this option is enabled.
5006
+ */
4966
5007
  isRefined: boolean;
4967
- /** number of result if this option is enabled */
5008
+ /**
5009
+ * Number of result if this option is toggled.
5010
+ */
4968
5011
  count: number | null;
4969
5012
  };
4970
5013
 
@@ -1101,6 +1101,20 @@ declare type DynamicWidgetsConnectorParams = {
1101
1101
  transformItems?(items: string[], metadata: {
1102
1102
  results: SearchResults;
1103
1103
  }): string[];
1104
+ /**
1105
+ * To prevent unneeded extra network requests when widgets mount or unmount,
1106
+ * we request all facet values.
1107
+ *
1108
+ * @default ['*']
1109
+ */
1110
+ facets?: ['*'] | never[];
1111
+ /**
1112
+ * If you have more than 20 facet values pinned, you need to increase the
1113
+ * maxValuesPerFacet to at least that value.
1114
+ *
1115
+ * @default 20
1116
+ */
1117
+ maxValuesPerFacet?: number;
1104
1118
  };
1105
1119
 
1106
1120
  declare type DynamicWidgetsRenderState = {
@@ -4901,7 +4915,9 @@ declare const toggleRefinement: ToggleRefinementWidget;
4901
4915
  declare type ToggleRefinementConnector = Connector<ToggleRefinementWidgetDescription, ToggleRefinementConnectorParams>;
4902
4916
 
4903
4917
  declare type ToggleRefinementConnectorParams = {
4904
- /** Name of the attribute for faceting (eg. "free_shipping"). */
4918
+ /**
4919
+ * Name of the attribute for faceting (e.g., "free_shipping").
4920
+ */
4905
4921
  attribute: string;
4906
4922
  /**
4907
4923
  * Value to filter on when toggled.
@@ -4936,19 +4952,42 @@ declare type ToggleRefinementCSSClasses = Partial<{
4936
4952
  declare type ToggleRefinementRenderState = {
4937
4953
  /** The current toggle value */
4938
4954
  value: {
4955
+ /**
4956
+ * The attribute name of this toggle.
4957
+ */
4939
4958
  name: string;
4959
+ /**
4960
+ * Whether the current option is "on" (true) or "off" (false)
4961
+ */
4940
4962
  isRefined: boolean;
4963
+ /**
4964
+ * Number of results if this option is toggled.
4965
+ */
4941
4966
  count: number | null;
4967
+ /**
4968
+ * Information about the "on" toggle.
4969
+ */
4942
4970
  onFacetValue: ToggleRefinementValue;
4971
+ /**
4972
+ * Information about the "off" toggle.
4973
+ */
4943
4974
  offFacetValue: ToggleRefinementValue;
4944
4975
  };
4945
- /** Creates an URL for the next state. */
4976
+ /**
4977
+ * Creates an URL for the next state.
4978
+ */
4946
4979
  createURL: CreateURL<string>;
4947
- /** send a "facet clicked" insights event */
4980
+ /**
4981
+ * Send a "Facet Clicked" Insights event.
4982
+ */
4948
4983
  sendEvent: SendEventForToggle;
4949
- /** Indicates if search state can be refined. */
4984
+ /**
4985
+ * Indicates if search state can be refined.
4986
+ */
4950
4987
  canRefine: boolean;
4951
- /** Updates to the next state by applying the toggle refinement. */
4988
+ /**
4989
+ * Updates to the next state by applying the toggle refinement.
4990
+ */
4952
4991
  refine: (value?: {
4953
4992
  isRefined: boolean;
4954
4993
  }) => void;
@@ -4962,9 +5001,13 @@ declare type ToggleRefinementTemplates = Partial<{
4962
5001
  }>;
4963
5002
 
4964
5003
  declare type ToggleRefinementValue = {
4965
- /** whether this option is enabled */
5004
+ /**
5005
+ * Whether this option is enabled.
5006
+ */
4966
5007
  isRefined: boolean;
4967
- /** number of result if this option is enabled */
5008
+ /**
5009
+ * Number of result if this option is toggled.
5010
+ */
4968
5011
  count: number | null;
4969
5012
  };
4970
5013