@algolia/autocomplete-plugin-algolia-insights 1.11.1 → 1.12.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.d.ts +4 -0
- package/dist/esm/createAlgoliaInsightsPlugin.js +18 -8
- package/dist/esm/createSearchInsightsApi.d.ts +9 -9
- package/dist/esm/types/AutocompleteInsightsApi.d.ts +1 -0
- package/dist/umd/index.development.js +19 -9
- 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
|
@@ -33,5 +33,9 @@ export declare type CreateAlgoliaInsightsPluginParams = {
|
|
|
33
33
|
* @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onactive
|
|
34
34
|
*/
|
|
35
35
|
onActive?(params: OnActiveParams): void;
|
|
36
|
+
/**
|
|
37
|
+
* @internal
|
|
38
|
+
*/
|
|
39
|
+
__autocomplete_clickAnalytics?: boolean;
|
|
36
40
|
};
|
|
37
41
|
export declare function createAlgoliaInsightsPlugin(options: CreateAlgoliaInsightsPluginParams): AutocompletePlugin<any, undefined>;
|
|
@@ -40,7 +40,8 @@ export function createAlgoliaInsightsPlugin(options) {
|
|
|
40
40
|
providedInsightsClient = _getOptions.insightsClient,
|
|
41
41
|
onItemsChange = _getOptions.onItemsChange,
|
|
42
42
|
onSelectEvent = _getOptions.onSelect,
|
|
43
|
-
onActiveEvent = _getOptions.onActive
|
|
43
|
+
onActiveEvent = _getOptions.onActive,
|
|
44
|
+
__autocomplete_clickAnalytics = _getOptions.__autocomplete_clickAnalytics;
|
|
44
45
|
var insightsClient = providedInsightsClient;
|
|
45
46
|
if (!providedInsightsClient) {
|
|
46
47
|
safelyRunOnBrowser(function (_ref2) {
|
|
@@ -103,9 +104,9 @@ export function createAlgoliaInsightsPlugin(options) {
|
|
|
103
104
|
function setInsightsContext(userToken) {
|
|
104
105
|
setContext({
|
|
105
106
|
algoliaInsightsPlugin: {
|
|
106
|
-
__algoliaSearchParameters: _objectSpread({
|
|
107
|
+
__algoliaSearchParameters: _objectSpread(_objectSpread({}, __autocomplete_clickAnalytics ? {
|
|
107
108
|
clickAnalytics: true
|
|
108
|
-
}, userToken ? {
|
|
109
|
+
} : {}), userToken ? {
|
|
109
110
|
userToken: userToken
|
|
110
111
|
} : {}),
|
|
111
112
|
insights: insights
|
|
@@ -170,27 +171,36 @@ export function createAlgoliaInsightsPlugin(options) {
|
|
|
170
171
|
__autocomplete_pluginOptions: options
|
|
171
172
|
};
|
|
172
173
|
}
|
|
174
|
+
function getAlgoliaSources() {
|
|
175
|
+
var _context$algoliaInsig;
|
|
176
|
+
var algoliaSourceBase = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
177
|
+
var context = arguments.length > 1 ? arguments[1] : undefined;
|
|
178
|
+
return [].concat(_toConsumableArray(algoliaSourceBase), ['autocomplete-internal'], _toConsumableArray((_context$algoliaInsig = context.algoliaInsightsPlugin) !== null && _context$algoliaInsig !== void 0 && _context$algoliaInsig.__automaticInsights ? ['autocomplete-automatic'] : []));
|
|
179
|
+
}
|
|
173
180
|
function getOptions(options) {
|
|
174
181
|
return _objectSpread({
|
|
175
182
|
onItemsChange: function onItemsChange(_ref8) {
|
|
176
183
|
var insights = _ref8.insights,
|
|
177
|
-
insightsEvents = _ref8.insightsEvents
|
|
184
|
+
insightsEvents = _ref8.insightsEvents,
|
|
185
|
+
state = _ref8.state;
|
|
178
186
|
insights.viewedObjectIDs.apply(insights, _toConsumableArray(insightsEvents.map(function (event) {
|
|
179
187
|
return _objectSpread(_objectSpread({}, event), {}, {
|
|
180
|
-
algoliaSource:
|
|
188
|
+
algoliaSource: getAlgoliaSources(event.algoliaSource, state.context)
|
|
181
189
|
});
|
|
182
190
|
})));
|
|
183
191
|
},
|
|
184
192
|
onSelect: function onSelect(_ref9) {
|
|
185
193
|
var insights = _ref9.insights,
|
|
186
|
-
insightsEvents = _ref9.insightsEvents
|
|
194
|
+
insightsEvents = _ref9.insightsEvents,
|
|
195
|
+
state = _ref9.state;
|
|
187
196
|
insights.clickedObjectIDsAfterSearch.apply(insights, _toConsumableArray(insightsEvents.map(function (event) {
|
|
188
197
|
return _objectSpread(_objectSpread({}, event), {}, {
|
|
189
|
-
algoliaSource:
|
|
198
|
+
algoliaSource: getAlgoliaSources(event.algoliaSource, state.context)
|
|
190
199
|
});
|
|
191
200
|
})));
|
|
192
201
|
},
|
|
193
|
-
onActive: noop
|
|
202
|
+
onActive: noop,
|
|
203
|
+
__autocomplete_clickAnalytics: true
|
|
194
204
|
}, options);
|
|
195
205
|
}
|
|
196
206
|
function loadInsights(environment) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ClickedFiltersParams, ClickedObjectIDsAfterSearchParams, ClickedObjectIDsParams, ConvertedFiltersParams, ConvertedObjectIDsAfterSearchParams, ConvertedObjectIDsParams, InsightsClient, InsightsParamsWithItems, ViewedFiltersParams, ViewedObjectIDsParams } from './types';
|
|
1
|
+
import { ClickedFiltersParams, ClickedObjectIDsAfterSearchParams, ClickedObjectIDsParams, ConvertedFiltersParams, ConvertedObjectIDsAfterSearchParams, ConvertedObjectIDsParams, InsightsClient, WithArbitraryParams, InsightsParamsWithItems, ViewedFiltersParams, ViewedObjectIDsParams } from './types';
|
|
2
2
|
export declare function createSearchInsightsApi(searchInsights: InsightsClient): {
|
|
3
3
|
/**
|
|
4
4
|
* Initializes Insights with Algolia credentials.
|
|
@@ -13,47 +13,47 @@ export declare function createSearchInsightsApi(searchInsights: InsightsClient):
|
|
|
13
13
|
*
|
|
14
14
|
* @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids-after-search/
|
|
15
15
|
*/
|
|
16
|
-
clickedObjectIDsAfterSearch(...params: Array<InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams
|
|
16
|
+
clickedObjectIDsAfterSearch(...params: Array<WithArbitraryParams<InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>>>): void;
|
|
17
17
|
/**
|
|
18
18
|
* Sends click events to capture clicked items.
|
|
19
19
|
*
|
|
20
20
|
* @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids/
|
|
21
21
|
*/
|
|
22
|
-
clickedObjectIDs(...params: Array<InsightsParamsWithItems<ClickedObjectIDsParams
|
|
22
|
+
clickedObjectIDs(...params: Array<WithArbitraryParams<InsightsParamsWithItems<ClickedObjectIDsParams>>>): void;
|
|
23
23
|
/**
|
|
24
24
|
* Sends click events to capture the filters a user clicks on.
|
|
25
25
|
*
|
|
26
26
|
* @link https://www.algolia.com/doc/api-reference/api-methods/clicked-filters/
|
|
27
27
|
*/
|
|
28
|
-
clickedFilters(...params: ClickedFiltersParams
|
|
28
|
+
clickedFilters(...params: Array<WithArbitraryParams<ClickedFiltersParams>>): void;
|
|
29
29
|
/**
|
|
30
30
|
* Sends conversion events to capture a query and its clicked items.
|
|
31
31
|
*
|
|
32
32
|
* @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids-after-search/
|
|
33
33
|
*/
|
|
34
|
-
convertedObjectIDsAfterSearch(...params: Array<InsightsParamsWithItems<ConvertedObjectIDsAfterSearchParams
|
|
34
|
+
convertedObjectIDsAfterSearch(...params: Array<WithArbitraryParams<InsightsParamsWithItems<ConvertedObjectIDsAfterSearchParams>>>): void;
|
|
35
35
|
/**
|
|
36
36
|
* Sends conversion events to capture clicked items.
|
|
37
37
|
*
|
|
38
38
|
* @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids/
|
|
39
39
|
*/
|
|
40
|
-
convertedObjectIDs(...params: Array<InsightsParamsWithItems<ConvertedObjectIDsParams
|
|
40
|
+
convertedObjectIDs(...params: Array<WithArbitraryParams<InsightsParamsWithItems<ConvertedObjectIDsParams>>>): void;
|
|
41
41
|
/**
|
|
42
42
|
* Sends conversion events to capture the filters a user uses when converting.
|
|
43
43
|
*
|
|
44
44
|
* @link https://www.algolia.com/doc/api-reference/api-methods/converted-filters/
|
|
45
45
|
*/
|
|
46
|
-
convertedFilters(...params: ConvertedFiltersParams
|
|
46
|
+
convertedFilters(...params: Array<WithArbitraryParams<ConvertedFiltersParams>>): void;
|
|
47
47
|
/**
|
|
48
48
|
* Sends view events to capture clicked items.
|
|
49
49
|
*
|
|
50
50
|
* @link https://www.algolia.com/doc/api-reference/api-methods/viewed-object-ids/
|
|
51
51
|
*/
|
|
52
|
-
viewedObjectIDs(...params: Array<InsightsParamsWithItems<ViewedObjectIDsParams
|
|
52
|
+
viewedObjectIDs(...params: Array<WithArbitraryParams<InsightsParamsWithItems<ViewedObjectIDsParams>>>): void;
|
|
53
53
|
/**
|
|
54
54
|
* Sends view events to capture the filters a user uses when viewing.
|
|
55
55
|
*
|
|
56
56
|
* @link https://www.algolia.com/doc/api-reference/api-methods/viewed-filters/
|
|
57
57
|
*/
|
|
58
|
-
viewedFilters(...params: ViewedFiltersParams
|
|
58
|
+
viewedFilters(...params: Array<WithArbitraryParams<ViewedFiltersParams>>): void;
|
|
59
59
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createSearchInsightsApi } from '../createSearchInsightsApi';
|
|
2
2
|
import type { AlgoliaInsightsHit } from './AlgoliaInsightsHit';
|
|
3
3
|
export declare type AutocompleteInsightsApi = ReturnType<typeof createSearchInsightsApi>;
|
|
4
|
+
export declare type WithArbitraryParams<TParams extends Record<string, unknown>> = Record<string, unknown> & TParams;
|
|
4
5
|
export declare type InsightsParamsWithItems<TParams extends {
|
|
5
6
|
objectIDs: string[];
|
|
6
7
|
}> = Omit<TParams, 'objectIDs'> & {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @algolia/autocomplete-plugin-algolia-insights 1.
|
|
1
|
+
/*! @algolia/autocomplete-plugin-algolia-insights 1.12.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) :
|
|
@@ -465,7 +465,8 @@
|
|
|
465
465
|
providedInsightsClient = _getOptions.insightsClient,
|
|
466
466
|
onItemsChange = _getOptions.onItemsChange,
|
|
467
467
|
onSelectEvent = _getOptions.onSelect,
|
|
468
|
-
onActiveEvent = _getOptions.onActive
|
|
468
|
+
onActiveEvent = _getOptions.onActive,
|
|
469
|
+
__autocomplete_clickAnalytics = _getOptions.__autocomplete_clickAnalytics;
|
|
469
470
|
var insightsClient = providedInsightsClient;
|
|
470
471
|
if (!providedInsightsClient) {
|
|
471
472
|
safelyRunOnBrowser(function (_ref2) {
|
|
@@ -528,9 +529,9 @@
|
|
|
528
529
|
function setInsightsContext(userToken) {
|
|
529
530
|
setContext({
|
|
530
531
|
algoliaInsightsPlugin: {
|
|
531
|
-
__algoliaSearchParameters: _objectSpread2({
|
|
532
|
+
__algoliaSearchParameters: _objectSpread2(_objectSpread2({}, __autocomplete_clickAnalytics ? {
|
|
532
533
|
clickAnalytics: true
|
|
533
|
-
}, userToken ? {
|
|
534
|
+
} : {}), userToken ? {
|
|
534
535
|
userToken: userToken
|
|
535
536
|
} : {}),
|
|
536
537
|
insights: insights
|
|
@@ -595,27 +596,36 @@
|
|
|
595
596
|
__autocomplete_pluginOptions: options
|
|
596
597
|
};
|
|
597
598
|
}
|
|
599
|
+
function getAlgoliaSources() {
|
|
600
|
+
var _context$algoliaInsig;
|
|
601
|
+
var algoliaSourceBase = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
602
|
+
var context = arguments.length > 1 ? arguments[1] : undefined;
|
|
603
|
+
return [].concat(_toConsumableArray(algoliaSourceBase), ['autocomplete-internal'], _toConsumableArray((_context$algoliaInsig = context.algoliaInsightsPlugin) !== null && _context$algoliaInsig !== void 0 && _context$algoliaInsig.__automaticInsights ? ['autocomplete-automatic'] : []));
|
|
604
|
+
}
|
|
598
605
|
function getOptions(options) {
|
|
599
606
|
return _objectSpread2({
|
|
600
607
|
onItemsChange: function onItemsChange(_ref8) {
|
|
601
608
|
var insights = _ref8.insights,
|
|
602
|
-
insightsEvents = _ref8.insightsEvents
|
|
609
|
+
insightsEvents = _ref8.insightsEvents,
|
|
610
|
+
state = _ref8.state;
|
|
603
611
|
insights.viewedObjectIDs.apply(insights, _toConsumableArray(insightsEvents.map(function (event) {
|
|
604
612
|
return _objectSpread2(_objectSpread2({}, event), {}, {
|
|
605
|
-
algoliaSource:
|
|
613
|
+
algoliaSource: getAlgoliaSources(event.algoliaSource, state.context)
|
|
606
614
|
});
|
|
607
615
|
})));
|
|
608
616
|
},
|
|
609
617
|
onSelect: function onSelect(_ref9) {
|
|
610
618
|
var insights = _ref9.insights,
|
|
611
|
-
insightsEvents = _ref9.insightsEvents
|
|
619
|
+
insightsEvents = _ref9.insightsEvents,
|
|
620
|
+
state = _ref9.state;
|
|
612
621
|
insights.clickedObjectIDsAfterSearch.apply(insights, _toConsumableArray(insightsEvents.map(function (event) {
|
|
613
622
|
return _objectSpread2(_objectSpread2({}, event), {}, {
|
|
614
|
-
algoliaSource:
|
|
623
|
+
algoliaSource: getAlgoliaSources(event.algoliaSource, state.context)
|
|
615
624
|
});
|
|
616
625
|
})));
|
|
617
626
|
},
|
|
618
|
-
onActive: noop
|
|
627
|
+
onActive: noop,
|
|
628
|
+
__autocomplete_clickAnalytics: true
|
|
619
629
|
}, options);
|
|
620
630
|
}
|
|
621
631
|
function loadInsights(environment) {
|
|
@@ -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 InsightsParamsWithItems,\n ViewedFiltersParams,\n ViewedObjectIDsParams,\n} from './types';\n\nfunction chunk<TItem extends { objectIDs: string[] }>(\n item: TItem,\n chunkSize: number = 20\n): TItem[] {\n const chunks: TItem[] = [];\n for (let i = 0; i < item.objectIDs.length; i += chunkSize) {\n chunks.push({\n ...item,\n objectIDs: item.objectIDs.slice(i, i + chunkSize),\n });\n }\n return chunks;\n}\n\nfunction mapToInsightsParamsApi<\n TInsightsParamsType extends {\n items: AlgoliaInsightsHit[];\n objectIDs?: string[];\n }\n>(params: TInsightsParamsType[]) {\n return params.map(({ items, ...param }) => ({\n ...param,\n objectIDs: items?.map(({ objectID }) => objectID) || param.objectIDs,\n }));\n}\n\nexport function createSearchInsightsApi(searchInsights: InsightsClient) {\n const canSendHeaders = isModernInsightsClient(searchInsights);\n\n function sendToInsights<TInsightsMethod extends InsightsClientMethod>(\n method: InsightsClientMethod,\n payloads: InsightsMethodMap[TInsightsMethod],\n items?: AlgoliaInsightsHit[]\n ) {\n if (canSendHeaders && typeof items !== 'undefined') {\n const { appId, apiKey } = items[0].__autocomplete_algoliaCredentials;\n const headers = {\n 'X-Algolia-Application-Id': appId,\n 'X-Algolia-API-Key': apiKey,\n };\n\n searchInsights(method, ...payloads, { headers });\n } else {\n searchInsights(method, ...payloads);\n }\n }\n\n return {\n /**\n * Initializes Insights with Algolia credentials.\n */\n init(appId: string, apiKey: string) {\n searchInsights('init', { appId, apiKey });\n },\n /**\n * Sets the user token to attach to events.\n */\n setUserToken(userToken: string) {\n searchInsights('setUserToken', userToken);\n },\n /**\n * Sends click events to capture a query and its clicked items and positions.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids-after-search/\n */\n clickedObjectIDsAfterSearch(\n ...params: Array<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'clickedObjectIDsAfterSearch',\n mapToInsightsParamsApi(params),\n params[0].items\n );\n }\n },\n /**\n * Sends click events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids/\n */\n clickedObjectIDs(\n ...params: Array<InsightsParamsWithItems<ClickedObjectIDsParams>>\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'clickedObjectIDs',\n mapToInsightsParamsApi(params),\n params[0].items\n );\n }\n },\n /**\n * Sends click events to capture the filters a user clicks on.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-filters/\n */\n clickedFilters(...params: ClickedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('clickedFilters', ...params);\n }\n },\n /**\n * Sends conversion events to capture a query and its clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids-after-search/\n */\n convertedObjectIDsAfterSearch(\n ...params: Array<\n InsightsParamsWithItems<ConvertedObjectIDsAfterSearchParams>\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'convertedObjectIDsAfterSearch',\n mapToInsightsParamsApi(params),\n params[0].items\n );\n }\n },\n /**\n * Sends conversion events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids/\n */\n convertedObjectIDs(\n ...params: Array<InsightsParamsWithItems<ConvertedObjectIDsParams>>\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'convertedObjectIDs',\n mapToInsightsParamsApi(params),\n params[0].items\n );\n }\n },\n /**\n * Sends conversion events to capture the filters a user uses when converting.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-filters/\n */\n convertedFilters(...params: ConvertedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('convertedFilters', ...params);\n }\n },\n /**\n * Sends view events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-object-ids/\n */\n viewedObjectIDs(\n ...params: Array<InsightsParamsWithItems<ViewedObjectIDsParams>>\n ) {\n if (params.length > 0) {\n params\n .reduce<\n Array<{\n items?: AlgoliaInsightsHit[];\n payload: ViewedObjectIDsParams;\n }>\n >(\n (acc, { items, ...param }) => [\n ...acc,\n ...chunk<ViewedObjectIDsParams>({\n ...param,\n objectIDs:\n items?.map(({ objectID }) => objectID) || param.objectIDs,\n }).map((payload) => {\n return { items, payload };\n }),\n ],\n []\n )\n .forEach(({ items, payload }) =>\n sendToInsights('viewedObjectIDs', [payload], items)\n );\n }\n },\n /**\n * Sends view events to capture the filters a user uses when viewing.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-filters/\n */\n viewedFilters(...params: ViewedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('viewedFilters', ...params);\n }\n },\n };\n}\n","import {\n AlgoliaInsightsHit,\n InsightsParamsWithItems,\n ViewedObjectIDsParams,\n} from './types';\n\ntype CreateViewedEventsParams = {\n items: AlgoliaInsightsHit[];\n};\n\nexport function createViewedEvents({\n items,\n}: CreateViewedEventsParams): Array<\n Omit<InsightsParamsWithItems<ViewedObjectIDsParams>, 'eventName'>\n> {\n const itemsByIndexName = items.reduce<Record<string, AlgoliaInsightsHit[]>>(\n (acc, current) => {\n acc[current.__autocomplete_indexName] = (\n acc[current.__autocomplete_indexName] ?? []\n ).concat(current);\n\n return acc;\n },\n {}\n );\n\n return Object.keys(itemsByIndexName).map((indexName) => {\n const items = itemsByIndexName[indexName];\n\n return {\n index: indexName,\n items,\n algoliaSource: ['autocomplete'],\n };\n });\n}\n","import { AlgoliaInsightsHit } from './types';\n\nexport function isAlgoliaInsightsHit(hit: any): hit is AlgoliaInsightsHit {\n return (\n hit.objectID && hit.__autocomplete_indexName && hit.__autocomplete_queryID\n );\n}\n","import {\n AutocompleteState,\n AutocompletePlugin,\n createRef,\n debounce,\n isEqual,\n noop,\n safelyRunOnBrowser,\n} from '@algolia/autocomplete-shared';\nimport { AutocompleteReshapeSource } 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 OnActiveParams,\n OnItemsChangeParams,\n OnSelectParams,\n} from './types';\n\nconst VIEW_EVENT_DELAY = 400;\nconst ALGOLIA_INSIGHTS_VERSION = '2.6.0';\nconst ALGOLIA_INSIGHTS_SRC = `https://cdn.jsdelivr.net/npm/search-insights@${ALGOLIA_INSIGHTS_VERSION}/dist/search-insights.min.js`;\n\ntype SendViewedObjectIDsParams = {\n onItemsChange(params: OnItemsChangeParams): void;\n items: AlgoliaInsightsHit[];\n insights: AutocompleteInsightsApi;\n state: AutocompleteState<any>;\n};\n\nconst sendViewedObjectIDs = debounce<SendViewedObjectIDsParams>(\n ({ onItemsChange, items, insights, state }) => {\n onItemsChange({\n insights,\n insightsEvents: createViewedEvents({ items }).map((event) => ({\n eventName: 'Items Viewed',\n ...event,\n })),\n state,\n });\n },\n VIEW_EVENT_DELAY\n);\n\nexport type CreateAlgoliaInsightsPluginParams = {\n /**\n * The initialized Search Insights client.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-insightsclient\n */\n insightsClient?: InsightsClient;\n /**\n * Hook to send an Insights event when the items change.\n *\n * By default, it sends a `viewedObjectIDs` event.\n *\n * In as-you-type experiences, items change as the user types. This hook is debounced every 400ms to reflect actual items that users notice and avoid generating too many events for items matching \"in progress\" queries.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onitemschange\n */\n onItemsChange?(params: OnItemsChangeParams): void;\n /**\n * Hook to send an Insights event when an item is selected.\n *\n * By default, it sends a clickedObjectIDsAfterSearch event.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onselect\n */\n onSelect?(params: OnSelectParams): void;\n /**\n * Hook to send an Insights event when an item is active.\n *\n * By default, it doesn't send any events.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onactive\n */\n onActive?(params: OnActiveParams): void;\n};\n\nexport function createAlgoliaInsightsPlugin(\n options: CreateAlgoliaInsightsPluginParams\n): AutocompletePlugin<any, undefined> {\n const {\n insightsClient: providedInsightsClient,\n onItemsChange,\n onSelect: onSelectEvent,\n onActive: onActiveEvent,\n } = getOptions(options);\n let insightsClient = providedInsightsClient as InsightsClient;\n\n if (!providedInsightsClient) {\n safelyRunOnBrowser(({ window }) => {\n const pointer = window.AlgoliaAnalyticsObject || 'aa';\n\n if (typeof pointer === 'string') {\n insightsClient = window[pointer];\n }\n\n if (!insightsClient) {\n window.AlgoliaAnalyticsObject = pointer;\n\n if (!window[pointer]) {\n window[pointer] = (...args: any[]) => {\n if (!window[pointer].queue) {\n window[pointer].queue = [];\n }\n\n window[pointer].queue.push(args);\n };\n }\n\n window[pointer].version = ALGOLIA_INSIGHTS_VERSION;\n\n insightsClient = window[pointer];\n\n loadInsights(window);\n }\n });\n }\n\n const insights = createSearchInsightsApi(insightsClient);\n const previousItems = createRef<AlgoliaInsightsHit[]>([]);\n\n const debouncedOnStateChange = debounce<{\n state: AutocompleteState<any>;\n }>(({ state }) => {\n if (!state.isOpen) {\n return;\n }\n\n const items = state.collections\n .reduce<unknown[]>((acc, current) => {\n return [...acc, ...current.items];\n }, [])\n .filter(isAlgoliaInsightsHit);\n\n if (\n !isEqual(\n previousItems.current.map((x) => x.objectID),\n items.map((x) => x.objectID)\n )\n ) {\n previousItems.current = items;\n\n if (items.length > 0) {\n sendViewedObjectIDs({ onItemsChange, items, insights, state });\n }\n }\n }, 0);\n\n return {\n name: 'aa.algoliaInsightsPlugin',\n subscribe({ setContext, onSelect, onActive }) {\n function setInsightsContext(userToken?: string) {\n setContext({\n algoliaInsightsPlugin: {\n __algoliaSearchParameters: {\n clickAnalytics: true,\n ...(userToken ? { userToken } : {}),\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 getOptions(options: CreateAlgoliaInsightsPluginParams) {\n return {\n onItemsChange({ insights, insightsEvents }: OnItemsChangeParams) {\n insights.viewedObjectIDs(\n ...insightsEvents.map((event) => ({\n ...event,\n algoliaSource: [\n ...(event.algoliaSource || []),\n 'autocomplete-internal',\n ],\n }))\n );\n },\n onSelect({ insights, insightsEvents }: OnSelectParams) {\n insights.clickedObjectIDsAfterSearch(\n ...insightsEvents.map((event) => ({\n ...event,\n algoliaSource: [\n ...(event.algoliaSource || []),\n 'autocomplete-internal',\n ],\n }))\n );\n },\n onActive: noop,\n ...options,\n };\n}\n\nfunction loadInsights(environment: typeof window) {\n const errorMessage = `[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete`;\n\n try {\n const script = environment.document.createElement('script');\n script.async = true;\n script.src = ALGOLIA_INSIGHTS_SRC;\n\n script.onerror = () => {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n };\n\n document.body.appendChild(script);\n } catch (cause) {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n }\n}\n"],"names":["createRef","initialValue","current","debounce","fn","time","timerId","undefined","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply","isPrimitive","obj","Object","isEqual","first","second","keys","_i","_Object$keys","key","noop","safelyRunOnBrowser","callback","window","createClickedEvent","_ref","item","_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","onSelectEvent","onSelect","onActiveEvent","onActive","pointer","AlgoliaAnalyticsObject","queue","loadInsights","previousItems","debouncedOnStateChange","isOpen","collections","filter","name","subscribe","setContext","setInsightsContext","algoliaInsightsPlugin","__algoliaSearchParameters","clickAnalytics","_error","source","getItems","_ref6","onStateChange","_ref7","__autocomplete_pluginOptions","_ref8","_ref9","environment","errorMessage","script","document","createElement","async","src","onerror","console","error","body","appendChild","cause"],"mappings":"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"}
|
|
1
|
+
{"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 OnActiveParams,\n OnItemsChangeParams,\n OnSelectParams,\n} from './types';\n\nconst VIEW_EVENT_DELAY = 400;\nconst ALGOLIA_INSIGHTS_VERSION = '2.6.0';\nconst ALGOLIA_INSIGHTS_SRC = `https://cdn.jsdelivr.net/npm/search-insights@${ALGOLIA_INSIGHTS_VERSION}/dist/search-insights.min.js`;\n\ntype SendViewedObjectIDsParams = {\n onItemsChange(params: OnItemsChangeParams): void;\n items: AlgoliaInsightsHit[];\n insights: AutocompleteInsightsApi;\n state: AutocompleteState<any>;\n};\n\nconst sendViewedObjectIDs = debounce<SendViewedObjectIDsParams>(\n ({ onItemsChange, items, insights, state }) => {\n onItemsChange({\n insights,\n insightsEvents: createViewedEvents({ items }).map((event) => ({\n eventName: 'Items Viewed',\n ...event,\n })),\n state,\n });\n },\n VIEW_EVENT_DELAY\n);\n\nexport type CreateAlgoliaInsightsPluginParams = {\n /**\n * The initialized Search Insights client.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-insightsclient\n */\n insightsClient?: InsightsClient;\n /**\n * Hook to send an Insights event when the items change.\n *\n * By default, it sends a `viewedObjectIDs` event.\n *\n * In as-you-type experiences, items change as the user types. This hook is debounced every 400ms to reflect actual items that users notice and avoid generating too many events for items matching \"in progress\" queries.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onitemschange\n */\n onItemsChange?(params: OnItemsChangeParams): void;\n /**\n * Hook to send an Insights event when an item is selected.\n *\n * By default, it sends a clickedObjectIDsAfterSearch event.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onselect\n */\n onSelect?(params: OnSelectParams): void;\n /**\n * Hook to send an Insights event when an item is active.\n *\n * By default, it doesn't send any events.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onactive\n */\n onActive?(params: OnActiveParams): void;\n /**\n * @internal\n */\n __autocomplete_clickAnalytics?: boolean;\n};\n\nexport function createAlgoliaInsightsPlugin(\n options: CreateAlgoliaInsightsPluginParams\n): AutocompletePlugin<any, undefined> {\n const {\n insightsClient: providedInsightsClient,\n onItemsChange,\n onSelect: onSelectEvent,\n onActive: onActiveEvent,\n __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 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) {\n setContext({\n algoliaInsightsPlugin: {\n __algoliaSearchParameters: {\n ...(__autocomplete_clickAnalytics\n ? { clickAnalytics: true }\n : {}),\n ...(userToken ? { userToken } : {}),\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"],"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","onSelectEvent","onSelect","onActiveEvent","onActive","__autocomplete_clickAnalytics","pointer","AlgoliaAnalyticsObject","queue","loadInsights","previousItems","debouncedOnStateChange","isOpen","collections","filter","name","subscribe","setContext","setInsightsContext","algoliaInsightsPlugin","__algoliaSearchParameters","clickAnalytics","_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"],"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
|
|
1
|
+
/*! @algolia/autocomplete-plugin-algolia-insights 1.12.1 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
|
|
2
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@algolia/autocomplete-plugin-algolia-insights"]={})}(this,(function(e){"use strict";function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function n(e){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?t(Object(i),!0).forEach((function(t){r(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function r(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function o(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,o,c,a=[],u=!0,l=!1;try{if(o=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;u=!1}else for(;!(u=(r=o.call(n)).done)&&(a.push(r.value),a.length!==t);u=!0);}catch(e){l=!0,i=e}finally{try{if(!u&&null!=n.return&&(c=n.return(),Object(c)!==c))return}finally{if(l)throw i}}return a}}(e,t)||a(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function c(e){return function(e){if(Array.isArray(e))return u(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||a(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,t){if(e){if("string"==typeof e)return u(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?u(e,t):void 0}}function u(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function l(e,t){var n=void 0;return function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];n&&clearTimeout(n),n=setTimeout((function(){return e.apply(void 0,i)}),t)}}function s(e){return e!==Object(e)}function f(e,t){if(e===t)return!0;if(s(e)||s(t)||"function"==typeof e||"function"==typeof t)return e===t;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n=0,r=Object.keys(e);n<r.length;n++){var i=r[n];if(!(i in t))return!1;if(!f(e[i],t[i]))return!1}return!0}var p=function(){};function m(e){var t=e.item,n=e.items,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.6.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"]:[]))}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.onItemsChange,o=t.onSelect,a=t.onActive,u=t.__autocomplete_clickAnalytics,s=r;r||function(e){if("undefined"!=typeof window)e({window:window})}((function(e){var t=e.window,n=t.AlgoliaAnalyticsObject||"aa";"string"==typeof n&&(s=t[n]),s||(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,s=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))}));var g=h(s),v={current:[]},d=l((function(e){var t=e.state;if(t.isOpen){var n=t.collections.reduce((function(e,t){return[].concat(c(e),c(t.items))}),[]).filter(j);f(v.current.map((function(e){return e.objectID})),n.map((function(e){return e.objectID})))||(v.current=n,n.length>0&&A({onItemsChange:i,items:n,insights:g,state:t}))}}),0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(e){var t=e.setContext,r=e.onSelect,i=e.onActive;function c(e){t({algoliaInsightsPlugin:{__algoliaSearchParameters:n(n({},u?{clickAnalytics:!0}:{}),e?{userToken:e}:{}),insights:g}})}s("addAlgoliaAgent","insights-plugin"),c(),s("onUserTokenChange",c),s("getUserToken",null,(function(e,t){c(t)})),r((function(e){var t=e.item,r=e.state,i=e.event,c=e.source;j(t)&&o({state:r,event:i,insights:g,item:t,insightsEvents:[n({eventName:"Item Selected"},m({item:t,items:c.getItems().filter(j)}))]})})),i((function(e){var t=e.item,r=e.source,i=e.state,o=e.event;j(t)&&a({state:i,event:o,insights:g,item:t,insightsEvents:[n({eventName:"Item Active"},m({item:t,items:r.getItems().filter(j)}))]})}))},onStateChange:function(e){var t=e.state;d({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 InsightsParamsWithItems,\n ViewedFiltersParams,\n ViewedObjectIDsParams,\n} from './types';\n\nfunction chunk<TItem extends { objectIDs: string[] }>(\n item: TItem,\n chunkSize: number = 20\n): TItem[] {\n const chunks: TItem[] = [];\n for (let i = 0; i < item.objectIDs.length; i += chunkSize) {\n chunks.push({\n ...item,\n objectIDs: item.objectIDs.slice(i, i + chunkSize),\n });\n }\n return chunks;\n}\n\nfunction mapToInsightsParamsApi<\n TInsightsParamsType extends {\n items: AlgoliaInsightsHit[];\n objectIDs?: string[];\n }\n>(params: TInsightsParamsType[]) {\n return params.map(({ items, ...param }) => ({\n ...param,\n objectIDs: items?.map(({ objectID }) => objectID) || param.objectIDs,\n }));\n}\n\nexport function createSearchInsightsApi(searchInsights: InsightsClient) {\n const canSendHeaders = isModernInsightsClient(searchInsights);\n\n function sendToInsights<TInsightsMethod extends InsightsClientMethod>(\n method: InsightsClientMethod,\n payloads: InsightsMethodMap[TInsightsMethod],\n items?: AlgoliaInsightsHit[]\n ) {\n if (canSendHeaders && typeof items !== 'undefined') {\n const { appId, apiKey } = items[0].__autocomplete_algoliaCredentials;\n const headers = {\n 'X-Algolia-Application-Id': appId,\n 'X-Algolia-API-Key': apiKey,\n };\n\n searchInsights(method, ...payloads, { headers });\n } else {\n searchInsights(method, ...payloads);\n }\n }\n\n return {\n /**\n * Initializes Insights with Algolia credentials.\n */\n init(appId: string, apiKey: string) {\n searchInsights('init', { appId, apiKey });\n },\n /**\n * Sets the user token to attach to events.\n */\n setUserToken(userToken: string) {\n searchInsights('setUserToken', userToken);\n },\n /**\n * Sends click events to capture a query and its clicked items and positions.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids-after-search/\n */\n clickedObjectIDsAfterSearch(\n ...params: Array<\n InsightsParamsWithItems<ClickedObjectIDsAfterSearchParams>\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'clickedObjectIDsAfterSearch',\n mapToInsightsParamsApi(params),\n params[0].items\n );\n }\n },\n /**\n * Sends click events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-object-ids/\n */\n clickedObjectIDs(\n ...params: Array<InsightsParamsWithItems<ClickedObjectIDsParams>>\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'clickedObjectIDs',\n mapToInsightsParamsApi(params),\n params[0].items\n );\n }\n },\n /**\n * Sends click events to capture the filters a user clicks on.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/clicked-filters/\n */\n clickedFilters(...params: ClickedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('clickedFilters', ...params);\n }\n },\n /**\n * Sends conversion events to capture a query and its clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids-after-search/\n */\n convertedObjectIDsAfterSearch(\n ...params: Array<\n InsightsParamsWithItems<ConvertedObjectIDsAfterSearchParams>\n >\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'convertedObjectIDsAfterSearch',\n mapToInsightsParamsApi(params),\n params[0].items\n );\n }\n },\n /**\n * Sends conversion events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-object-ids/\n */\n convertedObjectIDs(\n ...params: Array<InsightsParamsWithItems<ConvertedObjectIDsParams>>\n ) {\n if (params.length > 0) {\n sendToInsights(\n 'convertedObjectIDs',\n mapToInsightsParamsApi(params),\n params[0].items\n );\n }\n },\n /**\n * Sends conversion events to capture the filters a user uses when converting.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/converted-filters/\n */\n convertedFilters(...params: ConvertedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('convertedFilters', ...params);\n }\n },\n /**\n * Sends view events to capture clicked items.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-object-ids/\n */\n viewedObjectIDs(\n ...params: Array<InsightsParamsWithItems<ViewedObjectIDsParams>>\n ) {\n if (params.length > 0) {\n params\n .reduce<\n Array<{\n items?: AlgoliaInsightsHit[];\n payload: ViewedObjectIDsParams;\n }>\n >(\n (acc, { items, ...param }) => [\n ...acc,\n ...chunk<ViewedObjectIDsParams>({\n ...param,\n objectIDs:\n items?.map(({ objectID }) => objectID) || param.objectIDs,\n }).map((payload) => {\n return { items, payload };\n }),\n ],\n []\n )\n .forEach(({ items, payload }) =>\n sendToInsights('viewedObjectIDs', [payload], items)\n );\n }\n },\n /**\n * Sends view events to capture the filters a user uses when viewing.\n *\n * @link https://www.algolia.com/doc/api-reference/api-methods/viewed-filters/\n */\n viewedFilters(...params: ViewedFiltersParams[]) {\n if (params.length > 0) {\n searchInsights('viewedFilters', ...params);\n }\n },\n };\n}\n","import type { InsightsClient } from './types';\n\n/**\n * Determines if a given insights `client` supports the optional call to `init`\n * and the ability to set credentials via extra parameters when sending events.\n */\nexport function isModernInsightsClient(client: InsightsClient): boolean {\n const [major, minor] = (client.version || '').split('.').map(Number);\n\n /* eslint-disable @typescript-eslint/camelcase */\n const v3 = major >= 3;\n const v2_4 = major === 2 && minor >= 4;\n const v1_10 = major === 1 && minor >= 10;\n\n return v3 || v2_4 || v1_10;\n /* eslint-enable @typescript-eslint/camelcase */\n}\n","import {\n AlgoliaInsightsHit,\n InsightsParamsWithItems,\n ViewedObjectIDsParams,\n} from './types';\n\ntype CreateViewedEventsParams = {\n items: AlgoliaInsightsHit[];\n};\n\nexport function createViewedEvents({\n items,\n}: CreateViewedEventsParams): Array<\n Omit<InsightsParamsWithItems<ViewedObjectIDsParams>, 'eventName'>\n> {\n const itemsByIndexName = items.reduce<Record<string, AlgoliaInsightsHit[]>>(\n (acc, current) => {\n acc[current.__autocomplete_indexName] = (\n acc[current.__autocomplete_indexName] ?? []\n ).concat(current);\n\n return acc;\n },\n {}\n );\n\n return Object.keys(itemsByIndexName).map((indexName) => {\n const items = itemsByIndexName[indexName];\n\n return {\n index: indexName,\n items,\n algoliaSource: ['autocomplete'],\n };\n });\n}\n","import { AlgoliaInsightsHit } from './types';\n\nexport function isAlgoliaInsightsHit(hit: any): hit is AlgoliaInsightsHit {\n return (\n hit.objectID && hit.__autocomplete_indexName && hit.__autocomplete_queryID\n );\n}\n","import {\n AutocompleteState,\n AutocompletePlugin,\n createRef,\n debounce,\n isEqual,\n noop,\n safelyRunOnBrowser,\n} from '@algolia/autocomplete-shared';\nimport { AutocompleteReshapeSource } 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 OnActiveParams,\n OnItemsChangeParams,\n OnSelectParams,\n} from './types';\n\nconst VIEW_EVENT_DELAY = 400;\nconst ALGOLIA_INSIGHTS_VERSION = '2.6.0';\nconst ALGOLIA_INSIGHTS_SRC = `https://cdn.jsdelivr.net/npm/search-insights@${ALGOLIA_INSIGHTS_VERSION}/dist/search-insights.min.js`;\n\ntype SendViewedObjectIDsParams = {\n onItemsChange(params: OnItemsChangeParams): void;\n items: AlgoliaInsightsHit[];\n insights: AutocompleteInsightsApi;\n state: AutocompleteState<any>;\n};\n\nconst sendViewedObjectIDs = debounce<SendViewedObjectIDsParams>(\n ({ onItemsChange, items, insights, state }) => {\n onItemsChange({\n insights,\n insightsEvents: createViewedEvents({ items }).map((event) => ({\n eventName: 'Items Viewed',\n ...event,\n })),\n state,\n });\n },\n VIEW_EVENT_DELAY\n);\n\nexport type CreateAlgoliaInsightsPluginParams = {\n /**\n * The initialized Search Insights client.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-insightsclient\n */\n insightsClient?: InsightsClient;\n /**\n * Hook to send an Insights event when the items change.\n *\n * By default, it sends a `viewedObjectIDs` event.\n *\n * In as-you-type experiences, items change as the user types. This hook is debounced every 400ms to reflect actual items that users notice and avoid generating too many events for items matching \"in progress\" queries.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onitemschange\n */\n onItemsChange?(params: OnItemsChangeParams): void;\n /**\n * Hook to send an Insights event when an item is selected.\n *\n * By default, it sends a clickedObjectIDsAfterSearch event.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onselect\n */\n onSelect?(params: OnSelectParams): void;\n /**\n * Hook to send an Insights event when an item is active.\n *\n * By default, it doesn't send any events.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onactive\n */\n onActive?(params: OnActiveParams): void;\n};\n\nexport function createAlgoliaInsightsPlugin(\n options: CreateAlgoliaInsightsPluginParams\n): AutocompletePlugin<any, undefined> {\n const {\n insightsClient: providedInsightsClient,\n onItemsChange,\n onSelect: onSelectEvent,\n onActive: onActiveEvent,\n } = getOptions(options);\n let insightsClient = providedInsightsClient as InsightsClient;\n\n if (!providedInsightsClient) {\n safelyRunOnBrowser(({ window }) => {\n const pointer = window.AlgoliaAnalyticsObject || 'aa';\n\n if (typeof pointer === 'string') {\n insightsClient = window[pointer];\n }\n\n if (!insightsClient) {\n window.AlgoliaAnalyticsObject = pointer;\n\n if (!window[pointer]) {\n window[pointer] = (...args: any[]) => {\n if (!window[pointer].queue) {\n window[pointer].queue = [];\n }\n\n window[pointer].queue.push(args);\n };\n }\n\n window[pointer].version = ALGOLIA_INSIGHTS_VERSION;\n\n insightsClient = window[pointer];\n\n loadInsights(window);\n }\n });\n }\n\n const insights = createSearchInsightsApi(insightsClient);\n const previousItems = createRef<AlgoliaInsightsHit[]>([]);\n\n const debouncedOnStateChange = debounce<{\n state: AutocompleteState<any>;\n }>(({ state }) => {\n if (!state.isOpen) {\n return;\n }\n\n const items = state.collections\n .reduce<unknown[]>((acc, current) => {\n return [...acc, ...current.items];\n }, [])\n .filter(isAlgoliaInsightsHit);\n\n if (\n !isEqual(\n previousItems.current.map((x) => x.objectID),\n items.map((x) => x.objectID)\n )\n ) {\n previousItems.current = items;\n\n if (items.length > 0) {\n sendViewedObjectIDs({ onItemsChange, items, insights, state });\n }\n }\n }, 0);\n\n return {\n name: 'aa.algoliaInsightsPlugin',\n subscribe({ setContext, onSelect, onActive }) {\n function setInsightsContext(userToken?: string) {\n setContext({\n algoliaInsightsPlugin: {\n __algoliaSearchParameters: {\n clickAnalytics: true,\n ...(userToken ? { userToken } : {}),\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 getOptions(options: CreateAlgoliaInsightsPluginParams) {\n return {\n onItemsChange({ insights, insightsEvents }: OnItemsChangeParams) {\n insights.viewedObjectIDs(\n ...insightsEvents.map((event) => ({\n ...event,\n algoliaSource: [\n ...(event.algoliaSource || []),\n 'autocomplete-internal',\n ],\n }))\n );\n },\n onSelect({ insights, insightsEvents }: OnSelectParams) {\n insights.clickedObjectIDsAfterSearch(\n ...insightsEvents.map((event) => ({\n ...event,\n algoliaSource: [\n ...(event.algoliaSource || []),\n 'autocomplete-internal',\n ],\n }))\n );\n },\n onActive: noop,\n ...options,\n };\n}\n\nfunction loadInsights(environment: typeof window) {\n const errorMessage = `[Autocomplete]: Could not load search-insights.js. Please load it manually following https://alg.li/insights-autocomplete`;\n\n try {\n const script = environment.document.createElement('script');\n script.async = true;\n script.src = ALGOLIA_INSIGHTS_SRC;\n\n script.onerror = () => {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n };\n\n document.body.appendChild(script);\n } catch (cause) {\n // eslint-disable-next-line no-console\n console.error(errorMessage);\n }\n}\n","/**\n * Safely runs code meant for browser environments only.\n */\nexport function safelyRunOnBrowser(callback) {\n if (typeof window !== 'undefined') {\n return callback({\n window: window\n });\n }\n return undefined;\n}","export function createRef(initialValue) {\n return {\n current: initialValue\n };\n}"],"names":["debounce","fn","time","timerId","undefined","_len","arguments","length","args","Array","_key","clearTimeout","setTimeout","apply","isPrimitive","obj","Object","isEqual","first","second","keys","_i","_Object$keys","key","noop","createClickedEvent","_ref","item","_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","options","_getOptions","_ref8","onSelect","_ref9","onActive","getOptions","providedInsightsClient","insightsClient","onSelectEvent","onActiveEvent","callback","window","safelyRunOnBrowser","pointer","AlgoliaAnalyticsObject","queue","environment","errorMessage","script","document","createElement","async","src","onerror","console","error","body","appendChild","cause","loadInsights","previousItems","debouncedOnStateChange","isOpen","collections","filter","name","subscribe","setContext","setInsightsContext","algoliaInsightsPlugin","__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 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 OnActiveParams,\n OnItemsChangeParams,\n OnSelectParams,\n} from './types';\n\nconst VIEW_EVENT_DELAY = 400;\nconst ALGOLIA_INSIGHTS_VERSION = '2.6.0';\nconst ALGOLIA_INSIGHTS_SRC = `https://cdn.jsdelivr.net/npm/search-insights@${ALGOLIA_INSIGHTS_VERSION}/dist/search-insights.min.js`;\n\ntype SendViewedObjectIDsParams = {\n onItemsChange(params: OnItemsChangeParams): void;\n items: AlgoliaInsightsHit[];\n insights: AutocompleteInsightsApi;\n state: AutocompleteState<any>;\n};\n\nconst sendViewedObjectIDs = debounce<SendViewedObjectIDsParams>(\n ({ onItemsChange, items, insights, state }) => {\n onItemsChange({\n insights,\n insightsEvents: createViewedEvents({ items }).map((event) => ({\n eventName: 'Items Viewed',\n ...event,\n })),\n state,\n });\n },\n VIEW_EVENT_DELAY\n);\n\nexport type CreateAlgoliaInsightsPluginParams = {\n /**\n * The initialized Search Insights client.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-insightsclient\n */\n insightsClient?: InsightsClient;\n /**\n * Hook to send an Insights event when the items change.\n *\n * By default, it sends a `viewedObjectIDs` event.\n *\n * In as-you-type experiences, items change as the user types. This hook is debounced every 400ms to reflect actual items that users notice and avoid generating too many events for items matching \"in progress\" queries.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onitemschange\n */\n onItemsChange?(params: OnItemsChangeParams): void;\n /**\n * Hook to send an Insights event when an item is selected.\n *\n * By default, it sends a clickedObjectIDsAfterSearch event.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onselect\n */\n onSelect?(params: OnSelectParams): void;\n /**\n * Hook to send an Insights event when an item is active.\n *\n * By default, it doesn't send any events.\n *\n * @link https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-plugin-algolia-insights/createAlgoliaInsightsPlugin/#param-onactive\n */\n onActive?(params: OnActiveParams): void;\n /**\n * @internal\n */\n __autocomplete_clickAnalytics?: boolean;\n};\n\nexport function createAlgoliaInsightsPlugin(\n options: CreateAlgoliaInsightsPluginParams\n): AutocompletePlugin<any, undefined> {\n const {\n insightsClient: providedInsightsClient,\n onItemsChange,\n onSelect: onSelectEvent,\n onActive: onActiveEvent,\n __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 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) {\n setContext({\n algoliaInsightsPlugin: {\n __algoliaSearchParameters: {\n ...(__autocomplete_clickAnalytics\n ? { clickAnalytics: true }\n : {}),\n ...(userToken ? { userToken } : {}),\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 * 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","options","_getOptions","_ref8","onSelect","_ref9","onActive","__autocomplete_clickAnalytics","getOptions","providedInsightsClient","insightsClient","onSelectEvent","onActiveEvent","callback","window","safelyRunOnBrowser","pointer","AlgoliaAnalyticsObject","queue","environment","errorMessage","script","document","createElement","async","src","onerror","console","error","body","appendChild","cause","loadInsights","previousItems","debouncedOnStateChange","isOpen","collections","filter","name","subscribe","setContext","setInsightsContext","__algoliaSearchParameters","clickAnalytics","_error","source","getItems","_ref6","onStateChange","_ref7","__autocomplete_pluginOptions"],"mappings":";mhGAAO,SAASA,EAASC,EAAIC,GAC3B,IAAIC,OAAUC,EACd,OAAO,WACL,IAAK,IAAIC,EAAOC,UAAUC,OAAQC,EAAO,IAAIC,MAAMJ,GAAOK,EAAO,EAAGA,EAAOL,EAAMK,IAC/EF,EAAKE,GAAQJ,UAAUI,GAErBP,GACFQ,aAAaR,GAEfA,EAAUS,YAAW,WACnB,OAAOX,EAAGY,WAAM,EAAQL,KACvBN,ICXP,SAASY,EAAYC,GACnB,OAAOA,IAAQC,OAAOD,GAEjB,SAASE,EAAQC,EAAOC,GAC7B,GAAID,IAAUC,EACZ,OAAO,EAET,GAAIL,EAAYI,IAAUJ,EAAYK,IAA4B,mBAAVD,GAA0C,mBAAXC,EACrF,OAAOD,IAAUC,EAEnB,GAAIH,OAAOI,KAAKF,GAAOX,SAAWS,OAAOI,KAAKD,GAAQZ,OACpD,OAAO,EAET,IAAK,IAAIc,EAAK,EAAGC,EAAeN,OAAOI,KAAKF,GAAQG,EAAKC,EAAaf,OAAQc,IAAM,CAClF,IAAIE,EAAMD,EAAaD,GACvB,KAAME,KAAOJ,GACX,OAAO,EAET,IAAKF,EAAQC,EAAMK,GAAMJ,EAAOI,IAC9B,OAAO,EAGX,OAAO,ECtBF,IAAIC,EAAO,aCWX,SAASC,EAAkBC,GAMD,IAL/BC,EAAID,EAAJC,KAAIC,EAAAF,EACJG,MAAAA,OAAQ,IAAHD,EAAG,GAAEA,EAKV,MAAO,CACLE,MAAOH,EAAKI,yBACZF,MAAO,CAACF,GACRK,UAAW,CAAC,EAAIH,EAAMI,WAAU,SAACC,GAAC,OAAKA,EAAEC,WAAaR,EAAKQ,aAC3DC,QAAST,EAAKU,uBACdC,cAAe,CAAC,6CCJpB,SAASC,EACPZ,GAIA,IAFS,IADTa,EAAiBlC,UAAAC,OAAA,QAAAH,IAAAE,UAAA,GAAAA,UAAA,GAAG,GAEdmC,EAAkB,GACfC,EAAI,EAAGA,EAAIf,EAAKgB,UAAUpC,OAAQmC,GAAKF,EAC9CC,EAAOG,KAAIC,EAAAA,KACNlB,GAAI,GAAA,CACPgB,UAAWhB,EAAKgB,UAAUG,MAAMJ,EAAGA,EAAIF,MAG3C,OAAOC,EAGT,SAASM,EAKPC,GACA,OAAOA,EAAOC,KAAI,SAAAvB,GAAA,IAAGG,EAAKH,EAALG,MAAUqB,EAAKC,EAAAzB,EAAA0B,GAAA,OAAAP,EAAAA,EAAA,GAC/BK,GAAK,GAAA,CACRP,WAAWd,MAAAA,OAAAA,EAAAA,EAAOoB,KAAI,SAAAI,GAAW,OAAAA,EAARlB,cAA4Be,EAAMP,eAIxD,SAASW,EAAwBC,GACtC,ICvCoEC,EAA7DC,EAAOC,EDuCRC,GCvC8DH,EAAAI,GDuCtBL,ECvCfM,SAAW,IAAIC,MAAM,KAAKb,IAAIc,QAAO,GAA7DN,EAAKD,EAAA,GAAEE,EAAKF,EAAA,GAGRC,GAAS,GACG,IAAVA,GAAeC,GAAS,GACb,IAAVD,GAAeC,GAAS,IDoCtC,SAASM,EACPC,EACAC,EACArC,GAEA,GAAI8B,QAAmC,IAAV9B,EAAuB,CAClD,IAAAsC,EAA0BtC,EAAM,GAAGuC,kCAC7BC,EAAU,CACd,2BAFWF,EAALG,MAGN,oBAHmBH,EAANI,QAMfhB,EAAc1C,WAAA,EAAA,CAACoD,GAAMO,OAAAC,EAAKP,GAAU,CAAA,CAAEG,QAAAA,WAEtCd,EAAc1C,WAAA,EAAA,CAACoD,GAAMO,OAAAC,EAAKP,KAI9B,MAAO,CAILQ,KAAIA,SAACJ,EAAeC,GAClBhB,EAAe,OAAQ,CAAEe,MAAAA,EAAOC,OAAAA,KAKlCI,aAAY,SAACC,GACXrB,EAAe,eAAgBqB,IAOjCC,4BAA2B,WAMzB,IAAA,IAAAxE,EAAAC,UAAAC,OALGyC,EAAMvC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAANsC,EAAMtC,GAAAJ,UAAAI,GAMLsC,EAAOzC,OAAS,GAClByD,EACE,8BACAjB,EAEEC,GACFA,EAAO,GAAGnB,QAShBiD,iBAAgB,WAId,IAAA,IAAAC,EAAAzE,UAAAC,OAHGyC,EAAMvC,IAAAA,MAAAsE,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAANhC,EAAMgC,GAAA1E,UAAA0E,GAILhC,EAAOzC,OAAS,GAClByD,EACE,mBACAjB,EAEEC,GACFA,EAAO,GAAGnB,QAShBoD,eAAc,WAEZ,IAAA,IAAAC,EAAA5E,UAAAC,OADGyC,EAAMvC,IAAAA,MAAAyE,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAANnC,EAAMmC,GAAA7E,UAAA6E,GAELnC,EAAOzC,OAAS,GAClBgD,EAAc1C,WAAC,EAAA,CAAA,kBAAgB2D,OAAKxB,KAQxCoC,8BAA6B,WAM3B,IAAA,IAAAC,EAAA/E,UAAAC,OALGyC,EAAMvC,IAAAA,MAAA4E,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAANtC,EAAMsC,GAAAhF,UAAAgF,GAMLtC,EAAOzC,OAAS,GAClByD,EACE,gCACAjB,EAEEC,GACFA,EAAO,GAAGnB,QAShB0D,mBAAkB,WAIhB,IAAA,IAAAC,EAAAlF,UAAAC,OAHGyC,EAAMvC,IAAAA,MAAA+E,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAANzC,EAAMyC,GAAAnF,UAAAmF,GAILzC,EAAOzC,OAAS,GAClByD,EACE,qBACAjB,EAEEC,GACFA,EAAO,GAAGnB,QAShB6D,iBAAgB,WAEd,IAAA,IAAAC,EAAArF,UAAAC,OADGyC,EAAMvC,IAAAA,MAAAkF,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAN5C,EAAM4C,GAAAtF,UAAAsF,GAEL5C,EAAOzC,OAAS,GAClBgD,EAAc1C,WAAC,EAAA,CAAA,oBAAkB2D,OAAKxB,KAQ1C6C,gBAAe,WAIb,IAAA,IAAAC,EAAAxF,UAAAC,OAHGyC,EAAMvC,IAAAA,MAAAqF,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAN/C,EAAM+C,GAAAzF,UAAAyF,GAIL/C,EAAOzC,OAAS,GAClByC,EACGgD,QAMC,SAACC,EAAGC,GAAA,IAAIrE,EAAKqE,EAALrE,MAAUqB,EAAKC,EAAA+C,EAAAC,GAAA,MAAA,GAAA3B,OAAAC,EAClBwB,GAAGxB,EACHlC,EAAKM,EAAAA,KACHK,GAAK,GAAA,CACRP,WACEd,MAAAA,OAAAA,EAAAA,EAAOoB,KAAI,SAAAmD,GAAW,OAAAA,EAARjE,cAA4Be,EAAMP,aACjDM,KAAI,SAACoD,GACN,MAAO,CAAExE,MAAAA,EAAOwE,QAAAA,UAGpB,IAEDC,SAAQ,SAAAC,GAAA,IAAG1E,EAAK0E,EAAL1E,MAAc,OACxBmC,EAAe,kBAAmB,CADVuC,EAAPF,SAC4BxE,OASrD2E,cAAa,WAA6D,IAAA,IAAAC,EAAAnG,UAAAC,OAAzDyC,EAAMvC,IAAAA,MAAAgG,GAAAC,EAAA,EAAAA,EAAAD,EAAAC,IAAN1D,EAAM0D,GAAApG,UAAAoG,GACjB1D,EAAOzC,OAAS,GAClBgD,EAAc1C,WAAC,EAAA,CAAA,iBAAe2D,OAAKxB,ME3NpC,SAAS2D,EAAkBjF,GAIhC,IACMkF,EAJDlF,EAALG,MAI+BmE,QAC7B,SAACC,EAAKY,GAAY,IAAAC,EAKhB,OAJAb,EAAIY,EAAQ9E,2BAC2B+E,QADCA,EACtCb,EAAIY,EAAQ9E,iCAAyB+E,IAAAA,EAAAA,EAAI,IACzCtC,OAAOqC,GAEFZ,IAET,IAGF,OAAOjF,OAAOI,KAAKwF,GAAkB3D,KAAI,SAAC8D,GAGxC,MAAO,CACLjF,MAAOiF,EACPlF,MAJY+E,EAAiBG,GAK7BzE,cAAe,CAAC,oBC9Bf,SAAS0E,EAAqBC,GACnC,OACEA,EAAI9E,UAAY8E,EAAIlF,0BAA4BkF,EAAI5E,uBCuBxD,IACM6E,EAA2B,QAC3BC,EAAoB,gDAAA3C,OAAmD0C,EAAsD,gCAS7HE,EAAsBpH,GAC1B,SAAA0B,GAA+C,IAA5C2F,EAAa3F,EAAb2F,cAAexF,EAAKH,EAALG,MAAOyF,EAAQ5F,EAAR4F,SAAUC,EAAK7F,EAAL6F,MACjCF,EAAc,CACZC,SAAAA,EACAE,eAAgBb,EAAmB,CAAE9E,MAAAA,IAASoB,KAAI,SAACwE,GAAK,OAAA5E,EAAA,CACtD6E,UAAW,gBACRD,MAELF,MAAAA,MAnBmB,KAwNzB,SAASI,IAGP,IAAAC,EAFAC,EAA2BvH,UAAAC,OAAA,QAAAH,IAAAE,UAAA,GAAAA,UAAA,GAAG,GAC9BwH,EAA4BxH,UAAAC,OAAAD,EAAAA,kBAAAF,EAE5B,MAAAoE,GAAAA,OAAAC,EACKoD,GACH,CAAA,yBAAuBpD,EACW,QAA9BmD,EAACE,EAAQC,6BAAqB,IAAAH,GAA9BA,EACAI,oBACA,CAAC,0BACD,mCAlKD,SACLC,GAEA,IAAAC,EAmKF,SAAoBD,GAClB,OAAApF,EAAA,CACEwE,cAAa,SAAAc,GAA2D,IAAxDb,EAAQa,EAARb,SAAUE,EAAcW,EAAdX,eAAgBD,EAAKY,EAALZ,MACxCD,EAASzB,gBAAehF,MAAxByG,EAAQ7C,EACH+C,EAAevE,KAAI,SAACwE,GAAK,OAAA5E,EAAAA,EAAA,GACvB4E,GAAK,GAAA,CACRnF,cAAeqF,EAAkBF,EAAMnF,cAAeiF,EAAMO,iBAIlEM,SAAQ,SAAAC,GAAsD,IAAnDf,EAAQe,EAARf,SAAUE,EAAca,EAAdb,eAAgBD,EAAKc,EAALd,MACnCD,EAASzC,4BAA2BhE,MAApCyG,EAAQ7C,EACH+C,EAAevE,KAAI,SAACwE,GAAK,OAAA5E,EAAAA,EAAA,GACvB4E,GAAK,GAAA,CACRnF,cAAeqF,EAAkBF,EAAMnF,cAAeiF,EAAMO,iBAIlEQ,SAAU9G,EACV+G,+BAA+B,GAC5BN,GAjLDO,CAAWP,GALGQ,EAAsBP,EAAtCQ,eACArB,EAAaa,EAAbb,cACUsB,EAAaT,EAAvBE,SACUQ,EAAaV,EAAvBI,SACAC,EAA6BL,EAA7BK,8BAEEG,EAAiBD,EAEhBA,GCpGA,SAA4BI,GACjC,GAAsB,oBAAXC,OACFD,EAAS,CACdC,OAAQA,SDkGVC,EAAmB,SAAA1F,GAAgB,IAAbyF,EAAMzF,EAANyF,OACdE,EAAUF,EAAOG,wBAA0B,KAE1B,iBAAZD,IACTN,EAAiBI,EAAOE,IAGrBN,IACHI,EAAOG,uBAAyBD,EAE3BF,EAAOE,KACVF,EAAOE,GAAW,WACXF,EAAOE,GAASE,QACnBJ,EAAOE,GAASE,MAAQ,IACzB,IAAA,IAAA7I,EAAAC,UAAAC,OAHmBC,EAAIC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAJF,EAAIE,GAAAJ,UAAAI,GAKxBoI,EAAOE,GAASE,MAAMtG,KAAKpC,KAI/BsI,EAAOE,GAASnF,QAAUqD,EAE1BwB,EAAiBI,EAAOE,GA2JhC,SAAsBG,GACpB,IAAMC,EAA0I,4HAEhJ,IACE,IAAMC,EAASF,EAAYG,SAASC,cAAc,UAClDF,EAAOG,OAAQ,EACfH,EAAOI,IAAMtC,EAEbkC,EAAOK,QAAU,WAEfC,QAAQC,MAAMR,IAGhBE,SAASO,KAAKC,YAAYT,GAC1B,MAAOU,GAEPJ,QAAQC,MAAMR,IAzKVY,CAAalB,OAKnB,IAAMxB,EAAWhE,EAAwBoF,GACnCuB,EErIC,CACLpD,QFoIoD,IAEhDqD,EAAyBlK,GAE5B,SAAAkG,GAAe,IAAZqB,EAAKrB,EAALqB,MACJ,GAAKA,EAAM4C,OAAX,CAIA,IAAMtI,EAAQ0F,EAAM6C,YACjBpE,QAAkB,SAACC,EAAKY,GACvB,MAAArC,GAAAA,OAAAC,EAAWwB,GAAGxB,EAAKoC,EAAQhF,UAC1B,IACFwI,OAAOrD,GAGP/F,EACCgJ,EAAcpD,QAAQ5D,KAAI,SAACf,GAAC,OAAKA,EAAEC,YACnCN,EAAMoB,KAAI,SAACf,GAAC,OAAKA,EAAEC,eAGrB8H,EAAcpD,QAAUhF,EAEpBA,EAAMtB,OAAS,GACjB6G,EAAoB,CAAEC,cAAAA,EAAexF,MAAAA,EAAOyF,SAAAA,EAAUC,MAAAA,QAGzD,GAEH,MAAO,CACL+C,KAAM,2BACNC,UAAS,SAAAnE,GAAqC,IAAlCoE,EAAUpE,EAAVoE,WAAYpC,EAAQhC,EAARgC,SAAUE,EAAQlC,EAARkC,SAChC,SAASmC,EAAmB7F,GAC1B4F,EAAW,CACTzC,sBAAuB,CACrB2C,0BAAyB7H,EAAAA,EAAA,GACnB0F,EACA,CAAEoC,gBAAgB,GAClB,IACA/F,EAAY,CAAEA,UAAAA,GAAc,IAElC0C,SAAAA,KAKNoB,EAAe,kBAAmB,mBAElC+B,IACA/B,EAAe,oBAAqB+B,GACpC/B,EAAe,eAAgB,MAAM,SAACkC,EAAQhG,GAC5C6F,EAAmB7F,MAGrBwD,GAAS,SAAA7B,GAAoC,IAAjC5E,EAAI4E,EAAJ5E,KAAM4F,EAAKhB,EAALgB,MAAOE,EAAKlB,EAALkB,MAAOoD,EAAMtE,EAANsE,OACzB7D,EAAqBrF,IAI1BgH,EAAc,CACZpB,MAAOA,EACPE,MAAAA,EACAH,SAAAA,EACA3F,KAAAA,EACA6F,eAAgB,CAAA3E,EAAA,CAEZ6E,UAAW,iBACRjG,EAAmB,CACpBE,KAAAA,EACAE,MAAQgJ,EACLC,WACAT,OAAOrD,YAOpBsB,GAAS,SAAAyC,GAAoC,IAAjCpJ,EAAIoJ,EAAJpJ,KAAMkJ,EAAME,EAANF,OAAQtD,EAAKwD,EAALxD,MAAOE,EAAKsD,EAALtD,MAC1BT,EAAqBrF,IAI1BiH,EAAc,CACZrB,MAAOA,EACPE,MAAAA,EACAH,SAAAA,EACA3F,KAAAA,EACA6F,eAAgB,CAAA3E,EAAA,CAEZ6E,UAAW,eACRjG,EAAmB,CACpBE,KAAAA,EACAE,MAAQgJ,EACLC,WACAT,OAAOrD,aAOtBgE,cAAa,SAAAC,GAAY,IAAT1D,EAAK0D,EAAL1D,MACd2C,EAAuB,CAAE3C,MAAOA,KAElC2D,6BAA8BjD"}
|
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.12.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.12.1"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
37
|
"search-insights": ">= 1 < 3"
|