instantsearch.js 4.37.0 → 4.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/cjs/components/Hits/Hits.js +0 -6
  3. package/cjs/components/Pagination/Pagination.js +60 -41
  4. package/cjs/connectors/breadcrumb/connectBreadcrumb.js +10 -3
  5. package/cjs/connectors/clear-refinements/connectClearRefinements.js +11 -6
  6. package/cjs/connectors/current-refinements/connectCurrentRefinements.js +6 -2
  7. package/cjs/connectors/geo-search/connectGeoSearch.js +3 -1
  8. package/cjs/connectors/hierarchical-menu/connectHierarchicalMenu.js +3 -1
  9. package/cjs/connectors/hits/connectHits.js +3 -1
  10. package/cjs/connectors/hits-per-page/connectHitsPerPage.js +3 -1
  11. package/cjs/connectors/infinite-hits/connectInfiniteHits.js +3 -1
  12. package/cjs/connectors/menu/connectMenu.js +3 -1
  13. package/cjs/connectors/numeric-menu/connectNumericMenu.js +5 -3
  14. package/cjs/connectors/query-rules/connectQueryRules.js +3 -1
  15. package/cjs/connectors/refinement-list/connectRefinementList.js +8 -3
  16. package/cjs/connectors/search-box/connectSearchBox.js +15 -25
  17. package/cjs/connectors/sort-by/connectSortBy.js +3 -1
  18. package/cjs/helpers/highlight.js +4 -1
  19. package/cjs/helpers/reverseHighlight.js +4 -1
  20. package/cjs/helpers/reverseSnippet.js +4 -1
  21. package/cjs/helpers/snippet.js +4 -1
  22. package/cjs/lib/InstantSearch.js +9 -4
  23. package/cjs/lib/version.js +1 -1
  24. package/dist/instantsearch.development.d.ts +45 -14
  25. package/dist/instantsearch.development.js +160 -147
  26. package/dist/instantsearch.development.js.map +1 -1
  27. package/dist/instantsearch.production.d.ts +45 -14
  28. package/dist/instantsearch.production.min.d.ts +45 -14
  29. package/dist/instantsearch.production.min.js +2 -2
  30. package/dist/instantsearch.production.min.js.map +1 -1
  31. package/es/components/Hits/Hits.d.ts +1 -9
  32. package/es/components/Hits/Hits.js +0 -6
  33. package/es/components/Pagination/Pagination.d.ts +3 -10
  34. package/es/components/Pagination/Pagination.js +55 -34
  35. package/es/connectors/breadcrumb/connectBreadcrumb.js +10 -3
  36. package/es/connectors/clear-refinements/connectClearRefinements.js +11 -6
  37. package/es/connectors/current-refinements/connectCurrentRefinements.js +6 -2
  38. package/es/connectors/dynamic-widgets/connectDynamicWidgets.d.ts +4 -5
  39. package/es/connectors/geo-search/connectGeoSearch.js +3 -1
  40. package/es/connectors/hierarchical-menu/connectHierarchicalMenu.js +3 -1
  41. package/es/connectors/hits/connectHits.js +3 -1
  42. package/es/connectors/hits-per-page/connectHitsPerPage.js +3 -1
  43. package/es/connectors/infinite-hits/connectInfiniteHits.js +3 -1
  44. package/es/connectors/menu/connectMenu.js +3 -1
  45. package/es/connectors/numeric-menu/connectNumericMenu.js +5 -3
  46. package/es/connectors/query-rules/connectQueryRules.d.ts +1 -2
  47. package/es/connectors/query-rules/connectQueryRules.js +3 -1
  48. package/es/connectors/refinement-list/connectRefinementList.js +8 -3
  49. package/es/connectors/search-box/connectSearchBox.js +15 -25
  50. package/es/connectors/sort-by/connectSortBy.js +3 -1
  51. package/es/connectors/toggle-refinement/connectToggleRefinement.d.ts +36 -7
  52. package/es/helpers/highlight.js +5 -2
  53. package/es/helpers/reverseHighlight.js +5 -2
  54. package/es/helpers/reverseSnippet.js +5 -2
  55. package/es/helpers/snippet.js +5 -2
  56. package/es/lib/InstantSearch.js +9 -4
  57. package/es/lib/version.d.ts +1 -1
  58. package/es/lib/version.js +1 -1
  59. package/es/package.json +1 -1
  60. package/es/types/widget.d.ts +4 -1
  61. package/package.json +3 -3
  62. package/cjs/components/Pagination/PaginationLink.js +0 -60
  63. package/dist/instantsearch.development.min.d.ts +0 -5217
  64. package/es/components/Pagination/PaginationLink.d.ts +0 -16
  65. package/es/components/Pagination/PaginationLink.js +0 -49
@@ -1098,9 +1098,9 @@ declare type DynamicWidgetsConnectorParams = {
1098
1098
  * Function to transform the items to render.
1099
1099
  * The function also exposes the full search response.
1100
1100
  */
1101
- transformItems?(items: string[], metadata: {
1102
- results: SearchResults;
1103
- }): string[];
1101
+ transformItems?: TransformItems<string, Omit<TransformItemsMetadata, 'results'> & {
1102
+ results: NonNullable<TransformItemsMetadata['results']>;
1103
+ }>;
1104
1104
  /**
1105
1105
  * To prevent unneeded extra network requests when widgets mount or unmount,
1106
1106
  * we request all facet values.
@@ -3203,8 +3203,6 @@ declare type ParamTrackedFilters = {
3203
3203
  [facetName: string]: (facetValues: TrackedFilterRefinement[]) => TrackedFilterRefinement[];
3204
3204
  };
3205
3205
 
3206
- declare type ParamTransformItems = TransformItems<any>;
3207
-
3208
3206
  declare type ParamTransformRuleContexts = (ruleContexts: string[]) => string[];
3209
3207
 
3210
3208
  declare type ParseURL<TRouteState> = (args: {
@@ -3345,7 +3343,7 @@ declare type QueryRulesConnector = Connector<QueryRulesWidgetDescription, QueryR
3345
3343
  declare type QueryRulesConnectorParams = {
3346
3344
  trackedFilters?: ParamTrackedFilters;
3347
3345
  transformRuleContexts?: ParamTransformRuleContexts;
3348
- transformItems?: ParamTransformItems;
3346
+ transformItems?: TransformItems<any>;
3349
3347
  };
3350
3348
 
3351
3349
  declare type QueryRulesRenderState = {
@@ -4915,7 +4913,9 @@ declare const toggleRefinement: ToggleRefinementWidget;
4915
4913
  declare type ToggleRefinementConnector = Connector<ToggleRefinementWidgetDescription, ToggleRefinementConnectorParams>;
4916
4914
 
4917
4915
  declare type ToggleRefinementConnectorParams = {
4918
- /** Name of the attribute for faceting (eg. "free_shipping"). */
4916
+ /**
4917
+ * Name of the attribute for faceting (e.g., "free_shipping").
4918
+ */
4919
4919
  attribute: string;
4920
4920
  /**
4921
4921
  * Value to filter on when toggled.
@@ -4950,19 +4950,42 @@ declare type ToggleRefinementCSSClasses = Partial<{
4950
4950
  declare type ToggleRefinementRenderState = {
4951
4951
  /** The current toggle value */
4952
4952
  value: {
4953
+ /**
4954
+ * The attribute name of this toggle.
4955
+ */
4953
4956
  name: string;
4957
+ /**
4958
+ * Whether the current option is "on" (true) or "off" (false)
4959
+ */
4954
4960
  isRefined: boolean;
4961
+ /**
4962
+ * Number of results if this option is toggled.
4963
+ */
4955
4964
  count: number | null;
4965
+ /**
4966
+ * Information about the "on" toggle.
4967
+ */
4956
4968
  onFacetValue: ToggleRefinementValue;
4969
+ /**
4970
+ * Information about the "off" toggle.
4971
+ */
4957
4972
  offFacetValue: ToggleRefinementValue;
4958
4973
  };
4959
- /** Creates an URL for the next state. */
4974
+ /**
4975
+ * Creates an URL for the next state.
4976
+ */
4960
4977
  createURL: CreateURL<string>;
4961
- /** send a "facet clicked" insights event */
4978
+ /**
4979
+ * Send a "Facet Clicked" Insights event.
4980
+ */
4962
4981
  sendEvent: SendEventForToggle;
4963
- /** Indicates if search state can be refined. */
4982
+ /**
4983
+ * Indicates if search state can be refined.
4984
+ */
4964
4985
  canRefine: boolean;
4965
- /** Updates to the next state by applying the toggle refinement. */
4986
+ /**
4987
+ * Updates to the next state by applying the toggle refinement.
4988
+ */
4966
4989
  refine: (value?: {
4967
4990
  isRefined: boolean;
4968
4991
  }) => void;
@@ -4976,9 +4999,13 @@ declare type ToggleRefinementTemplates = Partial<{
4976
4999
  }>;
4977
5000
 
4978
5001
  declare type ToggleRefinementValue = {
4979
- /** whether this option is enabled */
5002
+ /**
5003
+ * Whether this option is enabled.
5004
+ */
4980
5005
  isRefined: boolean;
4981
- /** number of result if this option is enabled */
5006
+ /**
5007
+ * Number of result if this option is toggled.
5008
+ */
4982
5009
  count: number | null;
4983
5010
  };
4984
5011
 
@@ -5021,7 +5048,11 @@ declare type TrackedFilterRefinement = string | number | boolean;
5021
5048
  /**
5022
5049
  * Transforms the given items.
5023
5050
  */
5024
- declare type TransformItems<TItem> = (items: TItem[]) => TItem[];
5051
+ declare type TransformItems<TItem, TMetadata = TransformItemsMetadata> = (items: TItem[], metadata: TMetadata) => TItem[];
5052
+
5053
+ declare type TransformItemsMetadata = {
5054
+ results?: SearchResults;
5055
+ };
5025
5056
 
5026
5057
  declare type TransformSearchParameters = (searchParameters: SearchParameters) => PlainSearchParameters;
5027
5058