@algolia/autocomplete-plugin-algolia-insights 1.14.0 → 1.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/createAlgoliaInsightsPlugin.js +30 -2
- package/dist/esm/createSearchInsightsApi.d.ts +7 -0
- package/dist/esm/createSearchInsightsApi.js +9 -0
- package/dist/esm/types/InsightsClient.d.ts +1 -1
- package/dist/umd/index.development.js +40 -3
- package/dist/umd/index.development.js.map +1 -1
- package/dist/umd/index.production.js +2 -2
- package/dist/umd/index.production.js.map +1 -1
- package/package.json +2 -2
|
@@ -113,6 +113,7 @@ export function createAlgoliaInsightsPlugin(options) {
|
|
|
113
113
|
var setContext = _ref4.setContext,
|
|
114
114
|
onSelect = _ref4.onSelect,
|
|
115
115
|
onActive = _ref4.onActive;
|
|
116
|
+
var isAuthenticatedToken = false;
|
|
116
117
|
function setInsightsContext(userToken) {
|
|
117
118
|
setContext({
|
|
118
119
|
algoliaInsightsPlugin: {
|
|
@@ -127,9 +128,36 @@ export function createAlgoliaInsightsPlugin(options) {
|
|
|
127
128
|
}
|
|
128
129
|
insightsClient('addAlgoliaAgent', 'insights-plugin');
|
|
129
130
|
setInsightsContext();
|
|
130
|
-
|
|
131
|
+
|
|
132
|
+
// Handles user token changes
|
|
133
|
+
insightsClient('onUserTokenChange', function (userToken) {
|
|
134
|
+
if (!isAuthenticatedToken) {
|
|
135
|
+
setInsightsContext(userToken);
|
|
136
|
+
}
|
|
137
|
+
});
|
|
131
138
|
insightsClient('getUserToken', null, function (_error, userToken) {
|
|
132
|
-
|
|
139
|
+
if (!isAuthenticatedToken) {
|
|
140
|
+
setInsightsContext(userToken);
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
|
|
144
|
+
// Handles authenticated user token changes
|
|
145
|
+
insightsClient('onAuthenticatedUserTokenChange', function (authenticatedUserToken) {
|
|
146
|
+
if (authenticatedUserToken) {
|
|
147
|
+
isAuthenticatedToken = true;
|
|
148
|
+
setInsightsContext(authenticatedUserToken);
|
|
149
|
+
} else {
|
|
150
|
+
isAuthenticatedToken = false;
|
|
151
|
+
insightsClient('getUserToken', null, function (_error, userToken) {
|
|
152
|
+
return setInsightsContext(userToken);
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
insightsClient('getAuthenticatedUserToken', null, function (_error, authenticatedUserToken) {
|
|
157
|
+
if (authenticatedUserToken) {
|
|
158
|
+
isAuthenticatedToken = true;
|
|
159
|
+
setInsightsContext(authenticatedUserToken);
|
|
160
|
+
}
|
|
133
161
|
});
|
|
134
162
|
onSelect(function (_ref5) {
|
|
135
163
|
var item = _ref5.item,
|
|
@@ -4,6 +4,13 @@ export declare function createSearchInsightsApi(searchInsights: InsightsClient):
|
|
|
4
4
|
* Initializes Insights with Algolia credentials.
|
|
5
5
|
*/
|
|
6
6
|
init(appId: string, apiKey: string): void;
|
|
7
|
+
/**
|
|
8
|
+
* Sets the authenticated user token to attach to events.
|
|
9
|
+
* Unsets the authenticated token by passing `undefined`.
|
|
10
|
+
*
|
|
11
|
+
* @link https://www.algolia.com/doc/api-reference/api-methods/set-authenticated-user-token/
|
|
12
|
+
*/
|
|
13
|
+
setAuthenticatedUserToken(authenticatedUserToken: string | undefined): void;
|
|
7
14
|
/**
|
|
8
15
|
* Sets the user token to attach to events.
|
|
9
16
|
*/
|
|
@@ -65,6 +65,15 @@ export function createSearchInsightsApi(searchInsights) {
|
|
|
65
65
|
apiKey: apiKey
|
|
66
66
|
});
|
|
67
67
|
},
|
|
68
|
+
/**
|
|
69
|
+
* Sets the authenticated user token to attach to events.
|
|
70
|
+
* Unsets the authenticated token by passing `undefined`.
|
|
71
|
+
*
|
|
72
|
+
* @link https://www.algolia.com/doc/api-reference/api-methods/set-authenticated-user-token/
|
|
73
|
+
*/
|
|
74
|
+
setAuthenticatedUserToken: function setAuthenticatedUserToken(authenticatedUserToken) {
|
|
75
|
+
searchInsights('setAuthenticatedUserToken', authenticatedUserToken);
|
|
76
|
+
},
|
|
68
77
|
/**
|
|
69
78
|
* Sets the user token to attach to events.
|
|
70
79
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { InsightsMethodMap as _InsightsMethodMap, InsightsClient as _InsightsClient } from 'search-insights';
|
|
2
|
-
export type { Init as InsightsInit, AddAlgoliaAgent as InsightsAddAlgoliaAgent, SetUserToken as InsightsSetUserToken, GetUserToken as InsightsGetUserToken, OnUserTokenChange as InsightsOnUserTokenChange, } from 'search-insights';
|
|
2
|
+
export type { Init as InsightsInit, AddAlgoliaAgent as InsightsAddAlgoliaAgent, SetUserToken as InsightsSetUserToken, GetUserToken as InsightsGetUserToken, OnUserTokenChange as InsightsOnUserTokenChange, InsightsEvent, } from 'search-insights';
|
|
3
3
|
export declare type InsightsMethodMap = _InsightsMethodMap;
|
|
4
4
|
export declare type InsightsClientMethod = keyof InsightsMethodMap;
|
|
5
5
|
export declare type InsightsClientPayload = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @algolia/autocomplete-plugin-algolia-insights 1.
|
|
1
|
+
/*! @algolia/autocomplete-plugin-algolia-insights 1.15.1 | 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) :
|
|
@@ -288,6 +288,15 @@
|
|
|
288
288
|
apiKey: apiKey
|
|
289
289
|
});
|
|
290
290
|
},
|
|
291
|
+
/**
|
|
292
|
+
* Sets the authenticated user token to attach to events.
|
|
293
|
+
* Unsets the authenticated token by passing `undefined`.
|
|
294
|
+
*
|
|
295
|
+
* @link https://www.algolia.com/doc/api-reference/api-methods/set-authenticated-user-token/
|
|
296
|
+
*/
|
|
297
|
+
setAuthenticatedUserToken: function setAuthenticatedUserToken(authenticatedUserToken) {
|
|
298
|
+
searchInsights('setAuthenticatedUserToken', authenticatedUserToken);
|
|
299
|
+
},
|
|
291
300
|
/**
|
|
292
301
|
* Sets the user token to attach to events.
|
|
293
302
|
*/
|
|
@@ -538,6 +547,7 @@
|
|
|
538
547
|
var setContext = _ref4.setContext,
|
|
539
548
|
onSelect = _ref4.onSelect,
|
|
540
549
|
onActive = _ref4.onActive;
|
|
550
|
+
var isAuthenticatedToken = false;
|
|
541
551
|
function setInsightsContext(userToken) {
|
|
542
552
|
setContext({
|
|
543
553
|
algoliaInsightsPlugin: {
|
|
@@ -552,9 +562,36 @@
|
|
|
552
562
|
}
|
|
553
563
|
insightsClient('addAlgoliaAgent', 'insights-plugin');
|
|
554
564
|
setInsightsContext();
|
|
555
|
-
|
|
565
|
+
|
|
566
|
+
// Handles user token changes
|
|
567
|
+
insightsClient('onUserTokenChange', function (userToken) {
|
|
568
|
+
if (!isAuthenticatedToken) {
|
|
569
|
+
setInsightsContext(userToken);
|
|
570
|
+
}
|
|
571
|
+
});
|
|
556
572
|
insightsClient('getUserToken', null, function (_error, userToken) {
|
|
557
|
-
|
|
573
|
+
if (!isAuthenticatedToken) {
|
|
574
|
+
setInsightsContext(userToken);
|
|
575
|
+
}
|
|
576
|
+
});
|
|
577
|
+
|
|
578
|
+
// Handles authenticated user token changes
|
|
579
|
+
insightsClient('onAuthenticatedUserTokenChange', function (authenticatedUserToken) {
|
|
580
|
+
if (authenticatedUserToken) {
|
|
581
|
+
isAuthenticatedToken = true;
|
|
582
|
+
setInsightsContext(authenticatedUserToken);
|
|
583
|
+
} else {
|
|
584
|
+
isAuthenticatedToken = false;
|
|
585
|
+
insightsClient('getUserToken', null, function (_error, userToken) {
|
|
586
|
+
return setInsightsContext(userToken);
|
|
587
|
+
});
|
|
588
|
+
}
|
|
589
|
+
});
|
|
590
|
+
insightsClient('getAuthenticatedUserToken', null, function (_error, authenticatedUserToken) {
|
|
591
|
+
if (authenticatedUserToken) {
|
|
592
|
+
isAuthenticatedToken = true;
|
|
593
|
+
setInsightsContext(authenticatedUserToken);
|
|
594
|
+
}
|
|
558
595
|
});
|
|
559
596
|
onSelect(function (_ref5) {
|
|
560
597
|
var item = _ref5.item,
|
|
@@ -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","../../../autocomplete-shared/dist/esm/safelyRunOnBrowser.js","../../src/createClickedEvent.ts","../../src/isModernInsightsClient.ts","../../src/createSearchInsightsApi.ts","../../src/createViewedEvents.ts","../../src/isAlgoliaInsightsHit.ts","../../src/createAlgoliaInsightsPlugin.ts"],"sourcesContent":["export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","export function debounce(fn, time) {\n var timerId = undefined;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (timerId) {\n clearTimeout(timerId);\n }\n timerId = setTimeout(function () {\n return fn.apply(void 0, args);\n }, time);\n };\n}","function isPrimitive(obj) {\n return obj !== Object(obj);\n}\nexport function isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (isPrimitive(first) || isPrimitive(second) || typeof first === 'function' || typeof second === 'function') {\n return first === second;\n }\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n for (var _i = 0, _Object$keys = Object.keys(first); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n if (!(key in second)) {\n return false;\n }\n if (!isEqual(first[key], second[key])) {\n return false;\n }\n }\n return true;\n}","export var noop = function noop() {};","/**\n * Safely runs code meant for browser environments only.\n */\nexport function safelyRunOnBrowser(callback) {\n if (typeof window !== 'undefined') {\n return callback({\n window: window\n });\n }\n return undefined;\n}","import type {\n AlgoliaInsightsHit,\n ClickedObjectIDsAfterSearchParams,\n InsightsParamsWithItems,\n} from './types';\n\ntype CreateClickedEventParams = {\n item: AlgoliaInsightsHit;\n items: AlgoliaInsightsHit[];\n};\n\nexport function createClickedEvent({\n item,\n items = [],\n}: CreateClickedEventParams): Omit<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>,\n 'eventName'\n> & { algoliaSource?: string[] } {\n return {\n index: item.__autocomplete_indexName,\n items: [item],\n positions: [1 + items.findIndex((x) => x.objectID === item.objectID)],\n queryID: item.__autocomplete_queryID,\n algoliaSource: ['autocomplete'],\n };\n}\n","import type { InsightsClient } from './types';\n\n/**\n * Determines if a given insights `client` supports the optional call to `init`\n * and the ability to set credentials via extra parameters when sending events.\n */\nexport function isModernInsightsClient(client: InsightsClient): boolean {\n const [major, minor] = (client.version || '').split('.').map(Number);\n\n /* eslint-disable @typescript-eslint/camelcase */\n const v3 = major >= 3;\n const v2_4 = major === 2 && minor >= 4;\n const v1_10 = major === 1 && minor >= 10;\n\n return v3 || v2_4 || v1_10;\n /* eslint-enable @typescript-eslint/camelcase */\n}\n","import type { InsightsMethodMap } from 'search-insights';\n\nimport { isModernInsightsClient } from './isModernInsightsClient';\nimport {\n AlgoliaInsightsHit,\n ClickedFiltersParams,\n ClickedObjectIDsAfterSearchParams,\n ClickedObjectIDsParams,\n ConvertedFiltersParams,\n ConvertedObjectIDsAfterSearchParams,\n ConvertedObjectIDsParams,\n InsightsClient,\n InsightsClientMethod,\n WithArbitraryParams,\n InsightsParamsWithItems,\n ViewedFiltersParams,\n ViewedObjectIDsParams,\n} from './types';\n\nfunction chunk<TItem extends { objectIDs: string[] }>(\n item: TItem,\n chunkSize: number = 20\n): TItem[] {\n const chunks: TItem[] = [];\n for (let i = 0; i < item.objectIDs.length; i += chunkSize) {\n chunks.push({\n ...item,\n objectIDs: item.objectIDs.slice(i, i + chunkSize),\n });\n }\n return chunks;\n}\n\nfunction mapToInsightsParamsApi<\n TInsightsParamsType extends {\n items: AlgoliaInsightsHit[];\n objectIDs?: string[];\n }\n>(params: TInsightsParamsType[]) {\n return params.map(({ items, ...param }) => ({\n ...param,\n objectIDs: items?.map(({ objectID }) => objectID) || param.objectIDs,\n }));\n}\n\nexport function createSearchInsightsApi(searchInsights: InsightsClient) {\n const canSendHeaders = isModernInsightsClient(searchInsights);\n\n function sendToInsights<TInsightsMethod extends InsightsClientMethod>(\n method: InsightsClientMethod,\n payloads: InsightsMethodMap[TInsightsMethod],\n items?: AlgoliaInsightsHit[]\n ) {\n if (canSendHeaders && typeof items !== 'undefined') {\n const { appId, apiKey } = items[0].__autocomplete_algoliaCredentials;\n const headers = {\n 'X-Algolia-Application-Id': appId,\n 'X-Algolia-API-Key': apiKey,\n };\n\n searchInsights(method, ...payloads, { headers });\n } else {\n searchInsights(method, ...payloads);\n }\n }\n\n return {\n /**\n * Initializes Insights with Algolia credentials.\n */\n init(appId: string, apiKey: string) {\n searchInsights('init', { appId, apiKey });\n },\n /**\n * Sets the user token to attach to events.\n */\n setUserToken(userToken: string) {\n searchInsights('setUserToken', userToken);\n },\n /**\n * Sends click events to capture a query and its clicked items and positions.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids-after-search/\n */\n clickedObjectIDsAfterSearch(\n ...params: Array<\n WithArbitraryParams<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>\n >\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'clickedObjectIDsAfterSearch',\n mapToInsightsParamsApi<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>\n >(params),\n params[0].items\n );\n }\n },\n /**\n * Sends click events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids/\n */\n clickedObjectIDs(\n ...params: Array<\n WithArbitraryParams<InsightsParamsWithItems<ClickedObjectIDsParams>>\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'clickedObjectIDs',\n mapToInsightsParamsApi<\n InsightsParamsWithItems<ClickedObjectIDsParams>\n >(params),\n params[0].items\n );\n }\n },\n /**\n * Sends click events to capture the filters a user clicks on.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-filters/\n */\n clickedFilters(\n ...params: Array<WithArbitraryParams<ClickedFiltersParams>>\n ) {\n if (params.length > 0) {\n searchInsights('clickedFilters', ...params);\n }\n },\n /**\n * Sends conversion events to capture a query and its clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids-after-search/\n */\n convertedObjectIDsAfterSearch(\n ...params: Array<\n WithArbitraryParams<\n InsightsParamsWithItems<ConvertedObjectIDsAfterSearchParams>\n >\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'convertedObjectIDsAfterSearch',\n mapToInsightsParamsApi<\n InsightsParamsWithItems<ConvertedObjectIDsAfterSearchParams>\n >(params),\n params[0].items\n );\n }\n },\n /**\n * Sends conversion events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids/\n */\n convertedObjectIDs(\n ...params: Array<\n WithArbitraryParams<InsightsParamsWithItems<ConvertedObjectIDsParams>>\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'convertedObjectIDs',\n mapToInsightsParamsApi<\n InsightsParamsWithItems<ConvertedObjectIDsParams>\n >(params),\n params[0].items\n );\n }\n },\n /**\n * Sends conversion events to capture the filters a user uses when converting.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-filters/\n */\n convertedFilters(\n ...params: Array<WithArbitraryParams<ConvertedFiltersParams>>\n ) {\n if (params.length > 0) {\n searchInsights('convertedFilters', ...params);\n }\n },\n /**\n * Sends view events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-object-ids/\n */\n viewedObjectIDs(\n ...params: Array<\n WithArbitraryParams<InsightsParamsWithItems<ViewedObjectIDsParams>>\n >\n ) {\n if (params.length > 0) {\n params\n .reduce<\n Array<{\n items?: AlgoliaInsightsHit[];\n payload: ViewedObjectIDsParams;\n }>\n >(\n (acc, { items, ...param }) => [\n ...acc,\n ...chunk<ViewedObjectIDsParams>({\n ...param,\n objectIDs:\n items?.map(({ objectID }) => objectID) || param.objectIDs,\n }).map((payload) => {\n return { items, payload };\n }),\n ],\n []\n )\n .forEach(({ items, payload }) =>\n sendToInsights('viewedObjectIDs', [payload], items)\n );\n }\n },\n /**\n * Sends view events to capture the filters a user uses when viewing.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-filters/\n */\n viewedFilters(...params: Array<WithArbitraryParams<ViewedFiltersParams>>) {\n if (params.length > 0) {\n searchInsights('viewedFilters', ...params);\n }\n },\n };\n}\n","import {\n AlgoliaInsightsHit,\n InsightsParamsWithItems,\n ViewedObjectIDsParams,\n} from './types';\n\ntype CreateViewedEventsParams = {\n items: AlgoliaInsightsHit[];\n};\n\nexport function createViewedEvents({\n items,\n}: CreateViewedEventsParams): Array<\n Omit<InsightsParamsWithItems<ViewedObjectIDsParams>, 'eventName'>\n> {\n const itemsByIndexName = items.reduce<Record<string, AlgoliaInsightsHit[]>>(\n (acc, current) => {\n acc[current.__autocomplete_indexName] = (\n acc[current.__autocomplete_indexName] ?? []\n ).concat(current);\n\n return acc;\n },\n {}\n );\n\n return Object.keys(itemsByIndexName).map((indexName) => {\n const items = itemsByIndexName[indexName];\n\n return {\n index: indexName,\n items,\n algoliaSource: ['autocomplete'],\n };\n });\n}\n","import { AlgoliaInsightsHit } from './types';\n\nexport function isAlgoliaInsightsHit(hit: any): hit is AlgoliaInsightsHit {\n return (\n hit.objectID && hit.__autocomplete_indexName && hit.__autocomplete_queryID\n );\n}\n","import {\n AutocompleteState,\n AutocompletePlugin,\n createRef,\n debounce,\n isEqual,\n noop,\n safelyRunOnBrowser,\n} from '@algolia/autocomplete-shared';\nimport {\n AutocompleteContext,\n AutocompleteReshapeSource,\n} from '@algolia/autocomplete-shared/dist/esm/core';\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 InsightsMethodMap,\n OnActiveParams,\n OnItemsChangeParams,\n OnSelectParams,\n} from './types';\n\nconst VIEW_EVENT_DELAY = 400;\nconst ALGOLIA_INSIGHTS_VERSION = '2.13.0';\nconst ALGOLIA_INSIGHTS_SRC = `https://cdn.jsdelivr.net/npm/search-insights@${ALGOLIA_INSIGHTS_VERSION}/dist/search-insights.min.js`;\n\ntype SendViewedObjectIDsParams = {\n onItemsChange(params: OnItemsChangeParams): void;\n items: AlgoliaInsightsHit[];\n insights: AutocompleteInsightsApi;\n state: AutocompleteState<any>;\n};\n\nconst sendViewedObjectIDs = debounce<SendViewedObjectIDsParams>(\n ({ onItemsChange, items, insights, state }) => {\n onItemsChange({\n insights,\n insightsEvents: createViewedEvents({ items }).map((event) => ({\n eventName: 'Items Viewed',\n ...event,\n })),\n state,\n });\n },\n VIEW_EVENT_DELAY\n);\n\nexport type CreateAlgoliaInsightsPluginParams = {\n /**\n * The initialized Search Insights client.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-insightsclient\n */\n insightsClient?: InsightsClient;\n /**\n * Insights parameters to forward to the Insights client’s init method.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-insightsinitparams\n */\n insightsInitParams?: Partial<InsightsMethodMap['init'][0]>;\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 * @internal\n */\n __autocomplete_clickAnalytics?: boolean;\n};\n\nexport function createAlgoliaInsightsPlugin(\n options: CreateAlgoliaInsightsPluginParams\n): AutocompletePlugin<any, undefined> {\n const {\n insightsClient: providedInsightsClient,\n insightsInitParams,\n onItemsChange,\n onSelect: onSelectEvent,\n onActive: onActiveEvent,\n __autocomplete_clickAnalytics,\n } = getOptions(options);\n let insightsClient = providedInsightsClient as InsightsClient;\n\n if (!providedInsightsClient) {\n safelyRunOnBrowser(({ window }) => {\n const pointer = window.AlgoliaAnalyticsObject || 'aa';\n\n if (typeof pointer === 'string') {\n insightsClient = window[pointer];\n }\n\n if (!insightsClient) {\n window.AlgoliaAnalyticsObject = pointer;\n\n if (!window[pointer]) {\n window[pointer] = (...args: any[]) => {\n if (!window[pointer].queue) {\n window[pointer].queue = [];\n }\n\n window[pointer].queue.push(args);\n };\n }\n\n window[pointer].version = ALGOLIA_INSIGHTS_VERSION;\n\n insightsClient = window[pointer];\n\n loadInsights(window);\n }\n });\n }\n\n // We return an empty plugin if `insightsClient` is still undefined at\n // this stage, which can happen in server environments.\n if (!insightsClient) {\n return {};\n }\n\n if (insightsInitParams) {\n insightsClient('init', { partial: true, ...insightsInitParams });\n }\n\n const insights = createSearchInsightsApi(insightsClient);\n const previousItems = createRef<AlgoliaInsightsHit[]>([]);\n\n const debouncedOnStateChange = debounce<{\n state: AutocompleteState<any>;\n }>(({ state }) => {\n if (!state.isOpen) {\n return;\n }\n\n const items = state.collections\n .reduce<unknown[]>((acc, current) => {\n return [...acc, ...current.items];\n }, [])\n .filter(isAlgoliaInsightsHit);\n\n if (\n !isEqual(\n previousItems.current.map((x) => x.objectID),\n items.map((x) => x.objectID)\n )\n ) {\n previousItems.current = items;\n\n if (items.length > 0) {\n sendViewedObjectIDs({ onItemsChange, items, insights, state });\n }\n }\n }, 0);\n\n return {\n name: 'aa.algoliaInsightsPlugin',\n subscribe({ setContext, onSelect, onActive }) {\n function setInsightsContext(userToken?: string | number) {\n setContext({\n algoliaInsightsPlugin: {\n __algoliaSearchParameters: {\n ...(__autocomplete_clickAnalytics\n ? { clickAnalytics: true }\n : {}),\n ...(userToken\n ? { userToken: normalizeUserToken(userToken) }\n : {}),\n },\n insights,\n },\n });\n }\n\n insightsClient('addAlgoliaAgent', 'insights-plugin');\n\n setInsightsContext();\n insightsClient('onUserTokenChange', setInsightsContext);\n insightsClient('getUserToken', null, (_error, userToken) => {\n setInsightsContext(userToken);\n });\n\n onSelect(({ item, state, event, source }) => {\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({\n item,\n items: (source as AutocompleteReshapeSource<any>)\n .getItems()\n .filter(isAlgoliaInsightsHit),\n }),\n },\n ],\n });\n });\n\n onActive(({ item, source, 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({\n item,\n items: (source as AutocompleteReshapeSource<any>)\n .getItems()\n .filter(isAlgoliaInsightsHit),\n }),\n },\n ],\n });\n });\n },\n onStateChange({ state }) {\n debouncedOnStateChange({ state: state as AutocompleteState<any> });\n },\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getAlgoliaSources(\n algoliaSourceBase: string[] = [],\n context: AutocompleteContext\n) {\n return [\n ...algoliaSourceBase,\n 'autocomplete-internal',\n ...((context.algoliaInsightsPlugin as Record<string, unknown>)\n ?.__automaticInsights\n ? ['autocomplete-automatic']\n : []),\n ];\n}\n\nfunction getOptions(options: CreateAlgoliaInsightsPluginParams) {\n return {\n onItemsChange({ insights, insightsEvents, state }: OnItemsChangeParams) {\n insights.viewedObjectIDs(\n ...insightsEvents.map((event) => ({\n ...event,\n algoliaSource: getAlgoliaSources(event.algoliaSource, state.context),\n }))\n );\n },\n onSelect({ insights, insightsEvents, state }: OnSelectParams) {\n insights.clickedObjectIDsAfterSearch(\n ...insightsEvents.map((event) => ({\n ...event,\n algoliaSource: getAlgoliaSources(event.algoliaSource, state.context),\n }))\n );\n },\n onActive: noop,\n __autocomplete_clickAnalytics: true,\n ...options,\n };\n}\n\nfunction loadInsights(environment: typeof window) {\n const errorMessage = `[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete`;\n\n try {\n const script = environment.document.createElement('script');\n script.async = true;\n script.src = ALGOLIA_INSIGHTS_SRC;\n\n script.onerror = () => {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n };\n\n document.body.appendChild(script);\n } catch (cause) {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n }\n}\n\n/**\n * While `search-insights` supports both string and number user tokens,\n * the Search API only accepts strings. This function normalizes the user token.\n */\nfunction normalizeUserToken(userToken: string | number): string {\n return typeof userToken === 'number' ? userToken.toString() : userToken;\n}\n"],"names":["createRef","initialValue","current","debounce","fn","time","timerId","undefined","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply","isPrimitive","obj","Object","isEqual","first","second","keys","_i","_Object$keys","key","noop","safelyRunOnBrowser","callback","window","createClickedEvent","_ref","item","_ref$items","items","index","__autocomplete_indexName","positions","findIndex","x","objectID","queryID","__autocomplete_queryID","algoliaSource","isModernInsightsClient","client","_split$map","version","split","map","Number","_split$map2","_slicedToArray","major","minor","v3","v2_4","v1_10","chunk","chunkSize","chunks","i","objectIDs","push","_objectSpread","slice","mapToInsightsParamsApi","params","param","_objectWithoutProperties","_excluded","_ref2","createSearchInsightsApi","searchInsights","canSendHeaders","sendToInsights","method","payloads","_items$0$__autocomple","__autocomplete_algoliaCredentials","appId","apiKey","headers","concat","_toConsumableArray","init","setUserToken","userToken","clickedObjectIDsAfterSearch","clickedObjectIDs","_len2","_key2","clickedFilters","_len3","_key3","convertedObjectIDsAfterSearch","_len4","_key4","convertedObjectIDs","_len5","_key5","convertedFilters","_len6","_key6","viewedObjectIDs","_len7","_key7","reduce","acc","_ref3","_excluded2","_ref4","payload","forEach","_ref5","viewedFilters","_len8","_key8","createViewedEvents","itemsByIndexName","_acc$current$__autoco","indexName","isAlgoliaInsightsHit","hit","VIEW_EVENT_DELAY","ALGOLIA_INSIGHTS_VERSION","ALGOLIA_INSIGHTS_SRC","sendViewedObjectIDs","onItemsChange","insights","state","insightsEvents","event","eventName","createAlgoliaInsightsPlugin","options","_getOptions","getOptions","providedInsightsClient","insightsClient","insightsInitParams","onSelectEvent","onSelect","onActiveEvent","onActive","__autocomplete_clickAnalytics","pointer","AlgoliaAnalyticsObject","queue","loadInsights","partial","previousItems","debouncedOnStateChange","isOpen","collections","filter","name","subscribe","setContext","setInsightsContext","algoliaInsightsPlugin","__algoliaSearchParameters","clickAnalytics","normalizeUserToken","_error","source","getItems","_ref6","onStateChange","_ref7","__autocomplete_pluginOptions","getAlgoliaSources","_context$algoliaInsig","algoliaSourceBase","context","__automaticInsights","_ref8","_ref9","environment","errorMessage","script","document","createElement","async","src","onerror","console","error","body","appendChild","cause","toString"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.development.js","sources":["../../../autocomplete-shared/dist/esm/createRef.js","../../../autocomplete-shared/dist/esm/debounce.js","../../../autocomplete-shared/dist/esm/isEqual.js","../../../autocomplete-shared/dist/esm/noop.js","../../../autocomplete-shared/dist/esm/safelyRunOnBrowser.js","../../src/createClickedEvent.ts","../../src/isModernInsightsClient.ts","../../src/createSearchInsightsApi.ts","../../src/createViewedEvents.ts","../../src/isAlgoliaInsightsHit.ts","../../src/createAlgoliaInsightsPlugin.ts"],"sourcesContent":["export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}","export function debounce(fn, time) {\n var timerId = undefined;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (timerId) {\n clearTimeout(timerId);\n }\n timerId = setTimeout(function () {\n return fn.apply(void 0, args);\n }, time);\n };\n}","function isPrimitive(obj) {\n return obj !== Object(obj);\n}\nexport function isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (isPrimitive(first) || isPrimitive(second) || typeof first === 'function' || typeof second === 'function') {\n return first === second;\n }\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n for (var _i = 0, _Object$keys = Object.keys(first); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n if (!(key in second)) {\n return false;\n }\n if (!isEqual(first[key], second[key])) {\n return false;\n }\n }\n return true;\n}","export var noop = function noop() {};","/**\n * Safely runs code meant for browser environments only.\n */\nexport function safelyRunOnBrowser(callback) {\n if (typeof window !== 'undefined') {\n return callback({\n window: window\n });\n }\n return undefined;\n}","import type {\n AlgoliaInsightsHit,\n ClickedObjectIDsAfterSearchParams,\n InsightsParamsWithItems,\n} from './types';\n\ntype CreateClickedEventParams = {\n item: AlgoliaInsightsHit;\n items: AlgoliaInsightsHit[];\n};\n\nexport function createClickedEvent({\n item,\n items = [],\n}: CreateClickedEventParams): Omit<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>,\n 'eventName'\n> & { algoliaSource?: string[] } {\n return {\n index: item.__autocomplete_indexName,\n items: [item],\n positions: [1 + items.findIndex((x) => x.objectID === item.objectID)],\n queryID: item.__autocomplete_queryID,\n algoliaSource: ['autocomplete'],\n };\n}\n","import type { InsightsClient } from './types';\n\n/**\n * Determines if a given insights `client` supports the optional call to `init`\n * and the ability to set credentials via extra parameters when sending events.\n */\nexport function isModernInsightsClient(client: InsightsClient): boolean {\n const [major, minor] = (client.version || '').split('.').map(Number);\n\n /* eslint-disable @typescript-eslint/camelcase */\n const v3 = major >= 3;\n const v2_4 = major === 2 && minor >= 4;\n const v1_10 = major === 1 && minor >= 10;\n\n return v3 || v2_4 || v1_10;\n /* eslint-enable @typescript-eslint/camelcase */\n}\n","import type { InsightsMethodMap } from 'search-insights';\n\nimport { isModernInsightsClient } from './isModernInsightsClient';\nimport {\n AlgoliaInsightsHit,\n ClickedFiltersParams,\n ClickedObjectIDsAfterSearchParams,\n ClickedObjectIDsParams,\n ConvertedFiltersParams,\n ConvertedObjectIDsAfterSearchParams,\n ConvertedObjectIDsParams,\n InsightsClient,\n InsightsClientMethod,\n WithArbitraryParams,\n InsightsParamsWithItems,\n ViewedFiltersParams,\n ViewedObjectIDsParams,\n} from './types';\n\nfunction chunk<TItem extends { objectIDs: string[] }>(\n item: TItem,\n chunkSize: number = 20\n): TItem[] {\n const chunks: TItem[] = [];\n for (let i = 0; i < item.objectIDs.length; i += chunkSize) {\n chunks.push({\n ...item,\n objectIDs: item.objectIDs.slice(i, i + chunkSize),\n });\n }\n return chunks;\n}\n\nfunction mapToInsightsParamsApi<\n TInsightsParamsType extends {\n items: AlgoliaInsightsHit[];\n objectIDs?: string[];\n }\n>(params: TInsightsParamsType[]) {\n return params.map(({ items, ...param }) => ({\n ...param,\n objectIDs: items?.map(({ objectID }) => objectID) || param.objectIDs,\n }));\n}\n\nexport function createSearchInsightsApi(searchInsights: InsightsClient) {\n const canSendHeaders = isModernInsightsClient(searchInsights);\n\n function sendToInsights<TInsightsMethod extends InsightsClientMethod>(\n method: InsightsClientMethod,\n payloads: InsightsMethodMap[TInsightsMethod],\n items?: AlgoliaInsightsHit[]\n ) {\n if (canSendHeaders && typeof items !== 'undefined') {\n const { appId, apiKey } = items[0].__autocomplete_algoliaCredentials;\n const headers = {\n 'X-Algolia-Application-Id': appId,\n 'X-Algolia-API-Key': apiKey,\n };\n\n searchInsights(method, ...payloads, { headers });\n } else {\n searchInsights(method, ...payloads);\n }\n }\n\n return {\n /**\n * Initializes Insights with Algolia credentials.\n */\n init(appId: string, apiKey: string) {\n searchInsights('init', { appId, apiKey });\n },\n /**\n * Sets the authenticated user token to attach to events.\n * Unsets the authenticated token by passing `undefined`.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/set-authenticated-user-token/\n */\n setAuthenticatedUserToken(authenticatedUserToken: string | undefined) {\n searchInsights('setAuthenticatedUserToken', authenticatedUserToken);\n },\n /**\n * Sets the user token to attach to events.\n */\n setUserToken(userToken: string) {\n searchInsights('setUserToken', userToken);\n },\n /**\n * Sends click events to capture a query and its clicked items and positions.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids-after-search/\n */\n clickedObjectIDsAfterSearch(\n ...params: Array<\n WithArbitraryParams<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>\n >\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'clickedObjectIDsAfterSearch',\n mapToInsightsParamsApi<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>\n >(params),\n params[0].items\n );\n }\n },\n /**\n * Sends click events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids/\n */\n clickedObjectIDs(\n ...params: Array<\n WithArbitraryParams<InsightsParamsWithItems<ClickedObjectIDsParams>>\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'clickedObjectIDs',\n mapToInsightsParamsApi<\n InsightsParamsWithItems<ClickedObjectIDsParams>\n >(params),\n params[0].items\n );\n }\n },\n /**\n * Sends click events to capture the filters a user clicks on.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-filters/\n */\n clickedFilters(\n ...params: Array<WithArbitraryParams<ClickedFiltersParams>>\n ) {\n if (params.length > 0) {\n searchInsights('clickedFilters', ...params);\n }\n },\n /**\n * Sends conversion events to capture a query and its clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids-after-search/\n */\n convertedObjectIDsAfterSearch(\n ...params: Array<\n WithArbitraryParams<\n InsightsParamsWithItems<ConvertedObjectIDsAfterSearchParams>\n >\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'convertedObjectIDsAfterSearch',\n mapToInsightsParamsApi<\n InsightsParamsWithItems<ConvertedObjectIDsAfterSearchParams>\n >(params),\n params[0].items\n );\n }\n },\n /**\n * Sends conversion events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids/\n */\n convertedObjectIDs(\n ...params: Array<\n WithArbitraryParams<InsightsParamsWithItems<ConvertedObjectIDsParams>>\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'convertedObjectIDs',\n mapToInsightsParamsApi<\n InsightsParamsWithItems<ConvertedObjectIDsParams>\n >(params),\n params[0].items\n );\n }\n },\n /**\n * Sends conversion events to capture the filters a user uses when converting.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-filters/\n */\n convertedFilters(\n ...params: Array<WithArbitraryParams<ConvertedFiltersParams>>\n ) {\n if (params.length > 0) {\n searchInsights('convertedFilters', ...params);\n }\n },\n /**\n * Sends view events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-object-ids/\n */\n viewedObjectIDs(\n ...params: Array<\n WithArbitraryParams<InsightsParamsWithItems<ViewedObjectIDsParams>>\n >\n ) {\n if (params.length > 0) {\n params\n .reduce<\n Array<{\n items?: AlgoliaInsightsHit[];\n payload: ViewedObjectIDsParams;\n }>\n >(\n (acc, { items, ...param }) => [\n ...acc,\n ...chunk<ViewedObjectIDsParams>({\n ...param,\n objectIDs:\n items?.map(({ objectID }) => objectID) || param.objectIDs,\n }).map((payload) => {\n return { items, payload };\n }),\n ],\n []\n )\n .forEach(({ items, payload }) =>\n sendToInsights('viewedObjectIDs', [payload], items)\n );\n }\n },\n /**\n * Sends view events to capture the filters a user uses when viewing.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-filters/\n */\n viewedFilters(...params: Array<WithArbitraryParams<ViewedFiltersParams>>) {\n if (params.length > 0) {\n searchInsights('viewedFilters', ...params);\n }\n },\n };\n}\n","import {\n AlgoliaInsightsHit,\n InsightsParamsWithItems,\n ViewedObjectIDsParams,\n} from './types';\n\ntype CreateViewedEventsParams = {\n items: AlgoliaInsightsHit[];\n};\n\nexport function createViewedEvents({\n items,\n}: CreateViewedEventsParams): Array<\n Omit<InsightsParamsWithItems<ViewedObjectIDsParams>, 'eventName'>\n> {\n const itemsByIndexName = items.reduce<Record<string, AlgoliaInsightsHit[]>>(\n (acc, current) => {\n acc[current.__autocomplete_indexName] = (\n acc[current.__autocomplete_indexName] ?? []\n ).concat(current);\n\n return acc;\n },\n {}\n );\n\n return Object.keys(itemsByIndexName).map((indexName) => {\n const items = itemsByIndexName[indexName];\n\n return {\n index: indexName,\n items,\n algoliaSource: ['autocomplete'],\n };\n });\n}\n","import { AlgoliaInsightsHit } from './types';\n\nexport function isAlgoliaInsightsHit(hit: any): hit is AlgoliaInsightsHit {\n return (\n hit.objectID && hit.__autocomplete_indexName && hit.__autocomplete_queryID\n );\n}\n","import {\n AutocompleteState,\n AutocompletePlugin,\n createRef,\n debounce,\n isEqual,\n noop,\n safelyRunOnBrowser,\n} from '@algolia/autocomplete-shared';\nimport {\n AutocompleteContext,\n AutocompleteReshapeSource,\n} from '@algolia/autocomplete-shared/dist/esm/core';\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 InsightsEvent,\n InsightsMethodMap,\n OnActiveParams,\n OnItemsChangeParams,\n OnSelectParams,\n} from './types';\n\nconst VIEW_EVENT_DELAY = 400;\nconst ALGOLIA_INSIGHTS_VERSION = '2.13.0';\nconst ALGOLIA_INSIGHTS_SRC = `https://cdn.jsdelivr.net/npm/search-insights@${ALGOLIA_INSIGHTS_VERSION}/dist/search-insights.min.js`;\n\ntype SendViewedObjectIDsParams = {\n onItemsChange(params: OnItemsChangeParams): void;\n items: AlgoliaInsightsHit[];\n insights: AutocompleteInsightsApi;\n state: AutocompleteState<any>;\n};\n\nconst sendViewedObjectIDs = debounce<SendViewedObjectIDsParams>(\n ({ onItemsChange, items, insights, state }) => {\n onItemsChange({\n insights,\n insightsEvents: createViewedEvents({ items }).map((event) => ({\n eventName: 'Items Viewed',\n ...event,\n })),\n state,\n });\n },\n VIEW_EVENT_DELAY\n);\n\nexport type CreateAlgoliaInsightsPluginParams = {\n /**\n * The initialized Search Insights client.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-insightsclient\n */\n insightsClient?: InsightsClient;\n /**\n * Insights parameters to forward to the Insights client’s init method.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-insightsinitparams\n */\n insightsInitParams?: Partial<InsightsMethodMap['init'][0]>;\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 * @internal\n */\n __autocomplete_clickAnalytics?: boolean;\n};\n\nexport function createAlgoliaInsightsPlugin(\n options: CreateAlgoliaInsightsPluginParams\n): AutocompletePlugin<any, undefined> {\n const {\n insightsClient: providedInsightsClient,\n insightsInitParams,\n onItemsChange,\n onSelect: onSelectEvent,\n onActive: onActiveEvent,\n __autocomplete_clickAnalytics,\n } = getOptions(options);\n let insightsClient = providedInsightsClient as InsightsClient;\n\n if (!providedInsightsClient) {\n safelyRunOnBrowser(({ window }) => {\n const pointer = window.AlgoliaAnalyticsObject || 'aa';\n\n if (typeof pointer === 'string') {\n insightsClient = window[pointer];\n }\n\n if (!insightsClient) {\n window.AlgoliaAnalyticsObject = pointer;\n\n if (!window[pointer]) {\n window[pointer] = (...args: any[]) => {\n if (!window[pointer].queue) {\n window[pointer].queue = [];\n }\n\n window[pointer].queue.push(args);\n };\n }\n\n window[pointer].version = ALGOLIA_INSIGHTS_VERSION;\n\n insightsClient = window[pointer];\n\n loadInsights(window);\n }\n });\n }\n\n // We return an empty plugin if `insightsClient` is still undefined at\n // this stage, which can happen in server environments.\n if (!insightsClient) {\n return {};\n }\n\n if (insightsInitParams) {\n insightsClient('init', { partial: true, ...insightsInitParams });\n }\n\n const insights = createSearchInsightsApi(insightsClient);\n const previousItems = createRef<AlgoliaInsightsHit[]>([]);\n\n const debouncedOnStateChange = debounce<{\n state: AutocompleteState<any>;\n }>(({ state }) => {\n if (!state.isOpen) {\n return;\n }\n\n const items = state.collections\n .reduce<unknown[]>((acc, current) => {\n return [...acc, ...current.items];\n }, [])\n .filter(isAlgoliaInsightsHit);\n\n if (\n !isEqual(\n previousItems.current.map((x) => x.objectID),\n items.map((x) => x.objectID)\n )\n ) {\n previousItems.current = items;\n\n if (items.length > 0) {\n sendViewedObjectIDs({ onItemsChange, items, insights, state });\n }\n }\n }, 0);\n\n return {\n name: 'aa.algoliaInsightsPlugin',\n subscribe({ setContext, onSelect, onActive }) {\n let isAuthenticatedToken = false;\n function setInsightsContext(userToken?: InsightsEvent['userToken']) {\n setContext({\n algoliaInsightsPlugin: {\n __algoliaSearchParameters: {\n ...(__autocomplete_clickAnalytics\n ? { clickAnalytics: true }\n : {}),\n ...(userToken\n ? { userToken: normalizeUserToken(userToken) }\n : {}),\n },\n insights,\n },\n });\n }\n\n insightsClient('addAlgoliaAgent', 'insights-plugin');\n\n setInsightsContext();\n\n // Handles user token changes\n insightsClient('onUserTokenChange', (userToken) => {\n if (!isAuthenticatedToken) {\n setInsightsContext(userToken);\n }\n });\n insightsClient('getUserToken', null, (_error, userToken) => {\n if (!isAuthenticatedToken) {\n setInsightsContext(userToken);\n }\n });\n\n // Handles authenticated user token changes\n insightsClient(\n 'onAuthenticatedUserTokenChange',\n (authenticatedUserToken) => {\n if (authenticatedUserToken) {\n isAuthenticatedToken = true;\n setInsightsContext(authenticatedUserToken);\n } else {\n isAuthenticatedToken = false;\n insightsClient('getUserToken', null, (_error, userToken) =>\n setInsightsContext(userToken)\n );\n }\n }\n );\n insightsClient(\n 'getAuthenticatedUserToken',\n null,\n (_error, authenticatedUserToken) => {\n if (authenticatedUserToken) {\n isAuthenticatedToken = true;\n setInsightsContext(authenticatedUserToken);\n }\n }\n );\n\n onSelect(({ item, state, event, source }) => {\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({\n item,\n items: (source as AutocompleteReshapeSource<any>)\n .getItems()\n .filter(isAlgoliaInsightsHit),\n }),\n },\n ],\n });\n });\n\n onActive(({ item, source, 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({\n item,\n items: (source as AutocompleteReshapeSource<any>)\n .getItems()\n .filter(isAlgoliaInsightsHit),\n }),\n },\n ],\n });\n });\n },\n onStateChange({ state }) {\n debouncedOnStateChange({ state: state as AutocompleteState<any> });\n },\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getAlgoliaSources(\n algoliaSourceBase: string[] = [],\n context: AutocompleteContext\n) {\n return [\n ...algoliaSourceBase,\n 'autocomplete-internal',\n ...((context.algoliaInsightsPlugin as Record<string, unknown>)\n ?.__automaticInsights\n ? ['autocomplete-automatic']\n : []),\n ];\n}\n\nfunction getOptions(options: CreateAlgoliaInsightsPluginParams) {\n return {\n onItemsChange({ insights, insightsEvents, state }: OnItemsChangeParams) {\n insights.viewedObjectIDs(\n ...insightsEvents.map((event) => ({\n ...event,\n algoliaSource: getAlgoliaSources(event.algoliaSource, state.context),\n }))\n );\n },\n onSelect({ insights, insightsEvents, state }: OnSelectParams) {\n insights.clickedObjectIDsAfterSearch(\n ...insightsEvents.map((event) => ({\n ...event,\n algoliaSource: getAlgoliaSources(event.algoliaSource, state.context),\n }))\n );\n },\n onActive: noop,\n __autocomplete_clickAnalytics: true,\n ...options,\n };\n}\n\nfunction loadInsights(environment: typeof window) {\n const errorMessage = `[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete`;\n\n try {\n const script = environment.document.createElement('script');\n script.async = true;\n script.src = ALGOLIA_INSIGHTS_SRC;\n\n script.onerror = () => {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n };\n\n document.body.appendChild(script);\n } catch (cause) {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n }\n}\n\n/**\n * While `search-insights` supports both string and number user tokens,\n * the Search API only accepts strings. This function normalizes the user token.\n */\nfunction normalizeUserToken(\n userToken: NonNullable<InsightsEvent['userToken']>\n): string {\n return typeof userToken === 'number' ? userToken.toString() : userToken;\n}\n"],"names":["createRef","initialValue","current","debounce","fn","time","timerId","undefined","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply","isPrimitive","obj","Object","isEqual","first","second","keys","_i","_Object$keys","key","noop","safelyRunOnBrowser","callback","window","createClickedEvent","_ref","item","_ref$items","items","index","__autocomplete_indexName","positions","findIndex","x","objectID","queryID","__autocomplete_queryID","algoliaSource","isModernInsightsClient","client","_split$map","version","split","map","Number","_split$map2","_slicedToArray","major","minor","v3","v2_4","v1_10","chunk","chunkSize","chunks","i","objectIDs","push","_objectSpread","slice","mapToInsightsParamsApi","params","param","_objectWithoutProperties","_excluded","_ref2","createSearchInsightsApi","searchInsights","canSendHeaders","sendToInsights","method","payloads","_items$0$__autocomple","__autocomplete_algoliaCredentials","appId","apiKey","headers","concat","_toConsumableArray","init","setAuthenticatedUserToken","authenticatedUserToken","setUserToken","userToken","clickedObjectIDsAfterSearch","clickedObjectIDs","_len2","_key2","clickedFilters","_len3","_key3","convertedObjectIDsAfterSearch","_len4","_key4","convertedObjectIDs","_len5","_key5","convertedFilters","_len6","_key6","viewedObjectIDs","_len7","_key7","reduce","acc","_ref3","_excluded2","_ref4","payload","forEach","_ref5","viewedFilters","_len8","_key8","createViewedEvents","itemsByIndexName","_acc$current$__autoco","indexName","isAlgoliaInsightsHit","hit","VIEW_EVENT_DELAY","ALGOLIA_INSIGHTS_VERSION","ALGOLIA_INSIGHTS_SRC","sendViewedObjectIDs","onItemsChange","insights","state","insightsEvents","event","eventName","createAlgoliaInsightsPlugin","options","_getOptions","getOptions","providedInsightsClient","insightsClient","insightsInitParams","onSelectEvent","onSelect","onActiveEvent","onActive","__autocomplete_clickAnalytics","pointer","AlgoliaAnalyticsObject","queue","loadInsights","partial","previousItems","debouncedOnStateChange","isOpen","collections","filter","name","subscribe","setContext","isAuthenticatedToken","setInsightsContext","algoliaInsightsPlugin","__algoliaSearchParameters","clickAnalytics","normalizeUserToken","_error","source","getItems","_ref6","onStateChange","_ref7","__autocomplete_pluginOptions","getAlgoliaSources","_context$algoliaInsig","algoliaSourceBase","context","__automaticInsights","_ref8","_ref9","environment","errorMessage","script","document","createElement","async","src","onerror","console","error","body","appendChild","cause","toString"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/*! @algolia/autocomplete-plugin-algolia-insights 1.
|
|
2
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/autocomplete-plugin-algolia-insights"]={})}(this,(function(e){"use strict";function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function n(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?t(Object(i),!0).forEach((function(t){r(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function r(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,c,a=[],u=!0,l=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){l=!0,i=e}finally{try{if(!u&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(l)throw i}}return a}}(e,t)||a(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||a(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){if(e){if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function l(e,t){var n=void 0;return function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];n&&clearTimeout(n),n=setTimeout((function(){return e.apply(void 0,i)}),t)}}function s(e){return e!==Object(e)}function f(e,t){if(e===t)return!0;if(s(e)||s(t)||"function"==typeof e||"function"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n=0,r=Object.keys(e);n<r.length;n++){var i=r[n];if(!(i in t))return!1;if(!f(e[i],t[i]))return!1}return!0}var p=function(){};function m(e){var t=e.item,n=e.items,r=void 0===n?[]:n;return{index:t.__autocomplete_indexName,items:[t],positions:[1+r.findIndex((function(e){return e.objectID===t.objectID}))],queryID:t.__autocomplete_queryID,algoliaSource:["autocomplete"]}}var g=["items"],v=["items"];function d(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,r=[],i=0;i<e.objectIDs.length;i+=t)r.push(n(n({},e),{},{objectIDs:e.objectIDs.slice(i,i+t)}));return r}function y(e){return e.map((function(e){var t=e.items,r=i(e,g);return n(n({},r),{},{objectIDs:(null==t?void 0:t.map((function(e){return e.objectID})))||r.objectIDs})}))}function h(e){var t,r,a,u=(t=o((e.version||"").split(".").map(Number),2),r=t[0],a=t[1],r>=3||2===r&&a>=4||1===r&&a>=10);function l(t,n,r){if(u&&void 0!==r){var i=r[0].__autocomplete_algoliaCredentials,o={"X-Algolia-Application-Id":i.appId,"X-Algolia-API-Key":i.apiKey};e.apply(void 0,[t].concat(c(n),[{headers:o}]))}else e.apply(void 0,[t].concat(c(n)))}return{init:function(t,n){e("init",{appId:t,apiKey:n})},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&l("clickedObjectIDsAfterSearch",y(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&l("clickedObjectIDs",y(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["clickedFilters"].concat(n))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&l("convertedObjectIDsAfterSearch",y(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&l("convertedObjectIDs",y(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["convertedFilters"].concat(n))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&t.reduce((function(e,t){var r=t.items,o=i(t,v);return[].concat(c(e),c(d(n(n({},o),{},{objectIDs:(null==r?void 0:r.map((function(e){return e.objectID})))||o.objectIDs})).map((function(e){return{items:r,payload:e}}))))}),[]).forEach((function(e){var t=e.items;return l("viewedObjectIDs",[e.payload],t)}))},viewedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["viewedFilters"].concat(n))}}}function b(e){var t=e.items.reduce((function(e,t){var n;return e[t.__autocomplete_indexName]=(null!==(n=e[t.__autocomplete_indexName])&&void 0!==n?n:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function j(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}var I="2.13.0",O="https://cdn.jsdelivr.net/npm/search-insights@".concat(I,"/dist/search-insights.min.js"),A=l((function(e){var t=e.onItemsChange,r=e.items,i=e.insights,o=e.state;t({insights:i,insightsEvents:b({items:r}).map((function(e){return n({eventName:"Items Viewed"},e)})),state:o})}),400);function w(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0;return[].concat(c(t),["autocomplete-internal"],c(null!==(e=n.algoliaInsightsPlugin)&&void 0!==e&&e.__automaticInsights?["autocomplete-automatic"]:[]))}function _(e){return"number"==typeof e?e.toString():e}e.createAlgoliaInsightsPlugin=function(e){var t=function(e){return n({onItemsChange:function(e){var t=e.insights,r=e.insightsEvents,i=e.state;t.viewedObjectIDs.apply(t,c(r.map((function(e){return n(n({},e),{},{algoliaSource:w(e.algoliaSource,i.context)})}))))},onSelect:function(e){var t=e.insights,r=e.insightsEvents,i=e.state;t.clickedObjectIDsAfterSearch.apply(t,c(r.map((function(e){return n(n({},e),{},{algoliaSource:w(e.algoliaSource,i.context)})}))))},onActive:p,__autocomplete_clickAnalytics:!0},e)}(e),r=t.insightsClient,i=t.insightsInitParams,o=t.onItemsChange,a=t.onSelect,u=t.onActive,s=t.__autocomplete_clickAnalytics,g=r;if(r||function(e){if("undefined"!=typeof window)e({window:window})}((function(e){var t=e.window,n=t.AlgoliaAnalyticsObject||"aa";"string"==typeof n&&(g=t[n]),g||(t.AlgoliaAnalyticsObject=n,t[n]||(t[n]=function(){t[n].queue||(t[n].queue=[]);for(var e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];t[n].queue.push(r)}),t[n].version=I,g=t[n],function(e){var t="[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete";try{var n=e.document.createElement("script");n.async=!0,n.src=O,n.onerror=function(){console.error(t)},document.body.appendChild(n)}catch(e){console.error(t)}}(t))})),!g)return{};i&&g("init",n({partial:!0},i));var v=h(g),d={current:[]},y=l((function(e){var t=e.state;if(t.isOpen){var n=t.collections.reduce((function(e,t){return[].concat(c(e),c(t.items))}),[]).filter(j);f(d.current.map((function(e){return e.objectID})),n.map((function(e){return e.objectID})))||(d.current=n,n.length>0&&A({onItemsChange:o,items:n,insights:v,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,r=e.onSelect,i=e.onActive;function o(e){t({algoliaInsightsPlugin:{__algoliaSearchParameters:n(n({},s?{clickAnalytics:!0}:{}),e?{userToken:_(e)}:{}),insights:v}})}g("addAlgoliaAgent","insights-plugin"),o(),g("onUserTokenChange",o),g("getUserToken",null,(function(e,t){o(t)})),r((function(e){var t=e.item,r=e.state,i=e.event,o=e.source;j(t)&&a({state:r,event:i,insights:v,item:t,insightsEvents:[n({eventName:"Item Selected"},m({item:t,items:o.getItems().filter(j)}))]})})),i((function(e){var t=e.item,r=e.source,i=e.state,o=e.event;j(t)&&u({state:i,event:o,insights:v,item:t,insightsEvents:[n({eventName:"Item Active"},m({item:t,items:r.getItems().filter(j)}))]})}))},onStateChange:function(e){var t=e.state;y({state:t})},__autocomplete_pluginOptions:e}},Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
/*! @algolia/autocomplete-plugin-algolia-insights 1.15.1 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/autocomplete-plugin-algolia-insights"]={})}(this,(function(e){"use strict";function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function n(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?t(Object(i),!0).forEach((function(t){r(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function r(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,c,a=[],u=!0,l=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){l=!0,i=e}finally{try{if(!u&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(l)throw i}}return a}}(e,t)||a(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||a(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){if(e){if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function l(e,t){var n=void 0;return function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];n&&clearTimeout(n),n=setTimeout((function(){return e.apply(void 0,i)}),t)}}function s(e){return e!==Object(e)}function f(e,t){if(e===t)return!0;if(s(e)||s(t)||"function"==typeof e||"function"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n=0,r=Object.keys(e);n<r.length;n++){var i=r[n];if(!(i in t))return!1;if(!f(e[i],t[i]))return!1}return!0}var p=function(){};function g(e){var t=e.item,n=e.items,r=void 0===n?[]:n;return{index:t.__autocomplete_indexName,items:[t],positions:[1+r.findIndex((function(e){return e.objectID===t.objectID}))],queryID:t.__autocomplete_queryID,algoliaSource:["autocomplete"]}}var m=["items"],v=["items"];function d(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20,r=[],i=0;i<e.objectIDs.length;i+=t)r.push(n(n({},e),{},{objectIDs:e.objectIDs.slice(i,i+t)}));return r}function h(e){return e.map((function(e){var t=e.items,r=i(e,m);return n(n({},r),{},{objectIDs:(null==t?void 0:t.map((function(e){return e.objectID})))||r.objectIDs})}))}function y(e){var t,r,a,u=(t=o((e.version||"").split(".").map(Number),2),r=t[0],a=t[1],r>=3||2===r&&a>=4||1===r&&a>=10);function l(t,n,r){if(u&&void 0!==r){var i=r[0].__autocomplete_algoliaCredentials,o={"X-Algolia-Application-Id":i.appId,"X-Algolia-API-Key":i.apiKey};e.apply(void 0,[t].concat(c(n),[{headers:o}]))}else e.apply(void 0,[t].concat(c(n)))}return{init:function(t,n){e("init",{appId:t,apiKey:n})},setAuthenticatedUserToken:function(t){e("setAuthenticatedUserToken",t)},setUserToken:function(t){e("setUserToken",t)},clickedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&l("clickedObjectIDsAfterSearch",h(t),t[0].items)},clickedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&l("clickedObjectIDs",h(t),t[0].items)},clickedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["clickedFilters"].concat(n))},convertedObjectIDsAfterSearch:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&l("convertedObjectIDsAfterSearch",h(t),t[0].items)},convertedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];t.length>0&&l("convertedObjectIDs",h(t),t[0].items)},convertedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["convertedFilters"].concat(n))},viewedObjectIDs:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];t.length>0&&t.reduce((function(e,t){var r=t.items,o=i(t,v);return[].concat(c(e),c(d(n(n({},o),{},{objectIDs:(null==r?void 0:r.map((function(e){return e.objectID})))||o.objectIDs})).map((function(e){return{items:r,payload:e}}))))}),[]).forEach((function(e){var t=e.items;return l("viewedObjectIDs",[e.payload],t)}))},viewedFilters:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];n.length>0&&e.apply(void 0,["viewedFilters"].concat(n))}}}function b(e){var t=e.items.reduce((function(e,t){var n;return e[t.__autocomplete_indexName]=(null!==(n=e[t.__autocomplete_indexName])&&void 0!==n?n:[]).concat(t),e}),{});return Object.keys(t).map((function(e){return{index:e,items:t[e],algoliaSource:["autocomplete"]}}))}function j(e){return e.objectID&&e.__autocomplete_indexName&&e.__autocomplete_queryID}var I="2.13.0",O="https://cdn.jsdelivr.net/npm/search-insights@".concat(I,"/dist/search-insights.min.js"),A=l((function(e){var t=e.onItemsChange,r=e.items,i=e.insights,o=e.state;t({insights:i,insightsEvents:b({items:r}).map((function(e){return n({eventName:"Items Viewed"},e)})),state:o})}),400);function w(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],n=arguments.length>1?arguments[1]:void 0;return[].concat(c(t),["autocomplete-internal"],c(null!==(e=n.algoliaInsightsPlugin)&&void 0!==e&&e.__automaticInsights?["autocomplete-automatic"]:[]))}function _(e){return"number"==typeof e?e.toString():e}e.createAlgoliaInsightsPlugin=function(e){var t=function(e){return n({onItemsChange:function(e){var t=e.insights,r=e.insightsEvents,i=e.state;t.viewedObjectIDs.apply(t,c(r.map((function(e){return n(n({},e),{},{algoliaSource:w(e.algoliaSource,i.context)})}))))},onSelect:function(e){var t=e.insights,r=e.insightsEvents,i=e.state;t.clickedObjectIDsAfterSearch.apply(t,c(r.map((function(e){return n(n({},e),{},{algoliaSource:w(e.algoliaSource,i.context)})}))))},onActive:p,__autocomplete_clickAnalytics:!0},e)}(e),r=t.insightsClient,i=t.insightsInitParams,o=t.onItemsChange,a=t.onSelect,u=t.onActive,s=t.__autocomplete_clickAnalytics,m=r;if(r||function(e){if("undefined"!=typeof window)e({window:window})}((function(e){var t=e.window,n=t.AlgoliaAnalyticsObject||"aa";"string"==typeof n&&(m=t[n]),m||(t.AlgoliaAnalyticsObject=n,t[n]||(t[n]=function(){t[n].queue||(t[n].queue=[]);for(var e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];t[n].queue.push(r)}),t[n].version=I,m=t[n],function(e){var t="[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete";try{var n=e.document.createElement("script");n.async=!0,n.src=O,n.onerror=function(){console.error(t)},document.body.appendChild(n)}catch(e){console.error(t)}}(t))})),!m)return{};i&&m("init",n({partial:!0},i));var v=y(m),d={current:[]},h=l((function(e){var t=e.state;if(t.isOpen){var n=t.collections.reduce((function(e,t){return[].concat(c(e),c(t.items))}),[]).filter(j);f(d.current.map((function(e){return e.objectID})),n.map((function(e){return e.objectID})))||(d.current=n,n.length>0&&A({onItemsChange:o,items:n,insights:v,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,r=e.onSelect,i=e.onActive,o=!1;function c(e){t({algoliaInsightsPlugin:{__algoliaSearchParameters:n(n({},s?{clickAnalytics:!0}:{}),e?{userToken:_(e)}:{}),insights:v}})}m("addAlgoliaAgent","insights-plugin"),c(),m("onUserTokenChange",(function(e){o||c(e)})),m("getUserToken",null,(function(e,t){o||c(t)})),m("onAuthenticatedUserTokenChange",(function(e){e?(o=!0,c(e)):(o=!1,m("getUserToken",null,(function(e,t){return c(t)})))})),m("getAuthenticatedUserToken",null,(function(e,t){t&&(o=!0,c(t))})),r((function(e){var t=e.item,r=e.state,i=e.event,o=e.source;j(t)&&a({state:r,event:i,insights:v,item:t,insightsEvents:[n({eventName:"Item Selected"},g({item:t,items:o.getItems().filter(j)}))]})})),i((function(e){var t=e.item,r=e.source,i=e.state,o=e.event;j(t)&&u({state:i,event:o,insights:v,item:t,insightsEvents:[n({eventName:"Item Active"},g({item:t,items:r.getItems().filter(j)}))]})}))},onStateChange:function(e){var t=e.state;h({state:t})},__autocomplete_pluginOptions:e}},Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
3
3
|
//# sourceMappingURL=index.production.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.production.js","sources":["../../../autocomplete-shared/dist/esm/debounce.js","../../../autocomplete-shared/dist/esm/isEqual.js","../../../autocomplete-shared/dist/esm/noop.js","../../src/createClickedEvent.ts","../../src/createSearchInsightsApi.ts","../../src/isModernInsightsClient.ts","../../src/createViewedEvents.ts","../../src/isAlgoliaInsightsHit.ts","../../src/createAlgoliaInsightsPlugin.ts","../../../autocomplete-shared/dist/esm/safelyRunOnBrowser.js","../../../autocomplete-shared/dist/esm/createRef.js"],"sourcesContent":["export function debounce(fn, time) {\n var timerId = undefined;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (timerId) {\n clearTimeout(timerId);\n }\n timerId = setTimeout(function () {\n return fn.apply(void 0, args);\n }, time);\n };\n}","function isPrimitive(obj) {\n return obj !== Object(obj);\n}\nexport function isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (isPrimitive(first) || isPrimitive(second) || typeof first === 'function' || typeof second === 'function') {\n return first === second;\n }\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n for (var _i = 0, _Object$keys = Object.keys(first); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n if (!(key in second)) {\n return false;\n }\n if (!isEqual(first[key], second[key])) {\n return false;\n }\n }\n return true;\n}","export var noop = function noop() {};","import type {\n AlgoliaInsightsHit,\n ClickedObjectIDsAfterSearchParams,\n InsightsParamsWithItems,\n} from './types';\n\ntype CreateClickedEventParams = {\n item: AlgoliaInsightsHit;\n items: AlgoliaInsightsHit[];\n};\n\nexport function createClickedEvent({\n item,\n items = [],\n}: CreateClickedEventParams): Omit<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>,\n 'eventName'\n> & { algoliaSource?: string[] } {\n return {\n index: item.__autocomplete_indexName,\n items: [item],\n positions: [1 + items.findIndex((x) => x.objectID === item.objectID)],\n queryID: item.__autocomplete_queryID,\n algoliaSource: ['autocomplete'],\n };\n}\n","import type { InsightsMethodMap } from 'search-insights';\n\nimport { isModernInsightsClient } from './isModernInsightsClient';\nimport {\n AlgoliaInsightsHit,\n ClickedFiltersParams,\n ClickedObjectIDsAfterSearchParams,\n ClickedObjectIDsParams,\n ConvertedFiltersParams,\n ConvertedObjectIDsAfterSearchParams,\n ConvertedObjectIDsParams,\n InsightsClient,\n InsightsClientMethod,\n WithArbitraryParams,\n InsightsParamsWithItems,\n ViewedFiltersParams,\n ViewedObjectIDsParams,\n} from './types';\n\nfunction chunk<TItem extends { objectIDs: string[] }>(\n item: TItem,\n chunkSize: number = 20\n): TItem[] {\n const chunks: TItem[] = [];\n for (let i = 0; i < item.objectIDs.length; i += chunkSize) {\n chunks.push({\n ...item,\n objectIDs: item.objectIDs.slice(i, i + chunkSize),\n });\n }\n return chunks;\n}\n\nfunction mapToInsightsParamsApi<\n TInsightsParamsType extends {\n items: AlgoliaInsightsHit[];\n objectIDs?: string[];\n }\n>(params: TInsightsParamsType[]) {\n return params.map(({ items, ...param }) => ({\n ...param,\n objectIDs: items?.map(({ objectID }) => objectID) || param.objectIDs,\n }));\n}\n\nexport function createSearchInsightsApi(searchInsights: InsightsClient) {\n const canSendHeaders = isModernInsightsClient(searchInsights);\n\n function sendToInsights<TInsightsMethod extends InsightsClientMethod>(\n method: InsightsClientMethod,\n payloads: InsightsMethodMap[TInsightsMethod],\n items?: AlgoliaInsightsHit[]\n ) {\n if (canSendHeaders && typeof items !== 'undefined') {\n const { appId, apiKey } = items[0].__autocomplete_algoliaCredentials;\n const headers = {\n 'X-Algolia-Application-Id': appId,\n 'X-Algolia-API-Key': apiKey,\n };\n\n searchInsights(method, ...payloads, { headers });\n } else {\n searchInsights(method, ...payloads);\n }\n }\n\n return {\n /**\n * Initializes Insights with Algolia credentials.\n */\n init(appId: string, apiKey: string) {\n searchInsights('init', { appId, apiKey });\n },\n /**\n * Sets the user token to attach to events.\n */\n setUserToken(userToken: string) {\n searchInsights('setUserToken', userToken);\n },\n /**\n * Sends click events to capture a query and its clicked items and positions.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids-after-search/\n */\n clickedObjectIDsAfterSearch(\n ...params: Array<\n WithArbitraryParams<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>\n >\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'clickedObjectIDsAfterSearch',\n mapToInsightsParamsApi<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>\n >(params),\n params[0].items\n );\n }\n },\n /**\n * Sends click events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids/\n */\n clickedObjectIDs(\n ...params: Array<\n WithArbitraryParams<InsightsParamsWithItems<ClickedObjectIDsParams>>\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'clickedObjectIDs',\n mapToInsightsParamsApi<\n InsightsParamsWithItems<ClickedObjectIDsParams>\n >(params),\n params[0].items\n );\n }\n },\n /**\n * Sends click events to capture the filters a user clicks on.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-filters/\n */\n clickedFilters(\n ...params: Array<WithArbitraryParams<ClickedFiltersParams>>\n ) {\n if (params.length > 0) {\n searchInsights('clickedFilters', ...params);\n }\n },\n /**\n * Sends conversion events to capture a query and its clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids-after-search/\n */\n convertedObjectIDsAfterSearch(\n ...params: Array<\n WithArbitraryParams<\n InsightsParamsWithItems<ConvertedObjectIDsAfterSearchParams>\n >\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'convertedObjectIDsAfterSearch',\n mapToInsightsParamsApi<\n InsightsParamsWithItems<ConvertedObjectIDsAfterSearchParams>\n >(params),\n params[0].items\n );\n }\n },\n /**\n * Sends conversion events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids/\n */\n convertedObjectIDs(\n ...params: Array<\n WithArbitraryParams<InsightsParamsWithItems<ConvertedObjectIDsParams>>\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'convertedObjectIDs',\n mapToInsightsParamsApi<\n InsightsParamsWithItems<ConvertedObjectIDsParams>\n >(params),\n params[0].items\n );\n }\n },\n /**\n * Sends conversion events to capture the filters a user uses when converting.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-filters/\n */\n convertedFilters(\n ...params: Array<WithArbitraryParams<ConvertedFiltersParams>>\n ) {\n if (params.length > 0) {\n searchInsights('convertedFilters', ...params);\n }\n },\n /**\n * Sends view events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-object-ids/\n */\n viewedObjectIDs(\n ...params: Array<\n WithArbitraryParams<InsightsParamsWithItems<ViewedObjectIDsParams>>\n >\n ) {\n if (params.length > 0) {\n params\n .reduce<\n Array<{\n items?: AlgoliaInsightsHit[];\n payload: ViewedObjectIDsParams;\n }>\n >(\n (acc, { items, ...param }) => [\n ...acc,\n ...chunk<ViewedObjectIDsParams>({\n ...param,\n objectIDs:\n items?.map(({ objectID }) => objectID) || param.objectIDs,\n }).map((payload) => {\n return { items, payload };\n }),\n ],\n []\n )\n .forEach(({ items, payload }) =>\n sendToInsights('viewedObjectIDs', [payload], items)\n );\n }\n },\n /**\n * Sends view events to capture the filters a user uses when viewing.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-filters/\n */\n viewedFilters(...params: Array<WithArbitraryParams<ViewedFiltersParams>>) {\n if (params.length > 0) {\n searchInsights('viewedFilters', ...params);\n }\n },\n };\n}\n","import type { InsightsClient } from './types';\n\n/**\n * Determines if a given insights `client` supports the optional call to `init`\n * and the ability to set credentials via extra parameters when sending events.\n */\nexport function isModernInsightsClient(client: InsightsClient): boolean {\n const [major, minor] = (client.version || '').split('.').map(Number);\n\n /* eslint-disable @typescript-eslint/camelcase */\n const v3 = major >= 3;\n const v2_4 = major === 2 && minor >= 4;\n const v1_10 = major === 1 && minor >= 10;\n\n return v3 || v2_4 || v1_10;\n /* eslint-enable @typescript-eslint/camelcase */\n}\n","import {\n AlgoliaInsightsHit,\n InsightsParamsWithItems,\n ViewedObjectIDsParams,\n} from './types';\n\ntype CreateViewedEventsParams = {\n items: AlgoliaInsightsHit[];\n};\n\nexport function createViewedEvents({\n items,\n}: CreateViewedEventsParams): Array<\n Omit<InsightsParamsWithItems<ViewedObjectIDsParams>, 'eventName'>\n> {\n const itemsByIndexName = items.reduce<Record<string, AlgoliaInsightsHit[]>>(\n (acc, current) => {\n acc[current.__autocomplete_indexName] = (\n acc[current.__autocomplete_indexName] ?? []\n ).concat(current);\n\n return acc;\n },\n {}\n );\n\n return Object.keys(itemsByIndexName).map((indexName) => {\n const items = itemsByIndexName[indexName];\n\n return {\n index: indexName,\n items,\n algoliaSource: ['autocomplete'],\n };\n });\n}\n","import { AlgoliaInsightsHit } from './types';\n\nexport function isAlgoliaInsightsHit(hit: any): hit is AlgoliaInsightsHit {\n return (\n hit.objectID && hit.__autocomplete_indexName && hit.__autocomplete_queryID\n );\n}\n","import {\n AutocompleteState,\n AutocompletePlugin,\n createRef,\n debounce,\n isEqual,\n noop,\n safelyRunOnBrowser,\n} from '@algolia/autocomplete-shared';\nimport {\n AutocompleteContext,\n AutocompleteReshapeSource,\n} from '@algolia/autocomplete-shared/dist/esm/core';\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 InsightsMethodMap,\n OnActiveParams,\n OnItemsChangeParams,\n OnSelectParams,\n} from './types';\n\nconst VIEW_EVENT_DELAY = 400;\nconst ALGOLIA_INSIGHTS_VERSION = '2.13.0';\nconst ALGOLIA_INSIGHTS_SRC = `https://cdn.jsdelivr.net/npm/search-insights@${ALGOLIA_INSIGHTS_VERSION}/dist/search-insights.min.js`;\n\ntype SendViewedObjectIDsParams = {\n onItemsChange(params: OnItemsChangeParams): void;\n items: AlgoliaInsightsHit[];\n insights: AutocompleteInsightsApi;\n state: AutocompleteState<any>;\n};\n\nconst sendViewedObjectIDs = debounce<SendViewedObjectIDsParams>(\n ({ onItemsChange, items, insights, state }) => {\n onItemsChange({\n insights,\n insightsEvents: createViewedEvents({ items }).map((event) => ({\n eventName: 'Items Viewed',\n ...event,\n })),\n state,\n });\n },\n VIEW_EVENT_DELAY\n);\n\nexport type CreateAlgoliaInsightsPluginParams = {\n /**\n * The initialized Search Insights client.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-insightsclient\n */\n insightsClient?: InsightsClient;\n /**\n * Insights parameters to forward to the Insights client’s init method.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-insightsinitparams\n */\n insightsInitParams?: Partial<InsightsMethodMap['init'][0]>;\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 * @internal\n */\n __autocomplete_clickAnalytics?: boolean;\n};\n\nexport function createAlgoliaInsightsPlugin(\n options: CreateAlgoliaInsightsPluginParams\n): AutocompletePlugin<any, undefined> {\n const {\n insightsClient: providedInsightsClient,\n insightsInitParams,\n onItemsChange,\n onSelect: onSelectEvent,\n onActive: onActiveEvent,\n __autocomplete_clickAnalytics,\n } = getOptions(options);\n let insightsClient = providedInsightsClient as InsightsClient;\n\n if (!providedInsightsClient) {\n safelyRunOnBrowser(({ window }) => {\n const pointer = window.AlgoliaAnalyticsObject || 'aa';\n\n if (typeof pointer === 'string') {\n insightsClient = window[pointer];\n }\n\n if (!insightsClient) {\n window.AlgoliaAnalyticsObject = pointer;\n\n if (!window[pointer]) {\n window[pointer] = (...args: any[]) => {\n if (!window[pointer].queue) {\n window[pointer].queue = [];\n }\n\n window[pointer].queue.push(args);\n };\n }\n\n window[pointer].version = ALGOLIA_INSIGHTS_VERSION;\n\n insightsClient = window[pointer];\n\n loadInsights(window);\n }\n });\n }\n\n // We return an empty plugin if `insightsClient` is still undefined at\n // this stage, which can happen in server environments.\n if (!insightsClient) {\n return {};\n }\n\n if (insightsInitParams) {\n insightsClient('init', { partial: true, ...insightsInitParams });\n }\n\n const insights = createSearchInsightsApi(insightsClient);\n const previousItems = createRef<AlgoliaInsightsHit[]>([]);\n\n const debouncedOnStateChange = debounce<{\n state: AutocompleteState<any>;\n }>(({ state }) => {\n if (!state.isOpen) {\n return;\n }\n\n const items = state.collections\n .reduce<unknown[]>((acc, current) => {\n return [...acc, ...current.items];\n }, [])\n .filter(isAlgoliaInsightsHit);\n\n if (\n !isEqual(\n previousItems.current.map((x) => x.objectID),\n items.map((x) => x.objectID)\n )\n ) {\n previousItems.current = items;\n\n if (items.length > 0) {\n sendViewedObjectIDs({ onItemsChange, items, insights, state });\n }\n }\n }, 0);\n\n return {\n name: 'aa.algoliaInsightsPlugin',\n subscribe({ setContext, onSelect, onActive }) {\n function setInsightsContext(userToken?: string | number) {\n setContext({\n algoliaInsightsPlugin: {\n __algoliaSearchParameters: {\n ...(__autocomplete_clickAnalytics\n ? { clickAnalytics: true }\n : {}),\n ...(userToken\n ? { userToken: normalizeUserToken(userToken) }\n : {}),\n },\n insights,\n },\n });\n }\n\n insightsClient('addAlgoliaAgent', 'insights-plugin');\n\n setInsightsContext();\n insightsClient('onUserTokenChange', setInsightsContext);\n insightsClient('getUserToken', null, (_error, userToken) => {\n setInsightsContext(userToken);\n });\n\n onSelect(({ item, state, event, source }) => {\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({\n item,\n items: (source as AutocompleteReshapeSource<any>)\n .getItems()\n .filter(isAlgoliaInsightsHit),\n }),\n },\n ],\n });\n });\n\n onActive(({ item, source, 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({\n item,\n items: (source as AutocompleteReshapeSource<any>)\n .getItems()\n .filter(isAlgoliaInsightsHit),\n }),\n },\n ],\n });\n });\n },\n onStateChange({ state }) {\n debouncedOnStateChange({ state: state as AutocompleteState<any> });\n },\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getAlgoliaSources(\n algoliaSourceBase: string[] = [],\n context: AutocompleteContext\n) {\n return [\n ...algoliaSourceBase,\n 'autocomplete-internal',\n ...((context.algoliaInsightsPlugin as Record<string, unknown>)\n ?.__automaticInsights\n ? ['autocomplete-automatic']\n : []),\n ];\n}\n\nfunction getOptions(options: CreateAlgoliaInsightsPluginParams) {\n return {\n onItemsChange({ insights, insightsEvents, state }: OnItemsChangeParams) {\n insights.viewedObjectIDs(\n ...insightsEvents.map((event) => ({\n ...event,\n algoliaSource: getAlgoliaSources(event.algoliaSource, state.context),\n }))\n );\n },\n onSelect({ insights, insightsEvents, state }: OnSelectParams) {\n insights.clickedObjectIDsAfterSearch(\n ...insightsEvents.map((event) => ({\n ...event,\n algoliaSource: getAlgoliaSources(event.algoliaSource, state.context),\n }))\n );\n },\n onActive: noop,\n __autocomplete_clickAnalytics: true,\n ...options,\n };\n}\n\nfunction loadInsights(environment: typeof window) {\n const errorMessage = `[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete`;\n\n try {\n const script = environment.document.createElement('script');\n script.async = true;\n script.src = ALGOLIA_INSIGHTS_SRC;\n\n script.onerror = () => {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n };\n\n document.body.appendChild(script);\n } catch (cause) {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n }\n}\n\n/**\n * While `search-insights` supports both string and number user tokens,\n * the Search API only accepts strings. This function normalizes the user token.\n */\nfunction normalizeUserToken(userToken: string | number): string {\n return typeof userToken === 'number' ? userToken.toString() : userToken;\n}\n","/**\n * Safely runs code meant for browser environments only.\n */\nexport function safelyRunOnBrowser(callback) {\n if (typeof window !== 'undefined') {\n return callback({\n window: window\n });\n }\n return undefined;\n}","export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}"],"names":["debounce","fn","time","timerId","undefined","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply","isPrimitive","obj","Object","isEqual","first","second","keys","_i","_Object$keys","key","noop","createClickedEvent","_ref","item","_ref$items","items","index","__autocomplete_indexName","positions","findIndex","x","objectID","queryID","__autocomplete_queryID","algoliaSource","chunk","chunkSize","chunks","i","objectIDs","push","_objectSpread","slice","mapToInsightsParamsApi","params","map","param","_objectWithoutProperties","_excluded","_ref2","createSearchInsightsApi","searchInsights","_split$map2","major","minor","canSendHeaders","_slicedToArray","version","split","Number","sendToInsights","method","payloads","_items$0$__autocomple","__autocomplete_algoliaCredentials","headers","appId","apiKey","concat","_toConsumableArray","init","setUserToken","userToken","clickedObjectIDsAfterSearch","clickedObjectIDs","_len2","_key2","clickedFilters","_len3","_key3","convertedObjectIDsAfterSearch","_len4","_key4","convertedObjectIDs","_len5","_key5","convertedFilters","_len6","_key6","viewedObjectIDs","_len7","_key7","reduce","acc","_ref3","_excluded2","_ref4","payload","forEach","_ref5","viewedFilters","_len8","_key8","createViewedEvents","itemsByIndexName","current","_acc$current$__autoco","indexName","isAlgoliaInsightsHit","hit","ALGOLIA_INSIGHTS_VERSION","ALGOLIA_INSIGHTS_SRC","sendViewedObjectIDs","onItemsChange","insights","state","insightsEvents","event","eventName","getAlgoliaSources","_context$algoliaInsig","algoliaSourceBase","context","algoliaInsightsPlugin","__automaticInsights","normalizeUserToken","toString","options","_getOptions","_ref8","onSelect","_ref9","onActive","__autocomplete_clickAnalytics","getOptions","providedInsightsClient","insightsClient","insightsInitParams","onSelectEvent","onActiveEvent","callback","window","safelyRunOnBrowser","pointer","AlgoliaAnalyticsObject","queue","environment","errorMessage","script","document","createElement","async","src","onerror","console","error","body","appendChild","cause","loadInsights","partial","previousItems","debouncedOnStateChange","isOpen","collections","filter","name","subscribe","setContext","setInsightsContext","__algoliaSearchParameters","clickAnalytics","_error","source","getItems","_ref6","onStateChange","_ref7","__autocomplete_pluginOptions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.production.js","sources":["../../../autocomplete-shared/dist/esm/debounce.js","../../../autocomplete-shared/dist/esm/isEqual.js","../../../autocomplete-shared/dist/esm/noop.js","../../src/createClickedEvent.ts","../../src/createSearchInsightsApi.ts","../../src/isModernInsightsClient.ts","../../src/createViewedEvents.ts","../../src/isAlgoliaInsightsHit.ts","../../src/createAlgoliaInsightsPlugin.ts","../../../autocomplete-shared/dist/esm/safelyRunOnBrowser.js","../../../autocomplete-shared/dist/esm/createRef.js"],"sourcesContent":["export function debounce(fn, time) {\n var timerId = undefined;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (timerId) {\n clearTimeout(timerId);\n }\n timerId = setTimeout(function () {\n return fn.apply(void 0, args);\n }, time);\n };\n}","function isPrimitive(obj) {\n return obj !== Object(obj);\n}\nexport function isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (isPrimitive(first) || isPrimitive(second) || typeof first === 'function' || typeof second === 'function') {\n return first === second;\n }\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n for (var _i = 0, _Object$keys = Object.keys(first); _i < _Object$keys.length; _i++) {\n var key = _Object$keys[_i];\n if (!(key in second)) {\n return false;\n }\n if (!isEqual(first[key], second[key])) {\n return false;\n }\n }\n return true;\n}","export var noop = function noop() {};","import type {\n AlgoliaInsightsHit,\n ClickedObjectIDsAfterSearchParams,\n InsightsParamsWithItems,\n} from './types';\n\ntype CreateClickedEventParams = {\n item: AlgoliaInsightsHit;\n items: AlgoliaInsightsHit[];\n};\n\nexport function createClickedEvent({\n item,\n items = [],\n}: CreateClickedEventParams): Omit<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>,\n 'eventName'\n> & { algoliaSource?: string[] } {\n return {\n index: item.__autocomplete_indexName,\n items: [item],\n positions: [1 + items.findIndex((x) => x.objectID === item.objectID)],\n queryID: item.__autocomplete_queryID,\n algoliaSource: ['autocomplete'],\n };\n}\n","import type { InsightsMethodMap } from 'search-insights';\n\nimport { isModernInsightsClient } from './isModernInsightsClient';\nimport {\n AlgoliaInsightsHit,\n ClickedFiltersParams,\n ClickedObjectIDsAfterSearchParams,\n ClickedObjectIDsParams,\n ConvertedFiltersParams,\n ConvertedObjectIDsAfterSearchParams,\n ConvertedObjectIDsParams,\n InsightsClient,\n InsightsClientMethod,\n WithArbitraryParams,\n InsightsParamsWithItems,\n ViewedFiltersParams,\n ViewedObjectIDsParams,\n} from './types';\n\nfunction chunk<TItem extends { objectIDs: string[] }>(\n item: TItem,\n chunkSize: number = 20\n): TItem[] {\n const chunks: TItem[] = [];\n for (let i = 0; i < item.objectIDs.length; i += chunkSize) {\n chunks.push({\n ...item,\n objectIDs: item.objectIDs.slice(i, i + chunkSize),\n });\n }\n return chunks;\n}\n\nfunction mapToInsightsParamsApi<\n TInsightsParamsType extends {\n items: AlgoliaInsightsHit[];\n objectIDs?: string[];\n }\n>(params: TInsightsParamsType[]) {\n return params.map(({ items, ...param }) => ({\n ...param,\n objectIDs: items?.map(({ objectID }) => objectID) || param.objectIDs,\n }));\n}\n\nexport function createSearchInsightsApi(searchInsights: InsightsClient) {\n const canSendHeaders = isModernInsightsClient(searchInsights);\n\n function sendToInsights<TInsightsMethod extends InsightsClientMethod>(\n method: InsightsClientMethod,\n payloads: InsightsMethodMap[TInsightsMethod],\n items?: AlgoliaInsightsHit[]\n ) {\n if (canSendHeaders && typeof items !== 'undefined') {\n const { appId, apiKey } = items[0].__autocomplete_algoliaCredentials;\n const headers = {\n 'X-Algolia-Application-Id': appId,\n 'X-Algolia-API-Key': apiKey,\n };\n\n searchInsights(method, ...payloads, { headers });\n } else {\n searchInsights(method, ...payloads);\n }\n }\n\n return {\n /**\n * Initializes Insights with Algolia credentials.\n */\n init(appId: string, apiKey: string) {\n searchInsights('init', { appId, apiKey });\n },\n /**\n * Sets the authenticated user token to attach to events.\n * Unsets the authenticated token by passing `undefined`.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/set-authenticated-user-token/\n */\n setAuthenticatedUserToken(authenticatedUserToken: string | undefined) {\n searchInsights('setAuthenticatedUserToken', authenticatedUserToken);\n },\n /**\n * Sets the user token to attach to events.\n */\n setUserToken(userToken: string) {\n searchInsights('setUserToken', userToken);\n },\n /**\n * Sends click events to capture a query and its clicked items and positions.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids-after-search/\n */\n clickedObjectIDsAfterSearch(\n ...params: Array<\n WithArbitraryParams<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>\n >\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'clickedObjectIDsAfterSearch',\n mapToInsightsParamsApi<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>\n >(params),\n params[0].items\n );\n }\n },\n /**\n * Sends click events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids/\n */\n clickedObjectIDs(\n ...params: Array<\n WithArbitraryParams<InsightsParamsWithItems<ClickedObjectIDsParams>>\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'clickedObjectIDs',\n mapToInsightsParamsApi<\n InsightsParamsWithItems<ClickedObjectIDsParams>\n >(params),\n params[0].items\n );\n }\n },\n /**\n * Sends click events to capture the filters a user clicks on.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-filters/\n */\n clickedFilters(\n ...params: Array<WithArbitraryParams<ClickedFiltersParams>>\n ) {\n if (params.length > 0) {\n searchInsights('clickedFilters', ...params);\n }\n },\n /**\n * Sends conversion events to capture a query and its clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids-after-search/\n */\n convertedObjectIDsAfterSearch(\n ...params: Array<\n WithArbitraryParams<\n InsightsParamsWithItems<ConvertedObjectIDsAfterSearchParams>\n >\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'convertedObjectIDsAfterSearch',\n mapToInsightsParamsApi<\n InsightsParamsWithItems<ConvertedObjectIDsAfterSearchParams>\n >(params),\n params[0].items\n );\n }\n },\n /**\n * Sends conversion events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids/\n */\n convertedObjectIDs(\n ...params: Array<\n WithArbitraryParams<InsightsParamsWithItems<ConvertedObjectIDsParams>>\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'convertedObjectIDs',\n mapToInsightsParamsApi<\n InsightsParamsWithItems<ConvertedObjectIDsParams>\n >(params),\n params[0].items\n );\n }\n },\n /**\n * Sends conversion events to capture the filters a user uses when converting.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-filters/\n */\n convertedFilters(\n ...params: Array<WithArbitraryParams<ConvertedFiltersParams>>\n ) {\n if (params.length > 0) {\n searchInsights('convertedFilters', ...params);\n }\n },\n /**\n * Sends view events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-object-ids/\n */\n viewedObjectIDs(\n ...params: Array<\n WithArbitraryParams<InsightsParamsWithItems<ViewedObjectIDsParams>>\n >\n ) {\n if (params.length > 0) {\n params\n .reduce<\n Array<{\n items?: AlgoliaInsightsHit[];\n payload: ViewedObjectIDsParams;\n }>\n >(\n (acc, { items, ...param }) => [\n ...acc,\n ...chunk<ViewedObjectIDsParams>({\n ...param,\n objectIDs:\n items?.map(({ objectID }) => objectID) || param.objectIDs,\n }).map((payload) => {\n return { items, payload };\n }),\n ],\n []\n )\n .forEach(({ items, payload }) =>\n sendToInsights('viewedObjectIDs', [payload], items)\n );\n }\n },\n /**\n * Sends view events to capture the filters a user uses when viewing.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-filters/\n */\n viewedFilters(...params: Array<WithArbitraryParams<ViewedFiltersParams>>) {\n if (params.length > 0) {\n searchInsights('viewedFilters', ...params);\n }\n },\n };\n}\n","import type { InsightsClient } from './types';\n\n/**\n * Determines if a given insights `client` supports the optional call to `init`\n * and the ability to set credentials via extra parameters when sending events.\n */\nexport function isModernInsightsClient(client: InsightsClient): boolean {\n const [major, minor] = (client.version || '').split('.').map(Number);\n\n /* eslint-disable @typescript-eslint/camelcase */\n const v3 = major >= 3;\n const v2_4 = major === 2 && minor >= 4;\n const v1_10 = major === 1 && minor >= 10;\n\n return v3 || v2_4 || v1_10;\n /* eslint-enable @typescript-eslint/camelcase */\n}\n","import {\n AlgoliaInsightsHit,\n InsightsParamsWithItems,\n ViewedObjectIDsParams,\n} from './types';\n\ntype CreateViewedEventsParams = {\n items: AlgoliaInsightsHit[];\n};\n\nexport function createViewedEvents({\n items,\n}: CreateViewedEventsParams): Array<\n Omit<InsightsParamsWithItems<ViewedObjectIDsParams>, 'eventName'>\n> {\n const itemsByIndexName = items.reduce<Record<string, AlgoliaInsightsHit[]>>(\n (acc, current) => {\n acc[current.__autocomplete_indexName] = (\n acc[current.__autocomplete_indexName] ?? []\n ).concat(current);\n\n return acc;\n },\n {}\n );\n\n return Object.keys(itemsByIndexName).map((indexName) => {\n const items = itemsByIndexName[indexName];\n\n return {\n index: indexName,\n items,\n algoliaSource: ['autocomplete'],\n };\n });\n}\n","import { AlgoliaInsightsHit } from './types';\n\nexport function isAlgoliaInsightsHit(hit: any): hit is AlgoliaInsightsHit {\n return (\n hit.objectID && hit.__autocomplete_indexName && hit.__autocomplete_queryID\n );\n}\n","import {\n AutocompleteState,\n AutocompletePlugin,\n createRef,\n debounce,\n isEqual,\n noop,\n safelyRunOnBrowser,\n} from '@algolia/autocomplete-shared';\nimport {\n AutocompleteContext,\n AutocompleteReshapeSource,\n} from '@algolia/autocomplete-shared/dist/esm/core';\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 InsightsEvent,\n InsightsMethodMap,\n OnActiveParams,\n OnItemsChangeParams,\n OnSelectParams,\n} from './types';\n\nconst VIEW_EVENT_DELAY = 400;\nconst ALGOLIA_INSIGHTS_VERSION = '2.13.0';\nconst ALGOLIA_INSIGHTS_SRC = `https://cdn.jsdelivr.net/npm/search-insights@${ALGOLIA_INSIGHTS_VERSION}/dist/search-insights.min.js`;\n\ntype SendViewedObjectIDsParams = {\n onItemsChange(params: OnItemsChangeParams): void;\n items: AlgoliaInsightsHit[];\n insights: AutocompleteInsightsApi;\n state: AutocompleteState<any>;\n};\n\nconst sendViewedObjectIDs = debounce<SendViewedObjectIDsParams>(\n ({ onItemsChange, items, insights, state }) => {\n onItemsChange({\n insights,\n insightsEvents: createViewedEvents({ items }).map((event) => ({\n eventName: 'Items Viewed',\n ...event,\n })),\n state,\n });\n },\n VIEW_EVENT_DELAY\n);\n\nexport type CreateAlgoliaInsightsPluginParams = {\n /**\n * The initialized Search Insights client.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-insightsclient\n */\n insightsClient?: InsightsClient;\n /**\n * Insights parameters to forward to the Insights client’s init method.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-insightsinitparams\n */\n insightsInitParams?: Partial<InsightsMethodMap['init'][0]>;\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 * @internal\n */\n __autocomplete_clickAnalytics?: boolean;\n};\n\nexport function createAlgoliaInsightsPlugin(\n options: CreateAlgoliaInsightsPluginParams\n): AutocompletePlugin<any, undefined> {\n const {\n insightsClient: providedInsightsClient,\n insightsInitParams,\n onItemsChange,\n onSelect: onSelectEvent,\n onActive: onActiveEvent,\n __autocomplete_clickAnalytics,\n } = getOptions(options);\n let insightsClient = providedInsightsClient as InsightsClient;\n\n if (!providedInsightsClient) {\n safelyRunOnBrowser(({ window }) => {\n const pointer = window.AlgoliaAnalyticsObject || 'aa';\n\n if (typeof pointer === 'string') {\n insightsClient = window[pointer];\n }\n\n if (!insightsClient) {\n window.AlgoliaAnalyticsObject = pointer;\n\n if (!window[pointer]) {\n window[pointer] = (...args: any[]) => {\n if (!window[pointer].queue) {\n window[pointer].queue = [];\n }\n\n window[pointer].queue.push(args);\n };\n }\n\n window[pointer].version = ALGOLIA_INSIGHTS_VERSION;\n\n insightsClient = window[pointer];\n\n loadInsights(window);\n }\n });\n }\n\n // We return an empty plugin if `insightsClient` is still undefined at\n // this stage, which can happen in server environments.\n if (!insightsClient) {\n return {};\n }\n\n if (insightsInitParams) {\n insightsClient('init', { partial: true, ...insightsInitParams });\n }\n\n const insights = createSearchInsightsApi(insightsClient);\n const previousItems = createRef<AlgoliaInsightsHit[]>([]);\n\n const debouncedOnStateChange = debounce<{\n state: AutocompleteState<any>;\n }>(({ state }) => {\n if (!state.isOpen) {\n return;\n }\n\n const items = state.collections\n .reduce<unknown[]>((acc, current) => {\n return [...acc, ...current.items];\n }, [])\n .filter(isAlgoliaInsightsHit);\n\n if (\n !isEqual(\n previousItems.current.map((x) => x.objectID),\n items.map((x) => x.objectID)\n )\n ) {\n previousItems.current = items;\n\n if (items.length > 0) {\n sendViewedObjectIDs({ onItemsChange, items, insights, state });\n }\n }\n }, 0);\n\n return {\n name: 'aa.algoliaInsightsPlugin',\n subscribe({ setContext, onSelect, onActive }) {\n let isAuthenticatedToken = false;\n function setInsightsContext(userToken?: InsightsEvent['userToken']) {\n setContext({\n algoliaInsightsPlugin: {\n __algoliaSearchParameters: {\n ...(__autocomplete_clickAnalytics\n ? { clickAnalytics: true }\n : {}),\n ...(userToken\n ? { userToken: normalizeUserToken(userToken) }\n : {}),\n },\n insights,\n },\n });\n }\n\n insightsClient('addAlgoliaAgent', 'insights-plugin');\n\n setInsightsContext();\n\n // Handles user token changes\n insightsClient('onUserTokenChange', (userToken) => {\n if (!isAuthenticatedToken) {\n setInsightsContext(userToken);\n }\n });\n insightsClient('getUserToken', null, (_error, userToken) => {\n if (!isAuthenticatedToken) {\n setInsightsContext(userToken);\n }\n });\n\n // Handles authenticated user token changes\n insightsClient(\n 'onAuthenticatedUserTokenChange',\n (authenticatedUserToken) => {\n if (authenticatedUserToken) {\n isAuthenticatedToken = true;\n setInsightsContext(authenticatedUserToken);\n } else {\n isAuthenticatedToken = false;\n insightsClient('getUserToken', null, (_error, userToken) =>\n setInsightsContext(userToken)\n );\n }\n }\n );\n insightsClient(\n 'getAuthenticatedUserToken',\n null,\n (_error, authenticatedUserToken) => {\n if (authenticatedUserToken) {\n isAuthenticatedToken = true;\n setInsightsContext(authenticatedUserToken);\n }\n }\n );\n\n onSelect(({ item, state, event, source }) => {\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({\n item,\n items: (source as AutocompleteReshapeSource<any>)\n .getItems()\n .filter(isAlgoliaInsightsHit),\n }),\n },\n ],\n });\n });\n\n onActive(({ item, source, 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({\n item,\n items: (source as AutocompleteReshapeSource<any>)\n .getItems()\n .filter(isAlgoliaInsightsHit),\n }),\n },\n ],\n });\n });\n },\n onStateChange({ state }) {\n debouncedOnStateChange({ state: state as AutocompleteState<any> });\n },\n __autocomplete_pluginOptions: options,\n };\n}\n\nfunction getAlgoliaSources(\n algoliaSourceBase: string[] = [],\n context: AutocompleteContext\n) {\n return [\n ...algoliaSourceBase,\n 'autocomplete-internal',\n ...((context.algoliaInsightsPlugin as Record<string, unknown>)\n ?.__automaticInsights\n ? ['autocomplete-automatic']\n : []),\n ];\n}\n\nfunction getOptions(options: CreateAlgoliaInsightsPluginParams) {\n return {\n onItemsChange({ insights, insightsEvents, state }: OnItemsChangeParams) {\n insights.viewedObjectIDs(\n ...insightsEvents.map((event) => ({\n ...event,\n algoliaSource: getAlgoliaSources(event.algoliaSource, state.context),\n }))\n );\n },\n onSelect({ insights, insightsEvents, state }: OnSelectParams) {\n insights.clickedObjectIDsAfterSearch(\n ...insightsEvents.map((event) => ({\n ...event,\n algoliaSource: getAlgoliaSources(event.algoliaSource, state.context),\n }))\n );\n },\n onActive: noop,\n __autocomplete_clickAnalytics: true,\n ...options,\n };\n}\n\nfunction loadInsights(environment: typeof window) {\n const errorMessage = `[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete`;\n\n try {\n const script = environment.document.createElement('script');\n script.async = true;\n script.src = ALGOLIA_INSIGHTS_SRC;\n\n script.onerror = () => {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n };\n\n document.body.appendChild(script);\n } catch (cause) {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n }\n}\n\n/**\n * While `search-insights` supports both string and number user tokens,\n * the Search API only accepts strings. This function normalizes the user token.\n */\nfunction normalizeUserToken(\n userToken: NonNullable<InsightsEvent['userToken']>\n): string {\n return typeof userToken === 'number' ? userToken.toString() : userToken;\n}\n","/**\n * Safely runs code meant for browser environments only.\n */\nexport function safelyRunOnBrowser(callback) {\n if (typeof window !== 'undefined') {\n return callback({\n window: window\n });\n }\n return undefined;\n}","export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}"],"names":["debounce","fn","time","timerId","undefined","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply","isPrimitive","obj","Object","isEqual","first","second","keys","_i","_Object$keys","key","noop","createClickedEvent","_ref","item","_ref$items","items","index","__autocomplete_indexName","positions","findIndex","x","objectID","queryID","__autocomplete_queryID","algoliaSource","chunk","chunkSize","chunks","i","objectIDs","push","_objectSpread","slice","mapToInsightsParamsApi","params","map","param","_objectWithoutProperties","_excluded","_ref2","createSearchInsightsApi","searchInsights","_split$map2","major","minor","canSendHeaders","_slicedToArray","version","split","Number","sendToInsights","method","payloads","_items$0$__autocomple","__autocomplete_algoliaCredentials","headers","appId","apiKey","concat","_toConsumableArray","init","setAuthenticatedUserToken","authenticatedUserToken","setUserToken","userToken","clickedObjectIDsAfterSearch","clickedObjectIDs","_len2","_key2","clickedFilters","_len3","_key3","convertedObjectIDsAfterSearch","_len4","_key4","convertedObjectIDs","_len5","_key5","convertedFilters","_len6","_key6","viewedObjectIDs","_len7","_key7","reduce","acc","_ref3","_excluded2","_ref4","payload","forEach","_ref5","viewedFilters","_len8","_key8","createViewedEvents","itemsByIndexName","current","_acc$current$__autoco","indexName","isAlgoliaInsightsHit","hit","ALGOLIA_INSIGHTS_VERSION","ALGOLIA_INSIGHTS_SRC","sendViewedObjectIDs","onItemsChange","insights","state","insightsEvents","event","eventName","getAlgoliaSources","_context$algoliaInsig","algoliaSourceBase","context","algoliaInsightsPlugin","__automaticInsights","normalizeUserToken","toString","options","_getOptions","_ref8","onSelect","_ref9","onActive","__autocomplete_clickAnalytics","getOptions","providedInsightsClient","insightsClient","insightsInitParams","onSelectEvent","onActiveEvent","callback","window","safelyRunOnBrowser","pointer","AlgoliaAnalyticsObject","queue","environment","errorMessage","script","document","createElement","async","src","onerror","console","error","body","appendChild","cause","loadInsights","partial","previousItems","debouncedOnStateChange","isOpen","collections","filter","name","subscribe","setContext","isAuthenticatedToken","setInsightsContext","__algoliaSearchParameters","clickAnalytics","_error","source","getItems","_ref6","onStateChange","_ref7","__autocomplete_pluginOptions"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@algolia/autocomplete-plugin-algolia-insights",
|
|
3
3
|
"description": "A plugin to add Algolia Insights to Algolia Autocomplete.",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.15.1",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/algolia/autocomplete",
|
|
7
7
|
"repository": "algolia/autocomplete",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"watch": "watch \"yarn on:change\" --ignoreDirectoryPattern \"/dist/\""
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@algolia/autocomplete-shared": "1.
|
|
34
|
+
"@algolia/autocomplete-shared": "1.15.1"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
37
|
"search-insights": ">= 1 < 3"
|