From 2f5c683cccca681345e855a2c28c3606919c73e4 Mon Sep 17 00:00:00 2001 From: Sarah Dayan <5370675+sarahdayan@users.noreply.github.com> Date: Mon, 9 Oct 2023 14:47:55 +0200 Subject: [PATCH] feat: pass `insights` option default to `undefined` (#1198) Co-authored-by: Dhaya <154633+dhayab@users.noreply.github.com> --- .../src/createAutocomplete.ts | 4 ++-- .../autocomplete-core/src/getDefaultProps.ts | 2 +- packages/autocomplete-core/src/types/index.ts | 18 +++++++++++++----- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/packages/autocomplete-core/src/createAutocomplete.ts b/packages/autocomplete-core/src/createAutocomplete.ts index 38790c3fb..d9c9cf7d5 100644 --- a/packages/autocomplete-core/src/createAutocomplete.ts +++ b/packages/autocomplete-core/src/createAutocomplete.ts @@ -69,11 +69,11 @@ export function createAutocomplete< } if ( - options.insights && + props.insights && !props.plugins.some((plugin) => plugin.name === 'aa.algoliaInsightsPlugin') ) { const insightsParams = - typeof options.insights === 'boolean' ? {} : options.insights; + typeof props.insights === 'boolean' ? {} : props.insights; props.plugins.push(createAlgoliaInsightsPlugin(insightsParams)); } diff --git a/packages/autocomplete-core/src/getDefaultProps.ts b/packages/autocomplete-core/src/getDefaultProps.ts index 9ea0c1827..4915fa941 100644 --- a/packages/autocomplete-core/src/getDefaultProps.ts +++ b/packages/autocomplete-core/src/getDefaultProps.ts @@ -32,7 +32,7 @@ export function getDefaultProps( autoFocus: false, defaultActiveItemId: null, stallThreshold: 300, - insights: false, + insights: undefined, environment, shouldPanelOpen: ({ state }) => getItemsCount(state) > 0, reshape: ({ sources }) => sources, diff --git a/packages/autocomplete-core/src/types/index.ts b/packages/autocomplete-core/src/types/index.ts index c6b901771..0f3d5cd8f 100644 --- a/packages/autocomplete-core/src/types/index.ts +++ b/packages/autocomplete-core/src/types/index.ts @@ -9,20 +9,28 @@ import { } from '@algolia/autocomplete-plugin-algolia-insights'; import { AutocompleteOptions as _AutocompleteOptions, + InternalAutocompleteOptions as _InternalAutocompleteOptions, BaseItem, } from '@algolia/autocomplete-shared/dist/esm/core'; export type AutocompleteInsightsApi = _AutocompleteInsightsApi; export type AlgoliaInsightsHit = _AlgoliaInsightsHit; -export interface AutocompleteOptions - extends _AutocompleteOptions { + +type InsightsOption = { /** * Whether to enable the Insights plugin and load the Insights library if it has not been loaded yet. * * See [**autocomplete-plugin-algolia-insights**](https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/) for more information. * - * @default false + * @default undefined * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-insights */ - insights?: CreateAlgoliaInsightsPluginParams | boolean; -} + insights?: CreateAlgoliaInsightsPluginParams | boolean | undefined; +}; + +export interface AutocompleteOptions + extends _AutocompleteOptions, + InsightsOption {} +export interface InternalAutocompleteOptions + extends _InternalAutocompleteOptions, + InsightsOption {}