@algolia/autocomplete-plugin-algolia-insights 1.5.0 → 1.5.3

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.
@@ -10,9 +10,9 @@ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToAr
10
10
 
11
11
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
12
12
 
13
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
13
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
14
14
 
15
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
15
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
16
 
17
17
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
18
 
@@ -1,23 +1,18 @@
1
- /*! @algolia/autocomplete-plugin-algolia-insights 1.5.0 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
1
+ /*! @algolia/autocomplete-plugin-algolia-insights 1.5.3 | 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) :
5
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global['@algolia/autocomplete-plugin-algolia-insights'] = {}));
6
- }(this, (function (exports) { 'use strict';
5
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@algolia/autocomplete-plugin-algolia-insights"] = {}));
6
+ })(this, (function (exports) { 'use strict';
7
7
 
8
8
  function ownKeys(object, enumerableOnly) {
9
9
  var keys = Object.keys(object);
10
10
 
11
11
  if (Object.getOwnPropertySymbols) {
12
12
  var symbols = Object.getOwnPropertySymbols(object);
13
-
14
- if (enumerableOnly) {
15
- symbols = symbols.filter(function (sym) {
16
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
17
- });
18
- }
19
-
20
- keys.push.apply(keys, symbols);
13
+ enumerableOnly && (symbols = symbols.filter(function (sym) {
14
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
15
+ })), keys.push.apply(keys, symbols);
21
16
  }
22
17
 
23
18
  return keys;
@@ -25,19 +20,12 @@
25
20
 
26
21
  function _objectSpread2(target) {
27
22
  for (var i = 1; i < arguments.length; i++) {
28
- var source = arguments[i] != null ? arguments[i] : {};
29
-
30
- if (i % 2) {
31
- ownKeys(Object(source), true).forEach(function (key) {
32
- _defineProperty(target, key, source[key]);
33
- });
34
- } else if (Object.getOwnPropertyDescriptors) {
35
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
36
- } else {
37
- ownKeys(Object(source)).forEach(function (key) {
38
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
39
- });
40
- }
23
+ var source = null != arguments[i] ? arguments[i] : {};
24
+ i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
25
+ _defineProperty(target, key, source[key]);
26
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
27
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
28
+ });
41
29
  }
42
30
 
43
31
  return target;
@@ -464,5 +452,5 @@
464
452
 
465
453
  Object.defineProperty(exports, '__esModule', { value: true });
466
454
 
467
- })));
455
+ }));
468
456
  //# sourceMappingURL=index.development.js.map
@@ -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\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,3 +1,3 @@
1
- /*! @algolia/autocomplete-plugin-algolia-insights 1.5.0 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
1
+ /*! @algolia/autocomplete-plugin-algolia-insights 1.5.3 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
2
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})}));
3
3
  //# sourceMappingURL=index.production.js.map
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.5.0",
4
+ "version": "1.5.3",
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.5.0",
35
- "@algolia/autocomplete-shared": "1.5.0"
34
+ "@algolia/autocomplete-js": "1.5.3",
35
+ "@algolia/autocomplete-shared": "1.5.3"
36
36
  },
37
37
  "devDependencies": {
38
- "@algolia/autocomplete-core": "1.5.0"
38
+ "@algolia/autocomplete-core": "1.5.3"
39
39
  },
40
40
  "peerDependencies": {
41
41
  "search-insights": "^1.0.0"