@algolia/autocomplete-plugin-algolia-insights 1.8.3 → 1.9.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.development.js","sources":["../../../autocomplete-shared/dist/esm/createRef.js","../../../autocomplete-shared/dist/esm/debounce.js","../../../autocomplete-shared/dist/esm/isEqual.js","../../../autocomplete-shared/dist/esm/noop.js","../../src/createClickedEvent.ts","../../src/createSearchInsightsApi.ts","../../src/createViewedEvents.ts","../../src/isAlgoliaInsightsHit.ts","../../src/createAlgoliaInsightsPlugin.ts"],"sourcesContent":["export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","export function debounce(fn, time) {\n var timerId = undefined;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (timerId) {\n clearTimeout(timerId);\n }\n\n timerId = setTimeout(function () {\n return fn.apply(void 0, args);\n }, time);\n };\n}","function isPrimitive(obj) {\n return obj !== Object(obj);\n}\n\nexport function isEqual(first, second) {\n if (first === second) {\n return true;\n }\n\n if (isPrimitive(first) || isPrimitive(second) || typeof first === 'function' || typeof second === 'function') {\n return first === second;\n }\n\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n\n for (var _i = 0, _Object$keys = Object.keys(first); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n\n if (!(key in second)) {\n return false;\n }\n\n if (!isEqual(first[key], second[key])) {\n return false;\n }\n }\n\n return true;\n}","export var noop = function noop() {};","import { AlgoliaInsightsHit, ClickedObjectIDsAfterSearchParams } from './types';\n\ntype CreateClickedEventParams = {\n item: AlgoliaInsightsHit;\n items: AlgoliaInsightsHit[];\n};\n\nexport function createClickedEvent({\n item,\n items,\n}: CreateClickedEventParams): Omit<\n ClickedObjectIDsAfterSearchParams,\n 'eventName'\n> {\n return {\n index: item.__autocomplete_indexName,\n objectIDs: [item.objectID],\n positions: [1 + items.findIndex((x) => x.objectID === item.objectID)],\n queryID: item.__autocomplete_queryID,\n };\n}\n","import {\n ClickedFiltersParams,\n ClickedObjectIDsAfterSearchParams,\n ClickedObjectIDsParams,\n ConvertedFiltersParams,\n ConvertedObjectIDsAfterSearchParams,\n ConvertedObjectIDsParams,\n InsightsClient,\n ViewedFiltersParams,\n ViewedObjectIDsParams,\n} from './types';\n\nfunction chunk<TItem extends { objectIDs: string[] }>(\n item: TItem,\n chunkSize: number = 20\n): TItem[] {\n const chunks: TItem[] = [];\n for (let i = 0; i < item.objectIDs.length; i += chunkSize) {\n chunks.push({\n ...item,\n objectIDs: item.objectIDs.slice(i, i + chunkSize),\n });\n }\n return chunks;\n}\n\nexport function createSearchInsightsApi(searchInsights: InsightsClient) {\n return {\n /**\n * Initializes Insights with Algolia credentials.\n */\n init(appId: string, apiKey: string) {\n searchInsights('init', { appId, apiKey });\n },\n /**\n * Sets the user token to attach to events.\n */\n setUserToken(userToken: string) {\n searchInsights('setUserToken', userToken);\n },\n /**\n * Sends click events to capture a query and its clicked items and positions.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids-after-search/\n */\n clickedObjectIDsAfterSearch(\n ...params: ClickedObjectIDsAfterSearchParams[]\n ) {\n if (params.length > 0) {\n searchInsights('clickedObjectIDsAfterSearch', ...params);\n }\n },\n /**\n * Sends click events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids/\n */\n clickedObjectIDs(...params: ClickedObjectIDsParams[]) {\n if (params.length > 0) {\n searchInsights('clickedObjectIDs', ...params);\n }\n },\n /**\n * Sends click events to capture the filters a user clicks on.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-filters/\n */\n clickedFilters(...params: ClickedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('clickedFilters', ...params);\n }\n },\n /**\n * Sends conversion events to capture a query and its clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids-after-search/\n */\n convertedObjectIDsAfterSearch(\n ...params: ConvertedObjectIDsAfterSearchParams[]\n ) {\n if (params.length > 0) {\n searchInsights('convertedObjectIDsAfterSearch', ...params);\n }\n },\n /**\n * Sends conversion events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids/\n */\n convertedObjectIDs(...params: ConvertedObjectIDsParams[]) {\n if (params.length > 0) {\n searchInsights('convertedObjectIDs', ...params);\n }\n },\n /**\n * Sends conversion events to capture the filters a user uses when converting.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-filters/\n */\n convertedFilters(...params: ConvertedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('convertedFilters', ...params);\n }\n },\n /**\n * Sends view events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-object-ids/\n */\n viewedObjectIDs(...params: ViewedObjectIDsParams[]) {\n if (params.length > 0) {\n params\n .reduce(\n (acc, param) => [...acc, ...chunk<ViewedObjectIDsParams>(param)],\n [] as ViewedObjectIDsParams[]\n )\n .forEach((param) => searchInsights('viewedObjectIDs', param));\n }\n },\n /**\n * Sends view events to capture the filters a user uses when viewing.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-filters/\n */\n viewedFilters(...params: ViewedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('viewedFilters', ...params);\n }\n },\n };\n}\n","import { AlgoliaInsightsHit, ViewedObjectIDsParams } from './types';\n\ntype CreateViewedEventsParams = {\n items: AlgoliaInsightsHit[];\n};\n\nexport function createViewedEvents({\n items,\n}: CreateViewedEventsParams): Array<Omit<ViewedObjectIDsParams, 'eventName'>> {\n const objectIDsByIndexName = items.reduce<Record<string, string[]>>(\n (acc, current) => {\n acc[current.__autocomplete_indexName] = (\n acc[current.__autocomplete_indexName] ?? []\n ).concat(current.objectID);\n\n return acc;\n },\n {}\n );\n\n return Object.keys(objectIDsByIndexName).map((indexName) => {\n const objectIDs = objectIDsByIndexName[indexName];\n\n return {\n index: indexName,\n objectIDs,\n };\n });\n}\n","import { AlgoliaInsightsHit } from './types';\n\nexport function isAlgoliaInsightsHit(hit: any): hit is AlgoliaInsightsHit {\n return (\n hit.objectID && hit.__autocomplete_indexName && hit.__autocomplete_queryID\n );\n}\n","import {\n AutocompleteState,\n AutocompletePlugin,\n} from '@algolia/autocomplete-js';\nimport {\n createRef,\n debounce,\n isEqual,\n noop,\n} from '@algolia/autocomplete-shared';\n\nimport { createClickedEvent } from './createClickedEvent';\nimport { createSearchInsightsApi } from './createSearchInsightsApi';\nimport { createViewedEvents } from './createViewedEvents';\nimport { isAlgoliaInsightsHit } from './isAlgoliaInsightsHit';\nimport {\n AlgoliaInsightsHit,\n AutocompleteInsightsApi,\n InsightsClient,\n OnActiveParams,\n OnItemsChangeParams,\n OnSelectParams,\n} from './types';\n\nconst VIEW_EVENT_DELAY = 400;\n\ntype SendViewedObjectIDsParams = {\n onItemsChange(params: OnItemsChangeParams): void;\n items: AlgoliaInsightsHit[];\n insights: AutocompleteInsightsApi;\n state: AutocompleteState<any>;\n};\n\nconst sendViewedObjectIDs = debounce<SendViewedObjectIDsParams>(\n ({ onItemsChange, items, insights, state }) => {\n onItemsChange({\n insights,\n insightsEvents: createViewedEvents({ items }).map((event) => ({\n eventName: 'Items Viewed',\n ...event,\n })),\n state,\n });\n },\n VIEW_EVENT_DELAY\n);\n\nexport type CreateAlgoliaInsightsPluginParams = {\n /**\n * The initialized Search Insights client.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-insightsclient\n */\n insightsClient: InsightsClient;\n /**\n * Hook to send an Insights event when the items change.\n *\n * By default, it sends a `viewedObjectIDs` event.\n *\n * In as-you-type experiences, items change as the user types. This hook is debounced every 400ms to reflect actual items that users notice and avoid generating too many events for items matching \"in progress\" queries.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onitemschange\n */\n onItemsChange?(params: OnItemsChangeParams): void;\n /**\n * Hook to send an Insights event when an item is selected.\n *\n * By default, it sends a clickedObjectIDsAfterSearch event.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onselect\n */\n onSelect?(params: OnSelectParams): void;\n /**\n * Hook to send an Insights event when an item is active.\n *\n * By default, it doesn't send any events.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onactive\n */\n onActive?(params: OnActiveParams): void;\n};\n\nexport function createAlgoliaInsightsPlugin(\n options: CreateAlgoliaInsightsPluginParams\n): AutocompletePlugin<any, undefined> {\n const {\n insightsClient,\n onItemsChange,\n onSelect: onSelectEvent,\n onActive: onActiveEvent,\n } = getOptions(options);\n const insights = createSearchInsightsApi(insightsClient);\n const previousItems = createRef<AlgoliaInsightsHit[]>([]);\n\n const debouncedOnStateChange = debounce<{\n state: AutocompleteState<any>;\n }>(({ state }) => {\n if (!state.isOpen) {\n return;\n }\n\n const items = state.collections\n .reduce<unknown[]>((acc, current) => {\n return [...acc, ...current.items];\n }, [])\n .filter(isAlgoliaInsightsHit);\n\n if (\n !isEqual(\n previousItems.current.map((x) => x.objectID),\n items.map((x) => x.objectID)\n )\n ) {\n previousItems.current = items;\n\n if (items.length > 0) {\n sendViewedObjectIDs({ onItemsChange, items, insights, state });\n }\n }\n }, 0);\n\n return {\n name: 'aa.algoliaInsightsPlugin',\n subscribe({ setContext, onSelect, onActive }) {\n insightsClient('addAlgoliaAgent', 'insights-plugin');\n\n setContext({\n algoliaInsightsPlugin: {\n __algoliaSearchParameters: {\n clickAnalytics: true,\n },\n insights,\n },\n });\n\n onSelect(({ item, state, event }) => {\n if (!isAlgoliaInsightsHit(item)) {\n return;\n }\n\n onSelectEvent({\n state: state as AutocompleteState<any>,\n event,\n insights,\n item,\n insightsEvents: [\n {\n eventName: 'Item Selected',\n ...createClickedEvent({ item, items: previousItems.current }),\n },\n ],\n });\n });\n\n onActive(({ item, state, event }) => {\n if (!isAlgoliaInsightsHit(item)) {\n return;\n }\n\n onActiveEvent({\n state: state as AutocompleteState<any>,\n event,\n insights,\n item,\n insightsEvents: [\n {\n eventName: 'Item Active',\n ...createClickedEvent({ item, items: previousItems.current }),\n },\n ],\n });\n });\n },\n onStateChange({ state }) {\n debouncedOnStateChange({ state: state as AutocompleteState<any> });\n },\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getOptions(options: CreateAlgoliaInsightsPluginParams) {\n return {\n onItemsChange({ insights, insightsEvents }) {\n insights.viewedObjectIDs(...insightsEvents);\n },\n onSelect({ insights, insightsEvents }) {\n insights.clickedObjectIDsAfterSearch(...insightsEvents);\n },\n onActive: noop,\n ...options,\n };\n}\n"],"names":["createRef","initialValue","current","debounce","fn","time","timerId","undefined","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply","isPrimitive","obj","Object","isEqual","first","second","keys","_i","_Object$keys","key","noop","createClickedEvent","item","items","index","__autocomplete_indexName","objectIDs","objectID","positions","findIndex","x","queryID","__autocomplete_queryID","chunk","chunkSize","chunks","i","push","_objectSpread","slice","createSearchInsightsApi","searchInsights","init","appId","apiKey","setUserToken","userToken","clickedObjectIDsAfterSearch","params","clickedObjectIDs","clickedFilters","convertedObjectIDsAfterSearch","convertedObjectIDs","convertedFilters","viewedObjectIDs","reduce","acc","param","forEach","viewedFilters","createViewedEvents","objectIDsByIndexName","concat","map","indexName","isAlgoliaInsightsHit","hit","VIEW_EVENT_DELAY","sendViewedObjectIDs","onItemsChange","insights","state","insightsEvents","event","eventName","createAlgoliaInsightsPlugin","options","getOptions","insightsClient","onSelectEvent","onSelect","onActiveEvent","onActive","previousItems","debouncedOnStateChange","isOpen","collections","filter","name","subscribe","setContext","algoliaInsightsPlugin","__algoliaSearchParameters","clickAnalytics","onStateChange","__autocomplete_pluginOptions"],"mappings":"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"}
1
+ {"version":3,"file":"index.development.js","sources":["../../../autocomplete-shared/dist/esm/createRef.js","../../../autocomplete-shared/dist/esm/debounce.js","../../../autocomplete-shared/dist/esm/isEqual.js","../../../autocomplete-shared/dist/esm/noop.js","../../../autocomplete-shared/dist/esm/safelyRunOnBrowser.js","../../src/createClickedEvent.ts","../../src/isModernInsightsClient.ts","../../src/createSearchInsightsApi.ts","../../src/createViewedEvents.ts","../../src/isAlgoliaInsightsHit.ts","../../src/createAlgoliaInsightsPlugin.ts"],"sourcesContent":["export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","export function debounce(fn, time) {\n var timerId = undefined;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (timerId) {\n clearTimeout(timerId);\n }\n timerId = setTimeout(function () {\n return fn.apply(void 0, args);\n }, time);\n };\n}","function isPrimitive(obj) {\n return obj !== Object(obj);\n}\nexport function isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (isPrimitive(first) || isPrimitive(second) || typeof first === 'function' || typeof second === 'function') {\n return first === second;\n }\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n for (var _i = 0, _Object$keys = Object.keys(first); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n if (!(key in second)) {\n return false;\n }\n if (!isEqual(first[key], second[key])) {\n return false;\n }\n }\n return true;\n}","export var noop = function noop() {};","/**\n * Safely runs code meant for browser environments only.\n */\nexport function safelyRunOnBrowser(callback) {\n if (typeof window !== 'undefined') {\n return callback({\n window: window\n });\n }\n return undefined;\n}","import type {\n AlgoliaInsightsHit,\n ClickedObjectIDsAfterSearchParams,\n InsightsParamsWithItems,\n} from './types';\n\ntype CreateClickedEventParams = {\n item: AlgoliaInsightsHit;\n items: AlgoliaInsightsHit[];\n};\n\nexport function createClickedEvent({\n item,\n items,\n}: CreateClickedEventParams): Omit<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>,\n 'eventName'\n> & { algoliaSource?: string[] } {\n return {\n index: item.__autocomplete_indexName,\n items: [item],\n positions: [1 + items.findIndex((x) => x.objectID === item.objectID)],\n queryID: item.__autocomplete_queryID,\n algoliaSource: ['autocomplete'],\n };\n}\n","import type { InsightsClient } from './types';\n\n/**\n * Determines if a given insights `client` supports the optional call to `init`\n * and the ability to set credentials via extra parameters when sending events.\n */\nexport function isModernInsightsClient(client: InsightsClient): boolean {\n const [major, minor] = (client.version || '').split('.').map(Number);\n\n /* eslint-disable @typescript-eslint/camelcase */\n const v3 = major >= 3;\n const v2_4 = major === 2 && minor >= 4;\n const v1_10 = major === 1 && minor >= 10;\n\n return v3 || v2_4 || v1_10;\n /* eslint-enable @typescript-eslint/camelcase */\n}\n","import type { InsightsMethodMap } from 'search-insights';\n\nimport { isModernInsightsClient } from './isModernInsightsClient';\nimport {\n AlgoliaInsightsHit,\n ClickedFiltersParams,\n ClickedObjectIDsAfterSearchParams,\n ClickedObjectIDsParams,\n ConvertedFiltersParams,\n ConvertedObjectIDsAfterSearchParams,\n ConvertedObjectIDsParams,\n InsightsClient,\n InsightsClientMethod,\n InsightsParamsWithItems,\n ViewedFiltersParams,\n ViewedObjectIDsParams,\n} from './types';\n\nfunction chunk<TItem extends { objectIDs: string[] }>(\n item: TItem,\n chunkSize: number = 20\n): TItem[] {\n const chunks: TItem[] = [];\n for (let i = 0; i < item.objectIDs.length; i += chunkSize) {\n chunks.push({\n ...item,\n objectIDs: item.objectIDs.slice(i, i + chunkSize),\n });\n }\n return chunks;\n}\n\nfunction mapToInsightsParamsApi<\n TInsightsParamsType extends {\n items: AlgoliaInsightsHit[];\n objectIDs?: string[];\n }\n>(params: TInsightsParamsType[]) {\n return params.map(({ items, ...param }) => ({\n ...param,\n objectIDs: items?.map(({ objectID }) => objectID) || param.objectIDs,\n }));\n}\n\nexport function createSearchInsightsApi(searchInsights: InsightsClient) {\n const canSendHeaders = isModernInsightsClient(searchInsights);\n\n function sendToInsights<TInsightsMethod extends InsightsClientMethod>(\n method: InsightsClientMethod,\n payloads: InsightsMethodMap[TInsightsMethod],\n items?: AlgoliaInsightsHit[]\n ) {\n if (canSendHeaders && typeof items !== 'undefined') {\n const { appId, apiKey } = items[0].__autocomplete_algoliaCredentials;\n const headers = {\n 'X-Algolia-Application-Id': appId,\n 'X-Algolia-API-Key': apiKey,\n };\n\n searchInsights(method, ...payloads, { headers });\n } else {\n searchInsights(method, ...payloads);\n }\n }\n\n return {\n /**\n * Initializes Insights with Algolia credentials.\n */\n init(appId: string, apiKey: string) {\n searchInsights('init', { appId, apiKey });\n },\n /**\n * Sets the user token to attach to events.\n */\n setUserToken(userToken: string) {\n searchInsights('setUserToken', userToken);\n },\n /**\n * Sends click events to capture a query and its clicked items and positions.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids-after-search/\n */\n clickedObjectIDsAfterSearch(\n ...params: Array<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'clickedObjectIDsAfterSearch',\n mapToInsightsParamsApi(params),\n params[0].items\n );\n }\n },\n /**\n * Sends click events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids/\n */\n clickedObjectIDs(\n ...params: Array<InsightsParamsWithItems<ClickedObjectIDsParams>>\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'clickedObjectIDs',\n mapToInsightsParamsApi(params),\n params[0].items\n );\n }\n },\n /**\n * Sends click events to capture the filters a user clicks on.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-filters/\n */\n clickedFilters(...params: ClickedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('clickedFilters', ...params);\n }\n },\n /**\n * Sends conversion events to capture a query and its clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids-after-search/\n */\n convertedObjectIDsAfterSearch(\n ...params: Array<\n InsightsParamsWithItems<ConvertedObjectIDsAfterSearchParams>\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'convertedObjectIDsAfterSearch',\n mapToInsightsParamsApi(params),\n params[0].items\n );\n }\n },\n /**\n * Sends conversion events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids/\n */\n convertedObjectIDs(\n ...params: Array<InsightsParamsWithItems<ConvertedObjectIDsParams>>\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'convertedObjectIDs',\n mapToInsightsParamsApi(params),\n params[0].items\n );\n }\n },\n /**\n * Sends conversion events to capture the filters a user uses when converting.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-filters/\n */\n convertedFilters(...params: ConvertedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('convertedFilters', ...params);\n }\n },\n /**\n * Sends view events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-object-ids/\n */\n viewedObjectIDs(\n ...params: Array<InsightsParamsWithItems<ViewedObjectIDsParams>>\n ) {\n if (params.length > 0) {\n params\n .reduce<\n Array<{\n items?: AlgoliaInsightsHit[];\n payload: ViewedObjectIDsParams;\n }>\n >(\n (acc, { items, ...param }) => [\n ...acc,\n ...chunk<ViewedObjectIDsParams>({\n ...param,\n objectIDs:\n items?.map(({ objectID }) => objectID) || param.objectIDs,\n }).map((payload) => {\n return { items, payload };\n }),\n ],\n []\n )\n .forEach(({ items, payload }) =>\n sendToInsights('viewedObjectIDs', [payload], items)\n );\n }\n },\n /**\n * Sends view events to capture the filters a user uses when viewing.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-filters/\n */\n viewedFilters(...params: ViewedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('viewedFilters', ...params);\n }\n },\n };\n}\n","import {\n AlgoliaInsightsHit,\n InsightsParamsWithItems,\n ViewedObjectIDsParams,\n} from './types';\n\ntype CreateViewedEventsParams = {\n items: AlgoliaInsightsHit[];\n};\n\nexport function createViewedEvents({\n items,\n}: CreateViewedEventsParams): Array<\n Omit<InsightsParamsWithItems<ViewedObjectIDsParams>, 'eventName'>\n> {\n const itemsByIndexName = items.reduce<Record<string, AlgoliaInsightsHit[]>>(\n (acc, current) => {\n acc[current.__autocomplete_indexName] = (\n acc[current.__autocomplete_indexName] ?? []\n ).concat(current);\n\n return acc;\n },\n {}\n );\n\n return Object.keys(itemsByIndexName).map((indexName) => {\n const items = itemsByIndexName[indexName];\n\n return {\n index: indexName,\n items,\n algoliaSource: ['autocomplete'],\n };\n });\n}\n","import { AlgoliaInsightsHit } from './types';\n\nexport function isAlgoliaInsightsHit(hit: any): hit is AlgoliaInsightsHit {\n return (\n hit.objectID && hit.__autocomplete_indexName && hit.__autocomplete_queryID\n );\n}\n","import {\n AutocompleteState,\n AutocompletePlugin,\n createRef,\n debounce,\n isEqual,\n noop,\n safelyRunOnBrowser,\n} from '@algolia/autocomplete-shared';\n\nimport { createClickedEvent } from './createClickedEvent';\nimport { createSearchInsightsApi } from './createSearchInsightsApi';\nimport { createViewedEvents } from './createViewedEvents';\nimport { isAlgoliaInsightsHit } from './isAlgoliaInsightsHit';\nimport {\n AlgoliaInsightsHit,\n AutocompleteInsightsApi,\n InsightsClient,\n OnActiveParams,\n OnItemsChangeParams,\n OnSelectParams,\n} from './types';\n\nconst VIEW_EVENT_DELAY = 400;\nconst ALGOLIA_INSIGHTS_VERSION = '2.6.0';\nconst ALGOLIA_INSIGHTS_SRC = `https://cdn.jsdelivr.net/npm/search-insights@${ALGOLIA_INSIGHTS_VERSION}/dist/search-insights.min.js`;\n\ntype SendViewedObjectIDsParams = {\n onItemsChange(params: OnItemsChangeParams): void;\n items: AlgoliaInsightsHit[];\n insights: AutocompleteInsightsApi;\n state: AutocompleteState<any>;\n};\n\nconst sendViewedObjectIDs = debounce<SendViewedObjectIDsParams>(\n ({ onItemsChange, items, insights, state }) => {\n onItemsChange({\n insights,\n insightsEvents: createViewedEvents({ items }).map((event) => ({\n eventName: 'Items Viewed',\n ...event,\n })),\n state,\n });\n },\n VIEW_EVENT_DELAY\n);\n\nexport type CreateAlgoliaInsightsPluginParams = {\n /**\n * The initialized Search Insights client.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-insightsclient\n */\n insightsClient?: InsightsClient;\n /**\n * Hook to send an Insights event when the items change.\n *\n * By default, it sends a `viewedObjectIDs` event.\n *\n * In as-you-type experiences, items change as the user types. This hook is debounced every 400ms to reflect actual items that users notice and avoid generating too many events for items matching \"in progress\" queries.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onitemschange\n */\n onItemsChange?(params: OnItemsChangeParams): void;\n /**\n * Hook to send an Insights event when an item is selected.\n *\n * By default, it sends a clickedObjectIDsAfterSearch event.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onselect\n */\n onSelect?(params: OnSelectParams): void;\n /**\n * Hook to send an Insights event when an item is active.\n *\n * By default, it doesn't send any events.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onactive\n */\n onActive?(params: OnActiveParams): void;\n};\n\nexport function createAlgoliaInsightsPlugin(\n options: CreateAlgoliaInsightsPluginParams\n): AutocompletePlugin<any, undefined> {\n const {\n insightsClient: providedInsightsClient,\n onItemsChange,\n onSelect: onSelectEvent,\n onActive: onActiveEvent,\n } = getOptions(options);\n let insightsClient = providedInsightsClient as InsightsClient;\n\n if (!providedInsightsClient) {\n safelyRunOnBrowser(({ window }) => {\n const pointer = window.AlgoliaAnalyticsObject || 'aa';\n\n if (typeof pointer === 'string') {\n insightsClient = window[pointer];\n }\n\n if (!insightsClient) {\n window.AlgoliaAnalyticsObject = pointer;\n\n if (!window[pointer]) {\n window[pointer] = (...args: any[]) => {\n if (!window[pointer].queue) {\n window[pointer].queue = [];\n }\n\n window[pointer].queue.push(args);\n };\n }\n\n window[pointer].version = ALGOLIA_INSIGHTS_VERSION;\n\n insightsClient = window[pointer];\n\n loadInsights(window);\n }\n });\n }\n\n const insights = createSearchInsightsApi(insightsClient);\n const previousItems = createRef<AlgoliaInsightsHit[]>([]);\n\n const debouncedOnStateChange = debounce<{\n state: AutocompleteState<any>;\n }>(({ state }) => {\n if (!state.isOpen) {\n return;\n }\n\n const items = state.collections\n .reduce<unknown[]>((acc, current) => {\n return [...acc, ...current.items];\n }, [])\n .filter(isAlgoliaInsightsHit);\n\n if (\n !isEqual(\n previousItems.current.map((x) => x.objectID),\n items.map((x) => x.objectID)\n )\n ) {\n previousItems.current = items;\n\n if (items.length > 0) {\n sendViewedObjectIDs({ onItemsChange, items, insights, state });\n }\n }\n }, 0);\n\n return {\n name: 'aa.algoliaInsightsPlugin',\n subscribe({ setContext, onSelect, onActive }) {\n insightsClient('addAlgoliaAgent', 'insights-plugin');\n\n setContext({\n algoliaInsightsPlugin: {\n __algoliaSearchParameters: {\n clickAnalytics: true,\n },\n insights,\n },\n });\n\n onSelect(({ item, state, event }) => {\n if (!isAlgoliaInsightsHit(item)) {\n return;\n }\n\n onSelectEvent({\n state: state as AutocompleteState<any>,\n event,\n insights,\n item,\n insightsEvents: [\n {\n eventName: 'Item Selected',\n ...createClickedEvent({ item, items: previousItems.current }),\n },\n ],\n });\n });\n\n onActive(({ item, state, event }) => {\n if (!isAlgoliaInsightsHit(item)) {\n return;\n }\n\n onActiveEvent({\n state: state as AutocompleteState<any>,\n event,\n insights,\n item,\n insightsEvents: [\n {\n eventName: 'Item Active',\n ...createClickedEvent({ item, items: previousItems.current }),\n },\n ],\n });\n });\n },\n onStateChange({ state }) {\n debouncedOnStateChange({ state: state as AutocompleteState<any> });\n },\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getOptions(options: CreateAlgoliaInsightsPluginParams) {\n return {\n onItemsChange({ insights, insightsEvents }: OnItemsChangeParams) {\n insights.viewedObjectIDs(\n ...insightsEvents.map((event) => ({\n ...event,\n algoliaSource: [\n ...(event.algoliaSource || []),\n 'autocomplete-internal',\n ],\n }))\n );\n },\n onSelect({ insights, insightsEvents }: OnSelectParams) {\n insights.clickedObjectIDsAfterSearch(\n ...insightsEvents.map((event) => ({\n ...event,\n algoliaSource: [\n ...(event.algoliaSource || []),\n 'autocomplete-internal',\n ],\n }))\n );\n },\n onActive: noop,\n ...options,\n };\n}\n\nfunction loadInsights(environment: typeof window) {\n const errorMessage = `[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete`;\n\n try {\n const script = environment.document.createElement('script');\n script.async = true;\n script.src = ALGOLIA_INSIGHTS_SRC;\n\n script.onerror = () => {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n };\n\n document.body.appendChild(script);\n } catch (cause) {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n }\n}\n"],"names":["createRef","initialValue","current","debounce","fn","time","timerId","undefined","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply","isPrimitive","obj","Object","isEqual","first","second","keys","_i","_Object$keys","key","noop","safelyRunOnBrowser","callback","window","createClickedEvent","_ref","item","items","index","__autocomplete_indexName","positions","findIndex","x","objectID","queryID","__autocomplete_queryID","algoliaSource","isModernInsightsClient","client","_split$map","version","split","map","Number","_split$map2","_slicedToArray","major","minor","v3","v2_4","v1_10","chunk","chunkSize","chunks","i","objectIDs","push","_objectSpread","slice","mapToInsightsParamsApi","params","param","_objectWithoutProperties","_excluded","_ref2","createSearchInsightsApi","searchInsights","canSendHeaders","sendToInsights","method","payloads","_items$0$__autocomple","__autocomplete_algoliaCredentials","appId","apiKey","headers","concat","_toConsumableArray","init","setUserToken","userToken","clickedObjectIDsAfterSearch","clickedObjectIDs","_len2","_key2","clickedFilters","_len3","_key3","convertedObjectIDsAfterSearch","_len4","_key4","convertedObjectIDs","_len5","_key5","convertedFilters","_len6","_key6","viewedObjectIDs","_len7","_key7","reduce","acc","_ref3","_excluded2","_ref4","payload","forEach","_ref5","viewedFilters","_len8","_key8","createViewedEvents","itemsByIndexName","_acc$current$__autoco","indexName","isAlgoliaInsightsHit","hit","VIEW_EVENT_DELAY","ALGOLIA_INSIGHTS_VERSION","ALGOLIA_INSIGHTS_SRC","sendViewedObjectIDs","onItemsChange","insights","state","insightsEvents","event","eventName","createAlgoliaInsightsPlugin","options","_getOptions","getOptions","providedInsightsClient","insightsClient","onSelectEvent","onSelect","onActiveEvent","onActive","pointer","AlgoliaAnalyticsObject","queue","loadInsights","previousItems","debouncedOnStateChange","isOpen","collections","filter","name","subscribe","setContext","algoliaInsightsPlugin","__algoliaSearchParameters","clickAnalytics","_ref6","onStateChange","_ref7","__autocomplete_pluginOptions","_ref8","_ref9","environment","errorMessage","script","document","createElement","async","src","onerror","console","error","body","appendChild","cause"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /*! @algolia/autocomplete-plugin-algolia-insights 1.8.3 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
2
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/autocomplete-plugin-algolia-insights"]={})}(this,(function(e){"use strict";function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function n(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?t(Object(i),!0).forEach((function(t){r(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return o(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function c(e,t){var n=void 0;return function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];n&&clearTimeout(n),n=setTimeout((function(){return e.apply(void 0,i)}),t)}}function a(e){return e!==Object(e)}function s(e,t){if(e===t)return!0;if(a(e)||a(t)||"function"==typeof e||"function"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n=0,r=Object.keys(e);n<r.length;n++){var i=r[n];if(!(i in t))return!1;if(!s(e[i],t[i]))return!1}return!0}var u=function(){};function l(e){var t=e.item,n=e.items;return{index:t.__autocomplete_indexName,objectIDs:[t.objectID],positions:[1+n.findIndex((function(e){return e.objectID===t.objectID}))],queryID:t.__autocomplete_queryID}}function f(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,r=[],i=0;i<e.objectIDs.length;i+=t)r.push(n(n({},e),{},{objectIDs:e.objectIDs.slice(i,i+t)}));return r}function p(e){var t=e.items.reduce((function(e,t){var n;return e[t.__autocomplete_indexName]=(null!==(n=e[t.__autocomplete_indexName])&&void 0!==n?n:[]).concat(t.objectID),e}),{});return Object.keys(t).map((function(e){return{index:e,objectIDs:t[e]}}))}function g(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}var v=c((function(e){var t=e.onItemsChange,r=e.items,i=e.insights,o=e.state;t({insights:i,insightsEvents:p({items:r}).map((function(e){return n({eventName:"Items Viewed"},e)})),state:o})}),400);e.createAlgoliaInsightsPlugin=function(e){var t,r=function(e){return n({onItemsChange:function(e){var t=e.insights,n=e.insightsEvents;t.viewedObjectIDs.apply(t,i(n))},onSelect:function(e){var t=e.insights,n=e.insightsEvents;t.clickedObjectIDsAfterSearch.apply(t,i(n))},onActive:u},e)}(e),o=r.insightsClient,a=r.onItemsChange,p=r.onSelect,h=r.onActive,d=(t=o,{init:function(e,n){t("init",{appId:e,apiKey:n})},setUserToken:function(e){t("setUserToken",e)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];n.length>0&&t.apply(void 0,["clickedObjectIDsAfterSearch"].concat(n))},clickedObjectIDs:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];n.length>0&&t.apply(void 0,["clickedObjectIDs"].concat(n))},clickedFilters:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];n.length>0&&t.apply(void 0,["clickedFilters"].concat(n))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];n.length>0&&t.apply(void 0,["convertedObjectIDsAfterSearch"].concat(n))},convertedObjectIDs:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];n.length>0&&t.apply(void 0,["convertedObjectIDs"].concat(n))},convertedFilters:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];n.length>0&&t.apply(void 0,["convertedFilters"].concat(n))},viewedObjectIDs:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];n.length>0&&n.reduce((function(e,t){return[].concat(i(e),i(f(t)))}),[]).forEach((function(e){return t("viewedObjectIDs",e)}))},viewedFilters:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];n.length>0&&t.apply(void 0,["viewedFilters"].concat(n))}}),b={current:[]},m=c((function(e){var t=e.state;if(t.isOpen){var n=t.collections.reduce((function(e,t){return[].concat(i(e),i(t.items))}),[]).filter(g);s(b.current.map((function(e){return e.objectID})),n.map((function(e){return e.objectID})))||(b.current=n,n.length>0&&v({onItemsChange:a,items:n,insights:d,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,r=e.onSelect,i=e.onActive;o("addAlgoliaAgent","insights-plugin"),t({algoliaInsightsPlugin:{__algoliaSearchParameters:{clickAnalytics:!0},insights:d}}),r((function(e){var t=e.item,r=e.state,i=e.event;g(t)&&p({state:r,event:i,insights:d,item:t,insightsEvents:[n({eventName:"Item Selected"},l({item:t,items:b.current}))]})})),i((function(e){var t=e.item,r=e.state,i=e.event;g(t)&&h({state:r,event:i,insights:d,item:t,insightsEvents:[n({eventName:"Item Active"},l({item:t,items:b.current}))]})}))},onStateChange:function(e){var t=e.state;m({state:t})},__autocomplete_pluginOptions:e}},Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ /*! @algolia/autocomplete-plugin-algolia-insights 1.9.1 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
2
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/autocomplete-plugin-algolia-insights"]={})}(this,(function(e){"use strict";function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function n(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?t(Object(i),!0).forEach((function(t){r(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function r(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,c,a=[],u=!0,l=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){l=!0,i=e}finally{try{if(!u&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(l)throw i}}return a}}(e,t)||a(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||a(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){if(e){if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function l(e,t){var n=void 0;return function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];n&&clearTimeout(n),n=setTimeout((function(){return e.apply(void 0,i)}),t)}}function s(e){return e!==Object(e)}function f(e,t){if(e===t)return!0;if(s(e)||s(t)||"function"==typeof e||"function"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n=0,r=Object.keys(e);n<r.length;n++){var i=r[n];if(!(i in t))return!1;if(!f(e[i],t[i]))return!1}return!0}var p=function(){};function m(e){var t=e.item,n=e.items;return{index:t.__autocomplete_indexName,items:[t],positions:[1+n.findIndex((function(e){return e.objectID===t.objectID}))],queryID:t.__autocomplete_queryID,algoliaSource:["autocomplete"]}}var v=["items"],g=["items"];function d(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,r=[],i=0;i<e.objectIDs.length;i+=t)r.push(n(n({},e),{},{objectIDs:e.objectIDs.slice(i,i+t)}));return r}function y(e){return e.map((function(e){var t=e.items,r=i(e,v);return n(n({},r),{},{objectIDs:(null==t?void 0:t.map((function(e){return e.objectID})))||r.objectIDs})}))}function h(e){var t,r,a,u=(t=o((e.version||"").split(".").map(Number),2),r=t[0],a=t[1],r>=3||2===r&&a>=4||1===r&&a>=10);function l(t,n,r){if(u&&void 0!==r){var i=r[0].__autocomplete_algoliaCredentials,o={"X-Algolia-Application-Id":i.appId,"X-Algolia-API-Key":i.apiKey};e.apply(void 0,[t].concat(c(n),[{headers:o}]))}else e.apply(void 0,[t].concat(c(n)))}return{init:function(t,n){e("init",{appId:t,apiKey:n})},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&l("clickedObjectIDsAfterSearch",y(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&l("clickedObjectIDs",y(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["clickedFilters"].concat(n))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&l("convertedObjectIDsAfterSearch",y(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&l("convertedObjectIDs",y(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["convertedFilters"].concat(n))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&t.reduce((function(e,t){var r=t.items,o=i(t,g);return[].concat(c(e),c(d(n(n({},o),{},{objectIDs:(null==r?void 0:r.map((function(e){return e.objectID})))||o.objectIDs})).map((function(e){return{items:r,payload:e}}))))}),[]).forEach((function(e){var t=e.items;return l("viewedObjectIDs",[e.payload],t)}))},viewedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["viewedFilters"].concat(n))}}}function b(e){var t=e.items.reduce((function(e,t){var n;return e[t.__autocomplete_indexName]=(null!==(n=e[t.__autocomplete_indexName])&&void 0!==n?n:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function j(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}var O="2.6.0",I="https://cdn.jsdelivr.net/npm/search-insights@".concat(O,"/dist/search-insights.min.js"),w=l((function(e){var t=e.onItemsChange,r=e.items,i=e.insights,o=e.state;t({insights:i,insightsEvents:b({items:r}).map((function(e){return n({eventName:"Items Viewed"},e)})),state:o})}),400);e.createAlgoliaInsightsPlugin=function(e){var t=function(e){return n({onItemsChange:function(e){var t=e.insights,r=e.insightsEvents;t.viewedObjectIDs.apply(t,c(r.map((function(e){return n(n({},e),{},{algoliaSource:[].concat(c(e.algoliaSource||[]),["autocomplete-internal"])})}))))},onSelect:function(e){var t=e.insights,r=e.insightsEvents;t.clickedObjectIDsAfterSearch.apply(t,c(r.map((function(e){return n(n({},e),{},{algoliaSource:[].concat(c(e.algoliaSource||[]),["autocomplete-internal"])})}))))},onActive:p},e)}(e),r=t.insightsClient,i=t.onItemsChange,o=t.onSelect,a=t.onActive,u=r;r||function(e){if("undefined"!=typeof window)e({window:window})}((function(e){var t=e.window,n=t.AlgoliaAnalyticsObject||"aa";"string"==typeof n&&(u=t[n]),u||(t.AlgoliaAnalyticsObject=n,t[n]||(t[n]=function(){t[n].queue||(t[n].queue=[]);for(var e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];t[n].queue.push(r)}),t[n].version=O,u=t[n],function(e){var t="[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete";try{var n=e.document.createElement("script");n.async=!0,n.src=I,n.onerror=function(){console.error(t)},document.body.appendChild(n)}catch(e){console.error(t)}}(t))}));var s=h(u),v={current:[]},g=l((function(e){var t=e.state;if(t.isOpen){var n=t.collections.reduce((function(e,t){return[].concat(c(e),c(t.items))}),[]).filter(j);f(v.current.map((function(e){return e.objectID})),n.map((function(e){return e.objectID})))||(v.current=n,n.length>0&&w({onItemsChange:i,items:n,insights:s,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,r=e.onSelect,i=e.onActive;u("addAlgoliaAgent","insights-plugin"),t({algoliaInsightsPlugin:{__algoliaSearchParameters:{clickAnalytics:!0},insights:s}}),r((function(e){var t=e.item,r=e.state,i=e.event;j(t)&&o({state:r,event:i,insights:s,item:t,insightsEvents:[n({eventName:"Item Selected"},m({item:t,items:v.current}))]})})),i((function(e){var t=e.item,r=e.state,i=e.event;j(t)&&a({state:r,event:i,insights:s,item:t,insightsEvents:[n({eventName:"Item Active"},m({item:t,items:v.current}))]})}))},onStateChange:function(e){var t=e.state;g({state:t})},__autocomplete_pluginOptions:e}},Object.defineProperty(e,"__esModule",{value:!0})}));
3
3
  //# sourceMappingURL=index.production.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.production.js","sources":["../../../autocomplete-shared/dist/esm/debounce.js","../../../autocomplete-shared/dist/esm/isEqual.js","../../../autocomplete-shared/dist/esm/noop.js","../../src/createClickedEvent.ts","../../src/createSearchInsightsApi.ts","../../src/createViewedEvents.ts","../../src/isAlgoliaInsightsHit.ts","../../src/createAlgoliaInsightsPlugin.ts","../../../autocomplete-shared/dist/esm/createRef.js"],"sourcesContent":["export function debounce(fn, time) {\n var timerId = undefined;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (timerId) {\n clearTimeout(timerId);\n }\n\n timerId = setTimeout(function () {\n return fn.apply(void 0, args);\n }, time);\n };\n}","function isPrimitive(obj) {\n return obj !== Object(obj);\n}\n\nexport function isEqual(first, second) {\n if (first === second) {\n return true;\n }\n\n if (isPrimitive(first) || isPrimitive(second) || typeof first === 'function' || typeof second === 'function') {\n return first === second;\n }\n\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n\n for (var _i = 0, _Object$keys = Object.keys(first); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n\n if (!(key in second)) {\n return false;\n }\n\n if (!isEqual(first[key], second[key])) {\n return false;\n }\n }\n\n return true;\n}","export var noop = function noop() {};","import { AlgoliaInsightsHit, ClickedObjectIDsAfterSearchParams } from './types';\n\ntype CreateClickedEventParams = {\n item: AlgoliaInsightsHit;\n items: AlgoliaInsightsHit[];\n};\n\nexport function createClickedEvent({\n item,\n items,\n}: CreateClickedEventParams): Omit<\n ClickedObjectIDsAfterSearchParams,\n 'eventName'\n> {\n return {\n index: item.__autocomplete_indexName,\n objectIDs: [item.objectID],\n positions: [1 + items.findIndex((x) => x.objectID === item.objectID)],\n queryID: item.__autocomplete_queryID,\n };\n}\n","import {\n ClickedFiltersParams,\n ClickedObjectIDsAfterSearchParams,\n ClickedObjectIDsParams,\n ConvertedFiltersParams,\n ConvertedObjectIDsAfterSearchParams,\n ConvertedObjectIDsParams,\n InsightsClient,\n ViewedFiltersParams,\n ViewedObjectIDsParams,\n} from './types';\n\nfunction chunk<TItem extends { objectIDs: string[] }>(\n item: TItem,\n chunkSize: number = 20\n): TItem[] {\n const chunks: TItem[] = [];\n for (let i = 0; i < item.objectIDs.length; i += chunkSize) {\n chunks.push({\n ...item,\n objectIDs: item.objectIDs.slice(i, i + chunkSize),\n });\n }\n return chunks;\n}\n\nexport function createSearchInsightsApi(searchInsights: InsightsClient) {\n return {\n /**\n * Initializes Insights with Algolia credentials.\n */\n init(appId: string, apiKey: string) {\n searchInsights('init', { appId, apiKey });\n },\n /**\n * Sets the user token to attach to events.\n */\n setUserToken(userToken: string) {\n searchInsights('setUserToken', userToken);\n },\n /**\n * Sends click events to capture a query and its clicked items and positions.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids-after-search/\n */\n clickedObjectIDsAfterSearch(\n ...params: ClickedObjectIDsAfterSearchParams[]\n ) {\n if (params.length > 0) {\n searchInsights('clickedObjectIDsAfterSearch', ...params);\n }\n },\n /**\n * Sends click events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids/\n */\n clickedObjectIDs(...params: ClickedObjectIDsParams[]) {\n if (params.length > 0) {\n searchInsights('clickedObjectIDs', ...params);\n }\n },\n /**\n * Sends click events to capture the filters a user clicks on.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-filters/\n */\n clickedFilters(...params: ClickedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('clickedFilters', ...params);\n }\n },\n /**\n * Sends conversion events to capture a query and its clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids-after-search/\n */\n convertedObjectIDsAfterSearch(\n ...params: ConvertedObjectIDsAfterSearchParams[]\n ) {\n if (params.length > 0) {\n searchInsights('convertedObjectIDsAfterSearch', ...params);\n }\n },\n /**\n * Sends conversion events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids/\n */\n convertedObjectIDs(...params: ConvertedObjectIDsParams[]) {\n if (params.length > 0) {\n searchInsights('convertedObjectIDs', ...params);\n }\n },\n /**\n * Sends conversion events to capture the filters a user uses when converting.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-filters/\n */\n convertedFilters(...params: ConvertedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('convertedFilters', ...params);\n }\n },\n /**\n * Sends view events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-object-ids/\n */\n viewedObjectIDs(...params: ViewedObjectIDsParams[]) {\n if (params.length > 0) {\n params\n .reduce(\n (acc, param) => [...acc, ...chunk<ViewedObjectIDsParams>(param)],\n [] as ViewedObjectIDsParams[]\n )\n .forEach((param) => searchInsights('viewedObjectIDs', param));\n }\n },\n /**\n * Sends view events to capture the filters a user uses when viewing.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-filters/\n */\n viewedFilters(...params: ViewedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('viewedFilters', ...params);\n }\n },\n };\n}\n","import { AlgoliaInsightsHit, ViewedObjectIDsParams } from './types';\n\ntype CreateViewedEventsParams = {\n items: AlgoliaInsightsHit[];\n};\n\nexport function createViewedEvents({\n items,\n}: CreateViewedEventsParams): Array<Omit<ViewedObjectIDsParams, 'eventName'>> {\n const objectIDsByIndexName = items.reduce<Record<string, string[]>>(\n (acc, current) => {\n acc[current.__autocomplete_indexName] = (\n acc[current.__autocomplete_indexName] ?? []\n ).concat(current.objectID);\n\n return acc;\n },\n {}\n );\n\n return Object.keys(objectIDsByIndexName).map((indexName) => {\n const objectIDs = objectIDsByIndexName[indexName];\n\n return {\n index: indexName,\n objectIDs,\n };\n });\n}\n","import { AlgoliaInsightsHit } from './types';\n\nexport function isAlgoliaInsightsHit(hit: any): hit is AlgoliaInsightsHit {\n return (\n hit.objectID && hit.__autocomplete_indexName && hit.__autocomplete_queryID\n );\n}\n","import {\n AutocompleteState,\n AutocompletePlugin,\n} from '@algolia/autocomplete-js';\nimport {\n createRef,\n debounce,\n isEqual,\n noop,\n} from '@algolia/autocomplete-shared';\n\nimport { createClickedEvent } from './createClickedEvent';\nimport { createSearchInsightsApi } from './createSearchInsightsApi';\nimport { createViewedEvents } from './createViewedEvents';\nimport { isAlgoliaInsightsHit } from './isAlgoliaInsightsHit';\nimport {\n AlgoliaInsightsHit,\n AutocompleteInsightsApi,\n InsightsClient,\n OnActiveParams,\n OnItemsChangeParams,\n OnSelectParams,\n} from './types';\n\nconst VIEW_EVENT_DELAY = 400;\n\ntype SendViewedObjectIDsParams = {\n onItemsChange(params: OnItemsChangeParams): void;\n items: AlgoliaInsightsHit[];\n insights: AutocompleteInsightsApi;\n state: AutocompleteState<any>;\n};\n\nconst sendViewedObjectIDs = debounce<SendViewedObjectIDsParams>(\n ({ onItemsChange, items, insights, state }) => {\n onItemsChange({\n insights,\n insightsEvents: createViewedEvents({ items }).map((event) => ({\n eventName: 'Items Viewed',\n ...event,\n })),\n state,\n });\n },\n VIEW_EVENT_DELAY\n);\n\nexport type CreateAlgoliaInsightsPluginParams = {\n /**\n * The initialized Search Insights client.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-insightsclient\n */\n insightsClient: InsightsClient;\n /**\n * Hook to send an Insights event when the items change.\n *\n * By default, it sends a `viewedObjectIDs` event.\n *\n * In as-you-type experiences, items change as the user types. This hook is debounced every 400ms to reflect actual items that users notice and avoid generating too many events for items matching \"in progress\" queries.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onitemschange\n */\n onItemsChange?(params: OnItemsChangeParams): void;\n /**\n * Hook to send an Insights event when an item is selected.\n *\n * By default, it sends a clickedObjectIDsAfterSearch event.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onselect\n */\n onSelect?(params: OnSelectParams): void;\n /**\n * Hook to send an Insights event when an item is active.\n *\n * By default, it doesn't send any events.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onactive\n */\n onActive?(params: OnActiveParams): void;\n};\n\nexport function createAlgoliaInsightsPlugin(\n options: CreateAlgoliaInsightsPluginParams\n): AutocompletePlugin<any, undefined> {\n const {\n insightsClient,\n onItemsChange,\n onSelect: onSelectEvent,\n onActive: onActiveEvent,\n } = getOptions(options);\n const insights = createSearchInsightsApi(insightsClient);\n const previousItems = createRef<AlgoliaInsightsHit[]>([]);\n\n const debouncedOnStateChange = debounce<{\n state: AutocompleteState<any>;\n }>(({ state }) => {\n if (!state.isOpen) {\n return;\n }\n\n const items = state.collections\n .reduce<unknown[]>((acc, current) => {\n return [...acc, ...current.items];\n }, [])\n .filter(isAlgoliaInsightsHit);\n\n if (\n !isEqual(\n previousItems.current.map((x) => x.objectID),\n items.map((x) => x.objectID)\n )\n ) {\n previousItems.current = items;\n\n if (items.length > 0) {\n sendViewedObjectIDs({ onItemsChange, items, insights, state });\n }\n }\n }, 0);\n\n return {\n name: 'aa.algoliaInsightsPlugin',\n subscribe({ setContext, onSelect, onActive }) {\n insightsClient('addAlgoliaAgent', 'insights-plugin');\n\n setContext({\n algoliaInsightsPlugin: {\n __algoliaSearchParameters: {\n clickAnalytics: true,\n },\n insights,\n },\n });\n\n onSelect(({ item, state, event }) => {\n if (!isAlgoliaInsightsHit(item)) {\n return;\n }\n\n onSelectEvent({\n state: state as AutocompleteState<any>,\n event,\n insights,\n item,\n insightsEvents: [\n {\n eventName: 'Item Selected',\n ...createClickedEvent({ item, items: previousItems.current }),\n },\n ],\n });\n });\n\n onActive(({ item, state, event }) => {\n if (!isAlgoliaInsightsHit(item)) {\n return;\n }\n\n onActiveEvent({\n state: state as AutocompleteState<any>,\n event,\n insights,\n item,\n insightsEvents: [\n {\n eventName: 'Item Active',\n ...createClickedEvent({ item, items: previousItems.current }),\n },\n ],\n });\n });\n },\n onStateChange({ state }) {\n debouncedOnStateChange({ state: state as AutocompleteState<any> });\n },\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getOptions(options: CreateAlgoliaInsightsPluginParams) {\n return {\n onItemsChange({ insights, insightsEvents }) {\n insights.viewedObjectIDs(...insightsEvents);\n },\n onSelect({ insights, insightsEvents }) {\n insights.clickedObjectIDsAfterSearch(...insightsEvents);\n },\n onActive: noop,\n ...options,\n };\n}\n","export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}"],"names":["debounce","fn","time","timerId","undefined","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply","isPrimitive","obj","Object","isEqual","first","second","keys","_i","_Object$keys","key","noop","createClickedEvent","_ref","item","items","index","__autocomplete_indexName","objectIDs","objectID","positions","findIndex","x","queryID","__autocomplete_queryID","chunk","chunkSize","chunks","i","push","_objectSpread","slice","createViewedEvents","objectIDsByIndexName","reduce","acc","current","_acc$current$__autoco","concat","map","indexName","isAlgoliaInsightsHit","hit","sendViewedObjectIDs","onItemsChange","insights","state","insightsEvents","event","eventName","options","getOptions","searchInsights","_ref7","viewedObjectIDs","_toConsumableArray","onSelect","_ref8","clickedObjectIDsAfterSearch","onActive","insightsClient","onSelectEvent","onActiveEvent","init","appId","apiKey","setUserToken","userToken","params","clickedObjectIDs","_len2","_key2","clickedFilters","_len3","_key3","convertedObjectIDsAfterSearch","_len4","_key4","convertedObjectIDs","_len5","_key5","convertedFilters","_len6","_key6","_len7","_key7","param","forEach","viewedFilters","_len8","_key8","previousItems","debouncedOnStateChange","_ref2","isOpen","collections","filter","name","subscribe","_ref3","setContext","algoliaInsightsPlugin","__algoliaSearchParameters","clickAnalytics","_ref4","_ref5","onStateChange","_ref6","__autocomplete_pluginOptions"],"mappings":"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"}
1
+ {"version":3,"file":"index.production.js","sources":["../../../autocomplete-shared/dist/esm/debounce.js","../../../autocomplete-shared/dist/esm/isEqual.js","../../../autocomplete-shared/dist/esm/noop.js","../../src/createClickedEvent.ts","../../src/createSearchInsightsApi.ts","../../src/isModernInsightsClient.ts","../../src/createViewedEvents.ts","../../src/isAlgoliaInsightsHit.ts","../../src/createAlgoliaInsightsPlugin.ts","../../../autocomplete-shared/dist/esm/safelyRunOnBrowser.js","../../../autocomplete-shared/dist/esm/createRef.js"],"sourcesContent":["export function debounce(fn, time) {\n var timerId = undefined;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (timerId) {\n clearTimeout(timerId);\n }\n timerId = setTimeout(function () {\n return fn.apply(void 0, args);\n }, time);\n };\n}","function isPrimitive(obj) {\n return obj !== Object(obj);\n}\nexport function isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (isPrimitive(first) || isPrimitive(second) || typeof first === 'function' || typeof second === 'function') {\n return first === second;\n }\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n for (var _i = 0, _Object$keys = Object.keys(first); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n if (!(key in second)) {\n return false;\n }\n if (!isEqual(first[key], second[key])) {\n return false;\n }\n }\n return true;\n}","export var noop = function noop() {};","import type {\n AlgoliaInsightsHit,\n ClickedObjectIDsAfterSearchParams,\n InsightsParamsWithItems,\n} from './types';\n\ntype CreateClickedEventParams = {\n item: AlgoliaInsightsHit;\n items: AlgoliaInsightsHit[];\n};\n\nexport function createClickedEvent({\n item,\n items,\n}: CreateClickedEventParams): Omit<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>,\n 'eventName'\n> & { algoliaSource?: string[] } {\n return {\n index: item.__autocomplete_indexName,\n items: [item],\n positions: [1 + items.findIndex((x) => x.objectID === item.objectID)],\n queryID: item.__autocomplete_queryID,\n algoliaSource: ['autocomplete'],\n };\n}\n","import type { InsightsMethodMap } from 'search-insights';\n\nimport { isModernInsightsClient } from './isModernInsightsClient';\nimport {\n AlgoliaInsightsHit,\n ClickedFiltersParams,\n ClickedObjectIDsAfterSearchParams,\n ClickedObjectIDsParams,\n ConvertedFiltersParams,\n ConvertedObjectIDsAfterSearchParams,\n ConvertedObjectIDsParams,\n InsightsClient,\n InsightsClientMethod,\n InsightsParamsWithItems,\n ViewedFiltersParams,\n ViewedObjectIDsParams,\n} from './types';\n\nfunction chunk<TItem extends { objectIDs: string[] }>(\n item: TItem,\n chunkSize: number = 20\n): TItem[] {\n const chunks: TItem[] = [];\n for (let i = 0; i < item.objectIDs.length; i += chunkSize) {\n chunks.push({\n ...item,\n objectIDs: item.objectIDs.slice(i, i + chunkSize),\n });\n }\n return chunks;\n}\n\nfunction mapToInsightsParamsApi<\n TInsightsParamsType extends {\n items: AlgoliaInsightsHit[];\n objectIDs?: string[];\n }\n>(params: TInsightsParamsType[]) {\n return params.map(({ items, ...param }) => ({\n ...param,\n objectIDs: items?.map(({ objectID }) => objectID) || param.objectIDs,\n }));\n}\n\nexport function createSearchInsightsApi(searchInsights: InsightsClient) {\n const canSendHeaders = isModernInsightsClient(searchInsights);\n\n function sendToInsights<TInsightsMethod extends InsightsClientMethod>(\n method: InsightsClientMethod,\n payloads: InsightsMethodMap[TInsightsMethod],\n items?: AlgoliaInsightsHit[]\n ) {\n if (canSendHeaders && typeof items !== 'undefined') {\n const { appId, apiKey } = items[0].__autocomplete_algoliaCredentials;\n const headers = {\n 'X-Algolia-Application-Id': appId,\n 'X-Algolia-API-Key': apiKey,\n };\n\n searchInsights(method, ...payloads, { headers });\n } else {\n searchInsights(method, ...payloads);\n }\n }\n\n return {\n /**\n * Initializes Insights with Algolia credentials.\n */\n init(appId: string, apiKey: string) {\n searchInsights('init', { appId, apiKey });\n },\n /**\n * Sets the user token to attach to events.\n */\n setUserToken(userToken: string) {\n searchInsights('setUserToken', userToken);\n },\n /**\n * Sends click events to capture a query and its clicked items and positions.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids-after-search/\n */\n clickedObjectIDsAfterSearch(\n ...params: Array<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'clickedObjectIDsAfterSearch',\n mapToInsightsParamsApi(params),\n params[0].items\n );\n }\n },\n /**\n * Sends click events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids/\n */\n clickedObjectIDs(\n ...params: Array<InsightsParamsWithItems<ClickedObjectIDsParams>>\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'clickedObjectIDs',\n mapToInsightsParamsApi(params),\n params[0].items\n );\n }\n },\n /**\n * Sends click events to capture the filters a user clicks on.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-filters/\n */\n clickedFilters(...params: ClickedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('clickedFilters', ...params);\n }\n },\n /**\n * Sends conversion events to capture a query and its clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids-after-search/\n */\n convertedObjectIDsAfterSearch(\n ...params: Array<\n InsightsParamsWithItems<ConvertedObjectIDsAfterSearchParams>\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'convertedObjectIDsAfterSearch',\n mapToInsightsParamsApi(params),\n params[0].items\n );\n }\n },\n /**\n * Sends conversion events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids/\n */\n convertedObjectIDs(\n ...params: Array<InsightsParamsWithItems<ConvertedObjectIDsParams>>\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'convertedObjectIDs',\n mapToInsightsParamsApi(params),\n params[0].items\n );\n }\n },\n /**\n * Sends conversion events to capture the filters a user uses when converting.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-filters/\n */\n convertedFilters(...params: ConvertedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('convertedFilters', ...params);\n }\n },\n /**\n * Sends view events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-object-ids/\n */\n viewedObjectIDs(\n ...params: Array<InsightsParamsWithItems<ViewedObjectIDsParams>>\n ) {\n if (params.length > 0) {\n params\n .reduce<\n Array<{\n items?: AlgoliaInsightsHit[];\n payload: ViewedObjectIDsParams;\n }>\n >(\n (acc, { items, ...param }) => [\n ...acc,\n ...chunk<ViewedObjectIDsParams>({\n ...param,\n objectIDs:\n items?.map(({ objectID }) => objectID) || param.objectIDs,\n }).map((payload) => {\n return { items, payload };\n }),\n ],\n []\n )\n .forEach(({ items, payload }) =>\n sendToInsights('viewedObjectIDs', [payload], items)\n );\n }\n },\n /**\n * Sends view events to capture the filters a user uses when viewing.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-filters/\n */\n viewedFilters(...params: ViewedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('viewedFilters', ...params);\n }\n },\n };\n}\n","import type { InsightsClient } from './types';\n\n/**\n * Determines if a given insights `client` supports the optional call to `init`\n * and the ability to set credentials via extra parameters when sending events.\n */\nexport function isModernInsightsClient(client: InsightsClient): boolean {\n const [major, minor] = (client.version || '').split('.').map(Number);\n\n /* eslint-disable @typescript-eslint/camelcase */\n const v3 = major >= 3;\n const v2_4 = major === 2 && minor >= 4;\n const v1_10 = major === 1 && minor >= 10;\n\n return v3 || v2_4 || v1_10;\n /* eslint-enable @typescript-eslint/camelcase */\n}\n","import {\n AlgoliaInsightsHit,\n InsightsParamsWithItems,\n ViewedObjectIDsParams,\n} from './types';\n\ntype CreateViewedEventsParams = {\n items: AlgoliaInsightsHit[];\n};\n\nexport function createViewedEvents({\n items,\n}: CreateViewedEventsParams): Array<\n Omit<InsightsParamsWithItems<ViewedObjectIDsParams>, 'eventName'>\n> {\n const itemsByIndexName = items.reduce<Record<string, AlgoliaInsightsHit[]>>(\n (acc, current) => {\n acc[current.__autocomplete_indexName] = (\n acc[current.__autocomplete_indexName] ?? []\n ).concat(current);\n\n return acc;\n },\n {}\n );\n\n return Object.keys(itemsByIndexName).map((indexName) => {\n const items = itemsByIndexName[indexName];\n\n return {\n index: indexName,\n items,\n algoliaSource: ['autocomplete'],\n };\n });\n}\n","import { AlgoliaInsightsHit } from './types';\n\nexport function isAlgoliaInsightsHit(hit: any): hit is AlgoliaInsightsHit {\n return (\n hit.objectID && hit.__autocomplete_indexName && hit.__autocomplete_queryID\n );\n}\n","import {\n AutocompleteState,\n AutocompletePlugin,\n createRef,\n debounce,\n isEqual,\n noop,\n safelyRunOnBrowser,\n} from '@algolia/autocomplete-shared';\n\nimport { createClickedEvent } from './createClickedEvent';\nimport { createSearchInsightsApi } from './createSearchInsightsApi';\nimport { createViewedEvents } from './createViewedEvents';\nimport { isAlgoliaInsightsHit } from './isAlgoliaInsightsHit';\nimport {\n AlgoliaInsightsHit,\n AutocompleteInsightsApi,\n InsightsClient,\n OnActiveParams,\n OnItemsChangeParams,\n OnSelectParams,\n} from './types';\n\nconst VIEW_EVENT_DELAY = 400;\nconst ALGOLIA_INSIGHTS_VERSION = '2.6.0';\nconst ALGOLIA_INSIGHTS_SRC = `https://cdn.jsdelivr.net/npm/search-insights@${ALGOLIA_INSIGHTS_VERSION}/dist/search-insights.min.js`;\n\ntype SendViewedObjectIDsParams = {\n onItemsChange(params: OnItemsChangeParams): void;\n items: AlgoliaInsightsHit[];\n insights: AutocompleteInsightsApi;\n state: AutocompleteState<any>;\n};\n\nconst sendViewedObjectIDs = debounce<SendViewedObjectIDsParams>(\n ({ onItemsChange, items, insights, state }) => {\n onItemsChange({\n insights,\n insightsEvents: createViewedEvents({ items }).map((event) => ({\n eventName: 'Items Viewed',\n ...event,\n })),\n state,\n });\n },\n VIEW_EVENT_DELAY\n);\n\nexport type CreateAlgoliaInsightsPluginParams = {\n /**\n * The initialized Search Insights client.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-insightsclient\n */\n insightsClient?: InsightsClient;\n /**\n * Hook to send an Insights event when the items change.\n *\n * By default, it sends a `viewedObjectIDs` event.\n *\n * In as-you-type experiences, items change as the user types. This hook is debounced every 400ms to reflect actual items that users notice and avoid generating too many events for items matching \"in progress\" queries.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onitemschange\n */\n onItemsChange?(params: OnItemsChangeParams): void;\n /**\n * Hook to send an Insights event when an item is selected.\n *\n * By default, it sends a clickedObjectIDsAfterSearch event.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onselect\n */\n onSelect?(params: OnSelectParams): void;\n /**\n * Hook to send an Insights event when an item is active.\n *\n * By default, it doesn't send any events.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onactive\n */\n onActive?(params: OnActiveParams): void;\n};\n\nexport function createAlgoliaInsightsPlugin(\n options: CreateAlgoliaInsightsPluginParams\n): AutocompletePlugin<any, undefined> {\n const {\n insightsClient: providedInsightsClient,\n onItemsChange,\n onSelect: onSelectEvent,\n onActive: onActiveEvent,\n } = getOptions(options);\n let insightsClient = providedInsightsClient as InsightsClient;\n\n if (!providedInsightsClient) {\n safelyRunOnBrowser(({ window }) => {\n const pointer = window.AlgoliaAnalyticsObject || 'aa';\n\n if (typeof pointer === 'string') {\n insightsClient = window[pointer];\n }\n\n if (!insightsClient) {\n window.AlgoliaAnalyticsObject = pointer;\n\n if (!window[pointer]) {\n window[pointer] = (...args: any[]) => {\n if (!window[pointer].queue) {\n window[pointer].queue = [];\n }\n\n window[pointer].queue.push(args);\n };\n }\n\n window[pointer].version = ALGOLIA_INSIGHTS_VERSION;\n\n insightsClient = window[pointer];\n\n loadInsights(window);\n }\n });\n }\n\n const insights = createSearchInsightsApi(insightsClient);\n const previousItems = createRef<AlgoliaInsightsHit[]>([]);\n\n const debouncedOnStateChange = debounce<{\n state: AutocompleteState<any>;\n }>(({ state }) => {\n if (!state.isOpen) {\n return;\n }\n\n const items = state.collections\n .reduce<unknown[]>((acc, current) => {\n return [...acc, ...current.items];\n }, [])\n .filter(isAlgoliaInsightsHit);\n\n if (\n !isEqual(\n previousItems.current.map((x) => x.objectID),\n items.map((x) => x.objectID)\n )\n ) {\n previousItems.current = items;\n\n if (items.length > 0) {\n sendViewedObjectIDs({ onItemsChange, items, insights, state });\n }\n }\n }, 0);\n\n return {\n name: 'aa.algoliaInsightsPlugin',\n subscribe({ setContext, onSelect, onActive }) {\n insightsClient('addAlgoliaAgent', 'insights-plugin');\n\n setContext({\n algoliaInsightsPlugin: {\n __algoliaSearchParameters: {\n clickAnalytics: true,\n },\n insights,\n },\n });\n\n onSelect(({ item, state, event }) => {\n if (!isAlgoliaInsightsHit(item)) {\n return;\n }\n\n onSelectEvent({\n state: state as AutocompleteState<any>,\n event,\n insights,\n item,\n insightsEvents: [\n {\n eventName: 'Item Selected',\n ...createClickedEvent({ item, items: previousItems.current }),\n },\n ],\n });\n });\n\n onActive(({ item, state, event }) => {\n if (!isAlgoliaInsightsHit(item)) {\n return;\n }\n\n onActiveEvent({\n state: state as AutocompleteState<any>,\n event,\n insights,\n item,\n insightsEvents: [\n {\n eventName: 'Item Active',\n ...createClickedEvent({ item, items: previousItems.current }),\n },\n ],\n });\n });\n },\n onStateChange({ state }) {\n debouncedOnStateChange({ state: state as AutocompleteState<any> });\n },\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getOptions(options: CreateAlgoliaInsightsPluginParams) {\n return {\n onItemsChange({ insights, insightsEvents }: OnItemsChangeParams) {\n insights.viewedObjectIDs(\n ...insightsEvents.map((event) => ({\n ...event,\n algoliaSource: [\n ...(event.algoliaSource || []),\n 'autocomplete-internal',\n ],\n }))\n );\n },\n onSelect({ insights, insightsEvents }: OnSelectParams) {\n insights.clickedObjectIDsAfterSearch(\n ...insightsEvents.map((event) => ({\n ...event,\n algoliaSource: [\n ...(event.algoliaSource || []),\n 'autocomplete-internal',\n ],\n }))\n );\n },\n onActive: noop,\n ...options,\n };\n}\n\nfunction loadInsights(environment: typeof window) {\n const errorMessage = `[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete`;\n\n try {\n const script = environment.document.createElement('script');\n script.async = true;\n script.src = ALGOLIA_INSIGHTS_SRC;\n\n script.onerror = () => {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n };\n\n document.body.appendChild(script);\n } catch (cause) {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n }\n}\n","/**\n * Safely runs code meant for browser environments only.\n */\nexport function safelyRunOnBrowser(callback) {\n if (typeof window !== 'undefined') {\n return callback({\n window: window\n });\n }\n return undefined;\n}","export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}"],"names":["debounce","fn","time","timerId","undefined","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply","isPrimitive","obj","Object","isEqual","first","second","keys","_i","_Object$keys","key","noop","createClickedEvent","_ref","item","items","index","__autocomplete_indexName","positions","findIndex","x","objectID","queryID","__autocomplete_queryID","algoliaSource","chunk","chunkSize","chunks","i","objectIDs","push","_objectSpread","slice","mapToInsightsParamsApi","params","map","param","_objectWithoutProperties","_excluded","_ref2","createSearchInsightsApi","searchInsights","_split$map2","major","minor","canSendHeaders","_slicedToArray","version","split","Number","sendToInsights","method","payloads","_items$0$__autocomple","__autocomplete_algoliaCredentials","headers","appId","apiKey","concat","_toConsumableArray","init","setUserToken","userToken","clickedObjectIDsAfterSearch","clickedObjectIDs","_len2","_key2","clickedFilters","_len3","_key3","convertedObjectIDsAfterSearch","_len4","_key4","convertedObjectIDs","_len5","_key5","convertedFilters","_len6","_key6","viewedObjectIDs","_len7","_key7","reduce","acc","_ref3","_excluded2","_ref4","payload","forEach","_ref5","viewedFilters","_len8","_key8","createViewedEvents","itemsByIndexName","current","_acc$current$__autoco","indexName","isAlgoliaInsightsHit","hit","ALGOLIA_INSIGHTS_VERSION","ALGOLIA_INSIGHTS_SRC","sendViewedObjectIDs","onItemsChange","insights","state","insightsEvents","event","eventName","options","_getOptions","_ref8","onSelect","_ref9","onActive","getOptions","providedInsightsClient","insightsClient","onSelectEvent","onActiveEvent","callback","window","safelyRunOnBrowser","pointer","AlgoliaAnalyticsObject","queue","environment","errorMessage","script","document","createElement","async","src","onerror","console","error","body","appendChild","cause","loadInsights","previousItems","debouncedOnStateChange","isOpen","collections","filter","name","subscribe","setContext","algoliaInsightsPlugin","__algoliaSearchParameters","clickAnalytics","_ref6","onStateChange","_ref7","__autocomplete_pluginOptions"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@algolia/autocomplete-plugin-algolia-insights",
3
3
  "description": "A plugin to add Algolia Insights to Algolia Autocomplete.",
4
- "version": "1.8.3",
4
+ "version": "1.9.1",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/algolia/autocomplete",
7
7
  "repository": "algolia/autocomplete",
@@ -31,11 +31,7 @@
31
31
  "watch": "watch \"yarn on:change\" --ignoreDirectoryPattern \"/dist/\""
32
32
  },
33
33
  "dependencies": {
34
- "@algolia/autocomplete-js": "1.8.3",
35
- "@algolia/autocomplete-shared": "1.8.3"
36
- },
37
- "devDependencies": {
38
- "@algolia/autocomplete-core": "1.8.3"
34
+ "@algolia/autocomplete-shared": "1.9.0"
39
35
  },
40
36
  "peerDependencies": {
41
37
  "search-insights": ">= 1 < 3"