@algolia/autocomplete-plugin-algolia-insights 1.7.2 → 1.7.4

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.
@@ -82,6 +82,7 @@ export function createAlgoliaInsightsPlugin(options) {
82
82
  var setContext = _ref3.setContext,
83
83
  onSelect = _ref3.onSelect,
84
84
  onActive = _ref3.onActive;
85
+ insightsClient('addAlgoliaAgent', 'insights-plugin');
85
86
  setContext({
86
87
  algoliaInsightsPlugin: {
87
88
  insights: insights
@@ -1,4 +1,4 @@
1
- /*! @algolia/autocomplete-plugin-algolia-insights 1.7.2 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
1
+ /*! @algolia/autocomplete-plugin-algolia-insights 1.7.4 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
2
2
  (function (global, factory) {
3
3
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
4
4
  typeof define === 'function' && define.amd ? define(['exports'], factory) :
@@ -372,6 +372,7 @@
372
372
  var setContext = _ref3.setContext,
373
373
  onSelect = _ref3.onSelect,
374
374
  onActive = _ref3.onActive;
375
+ insightsClient('addAlgoliaAgent', 'insights-plugin');
375
376
  setContext({
376
377
  algoliaInsightsPlugin: {
377
378
  insights: insights
@@ -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\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 searchInsights('viewedObjectIDs', ...params);\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\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 setContext({ algoliaInsightsPlugin: { insights } });\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","createSearchInsightsApi","searchInsights","init","appId","apiKey","setUserToken","userToken","clickedObjectIDsAfterSearch","params","clickedObjectIDs","clickedFilters","convertedObjectIDsAfterSearch","convertedObjectIDs","convertedFilters","viewedObjectIDs","viewedFilters","createViewedEvents","objectIDsByIndexName","reduce","acc","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","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","../../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\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 searchInsights('viewedObjectIDs', ...params);\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({ algoliaInsightsPlugin: { insights } });\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","createSearchInsightsApi","searchInsights","init","appId","apiKey","setUserToken","userToken","clickedObjectIDsAfterSearch","params","clickedObjectIDs","clickedFilters","convertedObjectIDsAfterSearch","convertedObjectIDs","convertedFilters","viewedObjectIDs","viewedFilters","createViewedEvents","objectIDsByIndexName","reduce","acc","concat","map","indexName","isAlgoliaInsightsHit","hit","VIEW_EVENT_DELAY","sendViewedObjectIDs","onItemsChange","insights","state","insightsEvents","event","_objectSpread","eventName","createAlgoliaInsightsPlugin","options","getOptions","insightsClient","onSelectEvent","onSelect","onActiveEvent","onActive","previousItems","debouncedOnStateChange","isOpen","collections","filter","name","subscribe","setContext","algoliaInsightsPlugin","onStateChange","__autocomplete_pluginOptions"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- /*! @algolia/autocomplete-plugin-algolia-insights 1.7.2 | 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){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 p(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:f({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,f=r.onSelect,g=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&&t.apply(void 0,["viewedObjectIDs"].concat(n))},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))}}),h={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(p);s(h.current.map((function(e){return e.objectID})),n.map((function(e){return e.objectID})))||(h.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;t({algoliaInsightsPlugin:{insights:d}}),r((function(e){var t=e.item,r=e.state,i=e.event;p(t)&&f({state:r,event:i,insights:d,item:t,insightsEvents:[n({eventName:"Item Selected"},l({item:t,items:h.current}))]})})),i((function(e){var t=e.item,r=e.state,i=e.event;p(t)&&g({state:r,event:i,insights:d,item:t,insightsEvents:[n({eventName:"Item Active"},l({item:t,items:h.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.7.4 | 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){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 p(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:f({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,f=r.onSelect,g=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&&t.apply(void 0,["viewedObjectIDs"].concat(n))},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))}}),h={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(p);s(h.current.map((function(e){return e.objectID})),n.map((function(e){return e.objectID})))||(h.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:{insights:d}}),r((function(e){var t=e.item,r=e.state,i=e.event;p(t)&&f({state:r,event:i,insights:d,item:t,insightsEvents:[n({eventName:"Item Selected"},l({item:t,items:h.current}))]})})),i((function(e){var t=e.item,r=e.state,i=e.event;p(t)&&g({state:r,event:i,insights:d,item:t,insightsEvents:[n({eventName:"Item Active"},l({item:t,items:h.current}))]})}))},onStateChange:function(e){var t=e.state;m({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/createViewedEvents.ts","../../src/isAlgoliaInsightsHit.ts","../../src/createAlgoliaInsightsPlugin.ts","../../src/createSearchInsightsApi.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 { 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\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 setContext({ algoliaInsightsPlugin: { insights } });\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","import {\n ClickedFiltersParams,\n ClickedObjectIDsAfterSearchParams,\n ClickedObjectIDsParams,\n ConvertedFiltersParams,\n ConvertedObjectIDsAfterSearchParams,\n ConvertedObjectIDsParams,\n InsightsClient,\n ViewedFiltersParams,\n ViewedObjectIDsParams,\n} from './types';\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 searchInsights('viewedObjectIDs', ...params);\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","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","item","items","index","__autocomplete_indexName","objectIDs","objectID","positions","findIndex","x","queryID","__autocomplete_queryID","createViewedEvents","objectIDsByIndexName","reduce","acc","current","concat","map","indexName","isAlgoliaInsightsHit","hit","sendViewedObjectIDs","onItemsChange","insights","state","insightsEvents","event","eventName","options","searchInsights","viewedObjectIDs","onSelect","clickedObjectIDsAfterSearch","onActive","getOptions","insightsClient","onSelectEvent","onActiveEvent","init","appId","apiKey","setUserToken","userToken","params","clickedObjectIDs","clickedFilters","convertedObjectIDsAfterSearch","convertedObjectIDs","convertedFilters","viewedFilters","previousItems","debouncedOnStateChange","isOpen","collections","filter","name","subscribe","setContext","algoliaInsightsPlugin","onStateChange","__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/createViewedEvents.ts","../../src/isAlgoliaInsightsHit.ts","../../src/createAlgoliaInsightsPlugin.ts","../../src/createSearchInsightsApi.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 { 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({ algoliaInsightsPlugin: { insights } });\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","import {\n ClickedFiltersParams,\n ClickedObjectIDsAfterSearchParams,\n ClickedObjectIDsParams,\n ConvertedFiltersParams,\n ConvertedObjectIDsAfterSearchParams,\n ConvertedObjectIDsParams,\n InsightsClient,\n ViewedFiltersParams,\n ViewedObjectIDsParams,\n} from './types';\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 searchInsights('viewedObjectIDs', ...params);\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","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","createViewedEvents","objectIDsByIndexName","reduce","acc","current","_acc$current$__autoco","concat","map","indexName","isAlgoliaInsightsHit","hit","sendViewedObjectIDs","onItemsChange","insights","state","insightsEvents","event","_objectSpread","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","viewedFilters","_len8","_key8","previousItems","debouncedOnStateChange","_ref2","isOpen","collections","filter","name","subscribe","_ref3","setContext","algoliaInsightsPlugin","_ref4","_ref5","onStateChange","_ref6","__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.7.2",
4
+ "version": "1.7.4",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/algolia/autocomplete",
7
7
  "repository": "algolia/autocomplete",
@@ -31,11 +31,11 @@
31
31
  "watch": "watch \"yarn on:change\" --ignoreDirectoryPattern \"/dist/\""
32
32
  },
33
33
  "dependencies": {
34
- "@algolia/autocomplete-js": "1.7.2",
35
- "@algolia/autocomplete-shared": "1.7.2"
34
+ "@algolia/autocomplete-js": "1.7.4",
35
+ "@algolia/autocomplete-shared": "1.7.4"
36
36
  },
37
37
  "devDependencies": {
38
- "@algolia/autocomplete-core": "1.7.2"
38
+ "@algolia/autocomplete-core": "1.7.4"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "search-insights": ">= 1 < 3"