instantsearch.js 4.70.0 → 4.71.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 (75) hide show
  1. package/cjs/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.js +1 -2
  2. package/cjs/connectors/geo-search/connectGeoSearch.js +4 -3
  3. package/cjs/connectors/hits/connectHits.js +10 -7
  4. package/cjs/connectors/infinite-hits/connectInfiniteHits.js +7 -8
  5. package/cjs/connectors/looking-similar/connectLookingSimilar.js +2 -3
  6. package/cjs/connectors/related-products/connectRelatedProducts.js +2 -3
  7. package/cjs/connectors/trending-items/connectTrendingItems.js +5 -3
  8. package/cjs/lib/InstantSearch.js +2 -2
  9. package/cjs/lib/version.js +1 -1
  10. package/cjs/widgets/frequently-bought-together/frequently-bought-together.js +1 -3
  11. package/cjs/widgets/geo-search/geo-search.js +4 -3
  12. package/cjs/widgets/hits/defaultTemplates.js +2 -0
  13. package/cjs/widgets/hits/hits.js +3 -4
  14. package/cjs/widgets/infinite-hits/infinite-hits.js +3 -4
  15. package/cjs/widgets/looking-similar/looking-similar.js +4 -6
  16. package/cjs/widgets/rating-menu/defaultTemplates.js +1 -0
  17. package/cjs/widgets/related-products/related-products.js +1 -3
  18. package/cjs/widgets/trending-items/trending-items.js +1 -3
  19. package/dist/instantsearch.development.d.ts +4298 -235
  20. package/dist/instantsearch.development.js +8535 -8525
  21. package/dist/instantsearch.development.js.map +1 -1
  22. package/dist/instantsearch.production.d.ts +4298 -235
  23. package/dist/instantsearch.production.min.d.ts +4298 -235
  24. package/dist/instantsearch.production.min.js +2 -2
  25. package/dist/instantsearch.production.min.js.map +1 -1
  26. package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.d.ts +311 -7
  27. package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.js +2 -3
  28. package/es/connectors/geo-search/connectGeoSearch.d.ts +218 -8
  29. package/es/connectors/geo-search/connectGeoSearch.js +5 -4
  30. package/es/connectors/hits/connectHits.d.ts +128 -7
  31. package/es/connectors/hits/connectHits.js +11 -8
  32. package/es/connectors/hits/connectHitsWithInsights.d.ts +190 -1
  33. package/es/connectors/infinite-hits/connectInfiniteHits.d.ts +192 -12
  34. package/es/connectors/infinite-hits/connectInfiniteHits.js +8 -9
  35. package/es/connectors/infinite-hits/connectInfiniteHitsWithInsights.d.ts +249 -1
  36. package/es/connectors/looking-similar/connectLookingSimilar.d.ts +303 -7
  37. package/es/connectors/looking-similar/connectLookingSimilar.js +3 -4
  38. package/es/connectors/related-products/connectRelatedProducts.d.ts +303 -7
  39. package/es/connectors/related-products/connectRelatedProducts.js +3 -4
  40. package/es/connectors/trending-items/connectTrendingItems.d.ts +310 -9
  41. package/es/connectors/trending-items/connectTrendingItems.js +7 -5
  42. package/es/lib/InstantSearch.d.ts +1 -2
  43. package/es/lib/InstantSearch.js +1 -1
  44. package/es/lib/utils/checkIndexUiState.d.ts +1 -2
  45. package/es/lib/utils/checkRendering.d.ts +1 -1
  46. package/es/lib/utils/getWidgetAttribute.d.ts +1 -2
  47. package/es/lib/utils/isIndexWidget.d.ts +1 -2
  48. package/es/lib/utils/render-args.d.ts +1 -2
  49. package/es/lib/utils/resolveSearchParameters.d.ts +1 -1
  50. package/es/lib/utils/setIndexHelperState.d.ts +1 -2
  51. package/es/lib/version.d.ts +1 -1
  52. package/es/lib/version.js +1 -1
  53. package/es/types/index.d.ts +0 -1
  54. package/es/types/index.js +1 -4
  55. package/es/types/results.d.ts +4 -3
  56. package/es/types/widget.d.ts +2 -2
  57. package/es/widgets/frequently-bought-together/frequently-bought-together.d.ts +306 -9
  58. package/es/widgets/frequently-bought-together/frequently-bought-together.js +2 -4
  59. package/es/widgets/geo-search/geo-search.d.ts +328 -8
  60. package/es/widgets/geo-search/geo-search.js +5 -4
  61. package/es/widgets/hits/defaultTemplates.d.ts +32 -2
  62. package/es/widgets/hits/defaultTemplates.js +3 -0
  63. package/es/widgets/hits/hits.d.ts +204 -8
  64. package/es/widgets/hits/hits.js +4 -5
  65. package/es/widgets/index.d.ts +1 -0
  66. package/es/widgets/infinite-hits/infinite-hits.d.ts +262 -9
  67. package/es/widgets/infinite-hits/infinite-hits.js +4 -5
  68. package/es/widgets/looking-similar/looking-similar.d.ts +309 -9
  69. package/es/widgets/looking-similar/looking-similar.js +5 -7
  70. package/es/widgets/rating-menu/defaultTemplates.js +1 -0
  71. package/es/widgets/related-products/related-products.d.ts +306 -9
  72. package/es/widgets/related-products/related-products.js +2 -4
  73. package/es/widgets/trending-items/trending-items.d.ts +310 -9
  74. package/es/widgets/trending-items/trending-items.js +2 -4
  75. package/package.json +5 -5
@@ -1,12 +1,12 @@
1
- import type { Connector, TransformItems, Hit, BaseHit } from '../../types';
1
+ import type { Connector, TransformItems, Hit, BaseHit, Renderer, Unmounter } from '../../types';
2
2
  import type { PlainSearchParameters, RecommendResultItem } from 'algoliasearch-helper';
3
- export type TrendingItemsRenderState<THit extends BaseHit = BaseHit> = {
3
+ export type TrendingItemsRenderState<THit extends NonNullable<object> = BaseHit> = {
4
4
  /**
5
5
  * The matched recommendations from the Algolia API.
6
6
  */
7
7
  items: Array<Hit<THit>>;
8
8
  };
9
- export type TrendingItemsConnectorParams<THit extends BaseHit = BaseHit> = ({
9
+ export type TrendingItemsConnectorParams<THit extends NonNullable<object> = BaseHit> = ({
10
10
  /**
11
11
  * The facet attribute to get recommendations for.
12
12
  */
@@ -16,8 +16,8 @@ export type TrendingItemsConnectorParams<THit extends BaseHit = BaseHit> = ({
16
16
  */
17
17
  facetValue: string;
18
18
  } | {
19
- facetName?: never;
20
- facetValue?: never;
19
+ facetName?: string;
20
+ facetValue?: string;
21
21
  }) & {
22
22
  /**
23
23
  * The number of recommendations to retrieve.
@@ -48,10 +48,311 @@ export type TrendingItemsConnectorParams<THit extends BaseHit = BaseHit> = ({
48
48
  results: RecommendResultItem;
49
49
  }>;
50
50
  };
51
- export type TrendingItemsWidgetDescription<THit extends BaseHit = BaseHit> = {
51
+ export type TrendingItemsWidgetDescription<THit extends NonNullable<object> = BaseHit> = {
52
52
  $$type: 'ais.trendingItems';
53
53
  renderState: TrendingItemsRenderState<THit>;
54
54
  };
55
- export type TrendingItemsConnector<THit extends BaseHit = BaseHit> = Connector<TrendingItemsWidgetDescription<THit>, TrendingItemsConnectorParams<THit>>;
56
- declare const connectTrendingItems: TrendingItemsConnector;
57
- export default connectTrendingItems;
55
+ export type TrendingItemsConnector<THit extends NonNullable<object> = BaseHit> = Connector<TrendingItemsWidgetDescription<THit>, TrendingItemsConnectorParams<THit>>;
56
+ declare const _default: <TWidgetParams extends object>(renderFn: Renderer<TrendingItemsRenderState<BaseHit>, TWidgetParams & TrendingItemsConnectorParams<BaseHit>>, unmountFn?: Unmounter) => <THit extends object = BaseHit>(widgetParams: TWidgetParams & TrendingItemsConnectorParams<THit>) => {
57
+ dependsOn: "recommend";
58
+ $$type: "ais.trendingItems";
59
+ init(initOptions: import("../../types").InitOptions): void;
60
+ render(renderOptions: import("../../types").RenderOptions): void;
61
+ getRenderState(renderState: {
62
+ answers?: import("../../types").WidgetRenderState<import("../answers/connectAnswers").AnswersRenderState, import("../answers/connectAnswers").AnswersConnectorParams> | undefined;
63
+ autocomplete?: import("../../types").WidgetRenderState<import("../autocomplete/connectAutocomplete").AutocompleteRenderState, import("../autocomplete/connectAutocomplete").AutocompleteConnectorParams> | undefined;
64
+ breadcrumb?: {
65
+ [rootAttribute: string]: import("../../types").WidgetRenderState<import("../breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
66
+ } | undefined;
67
+ clearRefinements?: import("../../types").WidgetRenderState<import("../clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
68
+ configure?: import("../../types").WidgetRenderState<import("../configure/connectConfigure").ConfigureRenderState, import("../configure/connectConfigure").ConfigureConnectorParams> | undefined;
69
+ currentRefinements?: import("../../types").WidgetRenderState<import("../current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
70
+ geoSearch?: import("../../types").WidgetRenderState<import("../geo-search/connectGeoSearch").GeoSearchRenderState<import("../../types").GeoHit>, import("../geo-search/connectGeoSearch").GeoSearchConnectorParams<import("../../types").GeoHit>> | undefined;
71
+ hierarchicalMenu?: {
72
+ [rootAttribute: string]: import("../../types").WidgetRenderState<import("../hierarchical-menu/connectHierarchicalMenu").HierarchicalMenuRenderState, import("../hierarchical-menu/connectHierarchicalMenu").HierarchicalMenuConnectorParams>;
73
+ } | undefined;
74
+ hits?: import("../../types").WidgetRenderState<import("../hits/connectHits").HitsRenderState<BaseHit>, import("../hits/connectHits").HitsConnectorParams<BaseHit>> | undefined;
75
+ hitsPerPage?: import("../../types").WidgetRenderState<import("../hits-per-page/connectHitsPerPage").HitsPerPageRenderState, import("../hits-per-page/connectHitsPerPage").HitsPerPageConnectorParams> | undefined;
76
+ infiniteHits?: import("../../types").WidgetRenderState<import("../infinite-hits/connectInfiniteHits").InfiniteHitsRenderState<BaseHit>, import("../infinite-hits/connectInfiniteHits").InfiniteHitsConnectorParams<BaseHit>> | undefined;
77
+ menu?: {
78
+ [attribute: string]: import("../../types").WidgetRenderState<import("../menu/connectMenu").MenuRenderState, import("../menu/connectMenu").MenuConnectorParams>;
79
+ } | undefined;
80
+ numericMenu?: {
81
+ [attribute: string]: import("../../types").WidgetRenderState<import("../numeric-menu/connectNumericMenu").NumericMenuRenderState, import("../numeric-menu/connectNumericMenu").NumericMenuConnectorParams>;
82
+ } | undefined;
83
+ pagination?: import("../../types").WidgetRenderState<import("../pagination/connectPagination").PaginationRenderState, import("../pagination/connectPagination").PaginationConnectorParams> | undefined;
84
+ poweredBy?: import("../../types").WidgetRenderState<import("../powered-by/connectPoweredBy").PoweredByRenderState, import("../powered-by/connectPoweredBy").PoweredByConnectorParams> | undefined;
85
+ queryRules?: import("../../types").WidgetRenderState<import("../query-rules/connectQueryRules").QueryRulesRenderState, import("../query-rules/connectQueryRules").QueryRulesConnectorParams> | undefined;
86
+ range?: {
87
+ [attribute: string]: import("../../types").WidgetRenderState<import("../range/connectRange").RangeRenderState, import("../range/connectRange").RangeConnectorParams>;
88
+ } | undefined;
89
+ ratingMenu?: {
90
+ [attribute: string]: import("../../types").WidgetRenderState<import("../rating-menu/connectRatingMenu").RatingMenuRenderState, import("../rating-menu/connectRatingMenu").RatingMenuConnectorParams>;
91
+ } | undefined;
92
+ refinementList?: {
93
+ [attribute: string]: import("../../types").WidgetRenderState<import("../refinement-list/connectRefinementList").RefinementListRenderState, import("../refinement-list/connectRefinementList").RefinementListConnectorParams>;
94
+ } | undefined;
95
+ relevantSort?: import("../../types").WidgetRenderState<import("../relevant-sort/connectRelevantSort").RelevantSortRenderState, import("../relevant-sort/connectRelevantSort").RelevantSortConnectorParams> | undefined;
96
+ searchBox?: import("../../types").WidgetRenderState<import("../search-box/connectSearchBox").SearchBoxRenderState, import("../search-box/connectSearchBox").SearchBoxConnectorParams> | undefined;
97
+ sortBy?: import("../../types").WidgetRenderState<import("../sort-by/connectSortBy").SortByRenderState, import("../sort-by/connectSortBy").SortByConnectorParams> | undefined;
98
+ stats?: import("../../types").WidgetRenderState<import("../stats/connectStats").StatsRenderState, import("../stats/connectStats").StatsConnectorParams> | undefined;
99
+ toggleRefinement?: {
100
+ [attribute: string]: import("../../types").WidgetRenderState<import("../toggle-refinement/connectToggleRefinement").ToggleRefinementRenderState, import("../toggle-refinement/connectToggleRefinement").ToggleRefinementConnectorParams>;
101
+ } | undefined;
102
+ voiceSearch?: import("../../types").WidgetRenderState<import("../voice-search/connectVoiceSearch").VoiceSearchRenderState, import("../voice-search/connectVoiceSearch").VoiceSearchConnectorParams> | undefined;
103
+ analytics?: import("../../types").WidgetRenderState<Record<string, unknown>, import("../../widgets/analytics/analytics").AnalyticsWidgetParams> | undefined;
104
+ places?: import("../../types").WidgetRenderState<Record<string, unknown>, import("../../widgets/places/places").PlacesWidgetParams> | undefined;
105
+ }): {
106
+ answers?: import("../../types").WidgetRenderState<import("../answers/connectAnswers").AnswersRenderState, import("../answers/connectAnswers").AnswersConnectorParams> | undefined;
107
+ autocomplete?: import("../../types").WidgetRenderState<import("../autocomplete/connectAutocomplete").AutocompleteRenderState, import("../autocomplete/connectAutocomplete").AutocompleteConnectorParams> | undefined;
108
+ breadcrumb?: {
109
+ [rootAttribute: string]: import("../../types").WidgetRenderState<import("../breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
110
+ } | undefined;
111
+ clearRefinements?: import("../../types").WidgetRenderState<import("../clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams> | undefined;
112
+ configure?: import("../../types").WidgetRenderState<import("../configure/connectConfigure").ConfigureRenderState, import("../configure/connectConfigure").ConfigureConnectorParams> | undefined;
113
+ currentRefinements?: import("../../types").WidgetRenderState<import("../current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams> | undefined;
114
+ geoSearch?: import("../../types").WidgetRenderState<import("../geo-search/connectGeoSearch").GeoSearchRenderState<import("../../types").GeoHit>, import("../geo-search/connectGeoSearch").GeoSearchConnectorParams<import("../../types").GeoHit>> | undefined;
115
+ hierarchicalMenu?: {
116
+ [rootAttribute: string]: import("../../types").WidgetRenderState<import("../hierarchical-menu/connectHierarchicalMenu").HierarchicalMenuRenderState, import("../hierarchical-menu/connectHierarchicalMenu").HierarchicalMenuConnectorParams>;
117
+ } | undefined;
118
+ hits?: import("../../types").WidgetRenderState<import("../hits/connectHits").HitsRenderState<BaseHit>, import("../hits/connectHits").HitsConnectorParams<BaseHit>> | undefined;
119
+ hitsPerPage?: import("../../types").WidgetRenderState<import("../hits-per-page/connectHitsPerPage").HitsPerPageRenderState, import("../hits-per-page/connectHitsPerPage").HitsPerPageConnectorParams> | undefined;
120
+ infiniteHits?: import("../../types").WidgetRenderState<import("../infinite-hits/connectInfiniteHits").InfiniteHitsRenderState<BaseHit>, import("../infinite-hits/connectInfiniteHits").InfiniteHitsConnectorParams<BaseHit>> | undefined;
121
+ menu?: {
122
+ [attribute: string]: import("../../types").WidgetRenderState<import("../menu/connectMenu").MenuRenderState, import("../menu/connectMenu").MenuConnectorParams>;
123
+ } | undefined;
124
+ numericMenu?: {
125
+ [attribute: string]: import("../../types").WidgetRenderState<import("../numeric-menu/connectNumericMenu").NumericMenuRenderState, import("../numeric-menu/connectNumericMenu").NumericMenuConnectorParams>;
126
+ } | undefined;
127
+ pagination?: import("../../types").WidgetRenderState<import("../pagination/connectPagination").PaginationRenderState, import("../pagination/connectPagination").PaginationConnectorParams> | undefined;
128
+ poweredBy?: import("../../types").WidgetRenderState<import("../powered-by/connectPoweredBy").PoweredByRenderState, import("../powered-by/connectPoweredBy").PoweredByConnectorParams> | undefined;
129
+ queryRules?: import("../../types").WidgetRenderState<import("../query-rules/connectQueryRules").QueryRulesRenderState, import("../query-rules/connectQueryRules").QueryRulesConnectorParams> | undefined;
130
+ range?: {
131
+ [attribute: string]: import("../../types").WidgetRenderState<import("../range/connectRange").RangeRenderState, import("../range/connectRange").RangeConnectorParams>;
132
+ } | undefined;
133
+ ratingMenu?: {
134
+ [attribute: string]: import("../../types").WidgetRenderState<import("../rating-menu/connectRatingMenu").RatingMenuRenderState, import("../rating-menu/connectRatingMenu").RatingMenuConnectorParams>;
135
+ } | undefined;
136
+ refinementList?: {
137
+ [attribute: string]: import("../../types").WidgetRenderState<import("../refinement-list/connectRefinementList").RefinementListRenderState, import("../refinement-list/connectRefinementList").RefinementListConnectorParams>;
138
+ } | undefined;
139
+ relevantSort?: import("../../types").WidgetRenderState<import("../relevant-sort/connectRelevantSort").RelevantSortRenderState, import("../relevant-sort/connectRelevantSort").RelevantSortConnectorParams> | undefined;
140
+ searchBox?: import("../../types").WidgetRenderState<import("../search-box/connectSearchBox").SearchBoxRenderState, import("../search-box/connectSearchBox").SearchBoxConnectorParams> | undefined;
141
+ sortBy?: import("../../types").WidgetRenderState<import("../sort-by/connectSortBy").SortByRenderState, import("../sort-by/connectSortBy").SortByConnectorParams> | undefined;
142
+ stats?: import("../../types").WidgetRenderState<import("../stats/connectStats").StatsRenderState, import("../stats/connectStats").StatsConnectorParams> | undefined;
143
+ toggleRefinement?: {
144
+ [attribute: string]: import("../../types").WidgetRenderState<import("../toggle-refinement/connectToggleRefinement").ToggleRefinementRenderState, import("../toggle-refinement/connectToggleRefinement").ToggleRefinementConnectorParams>;
145
+ } | undefined;
146
+ voiceSearch?: import("../../types").WidgetRenderState<import("../voice-search/connectVoiceSearch").VoiceSearchRenderState, import("../voice-search/connectVoiceSearch").VoiceSearchConnectorParams> | undefined;
147
+ analytics?: import("../../types").WidgetRenderState<Record<string, unknown>, import("../../widgets/analytics/analytics").AnalyticsWidgetParams> | undefined;
148
+ places?: import("../../types").WidgetRenderState<Record<string, unknown>, import("../../widgets/places/places").PlacesWidgetParams> | undefined;
149
+ };
150
+ getWidgetRenderState({ results }: import("../../types").InitOptions | import("../../types").RenderOptions | ({
151
+ /**
152
+ * The matched recommendations from the Algolia API.
153
+ */
154
+ instantSearchInstance: import("../../lib/InstantSearch").default<import("../../types").UiState, import("../../types").UiState>;
155
+ parent: import("../../types").IndexWidget;
156
+ templatesConfig: Record<string, unknown>;
157
+ scopedResults: import("../../types").ScopedResult[];
158
+ state: import("algoliasearch-helper").SearchParameters;
159
+ renderState: Partial<{
160
+ answers: import("../../types").WidgetRenderState<import("../answers/connectAnswers").AnswersRenderState, import("../answers/connectAnswers").AnswersConnectorParams>;
161
+ } & {
162
+ autocomplete: import("../../types").WidgetRenderState<import("../autocomplete/connectAutocomplete").AutocompleteRenderState, import("../autocomplete/connectAutocomplete").AutocompleteConnectorParams>;
163
+ } & {
164
+ breadcrumb: {
165
+ [rootAttribute: string]: import("../../types").WidgetRenderState<import("../breadcrumb/connectBreadcrumb").BreadcrumbRenderState, import("../breadcrumb/connectBreadcrumb").BreadcrumbConnectorParams>;
166
+ };
167
+ } & {
168
+ clearRefinements: import("../../types").WidgetRenderState<import("../clear-refinements/connectClearRefinements").ClearRefinementsRenderState, import("../clear-refinements/connectClearRefinements").ClearRefinementsConnectorParams>;
169
+ } & {
170
+ configure: import("../../types").WidgetRenderState<import("../configure/connectConfigure").ConfigureRenderState, import("../configure/connectConfigure").ConfigureConnectorParams>;
171
+ } & {
172
+ currentRefinements: import("../../types").WidgetRenderState<import("../current-refinements/connectCurrentRefinements").CurrentRefinementsRenderState, import("../current-refinements/connectCurrentRefinements").CurrentRefinementsConnectorParams>;
173
+ } & {
174
+ geoSearch: import("../../types").WidgetRenderState<import("../geo-search/connectGeoSearch").GeoSearchRenderState<import("../../types").GeoHit>, import("../geo-search/connectGeoSearch").GeoSearchConnectorParams<import("../../types").GeoHit>>;
175
+ } & {
176
+ hierarchicalMenu: {
177
+ [rootAttribute: string]: import("../../types").WidgetRenderState<import("../hierarchical-menu/connectHierarchicalMenu").HierarchicalMenuRenderState, import("../hierarchical-menu/connectHierarchicalMenu").HierarchicalMenuConnectorParams>;
178
+ };
179
+ } & {
180
+ hits: import("../../types").WidgetRenderState<import("../hits/connectHits").HitsRenderState<BaseHit>, import("../hits/connectHits").HitsConnectorParams<BaseHit>>;
181
+ } & {
182
+ hitsPerPage: import("../../types").WidgetRenderState<import("../hits-per-page/connectHitsPerPage").HitsPerPageRenderState, import("../hits-per-page/connectHitsPerPage").HitsPerPageConnectorParams>;
183
+ } & {
184
+ infiniteHits: import("../../types").WidgetRenderState<import("../infinite-hits/connectInfiniteHits").InfiniteHitsRenderState<BaseHit>, import("../infinite-hits/connectInfiniteHits").InfiniteHitsConnectorParams<BaseHit>>;
185
+ } & {
186
+ menu: {
187
+ [attribute: string]: import("../../types").WidgetRenderState<import("../menu/connectMenu").MenuRenderState, import("../menu/connectMenu").MenuConnectorParams>;
188
+ };
189
+ } & {
190
+ numericMenu: {
191
+ [attribute: string]: import("../../types").WidgetRenderState<import("../numeric-menu/connectNumericMenu").NumericMenuRenderState, import("../numeric-menu/connectNumericMenu").NumericMenuConnectorParams>;
192
+ };
193
+ } & {
194
+ pagination: import("../../types").WidgetRenderState<import("../pagination/connectPagination").PaginationRenderState, import("../pagination/connectPagination").PaginationConnectorParams>;
195
+ } & {
196
+ poweredBy: import("../../types").WidgetRenderState<import("../powered-by/connectPoweredBy").PoweredByRenderState, import("../powered-by/connectPoweredBy").PoweredByConnectorParams>;
197
+ } & {
198
+ queryRules: import("../../types").WidgetRenderState<import("../query-rules/connectQueryRules").QueryRulesRenderState, import("../query-rules/connectQueryRules").QueryRulesConnectorParams>;
199
+ } & {
200
+ range: {
201
+ [attribute: string]: import("../../types").WidgetRenderState<import("../range/connectRange").RangeRenderState, import("../range/connectRange").RangeConnectorParams>;
202
+ };
203
+ } & {
204
+ ratingMenu: {
205
+ [attribute: string]: import("../../types").WidgetRenderState<import("../rating-menu/connectRatingMenu").RatingMenuRenderState, import("../rating-menu/connectRatingMenu").RatingMenuConnectorParams>;
206
+ };
207
+ } & {
208
+ refinementList: {
209
+ [attribute: string]: import("../../types").WidgetRenderState<import("../refinement-list/connectRefinementList").RefinementListRenderState, import("../refinement-list/connectRefinementList").RefinementListConnectorParams>;
210
+ };
211
+ } & {
212
+ relevantSort: import("../../types").WidgetRenderState<import("../relevant-sort/connectRelevantSort").RelevantSortRenderState, import("../relevant-sort/connectRelevantSort").RelevantSortConnectorParams>;
213
+ } & {
214
+ searchBox: import("../../types").WidgetRenderState<import("../search-box/connectSearchBox").SearchBoxRenderState, import("../search-box/connectSearchBox").SearchBoxConnectorParams>;
215
+ } & {
216
+ sortBy: import("../../types").WidgetRenderState<import("../sort-by/connectSortBy").SortByRenderState, import("../sort-by/connectSortBy").SortByConnectorParams>;
217
+ } & {
218
+ stats: import("../../types").WidgetRenderState<import("../stats/connectStats").StatsRenderState, import("../stats/connectStats").StatsConnectorParams>;
219
+ } & {
220
+ toggleRefinement: {
221
+ [attribute: string]: import("../../types").WidgetRenderState<import("../toggle-refinement/connectToggleRefinement").ToggleRefinementRenderState, import("../toggle-refinement/connectToggleRefinement").ToggleRefinementConnectorParams>;
222
+ };
223
+ } & {
224
+ voiceSearch: import("../../types").WidgetRenderState<import("../voice-search/connectVoiceSearch").VoiceSearchRenderState, import("../voice-search/connectVoiceSearch").VoiceSearchConnectorParams>;
225
+ } & {
226
+ analytics: import("../../types").WidgetRenderState<Record<string, unknown>, import("../../widgets/analytics/analytics").AnalyticsWidgetParams>;
227
+ } & {
228
+ places: import("../../types").WidgetRenderState<Record<string, unknown>, import("../../widgets/places/places").PlacesWidgetParams>;
229
+ }>; /**
230
+ * The facet attribute to get recommendations for.
231
+ */
232
+ helper: import("algoliasearch-helper").AlgoliaSearchHelper;
233
+ searchMetadata: {
234
+ isSearchStalled: boolean;
235
+ };
236
+ status: import("../../types").InstantSearchStatus;
237
+ error: Error | undefined;
238
+ createURL: (nextState: import("algoliasearch-helper").SearchParameters | ((state: Partial<{
239
+ query: string;
240
+ } & {
241
+ configure: PlainSearchParameters;
242
+ } & {
243
+ geoSearch: {
244
+ boundingBox: string;
245
+ };
246
+ } & {
247
+ hierarchicalMenu: {
248
+ [rootAttribute: string]: string[];
249
+ };
250
+ } & {
251
+ hitsPerPage: number;
252
+ } & {
253
+ page: number;
254
+ } & {
255
+ menu: {
256
+ [attribute: string]: string;
257
+ };
258
+ } & {
259
+ numericMenu: {
260
+ [attribute: string]: string;
261
+ };
262
+ } & {
263
+ page: number;
264
+ } & {
265
+ range: {
266
+ [attribute: string]: string;
267
+ };
268
+ } & {
269
+ ratingMenu: {
270
+ [attribute: string]: number | undefined;
271
+ };
272
+ } & {
273
+ refinementList: {
274
+ [attribute: string]: string[];
275
+ };
276
+ } & {
277
+ relevantSort: number;
278
+ } & {
279
+ query: string;
280
+ } & {
281
+ sortBy: string;
282
+ } & {
283
+ toggle: {
284
+ [attribute: string]: boolean;
285
+ };
286
+ } & {
287
+ query: string;
288
+ } & {
289
+ places: {
290
+ query: string;
291
+ position: string;
292
+ };
293
+ }>) => Partial<{
294
+ query: string;
295
+ } & {
296
+ configure: PlainSearchParameters;
297
+ } & {
298
+ geoSearch: {
299
+ boundingBox: string;
300
+ };
301
+ } & {
302
+ hierarchicalMenu: {
303
+ [rootAttribute: string]: string[];
304
+ };
305
+ } & {
306
+ hitsPerPage: number;
307
+ } & {
308
+ page: number;
309
+ } & {
310
+ menu: {
311
+ [attribute: string]: string;
312
+ };
313
+ } & {
314
+ numericMenu: {
315
+ [attribute: string]: string;
316
+ };
317
+ } & {
318
+ page: number;
319
+ } & {
320
+ range: {
321
+ [attribute: string]: string;
322
+ };
323
+ } & {
324
+ ratingMenu: {
325
+ [attribute: string]: number | undefined;
326
+ };
327
+ } & {
328
+ refinementList: {
329
+ [attribute: string]: string[];
330
+ };
331
+ } & {
332
+ relevantSort: number;
333
+ } & {
334
+ query: string;
335
+ } & {
336
+ sortBy: string;
337
+ } & {
338
+ toggle: {
339
+ [attribute: string]: boolean;
340
+ };
341
+ } & {
342
+ query: string;
343
+ } & {
344
+ places: {
345
+ query: string;
346
+ position: string;
347
+ };
348
+ }>)) => string;
349
+ } & {
350
+ results: RecommendResultItem;
351
+ })): {
352
+ items: Hit<THit>[];
353
+ widgetParams: TWidgetParams & TrendingItemsConnectorParams<THit>;
354
+ };
355
+ dispose({ recommendState }: import("../../types").DisposeOptions): import("algoliasearch-helper").RecommendParameters;
356
+ getWidgetParameters(state: import("algoliasearch-helper").RecommendParameters): import("algoliasearch-helper").RecommendParameters;
357
+ };
358
+ export default _default;
@@ -4,15 +4,15 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
4
4
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
5
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
6
6
  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
7
- import { createDocumentationMessageGenerator, checkRendering, noop, escapeHits, TAG_PLACEHOLDER } from "../../lib/utils/index.js";
7
+ import { createDocumentationMessageGenerator, checkRendering, noop, escapeHits, TAG_PLACEHOLDER, getObjectType } from "../../lib/utils/index.js";
8
8
  var withUsage = createDocumentationMessageGenerator({
9
9
  name: 'trending-items',
10
10
  connector: true
11
11
  });
12
- var connectTrendingItems = function connectTrendingItems(renderFn) {
12
+ export default (function connectTrendingItems(renderFn) {
13
13
  var unmountFn = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;
14
14
  checkRendering(renderFn, withUsage());
15
- return function trendingItems(widgetParams) {
15
+ return function (widgetParams) {
16
16
  var _ref = widgetParams || {},
17
17
  facetName = _ref.facetName,
18
18
  facetValue = _ref.facetValue,
@@ -26,6 +26,9 @@ var connectTrendingItems = function connectTrendingItems(renderFn) {
26
26
  transformItems = _ref$transformItems === void 0 ? function (items) {
27
27
  return items;
28
28
  } : _ref$transformItems;
29
+ if (facetName && !facetValue || !facetName && facetValue) {
30
+ throw new Error(withUsage("When you provide facetName (received type ".concat(getObjectType(facetName), "), you must also provide facetValue (received type ").concat(getObjectType(facetValue), ").")));
31
+ }
29
32
  return {
30
33
  dependsOn: 'recommend',
31
34
  $$type: 'ais.trendingItems',
@@ -79,5 +82,4 @@ var connectTrendingItems = function connectTrendingItems(renderFn) {
79
82
  }
80
83
  };
81
84
  };
82
- };
83
- export default connectTrendingItems;
85
+ });
@@ -1,8 +1,7 @@
1
1
  import EventEmitter from '@algolia/events';
2
2
  import type { InsightsEvent, InsightsProps } from '../middlewares/createInsightsMiddleware';
3
3
  import type { RouterProps } from '../middlewares/createRouterMiddleware';
4
- import type { InsightsClient as AlgoliaInsightsClient, SearchClient, Widget, UiState, CreateURL, Middleware, MiddlewareDefinition, RenderState, InitialResults } from '../types';
5
- import type { IndexWidget } from '../widgets/index/index';
4
+ import type { InsightsClient as AlgoliaInsightsClient, SearchClient, Widget, IndexWidget, UiState, CreateURL, Middleware, MiddlewareDefinition, RenderState, InitialResults } from '../types';
6
5
  import type { AlgoliaSearchHelper } from 'algoliasearch-helper';
7
6
  type NoInfer<T> = T extends infer S ? S : never;
8
7
  /**
@@ -19,7 +19,7 @@ import algoliasearchHelper from 'algoliasearch-helper';
19
19
  import { createInsightsMiddleware } from "../middlewares/createInsightsMiddleware.js";
20
20
  import { createMetadataMiddleware, isMetadataEnabled } from "../middlewares/createMetadataMiddleware.js";
21
21
  import { createRouterMiddleware } from "../middlewares/createRouterMiddleware.js";
22
- import index from "../widgets/index/index.js";
22
+ import { index } from "../widgets/index.js";
23
23
  import createHelpers from "./createHelpers.js";
24
24
  import { createDocumentationMessageGenerator, createDocumentationLink, defer, hydrateRecommendCache, hydrateSearchClient, noop, warning, setIndexHelperState, isIndexWidget } from "./utils/index.js";
25
25
  import version from "./version.js";
@@ -1,5 +1,4 @@
1
- import type { IndexUiState } from '../../types';
2
- import type { IndexWidget } from '../../widgets/index/index';
1
+ import type { IndexUiState, IndexWidget } from '../../types';
3
2
  type CheckIndexUiStateParams = {
4
3
  index: IndexWidget;
5
4
  indexUiState: IndexUiState;
@@ -1,2 +1,2 @@
1
1
  import type { Renderer } from '../../types/connector';
2
- export declare function checkRendering<TRenderOptions, TWidgetParams>(rendering: Renderer<TRenderOptions, TWidgetParams>, usage: string): void;
2
+ export declare function checkRendering(rendering: any, usage: string): asserts rendering is Renderer<any, any>;
@@ -1,3 +1,2 @@
1
- import type { InitOptions, Widget } from '../../types';
2
- import type { IndexWidget } from '../../widgets/index/index';
1
+ import type { InitOptions, Widget, IndexWidget } from '../../types';
3
2
  export declare function getWidgetAttribute(widget: Widget | IndexWidget, initOptions: InitOptions): string;
@@ -1,3 +1,2 @@
1
- import type { Widget } from '../../types';
2
- import type { IndexWidget } from '../../widgets/index/index';
1
+ import type { Widget, IndexWidget } from '../../types';
3
2
  export declare function isIndexWidget(widget: Widget | IndexWidget): widget is IndexWidget;
@@ -1,5 +1,4 @@
1
- import type { InstantSearch, UiState, Widget } from '../../types';
2
- import type { IndexWidget } from '../../widgets/index/index';
1
+ import type { InstantSearch, UiState, Widget, IndexWidget } from '../../types';
3
2
  export declare function createInitArgs(instantSearchInstance: InstantSearch, parent: IndexWidget, uiState: UiState): {
4
3
  uiState: UiState;
5
4
  helper: import("algoliasearch-helper").AlgoliaSearchHelper;
@@ -1,3 +1,3 @@
1
- import type { IndexWidget } from '../../widgets/index/index';
1
+ import type { IndexWidget } from '../../types';
2
2
  import type { SearchParameters } from 'algoliasearch-helper';
3
3
  export declare function resolveSearchParameters(current: IndexWidget): SearchParameters[];
@@ -1,3 +1,2 @@
1
- import type { UiState } from '../../types';
2
- import type { IndexWidget } from '../../widgets/index/index';
1
+ import type { UiState, IndexWidget } from '../../types';
3
2
  export declare function setIndexHelperState<TUiState extends UiState>(finalUiState: TUiState, indexWidget: IndexWidget): void;
@@ -1,2 +1,2 @@
1
- declare const _default: "4.70.0";
1
+ declare const _default: "4.71.0";
2
2
  export default _default;
package/es/lib/version.js CHANGED
@@ -1 +1 @@
1
- export default '4.70.0';
1
+ export default '4.71.0';
@@ -12,4 +12,3 @@ export * from './widget';
12
12
  export * from './ui-state';
13
13
  export * from './render-state';
14
14
  export * from './templates';
15
- export type { IndexWidget } from '../widgets/index/index';
package/es/types/index.js CHANGED
@@ -21,7 +21,4 @@ export * from "./widget-factory.js";
21
21
  export * from "./widget.js";
22
22
  export * from "./ui-state.js";
23
23
  export * from "./render-state.js";
24
- export * from "./templates.js";
25
-
26
- // from specific widgets
27
- export {};
24
+ export * from "./templates.js";
@@ -17,7 +17,7 @@ export type GeoLoc = {
17
17
  lat: number;
18
18
  lng: number;
19
19
  };
20
- export type AlgoliaHit<THit extends BaseHit = Record<string, any>> = {
20
+ export type AlgoliaHit<THit extends NonNullable<object> = Record<string, any>> = {
21
21
  objectID: string;
22
22
  _highlightResult?: HitHighlightResult;
23
23
  _snippetResult?: HitSnippetResult;
@@ -41,11 +41,12 @@ export type AlgoliaHit<THit extends BaseHit = Record<string, any>> = {
41
41
  _distinctSeqID?: number;
42
42
  _geoloc?: GeoLoc;
43
43
  } & THit;
44
- export type BaseHit = Record<string, unknown>;
45
- export type Hit<THit extends BaseHit = Record<string, any>> = {
44
+ export type BaseHit = Record<string, any>;
45
+ export type Hit<THit extends NonNullable<object> = Record<string, any>> = {
46
46
  __position: number;
47
47
  __queryID?: string;
48
48
  } & AlgoliaHit<THit>;
49
+ export type GeoHit<THit extends NonNullable<object> = BaseHit> = Hit<THit> & Required<Pick<Hit, '_geoloc'>>;
49
50
  /**
50
51
  * @deprecated use Hit[] directly instead
51
52
  */
@@ -1,4 +1,4 @@
1
- import type { IndexWidget } from '../widgets/index/index';
1
+ import type { IndexWidget } from '../widgets';
2
2
  import type { InstantSearch } from './instantsearch';
3
3
  import type { IndexRenderState, WidgetRenderState } from './render-state';
4
4
  import type { IndexUiState, UiState } from './ui-state';
@@ -159,6 +159,7 @@ type RenderStateLifeCycle<TWidgetDescription extends WidgetDescription & WidgetP
159
159
  export type Widget<TWidgetDescription extends WidgetDescription & WidgetParams = {
160
160
  $$type: string;
161
161
  }> = Expand<RequiredWidgetLifeCycle<TWidgetDescription> & WidgetType<TWidgetDescription> & UiStateLifeCycle<TWidgetDescription> & RenderStateLifeCycle<TWidgetDescription>> & (SearchWidget<TWidgetDescription> | RecommendWidget<TWidgetDescription>);
162
+ export type { IndexWidget } from '../widgets';
162
163
  export type TransformItemsMetadata = {
163
164
  results?: SearchResults;
164
165
  };
@@ -175,4 +176,3 @@ export type SortBy<TItem> = ((a: TItem, b: TItem) => number) | Array<SortByDirec
175
176
  * Creates the URL for the given value.
176
177
  */
177
178
  export type CreateURL<TValue> = (value: TValue) => string;
178
- export {};