instantsearch.js 4.79.2 → 4.81.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 (69) hide show
  1. package/cjs/components/Template/Template.js +1 -1
  2. package/cjs/connectors/chat/connectChat.js +200 -0
  3. package/cjs/connectors/index.js +7 -0
  4. package/cjs/connectors/index.umd.js +239 -0
  5. package/cjs/index.js +2 -2
  6. package/cjs/lib/InstantSearch.js +2 -10
  7. package/cjs/lib/chat/chat.js +177 -0
  8. package/cjs/lib/chat/index.js +27 -0
  9. package/cjs/lib/useStickToBottom.js +20 -0
  10. package/cjs/lib/version.js +1 -1
  11. package/cjs/templates/carousel/carousel.js +31 -4
  12. package/cjs/widgets/chat/chat.js +615 -0
  13. package/cjs/widgets/index/index.js +78 -24
  14. package/cjs/widgets/index.js +7 -0
  15. package/cjs/widgets/index.umd.js +267 -0
  16. package/dist/instantsearch.development.d.ts +123 -15
  17. package/dist/instantsearch.development.js +186 -91
  18. package/dist/instantsearch.development.js.map +1 -1
  19. package/dist/instantsearch.production.d.ts +123 -15
  20. package/dist/instantsearch.production.min.d.ts +123 -15
  21. package/dist/instantsearch.production.min.js +2 -2
  22. package/dist/instantsearch.production.min.js.map +1 -1
  23. package/es/components/Template/Template.js +1 -1
  24. package/es/connectors/chat/connectChat.d.ts +413 -0
  25. package/es/connectors/chat/connectChat.js +194 -0
  26. package/es/connectors/frequently-bought-together/connectFrequentlyBoughtTogether.d.ts +2 -0
  27. package/es/connectors/geo-search/connectGeoSearch.d.ts +1 -0
  28. package/es/connectors/hits/connectHits.d.ts +1 -0
  29. package/es/connectors/hits/connectHitsWithInsights.d.ts +1 -0
  30. package/es/connectors/index.d.ts +1 -0
  31. package/es/connectors/index.js +2 -1
  32. package/es/connectors/index.umd.d.ts +39 -0
  33. package/es/connectors/index.umd.js +47 -0
  34. package/es/connectors/infinite-hits/connectInfiniteHits.d.ts +1 -0
  35. package/es/connectors/infinite-hits/connectInfiniteHitsWithInsights.d.ts +1 -0
  36. package/es/connectors/looking-similar/connectLookingSimilar.d.ts +2 -0
  37. package/es/connectors/related-products/connectRelatedProducts.d.ts +2 -0
  38. package/es/connectors/trending-items/connectTrendingItems.d.ts +2 -0
  39. package/es/lib/InstantSearch.d.ts +2 -2
  40. package/es/lib/InstantSearch.js +2 -10
  41. package/es/lib/chat/chat.d.ts +40 -0
  42. package/es/lib/chat/chat.js +166 -0
  43. package/es/lib/chat/index.d.ts +7 -0
  44. package/es/lib/chat/index.js +5 -0
  45. package/es/lib/useStickToBottom.d.ts +1 -0
  46. package/es/lib/useStickToBottom.js +14 -0
  47. package/es/lib/version.d.ts +1 -1
  48. package/es/lib/version.js +1 -1
  49. package/es/templates/carousel/carousel.d.ts +10 -3
  50. package/es/templates/carousel/carousel.js +32 -5
  51. package/es/types/render-state.d.ts +2 -1
  52. package/es/types/templates.d.ts +1 -1
  53. package/es/types/widget.d.ts +2 -2
  54. package/es/widgets/chat/chat.d.ts +555 -0
  55. package/es/widgets/chat/chat.js +597 -0
  56. package/es/widgets/frequently-bought-together/frequently-bought-together.d.ts +3 -1
  57. package/es/widgets/geo-search/geo-search.d.ts +1 -0
  58. package/es/widgets/hits/hits.d.ts +1 -0
  59. package/es/widgets/index/index.d.ts +46 -2
  60. package/es/widgets/index/index.js +78 -24
  61. package/es/widgets/index.d.ts +1 -0
  62. package/es/widgets/index.js +2 -1
  63. package/es/widgets/index.umd.d.ts +44 -0
  64. package/es/widgets/index.umd.js +51 -0
  65. package/es/widgets/infinite-hits/infinite-hits.d.ts +1 -0
  66. package/es/widgets/looking-similar/looking-similar.d.ts +3 -1
  67. package/es/widgets/related-products/related-products.d.ts +3 -1
  68. package/es/widgets/trending-items/trending-items.d.ts +3 -1
  69. package/package.json +11 -7
@@ -1,3 +1,4 @@
1
+ import { AbstractChat } from 'ai';
1
2
  import { AlgoliaSearchHelper } from 'algoliasearch-helper';
2
3
  import { Banner } from 'algoliasearch-helper';
3
4
  import type { CarouselProps } from 'instantsearch-ui-components';
@@ -28,6 +29,7 @@ import { SearchOptions } from 'algoliasearch-helper/types/algoliasearch.js';
28
29
  import { SearchParameters } from 'algoliasearch-helper';
29
30
  import { SearchResults } from 'algoliasearch-helper';
30
31
  import type { TrendingItemsProps } from 'instantsearch-ui-components';
32
+ import type { UIMessage } from 'ai';
31
33
  import { VNode } from 'preact';
32
34
  import type { VNode as VNode_2 } from 'instantsearch-ui-components';
33
35
 
@@ -563,7 +565,7 @@ declare type BuiltInSendEventForHits = (eventType: string, hits: Hit | Hit[], ev
563
565
 
564
566
  declare type BuiltInSendEventForToggle = (eventType: string, isRefined: boolean, eventName?: string) => void;
565
567
 
566
- declare function carousel<TObject extends Record<string, unknown>>({ cssClasses, templates, }?: CreateCarouselTemplateProps<TObject>): ({ items, templates: widgetTemplates, cssClasses: widgetCssClasses, sendEvent, }: CarouselTemplateProps<TObject>) => h.JSX.Element;
568
+ declare function carousel<TObject extends Record<string, unknown>>({ cssClasses, templates, showNavigation, }?: CreateCarouselTemplateProps<TObject>): ({ items, templates: widgetTemplates, cssClasses: widgetCssClasses, sendEvent, }: CarouselTemplateProps<TObject>) => h.JSX.Element;
567
569
 
568
570
  declare type CarouselTemplateProps<TObject extends Record<string, unknown>> = Pick<CarouselProps<TObject>, 'items'> & {
569
571
  templates: {
@@ -574,6 +576,33 @@ declare type CarouselTemplateProps<TObject extends Record<string, unknown>> = Pi
574
576
  sendEvent?: CarouselProps<TObject>['sendEvent'];
575
577
  };
576
578
 
579
+ declare const chat: () => never;
580
+
581
+ declare type ChatRenderState<TUiMessage extends UIMessage = UIMessage> = {
582
+ indexUiState: IndexUiState;
583
+ input: string;
584
+ open: boolean;
585
+ /**
586
+ * Sends an event to the Insights middleware.
587
+ */
588
+ sendEvent: SendEventForHits;
589
+ setIndexUiState: IndexWidget['setIndexUiState'];
590
+ setInput: (input: string) => void;
591
+ setOpen: (open: boolean) => void;
592
+ /**
593
+ * Updates the `messages` state locally. This is useful when you want to
594
+ * edit the messages on the client, and then trigger the `reload` method
595
+ * manually to regenerate the AI response.
596
+ */
597
+ setMessages: (messages: TUiMessage[] | ((m: TUiMessage[]) => TUiMessage[])) => void;
598
+ } & Pick<AbstractChat<TUiMessage>, 'addToolResult' | 'clearError' | 'error' | 'id' | 'messages' | 'regenerate' | 'resumeStream' | 'sendMessage' | 'status' | 'stop'>;
599
+
600
+ declare type ChatWidgetDescription<TUiMessage extends UIMessage = UIMessage> = {
601
+ $$type: 'ais.chat';
602
+ renderState: ChatRenderState<TUiMessage>;
603
+ indexRenderState: Record<string, unknown>;
604
+ };
605
+
577
606
  declare const clearRefinements: ClearRefinementsWidget;
578
607
 
579
608
  declare type ClearRefinementsConnector = Connector<ClearRefinementsWidgetDescription, ClearRefinementsConnectorParams>;
@@ -741,6 +770,8 @@ declare const connectAutocomplete: AutocompleteConnector;
741
770
 
742
771
  declare const connectBreadcrumb: BreadcrumbConnector;
743
772
 
773
+ declare const connectChat: () => never;
774
+
744
775
  declare const connectClearRefinements: ClearRefinementsConnector;
745
776
 
746
777
  declare const connectConfigure: ConfigureConnector;
@@ -771,6 +802,7 @@ declare const connectHitsWithInsights: <TWidgetParams>(renderFn: Renderer<HitsRe
771
802
  init(initOptions: InitOptions): void;
772
803
  render(renderOptions: RenderOptions): void;
773
804
  getRenderState(renderState: {
805
+ [x: string]: unknown;
774
806
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
775
807
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
776
808
  breadcrumb?: {
@@ -878,6 +910,7 @@ declare const connectInfiniteHitsWithInsights: <TWidgetParams extends UnknownWid
878
910
  init(initOptions: InitOptions): void;
879
911
  render(renderOptions: RenderOptions): void;
880
912
  getRenderState(renderState: {
913
+ [x: string]: unknown;
881
914
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
882
915
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
883
916
  breadcrumb?: {
@@ -1080,7 +1113,7 @@ unmountFn?: Unmounter) => (widgetParams: TConnectorParams & TWidgetParams) => Wi
1080
1113
  widgetParams: typeof widgetParams;
1081
1114
  }>;
1082
1115
 
1083
- declare type ConnectorRenderStates = AnswersWidgetDescription['indexRenderState'] & AutocompleteWidgetDescription['indexRenderState'] & BreadcrumbWidgetDescription['indexRenderState'] & ClearRefinementsWidgetDescription['indexRenderState'] & ConfigureWidgetDescription['indexRenderState'] & CurrentRefinementsWidgetDescription['indexRenderState'] & GeoSearchWidgetDescription['indexRenderState'] & HierarchicalMenuWidgetDescription['indexRenderState'] & HitsWidgetDescription['indexRenderState'] & HitsPerPageWidgetDescription['indexRenderState'] & InfiniteHitsWidgetDescription['indexRenderState'] & MenuWidgetDescription['indexRenderState'] & NumericMenuWidgetDescription['indexRenderState'] & PaginationWidgetDescription['indexRenderState'] & PoweredByWidgetDescription['indexRenderState'] & QueryRulesWidgetDescription['indexRenderState'] & RangeWidgetDescription['indexRenderState'] & RatingMenuWidgetDescription['indexRenderState'] & RefinementListWidgetDescription['indexRenderState'] & RelevantSortWidgetDescription['indexRenderState'] & SearchBoxWidgetDescription['indexRenderState'] & SortByWidgetDescription['indexRenderState'] & StatsWidgetDescription['indexRenderState'] & ToggleRefinementWidgetDescription['indexRenderState'] & VoiceSearchWidgetDescription['indexRenderState'];
1116
+ declare type ConnectorRenderStates = AnswersWidgetDescription['indexRenderState'] & AutocompleteWidgetDescription['indexRenderState'] & BreadcrumbWidgetDescription['indexRenderState'] & ChatWidgetDescription['indexRenderState'] & ClearRefinementsWidgetDescription['indexRenderState'] & ConfigureWidgetDescription['indexRenderState'] & CurrentRefinementsWidgetDescription['indexRenderState'] & GeoSearchWidgetDescription['indexRenderState'] & HierarchicalMenuWidgetDescription['indexRenderState'] & HitsWidgetDescription['indexRenderState'] & HitsPerPageWidgetDescription['indexRenderState'] & InfiniteHitsWidgetDescription['indexRenderState'] & MenuWidgetDescription['indexRenderState'] & NumericMenuWidgetDescription['indexRenderState'] & PaginationWidgetDescription['indexRenderState'] & PoweredByWidgetDescription['indexRenderState'] & QueryRulesWidgetDescription['indexRenderState'] & RangeWidgetDescription['indexRenderState'] & RatingMenuWidgetDescription['indexRenderState'] & RefinementListWidgetDescription['indexRenderState'] & RelevantSortWidgetDescription['indexRenderState'] & SearchBoxWidgetDescription['indexRenderState'] & SortByWidgetDescription['indexRenderState'] & StatsWidgetDescription['indexRenderState'] & ToggleRefinementWidgetDescription['indexRenderState'] & VoiceSearchWidgetDescription['indexRenderState'];
1084
1117
 
1085
1118
  declare namespace connectors {
1086
1119
  export {
@@ -1117,7 +1150,8 @@ declare namespace connectors {
1117
1150
  connectVoiceSearch,
1118
1151
  connectRelevantSort,
1119
1152
  _default_6 as connectFrequentlyBoughtTogether,
1120
- _default_7 as connectLookingSimilar
1153
+ _default_7 as connectLookingSimilar,
1154
+ connectChat
1121
1155
  }
1122
1156
  }
1123
1157
 
@@ -1203,8 +1237,15 @@ declare type CreateCarouselTemplateProps<TObject extends Record<string, unknown>
1203
1237
  templates?: Partial<{
1204
1238
  previous: Exclude<Template_2, string>;
1205
1239
  next: Exclude<Template_2, string>;
1240
+ header: Exclude<Template_2<{
1241
+ canScrollLeft: boolean;
1242
+ canScrollRight: boolean;
1243
+ scrollLeft: () => void;
1244
+ scrollRight: () => void;
1245
+ }>, string>;
1206
1246
  }>;
1207
1247
  cssClasses?: Partial<CarouselProps<TObject>['classNames']>;
1248
+ showNavigation?: boolean;
1208
1249
  };
1209
1250
 
1210
1251
  declare function createInfiniteHitsSessionStorageCache({ key, }?: {
@@ -1423,6 +1464,7 @@ declare const _default: <TWidgetParams>(renderFn: Renderer<HitsRenderState, TWid
1423
1464
  init(initOptions: InitOptions): void;
1424
1465
  render(renderOptions: RenderOptions): void;
1425
1466
  getRenderState(renderState: {
1467
+ [x: string]: unknown;
1426
1468
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
1427
1469
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
1428
1470
  breadcrumb?: {
@@ -1531,6 +1573,7 @@ declare const _default_10: <THit extends NonNullable<object> = BaseHit>(widgetPa
1531
1573
  init(initOptions: InitOptions): void;
1532
1574
  render(renderOptions: RenderOptions): void;
1533
1575
  getRenderState(renderState: {
1576
+ [x: string]: unknown;
1534
1577
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
1535
1578
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
1536
1579
  breadcrumb?: {
@@ -1713,6 +1756,7 @@ declare const _default_12: <THit extends NonNullable<object> = BaseHit>(widgetPa
1713
1756
  init(initOptions: InitOptions): void;
1714
1757
  render(renderOptions: RenderOptions): void;
1715
1758
  getRenderState(renderState: {
1759
+ [x: string]: unknown;
1716
1760
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
1717
1761
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
1718
1762
  breadcrumb?: {
@@ -1757,6 +1801,7 @@ declare const _default_12: <THit extends NonNullable<object> = BaseHit>(widgetPa
1757
1801
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
1758
1802
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
1759
1803
  }): {
1804
+ [x: string]: unknown;
1760
1805
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
1761
1806
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
1762
1807
  breadcrumb?: {
@@ -1815,7 +1860,7 @@ declare const _default_12: <THit extends NonNullable<object> = BaseHit>(widgetPa
1815
1860
  breadcrumb: {
1816
1861
  [rootAttribute: string]: WidgetRenderState<BreadcrumbRenderState, BreadcrumbConnectorParams>;
1817
1862
  };
1818
- } & {
1863
+ } & Record<string, unknown> & {
1819
1864
  clearRefinements: WidgetRenderState<ClearRefinementsRenderState, ClearRefinementsConnectorParams>;
1820
1865
  } & {
1821
1866
  configure: WidgetRenderState<ConfigureRenderState, ConfigureConnectorParams>;
@@ -1903,6 +1948,7 @@ declare const _default_13: <THit extends NonNullable<object> = BaseHit>(widgetPa
1903
1948
  init(initOptions: InitOptions): void;
1904
1949
  render(renderOptions: RenderOptions): void;
1905
1950
  getRenderState(renderState: {
1951
+ [x: string]: unknown;
1906
1952
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
1907
1953
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
1908
1954
  breadcrumb?: {
@@ -1947,6 +1993,7 @@ declare const _default_13: <THit extends NonNullable<object> = BaseHit>(widgetPa
1947
1993
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
1948
1994
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
1949
1995
  }): {
1996
+ [x: string]: unknown;
1950
1997
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
1951
1998
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
1952
1999
  breadcrumb?: {
@@ -2005,7 +2052,7 @@ declare const _default_13: <THit extends NonNullable<object> = BaseHit>(widgetPa
2005
2052
  breadcrumb: {
2006
2053
  [rootAttribute: string]: WidgetRenderState<BreadcrumbRenderState, BreadcrumbConnectorParams>;
2007
2054
  };
2008
- } & {
2055
+ } & Record<string, unknown> & {
2009
2056
  clearRefinements: WidgetRenderState<ClearRefinementsRenderState, ClearRefinementsConnectorParams>;
2010
2057
  } & {
2011
2058
  configure: WidgetRenderState<ConfigureRenderState, ConfigureConnectorParams>;
@@ -2093,6 +2140,7 @@ declare const _default_14: <THit extends NonNullable<object> = BaseHit>(widgetPa
2093
2140
  init(initOptions: InitOptions): void;
2094
2141
  render(renderOptions: RenderOptions): void;
2095
2142
  getRenderState(renderState: {
2143
+ [x: string]: unknown;
2096
2144
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2097
2145
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2098
2146
  breadcrumb?: {
@@ -2137,6 +2185,7 @@ declare const _default_14: <THit extends NonNullable<object> = BaseHit>(widgetPa
2137
2185
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
2138
2186
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
2139
2187
  }): {
2188
+ [x: string]: unknown;
2140
2189
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2141
2190
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2142
2191
  breadcrumb?: {
@@ -2195,7 +2244,7 @@ declare const _default_14: <THit extends NonNullable<object> = BaseHit>(widgetPa
2195
2244
  breadcrumb: {
2196
2245
  [rootAttribute: string]: WidgetRenderState<BreadcrumbRenderState, BreadcrumbConnectorParams>;
2197
2246
  };
2198
- } & {
2247
+ } & Record<string, unknown> & {
2199
2248
  clearRefinements: WidgetRenderState<ClearRefinementsRenderState, ClearRefinementsConnectorParams>;
2200
2249
  } & {
2201
2250
  configure: WidgetRenderState<ConfigureRenderState, ConfigureConnectorParams>;
@@ -2283,6 +2332,7 @@ declare const _default_15: <THit extends NonNullable<object> = BaseHit>(widgetPa
2283
2332
  init(initOptions: InitOptions): void;
2284
2333
  render(renderOptions: RenderOptions): void;
2285
2334
  getRenderState(renderState: {
2335
+ [x: string]: unknown;
2286
2336
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2287
2337
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2288
2338
  breadcrumb?: {
@@ -2327,6 +2377,7 @@ declare const _default_15: <THit extends NonNullable<object> = BaseHit>(widgetPa
2327
2377
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
2328
2378
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
2329
2379
  }): {
2380
+ [x: string]: unknown;
2330
2381
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2331
2382
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2332
2383
  breadcrumb?: {
@@ -2385,7 +2436,7 @@ declare const _default_15: <THit extends NonNullable<object> = BaseHit>(widgetPa
2385
2436
  breadcrumb: {
2386
2437
  [rootAttribute: string]: WidgetRenderState<BreadcrumbRenderState, BreadcrumbConnectorParams>;
2387
2438
  };
2388
- } & {
2439
+ } & Record<string, unknown> & {
2389
2440
  clearRefinements: WidgetRenderState<ClearRefinementsRenderState, ClearRefinementsConnectorParams>;
2390
2441
  } & {
2391
2442
  configure: WidgetRenderState<ConfigureRenderState, ConfigureConnectorParams>;
@@ -2471,6 +2522,7 @@ declare const _default_2: <TWidgetParams extends UnknownWidgetParams>(renderFn:
2471
2522
  init(initOptions: InitOptions): void;
2472
2523
  render(renderOptions: RenderOptions): void;
2473
2524
  getRenderState(renderState: {
2525
+ [x: string]: unknown;
2474
2526
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2475
2527
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2476
2528
  breadcrumb?: {
@@ -2650,6 +2702,7 @@ declare const _default_3: <TWidgetParams extends UnknownWidgetParams>(renderFn:
2650
2702
  init(initOptions: InitOptions): void;
2651
2703
  render(renderOptions: RenderOptions): void;
2652
2704
  getRenderState(renderState: {
2705
+ [x: string]: unknown;
2653
2706
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2654
2707
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2655
2708
  breadcrumb?: {
@@ -2694,6 +2747,7 @@ declare const _default_3: <TWidgetParams extends UnknownWidgetParams>(renderFn:
2694
2747
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
2695
2748
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
2696
2749
  }): {
2750
+ [x: string]: unknown;
2697
2751
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2698
2752
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2699
2753
  breadcrumb?: {
@@ -2769,6 +2823,7 @@ declare const _default_4: <TWidgetParams extends UnknownWidgetParams>(renderFn:
2769
2823
  init(initOptions: InitOptions): void;
2770
2824
  render(renderOptions: RenderOptions): void;
2771
2825
  getRenderState(renderState: {
2826
+ [x: string]: unknown;
2772
2827
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2773
2828
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2774
2829
  breadcrumb?: {
@@ -2813,6 +2868,7 @@ declare const _default_4: <TWidgetParams extends UnknownWidgetParams>(renderFn:
2813
2868
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
2814
2869
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
2815
2870
  }): {
2871
+ [x: string]: unknown;
2816
2872
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2817
2873
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2818
2874
  breadcrumb?: {
@@ -2922,6 +2978,7 @@ declare const _default_5: <TWidgetParams extends UnknownWidgetParams>(renderFn:
2922
2978
  widgetParams: TWidgetParams & GeoSearchConnectorParams<THit>;
2923
2979
  };
2924
2980
  getRenderState(renderState: {
2981
+ [x: string]: unknown;
2925
2982
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2926
2983
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2927
2984
  breadcrumb?: {
@@ -3108,6 +3165,7 @@ declare const _default_6: <TWidgetParams extends UnknownWidgetParams>(renderFn:
3108
3165
  init(initOptions: InitOptions): void;
3109
3166
  render(renderOptions: RenderOptions): void;
3110
3167
  getRenderState(renderState: {
3168
+ [x: string]: unknown;
3111
3169
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
3112
3170
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
3113
3171
  breadcrumb?: {
@@ -3152,6 +3210,7 @@ declare const _default_6: <TWidgetParams extends UnknownWidgetParams>(renderFn:
3152
3210
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
3153
3211
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
3154
3212
  }): {
3213
+ [x: string]: unknown;
3155
3214
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
3156
3215
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
3157
3216
  breadcrumb?: {
@@ -3227,6 +3286,7 @@ declare const _default_7: <TWidgetParams extends UnknownWidgetParams>(renderFn:
3227
3286
  init(initOptions: InitOptions): void;
3228
3287
  render(renderOptions: RenderOptions): void;
3229
3288
  getRenderState(renderState: {
3289
+ [x: string]: unknown;
3230
3290
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
3231
3291
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
3232
3292
  breadcrumb?: {
@@ -3271,6 +3331,7 @@ declare const _default_7: <TWidgetParams extends UnknownWidgetParams>(renderFn:
3271
3331
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
3272
3332
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
3273
3333
  }): {
3334
+ [x: string]: unknown;
3274
3335
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
3275
3336
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
3276
3337
  breadcrumb?: {
@@ -3434,6 +3495,7 @@ declare const _default_8: <THit extends GeoHit = GeoHit>(widgetParams: GeoSearch
3434
3495
  } & GeoSearchConnectorParams<THit>;
3435
3496
  };
3436
3497
  getRenderState(renderState: {
3498
+ [x: string]: unknown;
3437
3499
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
3438
3500
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
3439
3501
  breadcrumb?: {
@@ -3599,6 +3661,7 @@ declare const _default_9: <THit extends NonNullable<object> = BaseHit>(widgetPar
3599
3661
  init(initOptions: InitOptions): void;
3600
3662
  render(renderOptions: RenderOptions): void;
3601
3663
  getRenderState(renderState: {
3664
+ [x: string]: unknown;
3602
3665
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
3603
3666
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
3604
3667
  breadcrumb?: {
@@ -4758,8 +4821,8 @@ declare type IndexWidget<TUiState extends UiState = UiState> = Omit<Widget<Index
4758
4821
  getParent: () => IndexWidget | null;
4759
4822
  getWidgets: () => Array<Widget | IndexWidget>;
4760
4823
  createURL: (nextState: SearchParameters | ((state: IndexUiState) => IndexUiState)) => string;
4761
- addWidgets: (widgets: Array<Widget | IndexWidget>) => IndexWidget;
4762
- removeWidgets: (widgets: Array<Widget | IndexWidget>) => IndexWidget;
4824
+ addWidgets: (widgets: Array<Widget | IndexWidget | Widget[]>) => IndexWidget;
4825
+ removeWidgets: (widgets: Array<Widget | IndexWidget | Widget[]>) => IndexWidget;
4763
4826
  init: (options: IndexInitOptions) => void;
4764
4827
  render: (options: IndexRenderOptions) => void;
4765
4828
  dispose: () => void;
@@ -4782,6 +4845,12 @@ declare type IndexWidget<TUiState extends UiState = UiState> = Omit<Widget<Index
4782
4845
  * Can only be called after `init`.
4783
4846
  */
4784
4847
  setIndexUiState: (indexUiState: TUiState[string] | ((previousIndexUiState: TUiState[string]) => TUiState[string])) => void;
4848
+ /**
4849
+ * This index is isolated, meaning it will not be merged with the main
4850
+ * helper's state.
4851
+ * @private
4852
+ */
4853
+ _isolated: boolean;
4785
4854
  };
4786
4855
 
4787
4856
  declare type IndexWidgetDescription = {
@@ -4790,7 +4859,45 @@ declare type IndexWidgetDescription = {
4790
4859
  };
4791
4860
 
4792
4861
  declare type IndexWidgetParams = {
4862
+ /**
4863
+ * The index or composition id to target.
4864
+ */
4793
4865
  indexName: string;
4866
+ /**
4867
+ * Id to use for the index if there are multiple indices with the same name.
4868
+ * This will be used to create the URL and the render state.
4869
+ */
4870
+ indexId?: string;
4871
+ /**
4872
+ * If `true`, the index will not be merged with the main helper's state.
4873
+ * This means that the index will not be part of the main search request.
4874
+ *
4875
+ * @default false
4876
+ */
4877
+ EXPERIMENTAL_isolated?: false;
4878
+ } | {
4879
+ /**
4880
+ * If `true`, the index will not be merged with the main helper's state.
4881
+ * This means that the index will not be part of the main search request.
4882
+ *
4883
+ * This option is EXPERIMENTAL, and implementation details may change in the future.
4884
+ * Things that could change are:
4885
+ * - which widgets get rendered when a change happens
4886
+ * - whether the index searches automatically
4887
+ * - whether the index is included in the URL / UiState
4888
+ * - whether the index is included in server-side rendering
4889
+ *
4890
+ * @default false
4891
+ */
4892
+ EXPERIMENTAL_isolated: true;
4893
+ /**
4894
+ * The index or composition id to target.
4895
+ */
4896
+ indexName?: string;
4897
+ /**
4898
+ * Id to use for the index if there are multiple indices with the same name.
4899
+ * This will be used to create the URL and the render state.
4900
+ */
4794
4901
  indexId?: string;
4795
4902
  };
4796
4903
 
@@ -5125,7 +5232,7 @@ declare class InstantSearch<TUiState extends UiState = UiState, TRouteState = TU
5125
5232
  * Widgets can be added either before or after InstantSearch has started.
5126
5233
  * @param widgets The array of widgets to add to InstantSearch.
5127
5234
  */
5128
- addWidgets(widgets: Array<Widget | IndexWidget>): this;
5235
+ addWidgets(widgets: Array<Widget | IndexWidget | Widget[]>): this;
5129
5236
  /**
5130
5237
  * Removes a widget from the search instance.
5131
5238
  * @deprecated This method will still be supported in 4.x releases, but not further. It is replaced by `removeWidgets([widget])`
@@ -5140,7 +5247,7 @@ declare class InstantSearch<TUiState extends UiState = UiState, TRouteState = TU
5140
5247
  *
5141
5248
  * The widgets must implement a `dispose()` method to clear their states.
5142
5249
  */
5143
- removeWidgets(widgets: Array<Widget | IndexWidget>): this;
5250
+ removeWidgets(widgets: Array<Widget | IndexWidget | Widget[]>): this;
5144
5251
  /**
5145
5252
  * Ends the initialization of InstantSearch.js and triggers the
5146
5253
  * first search.
@@ -8116,9 +8223,9 @@ declare type Status = 'initial' | 'askingPermission' | 'waiting' | 'recognizing'
8116
8223
 
8117
8224
  declare type Template<TTemplateData = void> = string | ((data: TTemplateData, params: TemplateParams) => VNode | VNode[] | string | null);
8118
8225
 
8119
- declare type Template_2 = (params: {
8226
+ declare type Template_2<TData = Record<string, unknown>> = (params: {
8120
8227
  html: typeof html;
8121
- }) => VNode_2 | VNode_2[] | null;
8228
+ } & TData) => VNode_2 | VNode_2[] | null;
8122
8229
 
8123
8230
  declare type TemplateParams = {
8124
8231
  html: typeof html;
@@ -8132,7 +8239,7 @@ declare type TemplateParams = {
8132
8239
  };
8133
8240
 
8134
8241
  declare type Templates = {
8135
- [key: string]: Template<any> | TemplateWithBindEvent<any> | undefined;
8242
+ [key: string]: Template<any> | TemplateWithBindEvent<any> | Templates | undefined;
8136
8243
  };
8137
8244
 
8138
8245
  declare namespace templates {
@@ -8598,7 +8705,8 @@ declare namespace widgets {
8598
8705
  _default_13 as trendingItems,
8599
8706
  voiceSearch,
8600
8707
  _default_14 as frequentlyBoughtTogether,
8601
- _default_15 as lookingSimilar
8708
+ _default_15 as lookingSimilar,
8709
+ chat
8602
8710
  }
8603
8711
  }
8604
8712