react-instantsearch-core 6.40.3 → 7.0.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 (263) hide show
  1. package/README.md +70 -2
  2. package/dist/cjs/components/Configure.js +13 -0
  3. package/dist/cjs/components/DynamicWidgets.js +63 -0
  4. package/dist/cjs/components/Index.js +24 -0
  5. package/dist/cjs/components/InstantSearch.js +27 -0
  6. package/dist/cjs/{connectors/connectConfigure.js → components/InstantSearchSSRProvider.js} +27 -63
  7. package/dist/cjs/components/InstantSearchServerContext.js +12 -0
  8. package/dist/cjs/connectors/useBreadcrumb.js +12 -0
  9. package/dist/cjs/connectors/useClearRefinements.js +12 -0
  10. package/dist/cjs/connectors/useConfigure.js +14 -0
  11. package/dist/cjs/connectors/useCurrentRefinements.js +12 -0
  12. package/dist/cjs/connectors/useDynamicWidgets.js +22 -0
  13. package/dist/cjs/connectors/useGeoSearch.js +12 -0
  14. package/dist/cjs/connectors/useHierarchicalMenu.js +12 -0
  15. package/dist/cjs/connectors/useHits.js +12 -0
  16. package/dist/cjs/connectors/useHitsPerPage.js +12 -0
  17. package/dist/cjs/connectors/useInfiniteHits.js +12 -0
  18. package/dist/cjs/connectors/useMenu.js +12 -0
  19. package/dist/cjs/connectors/useNumericMenu.js +12 -0
  20. package/dist/cjs/connectors/usePagination.js +12 -0
  21. package/dist/cjs/connectors/usePoweredBy.js +21 -0
  22. package/dist/cjs/connectors/useQueryRules.js +12 -0
  23. package/dist/cjs/connectors/useRange.js +12 -0
  24. package/dist/cjs/connectors/useRefinementList.js +12 -0
  25. package/dist/cjs/connectors/useSearchBox.js +12 -0
  26. package/dist/cjs/connectors/useSortBy.js +12 -0
  27. package/dist/cjs/connectors/useStats.js +12 -0
  28. package/dist/cjs/connectors/useToggleRefinement.js +12 -0
  29. package/dist/cjs/hooks/useConnector.js +136 -0
  30. package/dist/cjs/hooks/useInstantSearch.js +58 -0
  31. package/dist/cjs/index.js +328 -320
  32. package/dist/cjs/lib/IndexContext.js +12 -0
  33. package/dist/cjs/lib/InstantSearchContext.js +12 -0
  34. package/dist/cjs/lib/InstantSearchSSRContext.js +12 -0
  35. package/dist/cjs/lib/createSearchResults.js +27 -0
  36. package/dist/cjs/lib/dequal.js +53 -0
  37. package/dist/cjs/lib/getIndexSearchResults.js +32 -0
  38. package/dist/cjs/lib/invariant.js +25 -0
  39. package/dist/cjs/lib/noop.js +8 -0
  40. package/dist/cjs/lib/useForceUpdate.js +25 -0
  41. package/dist/cjs/lib/useIndex.js +38 -0
  42. package/dist/cjs/lib/useIndexContext.js +14 -0
  43. package/dist/cjs/lib/useInstantSearchApi.js +191 -0
  44. package/dist/cjs/lib/useInstantSearchContext.js +14 -0
  45. package/dist/cjs/lib/useInstantSearchSSRContext.js +11 -0
  46. package/dist/cjs/lib/useInstantSearchServerContext.js +11 -0
  47. package/dist/cjs/lib/useIsomorphicLayoutEffect.js +14 -0
  48. package/dist/cjs/lib/useSearchResults.js +46 -0
  49. package/dist/cjs/lib/useSearchState.js +48 -0
  50. package/dist/cjs/lib/useStableValue.js +26 -0
  51. package/dist/cjs/lib/useWidget.js +78 -0
  52. package/dist/cjs/lib/warn.js +41 -0
  53. package/dist/cjs/package.json +1 -0
  54. package/dist/cjs/server/getServerState.js +93 -0
  55. package/dist/cjs/{types → server}/index.js +4 -4
  56. package/dist/cjs/{core/version.js → version.js} +1 -1
  57. package/dist/es/components/Configure.d.ts +3 -0
  58. package/dist/es/components/Configure.js +7 -0
  59. package/dist/es/components/DynamicWidgets.d.ts +13 -0
  60. package/dist/es/components/DynamicWidgets.js +55 -0
  61. package/dist/es/components/Index.d.ts +6 -0
  62. package/dist/es/components/Index.js +17 -0
  63. package/dist/es/components/InstantSearch.d.ts +7 -0
  64. package/dist/es/components/InstantSearch.js +20 -0
  65. package/dist/es/components/InstantSearchSSRProvider.d.ts +13 -0
  66. package/dist/es/{connectors/connectConfigure.js → components/InstantSearchSSRProvider.js} +26 -61
  67. package/dist/es/components/InstantSearchServerContext.d.ts +12 -0
  68. package/dist/es/components/InstantSearchServerContext.js +5 -0
  69. package/dist/es/connectors/useBreadcrumb.d.ts +4 -0
  70. package/dist/es/connectors/useBreadcrumb.js +5 -0
  71. package/dist/es/connectors/useClearRefinements.d.ts +4 -0
  72. package/dist/es/connectors/useClearRefinements.js +5 -0
  73. package/dist/es/connectors/useConfigure.d.ts +4 -0
  74. package/dist/es/connectors/useConfigure.js +7 -0
  75. package/dist/es/connectors/useCurrentRefinements.d.ts +4 -0
  76. package/dist/es/connectors/useCurrentRefinements.js +5 -0
  77. package/dist/es/connectors/useDynamicWidgets.d.ts +4 -0
  78. package/dist/es/connectors/useDynamicWidgets.js +15 -0
  79. package/dist/es/connectors/useGeoSearch.d.ts +6 -0
  80. package/dist/es/connectors/useGeoSearch.js +5 -0
  81. package/dist/es/connectors/useHierarchicalMenu.d.ts +4 -0
  82. package/dist/es/connectors/useHierarchicalMenu.js +5 -0
  83. package/dist/es/connectors/useHits.d.ts +5 -0
  84. package/dist/es/connectors/useHits.js +5 -0
  85. package/dist/es/connectors/useHitsPerPage.d.ts +4 -0
  86. package/dist/es/connectors/useHitsPerPage.js +5 -0
  87. package/dist/es/connectors/useInfiniteHits.d.ts +5 -0
  88. package/dist/es/connectors/useInfiniteHits.js +5 -0
  89. package/dist/es/connectors/useMenu.d.ts +4 -0
  90. package/dist/es/connectors/useMenu.js +5 -0
  91. package/dist/es/connectors/useNumericMenu.d.ts +4 -0
  92. package/dist/es/connectors/useNumericMenu.js +5 -0
  93. package/dist/es/connectors/usePagination.d.ts +4 -0
  94. package/dist/es/connectors/usePagination.js +5 -0
  95. package/dist/es/connectors/usePoweredBy.d.ts +2 -0
  96. package/dist/es/connectors/usePoweredBy.js +15 -0
  97. package/dist/es/connectors/useQueryRules.d.ts +4 -0
  98. package/dist/es/connectors/useQueryRules.js +5 -0
  99. package/dist/es/connectors/useRange.d.ts +4 -0
  100. package/dist/es/connectors/useRange.js +5 -0
  101. package/dist/es/connectors/useRefinementList.d.ts +4 -0
  102. package/dist/es/connectors/useRefinementList.js +5 -0
  103. package/dist/es/connectors/useSearchBox.d.ts +4 -0
  104. package/dist/es/connectors/useSearchBox.js +5 -0
  105. package/dist/es/connectors/useSortBy.d.ts +4 -0
  106. package/dist/es/connectors/useSortBy.js +5 -0
  107. package/dist/es/connectors/useStats.d.ts +4 -0
  108. package/dist/es/connectors/useStats.js +5 -0
  109. package/dist/es/connectors/useToggleRefinement.d.ts +4 -0
  110. package/dist/es/connectors/useToggleRefinement.js +5 -0
  111. package/dist/es/hooks/useConnector.d.ts +3 -0
  112. package/dist/es/hooks/useConnector.js +130 -0
  113. package/dist/es/hooks/useInstantSearch.d.ts +32 -0
  114. package/dist/es/hooks/useInstantSearch.js +52 -0
  115. package/dist/es/index.d.ts +31 -0
  116. package/dist/es/index.js +31 -86
  117. package/dist/es/lib/IndexContext.d.ts +3 -0
  118. package/dist/es/lib/IndexContext.js +5 -0
  119. package/dist/es/lib/InstantSearchContext.d.ts +3 -0
  120. package/dist/es/lib/InstantSearchContext.js +5 -0
  121. package/dist/es/lib/InstantSearchSSRContext.d.ts +8 -0
  122. package/dist/es/lib/InstantSearchSSRContext.js +5 -0
  123. package/dist/es/lib/createSearchResults.d.ts +3 -0
  124. package/dist/es/lib/createSearchResults.js +20 -0
  125. package/dist/es/lib/dequal.d.ts +1 -0
  126. package/dist/es/lib/dequal.js +47 -0
  127. package/dist/es/lib/getIndexSearchResults.d.ts +9 -0
  128. package/dist/es/lib/getIndexSearchResults.js +26 -0
  129. package/dist/es/lib/invariant.d.ts +9 -0
  130. package/dist/es/lib/invariant.js +19 -0
  131. package/dist/es/lib/noop.d.ts +1 -0
  132. package/dist/es/lib/noop.js +1 -0
  133. package/dist/es/lib/useForceUpdate.d.ts +6 -0
  134. package/dist/es/lib/useForceUpdate.js +20 -0
  135. package/dist/es/lib/useIndex.d.ts +3 -0
  136. package/dist/es/lib/useIndex.js +31 -0
  137. package/dist/es/lib/useIndexContext.d.ts +2 -0
  138. package/dist/es/lib/useIndexContext.js +8 -0
  139. package/dist/es/lib/useInstantSearchApi.d.ts +21 -0
  140. package/dist/es/lib/useInstantSearchApi.js +184 -0
  141. package/dist/es/lib/useInstantSearchContext.d.ts +3 -0
  142. package/dist/es/lib/useInstantSearchContext.js +8 -0
  143. package/dist/es/lib/useInstantSearchSSRContext.d.ts +3 -0
  144. package/dist/es/lib/useInstantSearchSSRContext.js +5 -0
  145. package/dist/es/lib/useInstantSearchServerContext.d.ts +3 -0
  146. package/dist/es/lib/useInstantSearchServerContext.js +5 -0
  147. package/dist/es/lib/useIsomorphicLayoutEffect.d.ts +7 -0
  148. package/dist/es/lib/useIsomorphicLayoutEffect.js +8 -0
  149. package/dist/es/lib/useSearchResults.d.ts +7 -0
  150. package/dist/es/lib/useSearchResults.js +40 -0
  151. package/dist/es/lib/useSearchState.d.ts +8 -0
  152. package/dist/es/lib/useSearchState.js +42 -0
  153. package/dist/es/lib/useStableValue.d.ts +1 -0
  154. package/dist/es/lib/useStableValue.js +20 -0
  155. package/dist/es/lib/useWidget.d.ts +8 -0
  156. package/dist/es/lib/useWidget.js +72 -0
  157. package/dist/es/lib/warn.d.ts +10 -0
  158. package/dist/es/lib/warn.js +33 -0
  159. package/dist/es/server/getServerState.d.ts +10 -0
  160. package/dist/es/server/getServerState.js +86 -0
  161. package/dist/es/server/index.d.ts +1 -0
  162. package/dist/es/server/index.js +1 -0
  163. package/dist/es/version.d.ts +2 -0
  164. package/dist/es/version.js +1 -0
  165. package/dist/umd/ReactInstantSearchCore.js +16316 -10183
  166. package/dist/umd/ReactInstantSearchCore.js.map +1 -1
  167. package/dist/umd/ReactInstantSearchCore.min.js +1 -1
  168. package/dist/umd/ReactInstantSearchCore.min.js.map +1 -1
  169. package/package.json +24 -9
  170. package/dist/cjs/connectors/connectAutoComplete.js +0 -104
  171. package/dist/cjs/connectors/connectBreadcrumb.js +0 -123
  172. package/dist/cjs/connectors/connectConfigureRelatedItems.js +0 -127
  173. package/dist/cjs/connectors/connectCurrentRefinements.js +0 -69
  174. package/dist/cjs/connectors/connectDynamicWidgets.js +0 -65
  175. package/dist/cjs/connectors/connectGeoSearch.js +0 -189
  176. package/dist/cjs/connectors/connectHierarchicalMenu.js +0 -273
  177. package/dist/cjs/connectors/connectHighlight.js +0 -87
  178. package/dist/cjs/connectors/connectHitInsights.js +0 -76
  179. package/dist/cjs/connectors/connectHits.js +0 -88
  180. package/dist/cjs/connectors/connectHitsPerPage.js +0 -97
  181. package/dist/cjs/connectors/connectInfiniteHits.js +0 -154
  182. package/dist/cjs/connectors/connectMenu.js +0 -221
  183. package/dist/cjs/connectors/connectNumericMenu.js +0 -215
  184. package/dist/cjs/connectors/connectPagination.js +0 -94
  185. package/dist/cjs/connectors/connectPoweredBy.js +0 -27
  186. package/dist/cjs/connectors/connectQueryRules.js +0 -129
  187. package/dist/cjs/connectors/connectRange.js +0 -287
  188. package/dist/cjs/connectors/connectRefinementList.js +0 -243
  189. package/dist/cjs/connectors/connectRelevantSort.js +0 -56
  190. package/dist/cjs/connectors/connectScrollTo.js +0 -70
  191. package/dist/cjs/connectors/connectSearchBox.js +0 -104
  192. package/dist/cjs/connectors/connectSortBy.js +0 -100
  193. package/dist/cjs/connectors/connectStateResults.js +0 -79
  194. package/dist/cjs/connectors/connectStats.js +0 -39
  195. package/dist/cjs/connectors/connectToggleRefinement.js +0 -163
  196. package/dist/cjs/connectors/connectVoiceSearch.js +0 -124
  197. package/dist/cjs/core/context.js +0 -37
  198. package/dist/cjs/core/createConnector.js +0 -268
  199. package/dist/cjs/core/createInstantSearchManager.d.js +0 -1
  200. package/dist/cjs/core/createInstantSearchManager.js +0 -541
  201. package/dist/cjs/core/createStore.js +0 -27
  202. package/dist/cjs/core/createWidgetsManager.js +0 -39
  203. package/dist/cjs/core/highlight.js +0 -102
  204. package/dist/cjs/core/indexUtils.js +0 -214
  205. package/dist/cjs/core/metadata.js +0 -46
  206. package/dist/cjs/core/translatable.js +0 -82
  207. package/dist/cjs/core/utils.js +0 -161
  208. package/dist/cjs/types/algoliasearch.js +0 -1
  209. package/dist/cjs/types/translatable.js +0 -1
  210. package/dist/cjs/widgets/Configure.js +0 -48
  211. package/dist/cjs/widgets/ConfigureRelatedItems.js +0 -21
  212. package/dist/cjs/widgets/DynamicWidgets.js +0 -61
  213. package/dist/cjs/widgets/Index.js +0 -149
  214. package/dist/cjs/widgets/InstantSearch.js +0 -251
  215. package/dist/cjs/widgets/QueryRuleContext.js +0 -14
  216. package/dist/es/connectors/connectAutoComplete.js +0 -96
  217. package/dist/es/connectors/connectBreadcrumb.js +0 -115
  218. package/dist/es/connectors/connectConfigureRelatedItems.js +0 -121
  219. package/dist/es/connectors/connectCurrentRefinements.js +0 -62
  220. package/dist/es/connectors/connectDynamicWidgets.js +0 -56
  221. package/dist/es/connectors/connectGeoSearch.js +0 -182
  222. package/dist/es/connectors/connectHierarchicalMenu.js +0 -264
  223. package/dist/es/connectors/connectHighlight.js +0 -79
  224. package/dist/es/connectors/connectHitInsights.js +0 -69
  225. package/dist/es/connectors/connectHits.js +0 -81
  226. package/dist/es/connectors/connectHitsPerPage.js +0 -89
  227. package/dist/es/connectors/connectInfiniteHits.js +0 -146
  228. package/dist/es/connectors/connectMenu.js +0 -213
  229. package/dist/es/connectors/connectNumericMenu.js +0 -207
  230. package/dist/es/connectors/connectPagination.js +0 -86
  231. package/dist/es/connectors/connectPoweredBy.js +0 -20
  232. package/dist/es/connectors/connectQueryRules.js +0 -122
  233. package/dist/es/connectors/connectRange.js +0 -280
  234. package/dist/es/connectors/connectRefinementList.js +0 -235
  235. package/dist/es/connectors/connectRelevantSort.js +0 -50
  236. package/dist/es/connectors/connectScrollTo.js +0 -63
  237. package/dist/es/connectors/connectSearchBox.js +0 -96
  238. package/dist/es/connectors/connectSortBy.js +0 -92
  239. package/dist/es/connectors/connectStateResults.js +0 -72
  240. package/dist/es/connectors/connectStats.js +0 -32
  241. package/dist/es/connectors/connectToggleRefinement.js +0 -155
  242. package/dist/es/connectors/connectVoiceSearch.js +0 -116
  243. package/dist/es/core/context.js +0 -28
  244. package/dist/es/core/createConnector.js +0 -257
  245. package/dist/es/core/createInstantSearchManager.d.js +0 -0
  246. package/dist/es/core/createInstantSearchManager.js +0 -534
  247. package/dist/es/core/createStore.js +0 -21
  248. package/dist/es/core/createWidgetsManager.js +0 -33
  249. package/dist/es/core/highlight.js +0 -94
  250. package/dist/es/core/indexUtils.js +0 -203
  251. package/dist/es/core/metadata.js +0 -38
  252. package/dist/es/core/translatable.js +0 -74
  253. package/dist/es/core/utils.js +0 -139
  254. package/dist/es/core/version.js +0 -1
  255. package/dist/es/types/algoliasearch.js +0 -1
  256. package/dist/es/types/index.js +0 -1
  257. package/dist/es/types/translatable.js +0 -1
  258. package/dist/es/widgets/Configure.js +0 -42
  259. package/dist/es/widgets/ConfigureRelatedItems.js +0 -13
  260. package/dist/es/widgets/DynamicWidgets.js +0 -51
  261. package/dist/es/widgets/Index.js +0 -138
  262. package/dist/es/widgets/InstantSearch.js +0 -241
  263. package/dist/es/widgets/QueryRuleContext.js +0 -6
@@ -0,0 +1,5 @@
1
+ import type { AdditionalWidgetProperties } from '../hooks/useConnector';
2
+ import type { BaseHit } from 'instantsearch.js';
3
+ import type { HitsConnectorParams } from 'instantsearch.js/es/connectors/hits/connectHits';
4
+ export type UseHitsProps<THit extends BaseHit = BaseHit> = HitsConnectorParams<THit>;
5
+ export declare function useHits<THit extends BaseHit = BaseHit>(props?: UseHitsProps<THit>, additionalWidgetProperties?: AdditionalWidgetProperties): import("instantsearch.js/es/connectors/hits/connectHits").HitsRenderState<THit>;
@@ -0,0 +1,5 @@
1
+ import connectHits from "instantsearch.js/es/connectors/hits/connectHits.js";
2
+ import { useConnector } from "../hooks/useConnector.js";
3
+ export function useHits(props, additionalWidgetProperties) {
4
+ return useConnector(connectHits, props, additionalWidgetProperties);
5
+ }
@@ -0,0 +1,4 @@
1
+ import type { AdditionalWidgetProperties } from '../hooks/useConnector';
2
+ import type { HitsPerPageConnectorParams } from 'instantsearch.js/es/connectors/hits-per-page/connectHitsPerPage';
3
+ export type UseHitsPerPageProps = HitsPerPageConnectorParams;
4
+ export declare function useHitsPerPage(props: UseHitsPerPageProps, additionalWidgetProperties?: AdditionalWidgetProperties): import("instantsearch.js/es/connectors/hits-per-page/connectHitsPerPage").HitsPerPageRenderState;
@@ -0,0 +1,5 @@
1
+ import connectHitsPerPage from "instantsearch.js/es/connectors/hits-per-page/connectHitsPerPage.js";
2
+ import { useConnector } from "../hooks/useConnector.js";
3
+ export function useHitsPerPage(props, additionalWidgetProperties) {
4
+ return useConnector(connectHitsPerPage, props, additionalWidgetProperties);
5
+ }
@@ -0,0 +1,5 @@
1
+ import type { AdditionalWidgetProperties } from '../hooks/useConnector';
2
+ import type { BaseHit } from 'instantsearch.js';
3
+ import type { InfiniteHitsConnectorParams } from 'instantsearch.js/es/connectors/infinite-hits/connectInfiniteHits';
4
+ export type UseInfiniteHitsProps<THit extends BaseHit = BaseHit> = InfiniteHitsConnectorParams<THit>;
5
+ export declare function useInfiniteHits<THit extends BaseHit = BaseHit>(props?: UseInfiniteHitsProps<THit>, additionalWidgetProperties?: AdditionalWidgetProperties): import("instantsearch.js/es/connectors/infinite-hits/connectInfiniteHits").InfiniteHitsRenderState<THit>;
@@ -0,0 +1,5 @@
1
+ import connectInfiniteHits from "instantsearch.js/es/connectors/infinite-hits/connectInfiniteHits.js";
2
+ import { useConnector } from "../hooks/useConnector.js";
3
+ export function useInfiniteHits(props, additionalWidgetProperties) {
4
+ return useConnector(connectInfiniteHits, props, additionalWidgetProperties);
5
+ }
@@ -0,0 +1,4 @@
1
+ import type { AdditionalWidgetProperties } from '../hooks/useConnector';
2
+ import type { MenuConnectorParams } from 'instantsearch.js/es/connectors/menu/connectMenu';
3
+ export type UseMenuProps = MenuConnectorParams;
4
+ export declare function useMenu(props: UseMenuProps, additionalWidgetProperties?: AdditionalWidgetProperties): import("instantsearch.js/es/connectors/menu/connectMenu").MenuRenderState;
@@ -0,0 +1,5 @@
1
+ import connectMenu from "instantsearch.js/es/connectors/menu/connectMenu.js";
2
+ import { useConnector } from "../hooks/useConnector.js";
3
+ export function useMenu(props, additionalWidgetProperties) {
4
+ return useConnector(connectMenu, props, additionalWidgetProperties);
5
+ }
@@ -0,0 +1,4 @@
1
+ import type { AdditionalWidgetProperties } from '../hooks/useConnector';
2
+ import type { NumericMenuConnectorParams } from 'instantsearch.js/es/connectors/numeric-menu/connectNumericMenu';
3
+ export type UseNumericMenuProps = NumericMenuConnectorParams;
4
+ export declare function useNumericMenu(props: UseNumericMenuProps, additionalWidgetProperties?: AdditionalWidgetProperties): import("instantsearch.js/es/connectors/numeric-menu/connectNumericMenu").NumericMenuRenderState;
@@ -0,0 +1,5 @@
1
+ import connectNumericMenu from "instantsearch.js/es/connectors/numeric-menu/connectNumericMenu.js";
2
+ import { useConnector } from "../hooks/useConnector.js";
3
+ export function useNumericMenu(props, additionalWidgetProperties) {
4
+ return useConnector(connectNumericMenu, props, additionalWidgetProperties);
5
+ }
@@ -0,0 +1,4 @@
1
+ import type { AdditionalWidgetProperties } from '../hooks/useConnector';
2
+ import type { PaginationConnectorParams } from 'instantsearch.js/es/connectors/pagination/connectPagination';
3
+ export type UsePaginationProps = PaginationConnectorParams;
4
+ export declare function usePagination(props?: UsePaginationProps, additionalWidgetProperties?: AdditionalWidgetProperties): import("instantsearch.js/es/connectors/pagination/connectPagination").PaginationRenderState;
@@ -0,0 +1,5 @@
1
+ import connectPagination from "instantsearch.js/es/connectors/pagination/connectPagination.js";
2
+ import { useConnector } from "../hooks/useConnector.js";
3
+ export function usePagination(props, additionalWidgetProperties) {
4
+ return useConnector(connectPagination, props, additionalWidgetProperties);
5
+ }
@@ -0,0 +1,2 @@
1
+ import type { PoweredByRenderState } from 'instantsearch.js/es/connectors/powered-by/connectPoweredBy';
2
+ export declare function usePoweredBy(): PoweredByRenderState;
@@ -0,0 +1,15 @@
1
+ import { safelyRunOnBrowser } from "instantsearch.js/es/lib/utils/index.js";
2
+ export function usePoweredBy() {
3
+ var hostname = safelyRunOnBrowser(function (_ref) {
4
+ var _window$location;
5
+ var window = _ref.window;
6
+ return ((_window$location = window.location) === null || _window$location === void 0 ? void 0 : _window$location.hostname) || '';
7
+ }, {
8
+ fallback: function fallback() {
9
+ return '';
10
+ }
11
+ });
12
+ return {
13
+ url: "https://www.algolia.com/?utm_source=react-instantsearch&utm_medium=website&utm_content=".concat(hostname, "&utm_campaign=poweredby")
14
+ };
15
+ }
@@ -0,0 +1,4 @@
1
+ import type { AdditionalWidgetProperties } from '../hooks/useConnector';
2
+ import type { QueryRulesConnectorParams } from 'instantsearch.js/es/connectors/query-rules/connectQueryRules';
3
+ export type UseQueryRulesProps = QueryRulesConnectorParams;
4
+ export declare function useQueryRules(props?: UseQueryRulesProps, additionalWidgetProperties?: AdditionalWidgetProperties): import("instantsearch.js/es/connectors/query-rules/connectQueryRules").QueryRulesRenderState;
@@ -0,0 +1,5 @@
1
+ import connectQueryRules from "instantsearch.js/es/connectors/query-rules/connectQueryRules.js";
2
+ import { useConnector } from "../hooks/useConnector.js";
3
+ export function useQueryRules(props, additionalWidgetProperties) {
4
+ return useConnector(connectQueryRules, props, additionalWidgetProperties);
5
+ }
@@ -0,0 +1,4 @@
1
+ import type { AdditionalWidgetProperties } from '../hooks/useConnector';
2
+ import type { RangeConnectorParams } from 'instantsearch.js/es/connectors/range/connectRange';
3
+ export type UseRangeProps = RangeConnectorParams;
4
+ export declare function useRange(props: UseRangeProps, additionalWidgetProperties?: AdditionalWidgetProperties): import("instantsearch.js/es/connectors/range/connectRange").RangeRenderState;
@@ -0,0 +1,5 @@
1
+ import connectRange from "instantsearch.js/es/connectors/range/connectRange.js";
2
+ import { useConnector } from "../hooks/useConnector.js";
3
+ export function useRange(props, additionalWidgetProperties) {
4
+ return useConnector(connectRange, props, additionalWidgetProperties);
5
+ }
@@ -0,0 +1,4 @@
1
+ import type { AdditionalWidgetProperties } from '../hooks/useConnector';
2
+ import type { RefinementListConnectorParams } from 'instantsearch.js/es/connectors/refinement-list/connectRefinementList';
3
+ export type UseRefinementListProps = RefinementListConnectorParams;
4
+ export declare function useRefinementList(props: UseRefinementListProps, additionalWidgetProperties?: AdditionalWidgetProperties): import("instantsearch.js/es/connectors/refinement-list/connectRefinementList").RefinementListRenderState;
@@ -0,0 +1,5 @@
1
+ import connectRefinementList from "instantsearch.js/es/connectors/refinement-list/connectRefinementList.js";
2
+ import { useConnector } from "../hooks/useConnector.js";
3
+ export function useRefinementList(props, additionalWidgetProperties) {
4
+ return useConnector(connectRefinementList, props, additionalWidgetProperties);
5
+ }
@@ -0,0 +1,4 @@
1
+ import type { AdditionalWidgetProperties } from '../hooks/useConnector';
2
+ import type { SearchBoxConnectorParams } from 'instantsearch.js/es/connectors/search-box/connectSearchBox';
3
+ export type UseSearchBoxProps = SearchBoxConnectorParams;
4
+ export declare function useSearchBox(props?: UseSearchBoxProps, additionalWidgetProperties?: AdditionalWidgetProperties): import("instantsearch.js/es/connectors/search-box/connectSearchBox").SearchBoxRenderState;
@@ -0,0 +1,5 @@
1
+ import connectSearchBox from "instantsearch.js/es/connectors/search-box/connectSearchBox.js";
2
+ import { useConnector } from "../hooks/useConnector.js";
3
+ export function useSearchBox(props, additionalWidgetProperties) {
4
+ return useConnector(connectSearchBox, props, additionalWidgetProperties);
5
+ }
@@ -0,0 +1,4 @@
1
+ import type { AdditionalWidgetProperties } from '../hooks/useConnector';
2
+ import type { SortByConnectorParams } from 'instantsearch.js/es/connectors/sort-by/connectSortBy';
3
+ export type UseSortByProps = SortByConnectorParams;
4
+ export declare function useSortBy(props: UseSortByProps, additionalWidgetProperties?: AdditionalWidgetProperties): import("instantsearch.js/es/connectors/sort-by/connectSortBy").SortByRenderState;
@@ -0,0 +1,5 @@
1
+ import connectSortBy from "instantsearch.js/es/connectors/sort-by/connectSortBy.js";
2
+ import { useConnector } from "../hooks/useConnector.js";
3
+ export function useSortBy(props, additionalWidgetProperties) {
4
+ return useConnector(connectSortBy, props, additionalWidgetProperties);
5
+ }
@@ -0,0 +1,4 @@
1
+ import type { AdditionalWidgetProperties } from '../hooks/useConnector';
2
+ import type { StatsConnectorParams } from 'instantsearch.js/es/connectors/stats/connectStats';
3
+ export type UseStatsProps = StatsConnectorParams;
4
+ export declare function useStats(props?: UseStatsProps, additionalWidgetProperties?: AdditionalWidgetProperties): import("instantsearch.js/es/connectors/stats/connectStats").StatsRenderState;
@@ -0,0 +1,5 @@
1
+ import connectStats from "instantsearch.js/es/connectors/stats/connectStats.js";
2
+ import { useConnector } from "../hooks/useConnector.js";
3
+ export function useStats(props, additionalWidgetProperties) {
4
+ return useConnector(connectStats, props, additionalWidgetProperties);
5
+ }
@@ -0,0 +1,4 @@
1
+ import type { AdditionalWidgetProperties } from '../hooks/useConnector';
2
+ import type { ToggleRefinementConnectorParams } from 'instantsearch.js/es/connectors/toggle-refinement/connectToggleRefinement';
3
+ export type UseToggleRefinementProps = ToggleRefinementConnectorParams;
4
+ export declare function useToggleRefinement(props: UseToggleRefinementProps, additionalWidgetProperties?: AdditionalWidgetProperties): import("instantsearch.js/es/connectors/toggle-refinement/connectToggleRefinement").ToggleRefinementRenderState;
@@ -0,0 +1,5 @@
1
+ import connectToggleRefinement from "instantsearch.js/es/connectors/toggle-refinement/connectToggleRefinement.js";
2
+ import { useConnector } from "../hooks/useConnector.js";
3
+ export function useToggleRefinement(props, additionalWidgetProperties) {
4
+ return useConnector(connectToggleRefinement, props, additionalWidgetProperties);
5
+ }
@@ -0,0 +1,3 @@
1
+ import type { Connector, Widget, WidgetDescription } from 'instantsearch.js';
2
+ export type AdditionalWidgetProperties = Partial<Widget<WidgetDescription>>;
3
+ export declare function useConnector<TProps extends Record<string, unknown>, TDescription extends WidgetDescription>(connector: Connector<TDescription, TProps>, props?: TProps, additionalWidgetProperties?: AdditionalWidgetProperties): TDescription['renderState'];
@@ -0,0 +1,130 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ var _excluded = ["instantSearchInstance", "widgetParams"],
3
+ _excluded2 = ["widgetParams"];
4
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
5
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
6
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
7
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
8
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
9
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
10
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
11
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
12
+ 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; }
13
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
+ 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); }
15
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
16
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
17
+ import { useMemo, useRef, useState } from 'react';
18
+ import { dequal } from "../lib/dequal.js";
19
+ import { getIndexSearchResults } from "../lib/getIndexSearchResults.js";
20
+ import { useIndexContext } from "../lib/useIndexContext.js";
21
+ import { useInstantSearchContext } from "../lib/useInstantSearchContext.js";
22
+ import { useInstantSearchServerContext } from "../lib/useInstantSearchServerContext.js";
23
+ import { useStableValue } from "../lib/useStableValue.js";
24
+ import { useWidget } from "../lib/useWidget.js";
25
+ export function useConnector(connector) {
26
+ var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
27
+ var additionalWidgetProperties = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
28
+ var serverContext = useInstantSearchServerContext();
29
+ var search = useInstantSearchContext();
30
+ var parentIndex = useIndexContext();
31
+ var stableProps = useStableValue(props);
32
+ var stableAdditionalWidgetProperties = useStableValue(additionalWidgetProperties);
33
+ var shouldSetStateRef = useRef(true);
34
+ var previousRenderStateRef = useRef(null);
35
+ var previousStatusRef = useRef(search.status);
36
+ var widget = useMemo(function () {
37
+ var createWidget = connector(function (connectorState, isFirstRender) {
38
+ // We skip the `init` widget render because:
39
+ // - We rely on `getWidgetRenderState` to compute the initial state before
40
+ // the InstantSearch.js lifecycle starts.
41
+ // - It prevents UI flashes when updating the widget props.
42
+ if (isFirstRender) {
43
+ shouldSetStateRef.current = true;
44
+ return;
45
+ }
46
+
47
+ // There are situations where InstantSearch.js may render widgets slightly
48
+ // after they're removed by React, and thus try to update the React state
49
+ // on unmounted components. React 16 and 17 consider them as memory leaks
50
+ // and display a warning.
51
+ // This happens in <DynamicWidgets> when `attributesToRender` contains a
52
+ // value without an attribute previously mounted. React will unmount the
53
+ // component controlled by that attribute, but InstantSearch.js will stay
54
+ // unaware of this change until the render pass finishes, and therefore
55
+ // notifies of a state change.
56
+ // This ref lets us track this situation and ignore these state updates.
57
+ if (shouldSetStateRef.current) {
58
+ var instantSearchInstance = connectorState.instantSearchInstance,
59
+ widgetParams = connectorState.widgetParams,
60
+ renderState = _objectWithoutProperties(connectorState, _excluded);
61
+
62
+ // We only update the state when a widget render state param changes,
63
+ // except for functions. We ignore function reference changes to avoid
64
+ // infinite loops. It's safe to omit them because they get updated
65
+ // every time another render param changes.
66
+ if (!dequal(renderState, previousRenderStateRef.current, function (a, b) {
67
+ return (a === null || a === void 0 ? void 0 : a.constructor) === Function && (b === null || b === void 0 ? void 0 : b.constructor) === Function;
68
+ }) || instantSearchInstance.status !== previousStatusRef.current) {
69
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
70
+ setState(renderState);
71
+ previousRenderStateRef.current = renderState;
72
+ previousStatusRef.current = instantSearchInstance.status;
73
+ }
74
+ }
75
+ }, function () {
76
+ // We'll ignore the next state update until we know for sure that
77
+ // InstantSearch.js re-inits the component.
78
+ shouldSetStateRef.current = false;
79
+ });
80
+ return _objectSpread(_objectSpread({}, createWidget(stableProps)), stableAdditionalWidgetProperties);
81
+ }, [connector, stableProps, stableAdditionalWidgetProperties]);
82
+ var _useState = useState(function () {
83
+ if (widget.getWidgetRenderState) {
84
+ var _widget$getWidgetSear;
85
+ // The helper exists because we've started InstantSearch.
86
+ var helper = parentIndex.getHelper();
87
+ var uiState = parentIndex.getWidgetUiState({})[parentIndex.getIndexId()];
88
+ helper.state = ((_widget$getWidgetSear = widget.getWidgetSearchParameters) === null || _widget$getWidgetSear === void 0 ? void 0 : _widget$getWidgetSear.call(widget, helper.state, {
89
+ uiState: uiState
90
+ })) || helper.state;
91
+ var _getIndexSearchResult = getIndexSearchResults(parentIndex),
92
+ results = _getIndexSearchResult.results,
93
+ scopedResults = _getIndexSearchResult.scopedResults;
94
+
95
+ // We get the widget render state by providing the same parameters as
96
+ // InstantSearch provides to the widget's `render` method.
97
+ // See https://github.com/algolia/instantsearch.js/blob/019cd18d0de6dd320284aa4890541b7fe2198c65/src/widgets/index/index.ts#L604-L617
98
+ var _widget$getWidgetRend = widget.getWidgetRenderState({
99
+ helper: helper,
100
+ parent: parentIndex,
101
+ instantSearchInstance: search,
102
+ results: results,
103
+ scopedResults: scopedResults,
104
+ state: helper.state,
105
+ renderState: search.renderState,
106
+ templatesConfig: search.templatesConfig,
107
+ createURL: parentIndex.createURL,
108
+ searchMetadata: {
109
+ isSearchStalled: search.status === 'stalled'
110
+ },
111
+ status: search.status,
112
+ error: search.error
113
+ }),
114
+ widgetParams = _widget$getWidgetRend.widgetParams,
115
+ renderState = _objectWithoutProperties(_widget$getWidgetRend, _excluded2);
116
+ return renderState;
117
+ }
118
+ return {};
119
+ }),
120
+ _useState2 = _slicedToArray(_useState, 2),
121
+ state = _useState2[0],
122
+ setState = _useState2[1];
123
+ useWidget({
124
+ widget: widget,
125
+ parentIndex: parentIndex,
126
+ props: stableProps,
127
+ shouldSsr: Boolean(serverContext)
128
+ });
129
+ return state;
130
+ }
@@ -0,0 +1,32 @@
1
+ import type { SearchResultsApi } from '../lib/useSearchResults';
2
+ import type { SearchStateApi } from '../lib/useSearchState';
3
+ import type { InstantSearch, Middleware, UiState } from 'instantsearch.js';
4
+ export type InstantSearchApi<TUiState extends UiState = UiState> = SearchStateApi<TUiState> & SearchResultsApi & {
5
+ /**
6
+ * Adds middlewares to InstantSearch. It returns its own cleanup function.
7
+ */
8
+ addMiddlewares: (...middlewares: Middleware[]) => () => void;
9
+ /**
10
+ * Clears the search client’s cache and performs a new search.
11
+ *
12
+ * This is useful to update the results once an indexing operation has finished.
13
+ */
14
+ refresh: InstantSearch['refresh'];
15
+ /**
16
+ * The status of the search happening.
17
+ */
18
+ status: InstantSearch['status'];
19
+ /**
20
+ * The error that occurred during the search.
21
+ *
22
+ * This is only valid when status is 'error'.
23
+ */
24
+ error: InstantSearch['error'];
25
+ };
26
+ export type UseInstantSearchProps = {
27
+ /**
28
+ * catch any error happening in the search lifecycle and handle it with this hook.
29
+ */
30
+ catchError?: boolean;
31
+ };
32
+ export declare function useInstantSearch<TUiState extends UiState = UiState>({ catchError, }?: UseInstantSearchProps): InstantSearchApi<TUiState>;
@@ -0,0 +1,52 @@
1
+ import { useCallback } from 'react';
2
+ import { useInstantSearchContext } from "../lib/useInstantSearchContext.js";
3
+ import { useIsomorphicLayoutEffect } from "../lib/useIsomorphicLayoutEffect.js";
4
+ import { useSearchResults } from "../lib/useSearchResults.js";
5
+ import { useSearchState } from "../lib/useSearchState.js";
6
+ export function useInstantSearch() {
7
+ var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
8
+ catchError = _ref.catchError;
9
+ var search = useInstantSearchContext();
10
+ var _useSearchState = useSearchState(),
11
+ uiState = _useSearchState.uiState,
12
+ setUiState = _useSearchState.setUiState,
13
+ indexUiState = _useSearchState.indexUiState,
14
+ setIndexUiState = _useSearchState.setIndexUiState;
15
+ var _useSearchResults = useSearchResults(),
16
+ results = _useSearchResults.results,
17
+ scopedResults = _useSearchResults.scopedResults;
18
+ var addMiddlewares = useCallback(function () {
19
+ for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {
20
+ middlewares[_key] = arguments[_key];
21
+ }
22
+ search.use.apply(search, middlewares);
23
+ return function () {
24
+ search.unuse.apply(search, middlewares);
25
+ };
26
+ }, [search]);
27
+ var refresh = useCallback(function () {
28
+ search.refresh();
29
+ }, [search]);
30
+ useIsomorphicLayoutEffect(function () {
31
+ if (catchError) {
32
+ var onError = function onError() {};
33
+ search.addListener('error', onError);
34
+ return function () {
35
+ return search.removeListener('error', onError);
36
+ };
37
+ }
38
+ return function () {};
39
+ }, [search, catchError]);
40
+ return {
41
+ results: results,
42
+ scopedResults: scopedResults,
43
+ uiState: uiState,
44
+ setUiState: setUiState,
45
+ indexUiState: indexUiState,
46
+ setIndexUiState: setIndexUiState,
47
+ addMiddlewares: addMiddlewares,
48
+ refresh: refresh,
49
+ status: search.status,
50
+ error: search.error
51
+ };
52
+ }
@@ -0,0 +1,31 @@
1
+ export { default as version } from './version';
2
+ export * from './components/Configure';
3
+ export * from './components/DynamicWidgets';
4
+ export * from './components/Index';
5
+ export * from './components/InstantSearch';
6
+ export * from './components/InstantSearchServerContext';
7
+ export * from './components/InstantSearchSSRProvider';
8
+ export * from './connectors/useBreadcrumb';
9
+ export * from './connectors/useClearRefinements';
10
+ export * from './connectors/useConfigure';
11
+ export * from './connectors/useCurrentRefinements';
12
+ export * from './connectors/useDynamicWidgets';
13
+ export * from './connectors/useGeoSearch';
14
+ export * from './connectors/useHierarchicalMenu';
15
+ export * from './connectors/useHits';
16
+ export * from './connectors/useHitsPerPage';
17
+ export * from './connectors/useInfiniteHits';
18
+ export * from './connectors/useMenu';
19
+ export * from './connectors/useNumericMenu';
20
+ export * from './connectors/usePagination';
21
+ export * from './connectors/usePoweredBy';
22
+ export * from './connectors/useQueryRules';
23
+ export * from './connectors/useRange';
24
+ export * from './connectors/useRefinementList';
25
+ export * from './connectors/useSearchBox';
26
+ export * from './connectors/useSortBy';
27
+ export * from './connectors/useStats';
28
+ export * from './connectors/useToggleRefinement';
29
+ export * from './hooks/useConnector';
30
+ export * from './hooks/useInstantSearch';
31
+ export * from './server';
package/dist/es/index.js CHANGED
@@ -1,86 +1,31 @@
1
- // Core
2
- export { default as createConnector } from "./core/createConnector.js";
3
- export { instantSearchContext, InstantSearchConsumer, InstantSearchProvider } from "./core/context.js";
4
-
5
- // Utils
6
- // @ts-ignore not yet typed
7
- export { HIGHLIGHT_TAGS } from "./core/highlight.js";
8
- // @ts-ignore not yet typed
9
- export { default as version } from "./core/version.js";
10
- // @ts-ignore not yet typed
11
- export { default as translatable } from "./core/translatable.js";
12
-
13
- // Widgets
14
- // @ts-ignore not yet typed
15
- export { default as Configure } from "./widgets/Configure.js";
16
- export { default as ExperimentalConfigureRelatedItems } from "./widgets/ConfigureRelatedItems.js";
17
- import { default as DynamicWidgets } from "./widgets/DynamicWidgets.js";
18
- /** @deprecated use DynamicWidgets */
19
- var ExperimentalDynamicWidgets = DynamicWidgets;
20
- export { ExperimentalDynamicWidgets, DynamicWidgets };
21
- export { default as QueryRuleContext } from "./widgets/QueryRuleContext.js";
22
- export { default as Index } from "./widgets/Index.js";
23
- export { default as InstantSearch } from "./widgets/InstantSearch.js";
24
-
25
- // Connectors
26
- // @ts-ignore not yet typed
27
- export { default as connectAutoComplete } from "./connectors/connectAutoComplete.js";
28
- // @ts-ignore not yet typed
29
- export { default as connectBreadcrumb } from "./connectors/connectBreadcrumb.js";
30
- // @ts-ignore not yet typed
31
- export { default as connectConfigure } from "./connectors/connectConfigure.js";
32
- export { default as EXPERIMENTAL_connectConfigureRelatedItems } from "./connectors/connectConfigureRelatedItems.js";
33
- // @ts-ignore not yet typed
34
- export { default as connectCurrentRefinements } from "./connectors/connectCurrentRefinements.js";
35
- import { default as connectDynamicWidgets } from "./connectors/connectDynamicWidgets.js";
36
- /** @deprecated use connectDynamicWidgets */
37
- var EXPERIMENTAL_connectDynamicWidgets = connectDynamicWidgets;
38
- export { connectDynamicWidgets, EXPERIMENTAL_connectDynamicWidgets };
39
-
40
- // @ts-ignore not yet typed
41
- export { default as connectGeoSearch } from "./connectors/connectGeoSearch.js";
42
- // @ts-ignore not yet typed
43
- export { default as connectHierarchicalMenu } from "./connectors/connectHierarchicalMenu.js";
44
- // @ts-ignore not yet typed
45
- export { default as connectHighlight } from "./connectors/connectHighlight.js";
46
- // @ts-ignore not yet typed
47
- export { default as connectHits } from "./connectors/connectHits.js";
48
- // @ts-ignore not yet typed
49
- export { default as connectHitsPerPage } from "./connectors/connectHitsPerPage.js";
50
- // @ts-ignore not yet typed
51
- export { default as connectInfiniteHits } from "./connectors/connectInfiniteHits.js";
52
- // @ts-ignore not yet typed
53
- export { default as connectMenu } from "./connectors/connectMenu.js";
54
- // @ts-ignore not yet typed
55
- export { default as connectNumericMenu } from "./connectors/connectNumericMenu.js";
56
- // @ts-ignore not yet typed
57
- export { default as connectPagination } from "./connectors/connectPagination.js";
58
- // @ts-ignore not yet typed
59
- export { default as connectPoweredBy } from "./connectors/connectPoweredBy.js";
60
- // @ts-ignore not yet typed
61
- export { default as connectQueryRules } from "./connectors/connectQueryRules.js";
62
- // @ts-ignore not yet typed
63
- export { default as connectRange } from "./connectors/connectRange.js";
64
- // @ts-ignore not yet typed
65
- export { default as connectRefinementList } from "./connectors/connectRefinementList.js";
66
- // @ts-ignore not yet typed
67
- export { default as connectScrollTo } from "./connectors/connectScrollTo.js";
68
- // @ts-ignore not yet typed
69
- export { default as connectSearchBox } from "./connectors/connectSearchBox.js";
70
- // @ts-ignore not yet typed
71
- export { default as connectRelevantSort } from "./connectors/connectRelevantSort.js";
72
- // @ts-ignore not yet typed
73
- export { default as connectSortBy } from "./connectors/connectSortBy.js";
74
- // @ts-ignore not yet typed
75
- export { default as connectStateResults } from "./connectors/connectStateResults.js";
76
- // @ts-ignore not yet typed
77
- export { default as connectStats } from "./connectors/connectStats.js";
78
- // @ts-ignore not yet typed
79
- export { default as connectToggleRefinement } from "./connectors/connectToggleRefinement.js";
80
- // @ts-ignore not yet typed
81
- export { default as connectHitInsights } from "./connectors/connectHitInsights.js";
82
- // @ts-ignore not yet typed
83
- export { default as connectVoiceSearch } from "./connectors/connectVoiceSearch.js";
84
-
85
- // Types
86
- export * from "./types/index.js";
1
+ export { default as version } from "./version.js";
2
+ export * from "./components/Configure.js";
3
+ export * from "./components/DynamicWidgets.js";
4
+ export * from "./components/Index.js";
5
+ export * from "./components/InstantSearch.js";
6
+ export * from "./components/InstantSearchServerContext.js";
7
+ export * from "./components/InstantSearchSSRProvider.js";
8
+ export * from "./connectors/useBreadcrumb.js";
9
+ export * from "./connectors/useClearRefinements.js";
10
+ export * from "./connectors/useConfigure.js";
11
+ export * from "./connectors/useCurrentRefinements.js";
12
+ export * from "./connectors/useDynamicWidgets.js";
13
+ export * from "./connectors/useGeoSearch.js";
14
+ export * from "./connectors/useHierarchicalMenu.js";
15
+ export * from "./connectors/useHits.js";
16
+ export * from "./connectors/useHitsPerPage.js";
17
+ export * from "./connectors/useInfiniteHits.js";
18
+ export * from "./connectors/useMenu.js";
19
+ export * from "./connectors/useNumericMenu.js";
20
+ export * from "./connectors/usePagination.js";
21
+ export * from "./connectors/usePoweredBy.js";
22
+ export * from "./connectors/useQueryRules.js";
23
+ export * from "./connectors/useRange.js";
24
+ export * from "./connectors/useRefinementList.js";
25
+ export * from "./connectors/useSearchBox.js";
26
+ export * from "./connectors/useSortBy.js";
27
+ export * from "./connectors/useStats.js";
28
+ export * from "./connectors/useToggleRefinement.js";
29
+ export * from "./hooks/useConnector.js";
30
+ export * from "./hooks/useInstantSearch.js";
31
+ export * from "./server/index.js";
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { IndexWidget } from 'instantsearch.js/es/widgets/index/index';
3
+ export declare const IndexContext: import("react").Context<IndexWidget | null>;
@@ -0,0 +1,5 @@
1
+ import { createContext } from 'react';
2
+ export var IndexContext = /*#__PURE__*/createContext(null);
3
+ if (process.env.NODE_ENV === 'development') {
4
+ IndexContext.displayName = 'Index';
5
+ }
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { InstantSearch } from 'instantsearch.js';
3
+ export declare const InstantSearchContext: import("react").Context<InstantSearch<import("instantsearch.js").UiState, import("instantsearch.js").UiState> | null>;
@@ -0,0 +1,5 @@
1
+ import { createContext } from 'react';
2
+ export var InstantSearchContext = /*#__PURE__*/createContext(null);
3
+ if (process.env.NODE_ENV === 'development') {
4
+ InstantSearchContext.displayName = 'InstantSearch';
5
+ }
@@ -0,0 +1,8 @@
1
+ import type { InstantSearchServerState } from '../components/InstantSearchSSRProvider';
2
+ import type { InternalInstantSearch } from './useInstantSearchApi';
3
+ import type { UiState } from 'instantsearch.js';
4
+ import type { MutableRefObject } from 'react';
5
+ export type InstantSearchSSRContextApi<TUiState extends UiState, TRouteState = TUiState> = InstantSearchServerState & {
6
+ ssrSearchRef: MutableRefObject<InternalInstantSearch<TUiState, TRouteState> | null>;
7
+ };
8
+ export declare const InstantSearchSSRContext: import("react").Context<Partial<InstantSearchSSRContextApi<UiState, UiState>> | null>;
@@ -0,0 +1,5 @@
1
+ import { createContext } from 'react';
2
+ export var InstantSearchSSRContext = /*#__PURE__*/createContext(null);
3
+ if (process.env.NODE_ENV === 'development') {
4
+ InstantSearchSSRContext.displayName = 'InstantSearchSSR';
5
+ }