instantsearch.js 4.86.0 → 4.87.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 (47) hide show
  1. package/cjs/connectors/autocomplete/connectAutocomplete.js +13 -5
  2. package/cjs/connectors/chat/connectChat.js +89 -17
  3. package/cjs/connectors/filter-suggestions/connectFilterSuggestions.js +255 -0
  4. package/cjs/connectors/index.js +7 -0
  5. package/cjs/connectors/index.umd.js +7 -0
  6. package/cjs/lib/chat/chat.js +3 -3
  7. package/cjs/lib/chat/index.js +5 -2
  8. package/cjs/lib/version.js +1 -1
  9. package/cjs/widgets/autocomplete/autocomplete.js +15 -6
  10. package/cjs/widgets/chat/chat.js +32 -3
  11. package/cjs/widgets/filter-suggestions/filter-suggestions.js +131 -0
  12. package/cjs/widgets/index.js +7 -0
  13. package/cjs/widgets/index.umd.js +7 -0
  14. package/dist/instantsearch.development.d.ts +885 -72
  15. package/dist/instantsearch.development.js +731 -184
  16. package/dist/instantsearch.development.js.map +1 -1
  17. package/dist/instantsearch.production.d.ts +885 -72
  18. package/dist/instantsearch.production.min.d.ts +885 -72
  19. package/dist/instantsearch.production.min.js +2 -2
  20. package/dist/instantsearch.production.min.js.map +1 -1
  21. package/es/connectors/autocomplete/connectAutocomplete.d.ts +10 -0
  22. package/es/connectors/autocomplete/connectAutocomplete.js +13 -5
  23. package/es/connectors/chat/connectChat.d.ts +10 -0
  24. package/es/connectors/chat/connectChat.js +89 -17
  25. package/es/connectors/filter-suggestions/connectFilterSuggestions.d.ts +95 -0
  26. package/es/connectors/filter-suggestions/connectFilterSuggestions.js +249 -0
  27. package/es/connectors/index.d.ts +1 -0
  28. package/es/connectors/index.js +2 -1
  29. package/es/connectors/index.umd.d.ts +1 -0
  30. package/es/connectors/index.umd.js +2 -1
  31. package/es/lib/chat/chat.d.ts +1 -1
  32. package/es/lib/chat/chat.js +3 -3
  33. package/es/lib/chat/index.d.ts +3 -0
  34. package/es/lib/chat/index.js +4 -1
  35. package/es/lib/version.d.ts +1 -1
  36. package/es/lib/version.js +1 -1
  37. package/es/widgets/autocomplete/autocomplete.d.ts +2 -1
  38. package/es/widgets/autocomplete/autocomplete.js +15 -6
  39. package/es/widgets/chat/chat.d.ts +8 -0
  40. package/es/widgets/chat/chat.js +33 -4
  41. package/es/widgets/filter-suggestions/filter-suggestions.d.ts +689 -0
  42. package/es/widgets/filter-suggestions/filter-suggestions.js +124 -0
  43. package/es/widgets/index.d.ts +1 -0
  44. package/es/widgets/index.js +2 -1
  45. package/es/widgets/index.umd.d.ts +1 -0
  46. package/es/widgets/index.umd.js +2 -1
  47. package/package.json +7 -7
@@ -12,6 +12,10 @@ import type { ClientSideTools } from 'instantsearch-ui-components';
12
12
  import { CompositionClient } from 'algoliasearch-helper/types/algoliasearch.js';
13
13
  import { DefaultChatTransport } from 'ai';
14
14
  import EventEmitter from '@algolia/events';
15
+ import type { FilterSuggestionsClassNames } from 'instantsearch-ui-components';
16
+ import type { FilterSuggestionsEmptyComponentProps } from 'instantsearch-ui-components';
17
+ import type { FilterSuggestionsHeaderComponentProps } from 'instantsearch-ui-components';
18
+ import type { FilterSuggestionsItemComponentProps } from 'instantsearch-ui-components';
15
19
  import { FindAnswersOptions } from 'algoliasearch-helper/types/algoliasearch.js';
16
20
  import type { FrequentlyBoughtTogetherProps } from 'instantsearch-ui-components';
17
21
  import { h } from 'preact';
@@ -30,6 +34,7 @@ import type { RecommendClassNames } from 'instantsearch-ui-components';
30
34
  import { RecommendParameters } from 'algoliasearch-helper';
31
35
  import type { RecommendParametersOptions } from 'algoliasearch-helper';
32
36
  import { RecommendResponse } from 'algoliasearch-helper/types/algoliasearch.js';
37
+ import { RecommendResponse as RecommendResponse_2 } from 'algoliasearch-helper/types/algoliasearch';
33
38
  import type { RecommendResults } from 'algoliasearch-helper';
34
39
  import type { RelatedProductsProps } from 'instantsearch-ui-components';
35
40
  import { SearchClient } from 'algoliasearch-helper/types/algoliasearch.js';
@@ -276,6 +281,10 @@ declare type AutocompleteConnectorParams = {
276
281
  * @default `true`
277
282
  */
278
283
  escapeHTML?: boolean;
284
+ /**
285
+ * Transforms the items of all indices.
286
+ */
287
+ transformItems?: (indices: TransformItemsIndicesConfig[]) => TransformItemsIndicesConfig[];
279
288
  };
280
289
 
281
290
  declare type AutocompleteCSSClasses = Partial<AutocompleteClassNames>;
@@ -381,6 +390,7 @@ declare type AutocompleteWidgetParams<TItem extends BaseHit> = {
381
390
  }>;
382
391
  cssClasses?: Partial<AutocompleteIndexClassNames>;
383
392
  };
393
+ transformItems?: (indices: TransformItemsIndicesConfig[]) => TransformItemsIndicesConfig[];
384
394
  /**
385
395
  * Search parameters to apply to the autocomplete indices.
386
396
  */
@@ -686,6 +696,11 @@ declare type ChatConnectorParams<TUiMessage extends UIMessage = UIMessage> = ({
686
696
  * Configuration for client-side tools.
687
697
  */
688
698
  tools?: Record<string, Omit<UserClientSideTool, 'layoutComponent'>>;
699
+ /**
700
+ * Identifier of this type of chat widget. This is used for the key in renderState.
701
+ * @default 'chat'
702
+ */
703
+ type?: string;
689
704
  };
690
705
 
691
706
  declare type ChatInit<TUiMessage extends UIMessage> = ChatInitWithoutTransport<TUiMessage> & ChatTransport;
@@ -725,6 +740,10 @@ declare type ChatRenderState<TUiMessage extends UIMessage = UIMessage> = {
725
740
  * Tools configuration with addToolResult bound, ready to be used by the UI.
726
741
  */
727
742
  tools: ClientSideTools;
743
+ /**
744
+ * Suggestions received from the AI model.
745
+ */
746
+ suggestions?: string[];
728
747
  } & Pick<AbstractChat<TUiMessage>, 'addToolResult' | 'clearError' | 'error' | 'id' | 'messages' | 'regenerate' | 'resumeStream' | 'sendMessage' | 'status' | 'stop'>;
729
748
 
730
749
  declare class ChatState<TUiMessage extends UIMessage> implements ChatState_2<TUiMessage> {
@@ -943,6 +962,8 @@ declare const connectCurrentRefinements: CurrentRefinementsConnector;
943
962
 
944
963
  declare const connectDynamicWidgets: DynamicWidgetsConnector;
945
964
 
965
+ declare const connectFilterSuggestions: FilterSuggestionsConnector;
966
+
946
967
  /**
947
968
  * **HierarchicalMenu** connector provides the logic to build a custom widget
948
969
  * that will give the user the ability to explore facets in a tree-like structure.
@@ -1314,7 +1335,8 @@ declare namespace connectors {
1314
1335
  connectRelevantSort,
1315
1336
  _default_6 as connectFrequentlyBoughtTogether,
1316
1337
  _default_7 as connectLookingSimilar,
1317
- connectChat
1338
+ connectChat,
1339
+ connectFilterSuggestions
1318
1340
  }
1319
1341
  }
1320
1342
 
@@ -2341,63 +2363,691 @@ declare const _default_14: <THit extends NonNullable<object> = BaseHit>(widgetPa
2341
2363
  refinementList?: {
2342
2364
  [attribute: string]: WidgetRenderState<RefinementListRenderState, RefinementListConnectorParams>;
2343
2365
  } | undefined;
2344
- relevantSort?: WidgetRenderState<RelevantSortRenderState, RelevantSortConnectorParams> | undefined;
2345
- searchBox?: WidgetRenderState<SearchBoxRenderState, SearchBoxConnectorParams> | undefined;
2346
- sortBy?: WidgetRenderState<SortByRenderState, SortByConnectorParams> | undefined;
2347
- stats?: WidgetRenderState<StatsRenderState, StatsConnectorParams> | undefined;
2348
- toggleRefinement?: {
2349
- [attribute: string]: WidgetRenderState<ToggleRefinementRenderState, ToggleRefinementConnectorParams>;
2366
+ relevantSort?: WidgetRenderState<RelevantSortRenderState, RelevantSortConnectorParams> | undefined;
2367
+ searchBox?: WidgetRenderState<SearchBoxRenderState, SearchBoxConnectorParams> | undefined;
2368
+ sortBy?: WidgetRenderState<SortByRenderState, SortByConnectorParams> | undefined;
2369
+ stats?: WidgetRenderState<StatsRenderState, StatsConnectorParams> | undefined;
2370
+ toggleRefinement?: {
2371
+ [attribute: string]: WidgetRenderState<ToggleRefinementRenderState, ToggleRefinementConnectorParams>;
2372
+ } | undefined;
2373
+ voiceSearch?: WidgetRenderState<VoiceSearchRenderState, VoiceSearchConnectorParams> | undefined;
2374
+ analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
2375
+ places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
2376
+ }): {
2377
+ answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2378
+ autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2379
+ breadcrumb?: {
2380
+ [rootAttribute: string]: WidgetRenderState<BreadcrumbRenderState, BreadcrumbConnectorParams>;
2381
+ } | undefined;
2382
+ chat?: WidgetRenderState<ChatRenderState<UIMessage<unknown, UIDataTypes, UITools>>, ChatConnectorParams<UIMessage<unknown, UIDataTypes, UITools>>> | undefined;
2383
+ clearRefinements?: WidgetRenderState<ClearRefinementsRenderState, ClearRefinementsConnectorParams> | undefined;
2384
+ configure?: WidgetRenderState<ConfigureRenderState, ConfigureConnectorParams> | undefined;
2385
+ currentRefinements?: WidgetRenderState<CurrentRefinementsRenderState, CurrentRefinementsConnectorParams> | undefined;
2386
+ geoSearch?: WidgetRenderState<GeoSearchRenderState<GeoHit>, GeoSearchConnectorParams<GeoHit>> | undefined;
2387
+ hierarchicalMenu?: {
2388
+ [rootAttribute: string]: WidgetRenderState<HierarchicalMenuRenderState, HierarchicalMenuConnectorParams>;
2389
+ } | undefined;
2390
+ hits?: WidgetRenderState<HitsRenderState<BaseHit>, HitsConnectorParams<BaseHit>> | undefined;
2391
+ hitsPerPage?: WidgetRenderState<HitsPerPageRenderState, HitsPerPageConnectorParams> | undefined;
2392
+ infiniteHits?: WidgetRenderState<InfiniteHitsRenderState<BaseHit>, InfiniteHitsConnectorParams<BaseHit>> | undefined;
2393
+ menu?: {
2394
+ [attribute: string]: WidgetRenderState<MenuRenderState, MenuConnectorParams>;
2395
+ } | undefined;
2396
+ numericMenu?: {
2397
+ [attribute: string]: WidgetRenderState<NumericMenuRenderState, NumericMenuConnectorParams>;
2398
+ } | undefined;
2399
+ pagination?: WidgetRenderState<PaginationRenderState, PaginationConnectorParams> | undefined;
2400
+ poweredBy?: WidgetRenderState<PoweredByRenderState, PoweredByConnectorParams> | undefined;
2401
+ queryRules?: WidgetRenderState<QueryRulesRenderState, QueryRulesConnectorParams> | undefined;
2402
+ range?: {
2403
+ [attribute: string]: WidgetRenderState<RangeRenderState, RangeConnectorParams>;
2404
+ } | undefined;
2405
+ ratingMenu?: {
2406
+ [attribute: string]: WidgetRenderState<RatingMenuRenderState, RatingMenuConnectorParams>;
2407
+ } | undefined;
2408
+ refinementList?: {
2409
+ [attribute: string]: WidgetRenderState<RefinementListRenderState, RefinementListConnectorParams>;
2410
+ } | undefined;
2411
+ relevantSort?: WidgetRenderState<RelevantSortRenderState, RelevantSortConnectorParams> | undefined;
2412
+ searchBox?: WidgetRenderState<SearchBoxRenderState, SearchBoxConnectorParams> | undefined;
2413
+ sortBy?: WidgetRenderState<SortByRenderState, SortByConnectorParams> | undefined;
2414
+ stats?: WidgetRenderState<StatsRenderState, StatsConnectorParams> | undefined;
2415
+ toggleRefinement?: {
2416
+ [attribute: string]: WidgetRenderState<ToggleRefinementRenderState, ToggleRefinementConnectorParams>;
2417
+ } | undefined;
2418
+ voiceSearch?: WidgetRenderState<VoiceSearchRenderState, VoiceSearchConnectorParams> | undefined;
2419
+ analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
2420
+ places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
2421
+ };
2422
+ getWidgetRenderState({ results, helper, instantSearchInstance }: InitOptions | RenderOptions | ({
2423
+ instantSearchInstance: InstantSearch;
2424
+ parent: IndexWidget;
2425
+ templatesConfig: Record<string, unknown>;
2426
+ scopedResults: ScopedResult[];
2427
+ state: SearchParameters;
2428
+ renderState: Partial<{
2429
+ answers: WidgetRenderState<AnswersRenderState, AnswersConnectorParams>;
2430
+ } & {
2431
+ autocomplete: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams>;
2432
+ } & {
2433
+ breadcrumb: {
2434
+ [rootAttribute: string]: WidgetRenderState<BreadcrumbRenderState, BreadcrumbConnectorParams>;
2435
+ };
2436
+ } & {
2437
+ chat: WidgetRenderState<ChatRenderState<UIMessage<unknown, UIDataTypes, UITools>>, ChatConnectorParams<UIMessage<unknown, UIDataTypes, UITools>>>;
2438
+ } & {
2439
+ clearRefinements: WidgetRenderState<ClearRefinementsRenderState, ClearRefinementsConnectorParams>;
2440
+ } & {
2441
+ configure: WidgetRenderState<ConfigureRenderState, ConfigureConnectorParams>;
2442
+ } & {
2443
+ currentRefinements: WidgetRenderState<CurrentRefinementsRenderState, CurrentRefinementsConnectorParams>;
2444
+ } & {
2445
+ geoSearch: WidgetRenderState<GeoSearchRenderState<GeoHit>, GeoSearchConnectorParams<GeoHit>>;
2446
+ } & {
2447
+ hierarchicalMenu: {
2448
+ [rootAttribute: string]: WidgetRenderState<HierarchicalMenuRenderState, HierarchicalMenuConnectorParams>;
2449
+ };
2450
+ } & {
2451
+ hits: WidgetRenderState<HitsRenderState<BaseHit>, HitsConnectorParams<BaseHit>>;
2452
+ } & {
2453
+ hitsPerPage: WidgetRenderState<HitsPerPageRenderState, HitsPerPageConnectorParams>;
2454
+ } & {
2455
+ infiniteHits: WidgetRenderState<InfiniteHitsRenderState<BaseHit>, InfiniteHitsConnectorParams<BaseHit>>;
2456
+ } & {
2457
+ menu: {
2458
+ [attribute: string]: WidgetRenderState<MenuRenderState, MenuConnectorParams>;
2459
+ };
2460
+ } & {
2461
+ numericMenu: {
2462
+ [attribute: string]: WidgetRenderState<NumericMenuRenderState, NumericMenuConnectorParams>;
2463
+ };
2464
+ } & {
2465
+ pagination: WidgetRenderState<PaginationRenderState, PaginationConnectorParams>;
2466
+ } & {
2467
+ poweredBy: WidgetRenderState<PoweredByRenderState, PoweredByConnectorParams>;
2468
+ } & {
2469
+ queryRules: WidgetRenderState<QueryRulesRenderState, QueryRulesConnectorParams>;
2470
+ } & {
2471
+ range: {
2472
+ [attribute: string]: WidgetRenderState<RangeRenderState, RangeConnectorParams>;
2473
+ };
2474
+ } & {
2475
+ ratingMenu: {
2476
+ [attribute: string]: WidgetRenderState<RatingMenuRenderState, RatingMenuConnectorParams>;
2477
+ };
2478
+ } & {
2479
+ refinementList: {
2480
+ [attribute: string]: WidgetRenderState<RefinementListRenderState, RefinementListConnectorParams>;
2481
+ };
2482
+ } & {
2483
+ relevantSort: WidgetRenderState<RelevantSortRenderState, RelevantSortConnectorParams>;
2484
+ } & {
2485
+ searchBox: WidgetRenderState<SearchBoxRenderState, SearchBoxConnectorParams>;
2486
+ } & {
2487
+ sortBy: WidgetRenderState<SortByRenderState, SortByConnectorParams>;
2488
+ } & {
2489
+ stats: WidgetRenderState<StatsRenderState, StatsConnectorParams>;
2490
+ } & {
2491
+ toggleRefinement: {
2492
+ [attribute: string]: WidgetRenderState<ToggleRefinementRenderState, ToggleRefinementConnectorParams>;
2493
+ };
2494
+ } & {
2495
+ voiceSearch: WidgetRenderState<VoiceSearchRenderState, VoiceSearchConnectorParams>;
2496
+ } & {
2497
+ analytics: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams>;
2498
+ } & {
2499
+ places: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams>;
2500
+ }>;
2501
+ helper: AlgoliaSearchHelper;
2502
+ searchMetadata: {
2503
+ isSearchStalled: boolean;
2504
+ };
2505
+ status: InstantSearch["status"];
2506
+ error: InstantSearch["error"];
2507
+ createURL: (nextState: SearchParameters | ((state: IndexUiState) => IndexUiState)) => string;
2508
+ } & {
2509
+ results: RecommendResponse<any>;
2510
+ })): {
2511
+ items: Hit<THit>[];
2512
+ widgetParams: Partial<FrequentlyBoughtTogetherWidgetParams<BaseHit>> & FrequentlyBoughtTogetherConnectorParams<THit>;
2513
+ sendEvent: SendEventForHits;
2514
+ };
2515
+ dispose({ recommendState }: DisposeOptions): RecommendParameters;
2516
+ getWidgetParameters(state: RecommendParameters): RecommendParameters;
2517
+ };
2518
+
2519
+ declare const _default_15: <THit extends NonNullable<object> = BaseHit>(widgetParams: LookingSimilarWidgetParams<THit> & LookingSimilarConnectorParams<THit>) => {
2520
+ $$widgetType: "ais.lookingSimilar";
2521
+ dependsOn: "recommend";
2522
+ $$type: "ais.lookingSimilar";
2523
+ init(initOptions: InitOptions): void;
2524
+ render(renderOptions: RenderOptions): void;
2525
+ getRenderState(renderState: {
2526
+ answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2527
+ autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2528
+ breadcrumb?: {
2529
+ [rootAttribute: string]: WidgetRenderState<BreadcrumbRenderState, BreadcrumbConnectorParams>;
2530
+ } | undefined;
2531
+ chat?: WidgetRenderState<ChatRenderState<UIMessage<unknown, UIDataTypes, UITools>>, ChatConnectorParams<UIMessage<unknown, UIDataTypes, UITools>>> | undefined;
2532
+ clearRefinements?: WidgetRenderState<ClearRefinementsRenderState, ClearRefinementsConnectorParams> | undefined;
2533
+ configure?: WidgetRenderState<ConfigureRenderState, ConfigureConnectorParams> | undefined;
2534
+ currentRefinements?: WidgetRenderState<CurrentRefinementsRenderState, CurrentRefinementsConnectorParams> | undefined;
2535
+ geoSearch?: WidgetRenderState<GeoSearchRenderState<GeoHit>, GeoSearchConnectorParams<GeoHit>> | undefined;
2536
+ hierarchicalMenu?: {
2537
+ [rootAttribute: string]: WidgetRenderState<HierarchicalMenuRenderState, HierarchicalMenuConnectorParams>;
2538
+ } | undefined;
2539
+ hits?: WidgetRenderState<HitsRenderState<BaseHit>, HitsConnectorParams<BaseHit>> | undefined;
2540
+ hitsPerPage?: WidgetRenderState<HitsPerPageRenderState, HitsPerPageConnectorParams> | undefined;
2541
+ infiniteHits?: WidgetRenderState<InfiniteHitsRenderState<BaseHit>, InfiniteHitsConnectorParams<BaseHit>> | undefined;
2542
+ menu?: {
2543
+ [attribute: string]: WidgetRenderState<MenuRenderState, MenuConnectorParams>;
2544
+ } | undefined;
2545
+ numericMenu?: {
2546
+ [attribute: string]: WidgetRenderState<NumericMenuRenderState, NumericMenuConnectorParams>;
2547
+ } | undefined;
2548
+ pagination?: WidgetRenderState<PaginationRenderState, PaginationConnectorParams> | undefined;
2549
+ poweredBy?: WidgetRenderState<PoweredByRenderState, PoweredByConnectorParams> | undefined;
2550
+ queryRules?: WidgetRenderState<QueryRulesRenderState, QueryRulesConnectorParams> | undefined;
2551
+ range?: {
2552
+ [attribute: string]: WidgetRenderState<RangeRenderState, RangeConnectorParams>;
2553
+ } | undefined;
2554
+ ratingMenu?: {
2555
+ [attribute: string]: WidgetRenderState<RatingMenuRenderState, RatingMenuConnectorParams>;
2556
+ } | undefined;
2557
+ refinementList?: {
2558
+ [attribute: string]: WidgetRenderState<RefinementListRenderState, RefinementListConnectorParams>;
2559
+ } | undefined;
2560
+ relevantSort?: WidgetRenderState<RelevantSortRenderState, RelevantSortConnectorParams> | undefined;
2561
+ searchBox?: WidgetRenderState<SearchBoxRenderState, SearchBoxConnectorParams> | undefined;
2562
+ sortBy?: WidgetRenderState<SortByRenderState, SortByConnectorParams> | undefined;
2563
+ stats?: WidgetRenderState<StatsRenderState, StatsConnectorParams> | undefined;
2564
+ toggleRefinement?: {
2565
+ [attribute: string]: WidgetRenderState<ToggleRefinementRenderState, ToggleRefinementConnectorParams>;
2566
+ } | undefined;
2567
+ voiceSearch?: WidgetRenderState<VoiceSearchRenderState, VoiceSearchConnectorParams> | undefined;
2568
+ analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
2569
+ places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
2570
+ }): {
2571
+ answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2572
+ autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2573
+ breadcrumb?: {
2574
+ [rootAttribute: string]: WidgetRenderState<BreadcrumbRenderState, BreadcrumbConnectorParams>;
2575
+ } | undefined;
2576
+ chat?: WidgetRenderState<ChatRenderState<UIMessage<unknown, UIDataTypes, UITools>>, ChatConnectorParams<UIMessage<unknown, UIDataTypes, UITools>>> | undefined;
2577
+ clearRefinements?: WidgetRenderState<ClearRefinementsRenderState, ClearRefinementsConnectorParams> | undefined;
2578
+ configure?: WidgetRenderState<ConfigureRenderState, ConfigureConnectorParams> | undefined;
2579
+ currentRefinements?: WidgetRenderState<CurrentRefinementsRenderState, CurrentRefinementsConnectorParams> | undefined;
2580
+ geoSearch?: WidgetRenderState<GeoSearchRenderState<GeoHit>, GeoSearchConnectorParams<GeoHit>> | undefined;
2581
+ hierarchicalMenu?: {
2582
+ [rootAttribute: string]: WidgetRenderState<HierarchicalMenuRenderState, HierarchicalMenuConnectorParams>;
2583
+ } | undefined;
2584
+ hits?: WidgetRenderState<HitsRenderState<BaseHit>, HitsConnectorParams<BaseHit>> | undefined;
2585
+ hitsPerPage?: WidgetRenderState<HitsPerPageRenderState, HitsPerPageConnectorParams> | undefined;
2586
+ infiniteHits?: WidgetRenderState<InfiniteHitsRenderState<BaseHit>, InfiniteHitsConnectorParams<BaseHit>> | undefined;
2587
+ menu?: {
2588
+ [attribute: string]: WidgetRenderState<MenuRenderState, MenuConnectorParams>;
2589
+ } | undefined;
2590
+ numericMenu?: {
2591
+ [attribute: string]: WidgetRenderState<NumericMenuRenderState, NumericMenuConnectorParams>;
2592
+ } | undefined;
2593
+ pagination?: WidgetRenderState<PaginationRenderState, PaginationConnectorParams> | undefined;
2594
+ poweredBy?: WidgetRenderState<PoweredByRenderState, PoweredByConnectorParams> | undefined;
2595
+ queryRules?: WidgetRenderState<QueryRulesRenderState, QueryRulesConnectorParams> | undefined;
2596
+ range?: {
2597
+ [attribute: string]: WidgetRenderState<RangeRenderState, RangeConnectorParams>;
2598
+ } | undefined;
2599
+ ratingMenu?: {
2600
+ [attribute: string]: WidgetRenderState<RatingMenuRenderState, RatingMenuConnectorParams>;
2601
+ } | undefined;
2602
+ refinementList?: {
2603
+ [attribute: string]: WidgetRenderState<RefinementListRenderState, RefinementListConnectorParams>;
2604
+ } | undefined;
2605
+ relevantSort?: WidgetRenderState<RelevantSortRenderState, RelevantSortConnectorParams> | undefined;
2606
+ searchBox?: WidgetRenderState<SearchBoxRenderState, SearchBoxConnectorParams> | undefined;
2607
+ sortBy?: WidgetRenderState<SortByRenderState, SortByConnectorParams> | undefined;
2608
+ stats?: WidgetRenderState<StatsRenderState, StatsConnectorParams> | undefined;
2609
+ toggleRefinement?: {
2610
+ [attribute: string]: WidgetRenderState<ToggleRefinementRenderState, ToggleRefinementConnectorParams>;
2611
+ } | undefined;
2612
+ voiceSearch?: WidgetRenderState<VoiceSearchRenderState, VoiceSearchConnectorParams> | undefined;
2613
+ analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
2614
+ places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
2615
+ };
2616
+ getWidgetRenderState({ results, helper, instantSearchInstance }: InitOptions | RenderOptions | ({
2617
+ instantSearchInstance: InstantSearch;
2618
+ parent: IndexWidget;
2619
+ templatesConfig: Record<string, unknown>;
2620
+ scopedResults: ScopedResult[];
2621
+ state: SearchParameters;
2622
+ renderState: Partial<{
2623
+ answers: WidgetRenderState<AnswersRenderState, AnswersConnectorParams>;
2624
+ } & {
2625
+ autocomplete: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams>;
2626
+ } & {
2627
+ breadcrumb: {
2628
+ [rootAttribute: string]: WidgetRenderState<BreadcrumbRenderState, BreadcrumbConnectorParams>;
2629
+ };
2630
+ } & {
2631
+ chat: WidgetRenderState<ChatRenderState<UIMessage<unknown, UIDataTypes, UITools>>, ChatConnectorParams<UIMessage<unknown, UIDataTypes, UITools>>>;
2632
+ } & {
2633
+ clearRefinements: WidgetRenderState<ClearRefinementsRenderState, ClearRefinementsConnectorParams>;
2634
+ } & {
2635
+ configure: WidgetRenderState<ConfigureRenderState, ConfigureConnectorParams>;
2636
+ } & {
2637
+ currentRefinements: WidgetRenderState<CurrentRefinementsRenderState, CurrentRefinementsConnectorParams>;
2638
+ } & {
2639
+ geoSearch: WidgetRenderState<GeoSearchRenderState<GeoHit>, GeoSearchConnectorParams<GeoHit>>;
2640
+ } & {
2641
+ hierarchicalMenu: {
2642
+ [rootAttribute: string]: WidgetRenderState<HierarchicalMenuRenderState, HierarchicalMenuConnectorParams>;
2643
+ };
2644
+ } & {
2645
+ hits: WidgetRenderState<HitsRenderState<BaseHit>, HitsConnectorParams<BaseHit>>;
2646
+ } & {
2647
+ hitsPerPage: WidgetRenderState<HitsPerPageRenderState, HitsPerPageConnectorParams>;
2648
+ } & {
2649
+ infiniteHits: WidgetRenderState<InfiniteHitsRenderState<BaseHit>, InfiniteHitsConnectorParams<BaseHit>>;
2650
+ } & {
2651
+ menu: {
2652
+ [attribute: string]: WidgetRenderState<MenuRenderState, MenuConnectorParams>;
2653
+ };
2654
+ } & {
2655
+ numericMenu: {
2656
+ [attribute: string]: WidgetRenderState<NumericMenuRenderState, NumericMenuConnectorParams>;
2657
+ };
2658
+ } & {
2659
+ pagination: WidgetRenderState<PaginationRenderState, PaginationConnectorParams>;
2660
+ } & {
2661
+ poweredBy: WidgetRenderState<PoweredByRenderState, PoweredByConnectorParams>;
2662
+ } & {
2663
+ queryRules: WidgetRenderState<QueryRulesRenderState, QueryRulesConnectorParams>;
2664
+ } & {
2665
+ range: {
2666
+ [attribute: string]: WidgetRenderState<RangeRenderState, RangeConnectorParams>;
2667
+ };
2668
+ } & {
2669
+ ratingMenu: {
2670
+ [attribute: string]: WidgetRenderState<RatingMenuRenderState, RatingMenuConnectorParams>;
2671
+ };
2672
+ } & {
2673
+ refinementList: {
2674
+ [attribute: string]: WidgetRenderState<RefinementListRenderState, RefinementListConnectorParams>;
2675
+ };
2676
+ } & {
2677
+ relevantSort: WidgetRenderState<RelevantSortRenderState, RelevantSortConnectorParams>;
2678
+ } & {
2679
+ searchBox: WidgetRenderState<SearchBoxRenderState, SearchBoxConnectorParams>;
2680
+ } & {
2681
+ sortBy: WidgetRenderState<SortByRenderState, SortByConnectorParams>;
2682
+ } & {
2683
+ stats: WidgetRenderState<StatsRenderState, StatsConnectorParams>;
2684
+ } & {
2685
+ toggleRefinement: {
2686
+ [attribute: string]: WidgetRenderState<ToggleRefinementRenderState, ToggleRefinementConnectorParams>;
2687
+ };
2688
+ } & {
2689
+ voiceSearch: WidgetRenderState<VoiceSearchRenderState, VoiceSearchConnectorParams>;
2690
+ } & {
2691
+ analytics: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams>;
2692
+ } & {
2693
+ places: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams>;
2694
+ }>;
2695
+ helper: AlgoliaSearchHelper;
2696
+ searchMetadata: {
2697
+ isSearchStalled: boolean;
2698
+ };
2699
+ status: InstantSearch["status"];
2700
+ error: InstantSearch["error"];
2701
+ createURL: (nextState: SearchParameters | ((state: IndexUiState) => IndexUiState)) => string;
2702
+ } & {
2703
+ results: RecommendResponse<any>;
2704
+ })): {
2705
+ items: Hit<THit>[];
2706
+ widgetParams: Partial<LookingSimilarWidgetParams<BaseHit>> & LookingSimilarConnectorParams<THit>;
2707
+ sendEvent: SendEventForHits;
2708
+ };
2709
+ dispose({ recommendState }: DisposeOptions): RecommendParameters;
2710
+ getWidgetParameters(state: RecommendParameters): RecommendParameters;
2711
+ };
2712
+
2713
+ declare const _default_16: (widgetParams: FilterSuggestionsWidgetParams & FilterSuggestionsConnectorParams) => {
2714
+ $$widgetType: "ais.filterSuggestions";
2715
+ parent?: IndexWidget;
2716
+ $$type: "ais.filterSuggestions";
2717
+ init?: (options: InitOptions) => void;
2718
+ shouldRender?: (options: ShouldRenderOptions) => boolean;
2719
+ render?: (options: RenderOptions) => void;
2720
+ dispose?: (options: DisposeOptions) => SearchParameters | RecommendParameters | void;
2721
+ getWidgetUiState?: ((uiState: {
2722
+ query?: string | undefined;
2723
+ configure?: PlainSearchParameters | undefined;
2724
+ geoSearch?: {
2725
+ boundingBox: string;
2726
+ } | undefined;
2727
+ hierarchicalMenu?: {
2728
+ [rootAttribute: string]: string[];
2729
+ } | undefined;
2730
+ hitsPerPage?: number | undefined;
2731
+ page?: number | undefined;
2732
+ menu?: {
2733
+ [attribute: string]: string;
2734
+ } | undefined;
2735
+ numericMenu?: {
2736
+ [attribute: string]: string;
2737
+ } | undefined;
2738
+ range?: {
2739
+ [attribute: string]: string;
2740
+ } | undefined;
2741
+ ratingMenu?: {
2742
+ [attribute: string]: number | undefined;
2743
+ } | undefined;
2744
+ refinementList?: {
2745
+ [attribute: string]: string[];
2746
+ } | undefined;
2747
+ relevantSort?: number | undefined;
2748
+ sortBy?: string | undefined;
2749
+ toggle?: {
2750
+ [attribute: string]: boolean;
2751
+ } | undefined;
2752
+ places?: {
2753
+ query: string;
2754
+ position: string;
2755
+ } | undefined;
2756
+ }, widgetUiStateOptions: {
2757
+ searchParameters: SearchParameters;
2758
+ helper: AlgoliaSearchHelper;
2759
+ }) => Partial<IndexUiState & unknown>) | undefined;
2760
+ getWidgetState?: ((uiState: {
2761
+ query?: string | undefined;
2762
+ configure?: PlainSearchParameters | undefined;
2763
+ geoSearch?: {
2764
+ boundingBox: string;
2765
+ } | undefined;
2766
+ hierarchicalMenu?: {
2767
+ [rootAttribute: string]: string[];
2768
+ } | undefined;
2769
+ hitsPerPage?: number | undefined;
2770
+ page?: number | undefined;
2771
+ menu?: {
2772
+ [attribute: string]: string;
2773
+ } | undefined;
2774
+ numericMenu?: {
2775
+ [attribute: string]: string;
2776
+ } | undefined;
2777
+ range?: {
2778
+ [attribute: string]: string;
2779
+ } | undefined;
2780
+ ratingMenu?: {
2781
+ [attribute: string]: number | undefined;
2782
+ } | undefined;
2783
+ refinementList?: {
2784
+ [attribute: string]: string[];
2785
+ } | undefined;
2786
+ relevantSort?: number | undefined;
2787
+ sortBy?: string | undefined;
2788
+ toggle?: {
2789
+ [attribute: string]: boolean;
2790
+ } | undefined;
2791
+ places?: {
2792
+ query: string;
2793
+ position: string;
2794
+ } | undefined;
2795
+ }, widgetUiStateOptions: {
2796
+ searchParameters: SearchParameters;
2797
+ helper: AlgoliaSearchHelper;
2798
+ }) => Partial<IndexUiState & unknown>) | undefined;
2799
+ getWidgetSearchParameters?: ((state: SearchParameters, widgetSearchParametersOptions: {
2800
+ uiState: {
2801
+ query?: string | undefined;
2802
+ configure?: PlainSearchParameters | undefined;
2803
+ geoSearch?: {
2804
+ boundingBox: string;
2805
+ } | undefined;
2806
+ hierarchicalMenu?: {
2807
+ [rootAttribute: string]: string[];
2808
+ } | undefined;
2809
+ hitsPerPage?: number | undefined;
2810
+ page?: number | undefined;
2811
+ menu?: {
2812
+ [attribute: string]: string;
2813
+ } | undefined;
2814
+ numericMenu?: {
2815
+ [attribute: string]: string;
2816
+ } | undefined;
2817
+ range?: {
2818
+ [attribute: string]: string;
2819
+ } | undefined;
2820
+ ratingMenu?: {
2821
+ [attribute: string]: number | undefined;
2822
+ } | undefined;
2823
+ refinementList?: {
2824
+ [attribute: string]: string[];
2825
+ } | undefined;
2826
+ relevantSort?: number | undefined;
2827
+ sortBy?: string | undefined;
2828
+ toggle?: {
2829
+ [attribute: string]: boolean;
2830
+ } | undefined;
2831
+ places?: {
2832
+ query: string;
2833
+ position: string;
2834
+ } | undefined;
2835
+ };
2836
+ }) => SearchParameters) | undefined;
2837
+ getWidgetRenderState: (renderOptions: InitOptions | RenderOptions) => Expand<WidgetRenderState<FilterSuggestionsRenderState, FilterSuggestionsConnectorParams & Partial<FilterSuggestionsWidgetParams>>>;
2838
+ getRenderState: (renderState: {
2839
+ answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2840
+ autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2841
+ breadcrumb?: {
2842
+ [rootAttribute: string]: WidgetRenderState<BreadcrumbRenderState, BreadcrumbConnectorParams>;
2843
+ } | undefined;
2844
+ chat?: WidgetRenderState<ChatRenderState<UIMessage<unknown, UIDataTypes, UITools>>, ChatConnectorParams<UIMessage<unknown, UIDataTypes, UITools>>> | undefined;
2845
+ clearRefinements?: WidgetRenderState<ClearRefinementsRenderState, ClearRefinementsConnectorParams> | undefined;
2846
+ configure?: WidgetRenderState<ConfigureRenderState, ConfigureConnectorParams> | undefined;
2847
+ currentRefinements?: WidgetRenderState<CurrentRefinementsRenderState, CurrentRefinementsConnectorParams> | undefined;
2848
+ geoSearch?: WidgetRenderState<GeoSearchRenderState<GeoHit>, GeoSearchConnectorParams<GeoHit>> | undefined;
2849
+ hierarchicalMenu?: {
2850
+ [rootAttribute: string]: WidgetRenderState<HierarchicalMenuRenderState, HierarchicalMenuConnectorParams>;
2851
+ } | undefined;
2852
+ hits?: WidgetRenderState<HitsRenderState<BaseHit>, HitsConnectorParams<BaseHit>> | undefined;
2853
+ hitsPerPage?: WidgetRenderState<HitsPerPageRenderState, HitsPerPageConnectorParams> | undefined;
2854
+ infiniteHits?: WidgetRenderState<InfiniteHitsRenderState<BaseHit>, InfiniteHitsConnectorParams<BaseHit>> | undefined;
2855
+ menu?: {
2856
+ [attribute: string]: WidgetRenderState<MenuRenderState, MenuConnectorParams>;
2857
+ } | undefined;
2858
+ numericMenu?: {
2859
+ [attribute: string]: WidgetRenderState<NumericMenuRenderState, NumericMenuConnectorParams>;
2860
+ } | undefined;
2861
+ pagination?: WidgetRenderState<PaginationRenderState, PaginationConnectorParams> | undefined;
2862
+ poweredBy?: WidgetRenderState<PoweredByRenderState, PoweredByConnectorParams> | undefined;
2863
+ queryRules?: WidgetRenderState<QueryRulesRenderState, QueryRulesConnectorParams> | undefined;
2864
+ range?: {
2865
+ [attribute: string]: WidgetRenderState<RangeRenderState, RangeConnectorParams>;
2866
+ } | undefined;
2867
+ ratingMenu?: {
2868
+ [attribute: string]: WidgetRenderState<RatingMenuRenderState, RatingMenuConnectorParams>;
2869
+ } | undefined;
2870
+ refinementList?: {
2871
+ [attribute: string]: WidgetRenderState<RefinementListRenderState, RefinementListConnectorParams>;
2872
+ } | undefined;
2873
+ relevantSort?: WidgetRenderState<RelevantSortRenderState, RelevantSortConnectorParams> | undefined;
2874
+ searchBox?: WidgetRenderState<SearchBoxRenderState, SearchBoxConnectorParams> | undefined;
2875
+ sortBy?: WidgetRenderState<SortByRenderState, SortByConnectorParams> | undefined;
2876
+ stats?: WidgetRenderState<StatsRenderState, StatsConnectorParams> | undefined;
2877
+ toggleRefinement?: {
2878
+ [attribute: string]: WidgetRenderState<ToggleRefinementRenderState, ToggleRefinementConnectorParams>;
2879
+ } | undefined;
2880
+ voiceSearch?: WidgetRenderState<VoiceSearchRenderState, VoiceSearchConnectorParams> | undefined;
2881
+ analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
2882
+ places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
2883
+ filterSuggestions?: WidgetRenderState<FilterSuggestionsRenderState, FilterSuggestionsConnectorParams> | undefined;
2884
+ }, renderOptions: InitOptions | RenderOptions) => IndexRenderState & {
2885
+ filterSuggestions: WidgetRenderState<FilterSuggestionsRenderState, FilterSuggestionsConnectorParams>;
2886
+ };
2887
+ dependsOn?: "search";
2888
+ getWidgetParameters?: ((state: SearchParameters, widgetParametersOptions: {
2889
+ uiState: {
2890
+ query?: string | undefined;
2891
+ configure?: PlainSearchParameters | undefined;
2892
+ geoSearch?: {
2893
+ boundingBox: string;
2894
+ } | undefined;
2895
+ hierarchicalMenu?: {
2896
+ [rootAttribute: string]: string[];
2897
+ } | undefined;
2898
+ hitsPerPage?: number | undefined;
2899
+ page?: number | undefined;
2900
+ menu?: {
2901
+ [attribute: string]: string;
2902
+ } | undefined;
2903
+ numericMenu?: {
2904
+ [attribute: string]: string;
2905
+ } | undefined;
2906
+ range?: {
2907
+ [attribute: string]: string;
2908
+ } | undefined;
2909
+ ratingMenu?: {
2910
+ [attribute: string]: number | undefined;
2911
+ } | undefined;
2912
+ refinementList?: {
2913
+ [attribute: string]: string[];
2914
+ } | undefined;
2915
+ relevantSort?: number | undefined;
2916
+ sortBy?: string | undefined;
2917
+ toggle?: {
2918
+ [attribute: string]: boolean;
2919
+ } | undefined;
2920
+ places?: {
2921
+ query: string;
2922
+ position: string;
2923
+ } | undefined;
2924
+ };
2925
+ }) => SearchParameters) | undefined;
2926
+ } | {
2927
+ $$widgetType: "ais.filterSuggestions";
2928
+ parent?: IndexWidget;
2929
+ $$type: "ais.filterSuggestions";
2930
+ init?: (options: InitOptions) => void;
2931
+ shouldRender?: (options: ShouldRenderOptions) => boolean;
2932
+ render?: (options: RenderOptions) => void;
2933
+ dispose?: (options: DisposeOptions) => SearchParameters | RecommendParameters | void;
2934
+ getWidgetUiState?: ((uiState: {
2935
+ query?: string | undefined;
2936
+ configure?: PlainSearchParameters | undefined;
2937
+ geoSearch?: {
2938
+ boundingBox: string;
2939
+ } | undefined;
2940
+ hierarchicalMenu?: {
2941
+ [rootAttribute: string]: string[];
2942
+ } | undefined;
2943
+ hitsPerPage?: number | undefined;
2944
+ page?: number | undefined;
2945
+ menu?: {
2946
+ [attribute: string]: string;
2947
+ } | undefined;
2948
+ numericMenu?: {
2949
+ [attribute: string]: string;
2950
+ } | undefined;
2951
+ range?: {
2952
+ [attribute: string]: string;
2953
+ } | undefined;
2954
+ ratingMenu?: {
2955
+ [attribute: string]: number | undefined;
2956
+ } | undefined;
2957
+ refinementList?: {
2958
+ [attribute: string]: string[];
2959
+ } | undefined;
2960
+ relevantSort?: number | undefined;
2961
+ sortBy?: string | undefined;
2962
+ toggle?: {
2963
+ [attribute: string]: boolean;
2964
+ } | undefined;
2965
+ places?: {
2966
+ query: string;
2967
+ position: string;
2350
2968
  } | undefined;
2351
- voiceSearch?: WidgetRenderState<VoiceSearchRenderState, VoiceSearchConnectorParams> | undefined;
2352
- analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
2353
- places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
2354
- }): {
2355
- answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2356
- autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2357
- breadcrumb?: {
2358
- [rootAttribute: string]: WidgetRenderState<BreadcrumbRenderState, BreadcrumbConnectorParams>;
2969
+ }, widgetUiStateOptions: {
2970
+ searchParameters: SearchParameters;
2971
+ helper: AlgoliaSearchHelper;
2972
+ }) => Partial<IndexUiState & unknown>) | undefined;
2973
+ getWidgetState?: ((uiState: {
2974
+ query?: string | undefined;
2975
+ configure?: PlainSearchParameters | undefined;
2976
+ geoSearch?: {
2977
+ boundingBox: string;
2359
2978
  } | undefined;
2360
- chat?: WidgetRenderState<ChatRenderState<UIMessage<unknown, UIDataTypes, UITools>>, ChatConnectorParams<UIMessage<unknown, UIDataTypes, UITools>>> | undefined;
2361
- clearRefinements?: WidgetRenderState<ClearRefinementsRenderState, ClearRefinementsConnectorParams> | undefined;
2362
- configure?: WidgetRenderState<ConfigureRenderState, ConfigureConnectorParams> | undefined;
2363
- currentRefinements?: WidgetRenderState<CurrentRefinementsRenderState, CurrentRefinementsConnectorParams> | undefined;
2364
- geoSearch?: WidgetRenderState<GeoSearchRenderState<GeoHit>, GeoSearchConnectorParams<GeoHit>> | undefined;
2365
2979
  hierarchicalMenu?: {
2366
- [rootAttribute: string]: WidgetRenderState<HierarchicalMenuRenderState, HierarchicalMenuConnectorParams>;
2980
+ [rootAttribute: string]: string[];
2367
2981
  } | undefined;
2368
- hits?: WidgetRenderState<HitsRenderState<BaseHit>, HitsConnectorParams<BaseHit>> | undefined;
2369
- hitsPerPage?: WidgetRenderState<HitsPerPageRenderState, HitsPerPageConnectorParams> | undefined;
2370
- infiniteHits?: WidgetRenderState<InfiniteHitsRenderState<BaseHit>, InfiniteHitsConnectorParams<BaseHit>> | undefined;
2982
+ hitsPerPage?: number | undefined;
2983
+ page?: number | undefined;
2371
2984
  menu?: {
2372
- [attribute: string]: WidgetRenderState<MenuRenderState, MenuConnectorParams>;
2985
+ [attribute: string]: string;
2373
2986
  } | undefined;
2374
2987
  numericMenu?: {
2375
- [attribute: string]: WidgetRenderState<NumericMenuRenderState, NumericMenuConnectorParams>;
2988
+ [attribute: string]: string;
2376
2989
  } | undefined;
2377
- pagination?: WidgetRenderState<PaginationRenderState, PaginationConnectorParams> | undefined;
2378
- poweredBy?: WidgetRenderState<PoweredByRenderState, PoweredByConnectorParams> | undefined;
2379
- queryRules?: WidgetRenderState<QueryRulesRenderState, QueryRulesConnectorParams> | undefined;
2380
2990
  range?: {
2381
- [attribute: string]: WidgetRenderState<RangeRenderState, RangeConnectorParams>;
2991
+ [attribute: string]: string;
2382
2992
  } | undefined;
2383
2993
  ratingMenu?: {
2384
- [attribute: string]: WidgetRenderState<RatingMenuRenderState, RatingMenuConnectorParams>;
2994
+ [attribute: string]: number | undefined;
2385
2995
  } | undefined;
2386
2996
  refinementList?: {
2387
- [attribute: string]: WidgetRenderState<RefinementListRenderState, RefinementListConnectorParams>;
2997
+ [attribute: string]: string[];
2388
2998
  } | undefined;
2389
- relevantSort?: WidgetRenderState<RelevantSortRenderState, RelevantSortConnectorParams> | undefined;
2390
- searchBox?: WidgetRenderState<SearchBoxRenderState, SearchBoxConnectorParams> | undefined;
2391
- sortBy?: WidgetRenderState<SortByRenderState, SortByConnectorParams> | undefined;
2392
- stats?: WidgetRenderState<StatsRenderState, StatsConnectorParams> | undefined;
2393
- toggleRefinement?: {
2394
- [attribute: string]: WidgetRenderState<ToggleRefinementRenderState, ToggleRefinementConnectorParams>;
2999
+ relevantSort?: number | undefined;
3000
+ sortBy?: string | undefined;
3001
+ toggle?: {
3002
+ [attribute: string]: boolean;
2395
3003
  } | undefined;
2396
- voiceSearch?: WidgetRenderState<VoiceSearchRenderState, VoiceSearchConnectorParams> | undefined;
2397
- analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
2398
- places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
2399
- };
2400
- getWidgetRenderState({ results, helper, instantSearchInstance }: InitOptions | RenderOptions | ({
3004
+ places?: {
3005
+ query: string;
3006
+ position: string;
3007
+ } | undefined;
3008
+ }, widgetUiStateOptions: {
3009
+ searchParameters: SearchParameters;
3010
+ helper: AlgoliaSearchHelper;
3011
+ }) => Partial<IndexUiState & unknown>) | undefined;
3012
+ getWidgetSearchParameters?: ((state: SearchParameters, widgetSearchParametersOptions: {
3013
+ uiState: {
3014
+ query?: string | undefined;
3015
+ configure?: PlainSearchParameters | undefined;
3016
+ geoSearch?: {
3017
+ boundingBox: string;
3018
+ } | undefined;
3019
+ hierarchicalMenu?: {
3020
+ [rootAttribute: string]: string[];
3021
+ } | undefined;
3022
+ hitsPerPage?: number | undefined;
3023
+ page?: number | undefined;
3024
+ menu?: {
3025
+ [attribute: string]: string;
3026
+ } | undefined;
3027
+ numericMenu?: {
3028
+ [attribute: string]: string;
3029
+ } | undefined;
3030
+ range?: {
3031
+ [attribute: string]: string;
3032
+ } | undefined;
3033
+ ratingMenu?: {
3034
+ [attribute: string]: number | undefined;
3035
+ } | undefined;
3036
+ refinementList?: {
3037
+ [attribute: string]: string[];
3038
+ } | undefined;
3039
+ relevantSort?: number | undefined;
3040
+ sortBy?: string | undefined;
3041
+ toggle?: {
3042
+ [attribute: string]: boolean;
3043
+ } | undefined;
3044
+ places?: {
3045
+ query: string;
3046
+ position: string;
3047
+ } | undefined;
3048
+ };
3049
+ }) => SearchParameters) | undefined;
3050
+ getWidgetRenderState: ((renderOptions: InitOptions | RenderOptions) => Expand<WidgetRenderState<FilterSuggestionsRenderState, FilterSuggestionsConnectorParams & Partial<FilterSuggestionsWidgetParams>>>) & ((renderOptions: InitOptions | ({
2401
3051
  instantSearchInstance: InstantSearch;
2402
3052
  parent: IndexWidget;
2403
3053
  templatesConfig: Record<string, unknown>;
@@ -2484,23 +3134,9 @@ declare const _default_14: <THit extends NonNullable<object> = BaseHit>(widgetPa
2484
3134
  error: InstantSearch["error"];
2485
3135
  createURL: (nextState: SearchParameters | ((state: IndexUiState) => IndexUiState)) => string;
2486
3136
  } & {
2487
- results: RecommendResponse<any>;
2488
- })): {
2489
- items: Hit<THit>[];
2490
- widgetParams: Partial<FrequentlyBoughtTogetherWidgetParams<BaseHit>> & FrequentlyBoughtTogetherConnectorParams<THit>;
2491
- sendEvent: SendEventForHits;
2492
- };
2493
- dispose({ recommendState }: DisposeOptions): RecommendParameters;
2494
- getWidgetParameters(state: RecommendParameters): RecommendParameters;
2495
- };
2496
-
2497
- declare const _default_15: <THit extends NonNullable<object> = BaseHit>(widgetParams: LookingSimilarWidgetParams<THit> & LookingSimilarConnectorParams<THit>) => {
2498
- $$widgetType: "ais.lookingSimilar";
2499
- dependsOn: "recommend";
2500
- $$type: "ais.lookingSimilar";
2501
- init(initOptions: InitOptions): void;
2502
- render(renderOptions: RenderOptions): void;
2503
- getRenderState(renderState: {
3137
+ results: RecommendResponse_2<any>;
3138
+ })) => Expand<WidgetRenderState<FilterSuggestionsRenderState, FilterSuggestionsConnectorParams & Partial<FilterSuggestionsWidgetParams>>>);
3139
+ getRenderState: ((renderState: {
2504
3140
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2505
3141
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2506
3142
  breadcrumb?: {
@@ -2545,7 +3181,10 @@ declare const _default_15: <THit extends NonNullable<object> = BaseHit>(widgetPa
2545
3181
  voiceSearch?: WidgetRenderState<VoiceSearchRenderState, VoiceSearchConnectorParams> | undefined;
2546
3182
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
2547
3183
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
2548
- }): {
3184
+ filterSuggestions?: WidgetRenderState<FilterSuggestionsRenderState, FilterSuggestionsConnectorParams> | undefined;
3185
+ }, renderOptions: InitOptions | RenderOptions) => IndexRenderState & {
3186
+ filterSuggestions: WidgetRenderState<FilterSuggestionsRenderState, FilterSuggestionsConnectorParams>;
3187
+ }) & ((renderState: {
2549
3188
  answers?: WidgetRenderState<AnswersRenderState, AnswersConnectorParams> | undefined;
2550
3189
  autocomplete?: WidgetRenderState<AutocompleteRenderState, AutocompleteConnectorParams> | undefined;
2551
3190
  breadcrumb?: {
@@ -2590,8 +3229,8 @@ declare const _default_15: <THit extends NonNullable<object> = BaseHit>(widgetPa
2590
3229
  voiceSearch?: WidgetRenderState<VoiceSearchRenderState, VoiceSearchConnectorParams> | undefined;
2591
3230
  analytics?: WidgetRenderState<Record<string, unknown>, AnalyticsWidgetParams> | undefined;
2592
3231
  places?: WidgetRenderState<Record<string, unknown>, PlacesWidgetParams> | undefined;
2593
- };
2594
- getWidgetRenderState({ results, helper, instantSearchInstance }: InitOptions | RenderOptions | ({
3232
+ filterSuggestions?: WidgetRenderState<FilterSuggestionsRenderState, FilterSuggestionsConnectorParams> | undefined;
3233
+ }, renderOptions: InitOptions | ({
2595
3234
  instantSearchInstance: InstantSearch;
2596
3235
  parent: IndexWidget;
2597
3236
  templatesConfig: Record<string, unknown>;
@@ -2678,14 +3317,50 @@ declare const _default_15: <THit extends NonNullable<object> = BaseHit>(widgetPa
2678
3317
  error: InstantSearch["error"];
2679
3318
  createURL: (nextState: SearchParameters | ((state: IndexUiState) => IndexUiState)) => string;
2680
3319
  } & {
2681
- results: RecommendResponse<any>;
2682
- })): {
2683
- items: Hit<THit>[];
2684
- widgetParams: Partial<LookingSimilarWidgetParams<BaseHit>> & LookingSimilarConnectorParams<THit>;
2685
- sendEvent: SendEventForHits;
2686
- };
2687
- dispose({ recommendState }: DisposeOptions): RecommendParameters;
2688
- getWidgetParameters(state: RecommendParameters): RecommendParameters;
3320
+ results: RecommendResponse_2<any>;
3321
+ })) => IndexRenderState & {
3322
+ filterSuggestions: WidgetRenderState<FilterSuggestionsRenderState, FilterSuggestionsConnectorParams>;
3323
+ });
3324
+ dependsOn: "recommend";
3325
+ $$id?: number;
3326
+ getWidgetParameters: (state: RecommendParameters, widgetParametersOptions: {
3327
+ uiState: {
3328
+ query?: string | undefined;
3329
+ configure?: PlainSearchParameters | undefined;
3330
+ geoSearch?: {
3331
+ boundingBox: string;
3332
+ } | undefined;
3333
+ hierarchicalMenu?: {
3334
+ [rootAttribute: string]: string[];
3335
+ } | undefined;
3336
+ hitsPerPage?: number | undefined;
3337
+ page?: number | undefined;
3338
+ menu?: {
3339
+ [attribute: string]: string;
3340
+ } | undefined;
3341
+ numericMenu?: {
3342
+ [attribute: string]: string;
3343
+ } | undefined;
3344
+ range?: {
3345
+ [attribute: string]: string;
3346
+ } | undefined;
3347
+ ratingMenu?: {
3348
+ [attribute: string]: number | undefined;
3349
+ } | undefined;
3350
+ refinementList?: {
3351
+ [attribute: string]: string[];
3352
+ } | undefined;
3353
+ relevantSort?: number | undefined;
3354
+ sortBy?: string | undefined;
3355
+ toggle?: {
3356
+ [attribute: string]: boolean;
3357
+ } | undefined;
3358
+ places?: {
3359
+ query: string;
3360
+ position: string;
3361
+ } | undefined;
3362
+ };
3363
+ }) => RecommendParameters;
2689
3364
  };
2690
3365
 
2691
3366
  declare const _default_2: <TWidgetParams extends UnknownWidgetParams>(renderFn: Renderer<InfiniteHitsRenderState, TWidgetParams>, unmountFn?: Unmounter) => <THit extends NonNullable<object> = BaseHit>(widgetParams: TWidgetParams & InfiniteHitsConnectorParams<THit>) => {
@@ -4058,6 +4733,117 @@ declare const EXPERIMENTAL_dynamicWidgets: DynamicWidgetsWidget;
4058
4733
 
4059
4734
  declare type FacetValue = string | boolean | number;
4060
4735
 
4736
+ declare type FilterSuggestionsConnector = Connector<FilterSuggestionsWidgetDescription, FilterSuggestionsConnectorParams>;
4737
+
4738
+ declare type FilterSuggestionsConnectorParams = {
4739
+ /**
4740
+ * The ID of the agent configured in the Algolia dashboard.
4741
+ * Required unless a custom `transport` is provided.
4742
+ */
4743
+ agentId?: string;
4744
+ /**
4745
+ * Limit to specific facet attributes.
4746
+ */
4747
+ attributes?: string[];
4748
+ /**
4749
+ * Maximum number of suggestions to return.
4750
+ * @default 3
4751
+ */
4752
+ maxSuggestions?: number;
4753
+ /**
4754
+ * Debounce delay in milliseconds before fetching suggestions.
4755
+ * @default 300
4756
+ */
4757
+ debounceMs?: number;
4758
+ /**
4759
+ * Number of hits to send for context.
4760
+ * @default 5
4761
+ */
4762
+ hitsToSample?: number;
4763
+ /**
4764
+ * Function to transform the items passed to the templates.
4765
+ */
4766
+ transformItems?: TransformItems<Suggestion>;
4767
+ /**
4768
+ * Custom transport configuration for the API requests.
4769
+ * When provided, allows using a custom endpoint, headers, and request body.
4770
+ */
4771
+ transport?: FilterSuggestionsTransport;
4772
+ };
4773
+
4774
+ declare type FilterSuggestionsCSSClasses = Partial<FilterSuggestionsClassNames>;
4775
+
4776
+ declare type FilterSuggestionsRenderState = {
4777
+ /**
4778
+ * The list of suggested filters.
4779
+ */
4780
+ suggestions: Suggestion[];
4781
+ /**
4782
+ * Whether suggestions are currently being fetched.
4783
+ */
4784
+ isLoading: boolean;
4785
+ /**
4786
+ * Applies a filter for the given attribute and value.
4787
+ */
4788
+ refine: (attribute: string, value: string) => void;
4789
+ };
4790
+
4791
+ declare type FilterSuggestionsTemplates = Partial<{
4792
+ /**
4793
+ * Template to use for the header. Set to `false` to disable the header.
4794
+ */
4795
+ header: Template<FilterSuggestionsHeaderComponentProps> | false;
4796
+ /**
4797
+ * Template to use for each suggestion item.
4798
+ */
4799
+ item: Template<FilterSuggestionsItemComponentProps>;
4800
+ /**
4801
+ * Template to use when there are no suggestions.
4802
+ */
4803
+ empty: Template<FilterSuggestionsEmptyComponentProps>;
4804
+ }>;
4805
+
4806
+ declare type FilterSuggestionsTransport = {
4807
+ /**
4808
+ * The custom API endpoint URL.
4809
+ */
4810
+ api: string;
4811
+ /**
4812
+ * Custom headers to send with the request.
4813
+ */
4814
+ headers?: Record<string, string>;
4815
+ /**
4816
+ * Function to prepare the request body before sending.
4817
+ * Receives the default body and returns the modified request options.
4818
+ */
4819
+ prepareSendMessagesRequest?: (body: Record<string, unknown>) => {
4820
+ body: Record<string, unknown>;
4821
+ };
4822
+ };
4823
+
4824
+ declare type FilterSuggestionsWidgetDescription = {
4825
+ $$type: 'ais.filterSuggestions';
4826
+ renderState: FilterSuggestionsRenderState;
4827
+ indexRenderState: {
4828
+ filterSuggestions: WidgetRenderState<FilterSuggestionsRenderState, FilterSuggestionsConnectorParams>;
4829
+ };
4830
+ };
4831
+
4832
+ declare type FilterSuggestionsWidgetParams = {
4833
+ /**
4834
+ * CSS Selector or HTMLElement to insert the widget.
4835
+ */
4836
+ container: string | HTMLElement;
4837
+ /**
4838
+ * Templates to use for the widget.
4839
+ */
4840
+ templates?: FilterSuggestionsTemplates;
4841
+ /**
4842
+ * CSS classes to add.
4843
+ */
4844
+ cssClasses?: FilterSuggestionsCSSClasses;
4845
+ };
4846
+
4061
4847
  declare type FrequentlyBoughtTogetherConnectorParams<THit extends NonNullable<object> = BaseHit> = {
4062
4848
  /**
4063
4849
  * The objectIDs of the items to get the frequently bought together items for.
@@ -8494,6 +9280,25 @@ declare type StatsWidgetParams = {
8494
9280
 
8495
9281
  declare type Status = 'initial' | 'askingPermission' | 'waiting' | 'recognizing' | 'finished' | 'error';
8496
9282
 
9283
+ declare type Suggestion = {
9284
+ /**
9285
+ * The facet attribute name.
9286
+ */
9287
+ attribute: string;
9288
+ /**
9289
+ * The facet value to filter by.
9290
+ */
9291
+ value: string;
9292
+ /**
9293
+ * Human-readable display label.
9294
+ */
9295
+ label: string;
9296
+ /**
9297
+ * Number of records matching this filter.
9298
+ */
9299
+ count: number;
9300
+ };
9301
+
8497
9302
  declare type Template<TTemplateData = void> = string | ((data: TTemplateData, params: TemplateParams) => VNode | VNode[] | string | null);
8498
9303
 
8499
9304
  declare type Template_2<TData = Record<string, unknown>> = (params: {
@@ -8699,6 +9504,13 @@ declare type TrackedFilterRefinement = string | number | boolean;
8699
9504
  */
8700
9505
  declare type TransformItems<TItem, TMetadata = TransformItemsMetadata> = (items: TItem[], metadata: TMetadata) => TItem[];
8701
9506
 
9507
+ declare type TransformItemsIndicesConfig = {
9508
+ indexName: string;
9509
+ indexId: string;
9510
+ hits: Hit[];
9511
+ results: SearchResults;
9512
+ };
9513
+
8702
9514
  declare type TransformItemsMetadata = {
8703
9515
  results: SearchResults | undefined | null;
8704
9516
  };
@@ -8980,7 +9792,8 @@ declare namespace widgets {
8980
9792
  voiceSearch,
8981
9793
  _default_14 as frequentlyBoughtTogether,
8982
9794
  _default_15 as lookingSimilar,
8983
- chat
9795
+ chat,
9796
+ _default_16 as filterSuggestions
8984
9797
  }
8985
9798
  }
8986
9799