@algolia/autocomplete-core 1.4.1 → 1.5.0
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/createAutocomplete.d.ts +8 -2
- package/dist/esm/createAutocomplete.js +9 -1
- package/dist/esm/createStore.js +1 -1
- package/dist/esm/getAutocompleteSetters.js +1 -1
- package/dist/esm/getDefaultProps.js +2 -2
- package/dist/esm/getPropGetters.js +16 -10
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.js +1 -2
- package/dist/esm/metadata.d.ts +33 -0
- package/dist/esm/metadata.js +44 -0
- package/dist/esm/onInput.js +4 -2
- package/dist/esm/onKeyDown.js +4 -2
- package/dist/esm/reshape.js +1 -1
- package/dist/esm/resolve.js +2 -2
- package/dist/esm/stateReducer.js +1 -1
- package/dist/esm/types/AutocompleteApi.js +1 -0
- package/dist/esm/types/AutocompleteCollection.js +1 -0
- package/dist/esm/types/AutocompleteContext.js +1 -0
- package/dist/esm/types/AutocompleteEnvironment.d.ts +1 -0
- package/dist/esm/types/AutocompleteEnvironment.js +1 -0
- package/dist/esm/types/AutocompleteNavigator.js +1 -0
- package/dist/esm/types/AutocompleteOptions.js +1 -0
- package/dist/esm/types/AutocompletePlugin.d.ts +10 -0
- package/dist/esm/types/AutocompletePlugin.js +1 -0
- package/dist/esm/types/AutocompletePropGetters.js +1 -0
- package/dist/esm/types/AutocompleteReshape.js +1 -0
- package/dist/esm/types/AutocompleteSetters.js +1 -0
- package/dist/esm/types/AutocompleteSource.js +1 -0
- package/dist/esm/types/AutocompleteState.js +1 -0
- package/dist/esm/types/AutocompleteStore.js +1 -0
- package/dist/esm/types/AutocompleteSubscribers.js +1 -0
- package/dist/esm/utils/getNormalizedSources.js +1 -1
- package/dist/esm/utils/mapToAlgoliaResponse.js +1 -1
- package/dist/umd/index.development.js +116 -53
- 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 +3 -3
- package/dist/esm/version.d.ts +0 -1
- package/dist/esm/version.js +0 -1
|
@@ -1,49 +1,22 @@
|
|
|
1
|
-
/*! @algolia/autocomplete-core 1.
|
|
1
|
+
/*! @algolia/autocomplete-core 1.5.0 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
|
|
2
2
|
(function (global, factory) {
|
|
3
3
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
4
4
|
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
|
5
5
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global['@algolia/autocomplete-core'] = {}));
|
|
6
6
|
}(this, (function (exports) { 'use strict';
|
|
7
7
|
|
|
8
|
-
function _typeof(obj) {
|
|
9
|
-
"@babel/helpers - typeof";
|
|
10
|
-
|
|
11
|
-
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
|
|
12
|
-
_typeof = function (obj) {
|
|
13
|
-
return typeof obj;
|
|
14
|
-
};
|
|
15
|
-
} else {
|
|
16
|
-
_typeof = function (obj) {
|
|
17
|
-
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return _typeof(obj);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function _defineProperty(obj, key, value) {
|
|
25
|
-
if (key in obj) {
|
|
26
|
-
Object.defineProperty(obj, key, {
|
|
27
|
-
value: value,
|
|
28
|
-
enumerable: true,
|
|
29
|
-
configurable: true,
|
|
30
|
-
writable: true
|
|
31
|
-
});
|
|
32
|
-
} else {
|
|
33
|
-
obj[key] = value;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
return obj;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
8
|
function ownKeys(object, enumerableOnly) {
|
|
40
9
|
var keys = Object.keys(object);
|
|
41
10
|
|
|
42
11
|
if (Object.getOwnPropertySymbols) {
|
|
43
12
|
var symbols = Object.getOwnPropertySymbols(object);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
13
|
+
|
|
14
|
+
if (enumerableOnly) {
|
|
15
|
+
symbols = symbols.filter(function (sym) {
|
|
16
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
|
|
47
20
|
keys.push.apply(keys, symbols);
|
|
48
21
|
}
|
|
49
22
|
|
|
@@ -70,6 +43,37 @@
|
|
|
70
43
|
return target;
|
|
71
44
|
}
|
|
72
45
|
|
|
46
|
+
function _typeof(obj) {
|
|
47
|
+
"@babel/helpers - typeof";
|
|
48
|
+
|
|
49
|
+
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
|
|
50
|
+
_typeof = function (obj) {
|
|
51
|
+
return typeof obj;
|
|
52
|
+
};
|
|
53
|
+
} else {
|
|
54
|
+
_typeof = function (obj) {
|
|
55
|
+
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return _typeof(obj);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function _defineProperty(obj, key, value) {
|
|
63
|
+
if (key in obj) {
|
|
64
|
+
Object.defineProperty(obj, key, {
|
|
65
|
+
value: value,
|
|
66
|
+
enumerable: true,
|
|
67
|
+
configurable: true,
|
|
68
|
+
writable: true
|
|
69
|
+
});
|
|
70
|
+
} else {
|
|
71
|
+
obj[key] = value;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return obj;
|
|
75
|
+
}
|
|
76
|
+
|
|
73
77
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
74
78
|
if (source == null) return {};
|
|
75
79
|
var target = {};
|
|
@@ -115,7 +119,7 @@
|
|
|
115
119
|
}
|
|
116
120
|
|
|
117
121
|
function _iterableToArray(iter) {
|
|
118
|
-
if (typeof Symbol !== "undefined" && Symbol.iterator
|
|
122
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
119
123
|
}
|
|
120
124
|
|
|
121
125
|
function _unsupportedIterableToArray(o, minLen) {
|
|
@@ -167,14 +171,17 @@
|
|
|
167
171
|
}
|
|
168
172
|
|
|
169
173
|
function _iterableToArrayLimit(arr, i) {
|
|
170
|
-
|
|
174
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
175
|
+
|
|
176
|
+
if (_i == null) return;
|
|
171
177
|
var _arr = [];
|
|
172
178
|
var _n = true;
|
|
173
179
|
var _d = false;
|
|
174
|
-
|
|
180
|
+
|
|
181
|
+
var _s, _e;
|
|
175
182
|
|
|
176
183
|
try {
|
|
177
|
-
for (
|
|
184
|
+
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
|
|
178
185
|
_arr.push(_s.value);
|
|
179
186
|
|
|
180
187
|
if (i && _arr.length === i) break;
|
|
@@ -281,6 +288,13 @@
|
|
|
281
288
|
|
|
282
289
|
var noop = function noop() {};
|
|
283
290
|
|
|
291
|
+
var version = '1.5.0';
|
|
292
|
+
|
|
293
|
+
var userAgents = [{
|
|
294
|
+
segment: 'autocomplete-core',
|
|
295
|
+
version: version
|
|
296
|
+
}];
|
|
297
|
+
|
|
284
298
|
var warnCache = {
|
|
285
299
|
current: {}
|
|
286
300
|
};
|
|
@@ -860,6 +874,7 @@
|
|
|
860
874
|
});
|
|
861
875
|
}
|
|
862
876
|
|
|
877
|
+
var _excluded = ["event", "nextState", "props", "query", "refresh", "store"];
|
|
863
878
|
var lastStalledId = null;
|
|
864
879
|
var runConcurrentSafePromise = createConcurrentSafePromise();
|
|
865
880
|
function onInput(_ref) {
|
|
@@ -870,7 +885,7 @@
|
|
|
870
885
|
query = _ref.query,
|
|
871
886
|
refresh = _ref.refresh,
|
|
872
887
|
store = _ref.store,
|
|
873
|
-
setters = _objectWithoutProperties(_ref,
|
|
888
|
+
setters = _objectWithoutProperties(_ref, _excluded);
|
|
874
889
|
|
|
875
890
|
if (lastStalledId) {
|
|
876
891
|
props.environment.clearTimeout(lastStalledId);
|
|
@@ -971,12 +986,13 @@
|
|
|
971
986
|
});
|
|
972
987
|
}
|
|
973
988
|
|
|
989
|
+
var _excluded$1 = ["event", "props", "refresh", "store"];
|
|
974
990
|
function onKeyDown(_ref) {
|
|
975
991
|
var event = _ref.event,
|
|
976
992
|
props = _ref.props,
|
|
977
993
|
refresh = _ref.refresh,
|
|
978
994
|
store = _ref.store,
|
|
979
|
-
setters = _objectWithoutProperties(_ref,
|
|
995
|
+
setters = _objectWithoutProperties(_ref, _excluded$1);
|
|
980
996
|
|
|
981
997
|
if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
|
|
982
998
|
// eslint-disable-next-line no-inner-declarations
|
|
@@ -1142,17 +1158,22 @@
|
|
|
1142
1158
|
}
|
|
1143
1159
|
}
|
|
1144
1160
|
|
|
1161
|
+
var _excluded$2 = ["props", "refresh", "store"],
|
|
1162
|
+
_excluded2 = ["inputElement", "formElement", "panelElement"],
|
|
1163
|
+
_excluded3 = ["inputElement"],
|
|
1164
|
+
_excluded4 = ["inputElement", "maxLength"],
|
|
1165
|
+
_excluded5 = ["item", "source"];
|
|
1145
1166
|
function getPropGetters(_ref) {
|
|
1146
1167
|
var props = _ref.props,
|
|
1147
1168
|
refresh = _ref.refresh,
|
|
1148
1169
|
store = _ref.store,
|
|
1149
|
-
setters = _objectWithoutProperties(_ref,
|
|
1170
|
+
setters = _objectWithoutProperties(_ref, _excluded$2);
|
|
1150
1171
|
|
|
1151
1172
|
var getEnvironmentProps = function getEnvironmentProps(providedProps) {
|
|
1152
1173
|
var inputElement = providedProps.inputElement,
|
|
1153
1174
|
formElement = providedProps.formElement,
|
|
1154
1175
|
panelElement = providedProps.panelElement,
|
|
1155
|
-
rest = _objectWithoutProperties(providedProps,
|
|
1176
|
+
rest = _objectWithoutProperties(providedProps, _excluded2);
|
|
1156
1177
|
|
|
1157
1178
|
return _objectSpread2({
|
|
1158
1179
|
// On touch devices, we do not rely on the native `blur` event of the
|
|
@@ -1160,15 +1181,15 @@
|
|
|
1160
1181
|
// outside of the autocomplete elements.
|
|
1161
1182
|
// This ensures a working experience on mobile because we blur the input
|
|
1162
1183
|
// on touch devices when the user starts scrolling (`touchmove`).
|
|
1184
|
+
// @TODO: support cases where there are multiple Autocomplete instances.
|
|
1185
|
+
// Right now, a second instance makes this computation return false.
|
|
1163
1186
|
onTouchStart: function onTouchStart(event) {
|
|
1164
1187
|
if (store.getState().isOpen === false || event.target === inputElement) {
|
|
1165
1188
|
return;
|
|
1166
|
-
}
|
|
1167
|
-
// Right now, a second instance makes this computation return false.
|
|
1168
|
-
|
|
1189
|
+
}
|
|
1169
1190
|
|
|
1170
1191
|
var isTargetWithinAutocomplete = [formElement, panelElement].some(function (contextNode) {
|
|
1171
|
-
return isOrContainsNode(contextNode, event.target)
|
|
1192
|
+
return isOrContainsNode(contextNode, event.target);
|
|
1172
1193
|
});
|
|
1173
1194
|
|
|
1174
1195
|
if (isTargetWithinAutocomplete === false) {
|
|
@@ -1201,7 +1222,7 @@
|
|
|
1201
1222
|
|
|
1202
1223
|
var getFormProps = function getFormProps(providedProps) {
|
|
1203
1224
|
var inputElement = providedProps.inputElement,
|
|
1204
|
-
rest = _objectWithoutProperties(providedProps,
|
|
1225
|
+
rest = _objectWithoutProperties(providedProps, _excluded3);
|
|
1205
1226
|
|
|
1206
1227
|
return _objectSpread2({
|
|
1207
1228
|
action: '',
|
|
@@ -1257,7 +1278,7 @@
|
|
|
1257
1278
|
inputElement = _ref2.inputElement,
|
|
1258
1279
|
_ref2$maxLength = _ref2.maxLength,
|
|
1259
1280
|
maxLength = _ref2$maxLength === void 0 ? 512 : _ref2$maxLength,
|
|
1260
|
-
rest = _objectWithoutProperties(_ref2,
|
|
1281
|
+
rest = _objectWithoutProperties(_ref2, _excluded4);
|
|
1261
1282
|
|
|
1262
1283
|
var activeItem = getActiveItem(store.getState());
|
|
1263
1284
|
return _objectSpread2({
|
|
@@ -1348,7 +1369,7 @@
|
|
|
1348
1369
|
var getItemProps = function getItemProps(providedProps) {
|
|
1349
1370
|
var item = providedProps.item,
|
|
1350
1371
|
source = providedProps.source,
|
|
1351
|
-
rest = _objectWithoutProperties(providedProps,
|
|
1372
|
+
rest = _objectWithoutProperties(providedProps, _excluded5);
|
|
1352
1373
|
|
|
1353
1374
|
return _objectSpread2({
|
|
1354
1375
|
id: "".concat(props.id, "-item-").concat(item.__autocomplete_id),
|
|
@@ -1435,6 +1456,44 @@
|
|
|
1435
1456
|
};
|
|
1436
1457
|
}
|
|
1437
1458
|
|
|
1459
|
+
function getMetadata(_ref) {
|
|
1460
|
+
var _, _options$__autocomple, _options$__autocomple2, _options$__autocomple3;
|
|
1461
|
+
|
|
1462
|
+
var plugins = _ref.plugins,
|
|
1463
|
+
options = _ref.options;
|
|
1464
|
+
var optionsKey = (_ = (((_options$__autocomple = options.__autocomplete_metadata) === null || _options$__autocomple === void 0 ? void 0 : _options$__autocomple.userAgents) || [])[0]) === null || _ === void 0 ? void 0 : _.segment;
|
|
1465
|
+
var extraOptions = optionsKey ? _defineProperty({}, optionsKey, Object.keys(((_options$__autocomple2 = options.__autocomplete_metadata) === null || _options$__autocomple2 === void 0 ? void 0 : _options$__autocomple2.options) || {})) : {};
|
|
1466
|
+
return {
|
|
1467
|
+
plugins: plugins.map(function (plugin) {
|
|
1468
|
+
return {
|
|
1469
|
+
name: plugin.name,
|
|
1470
|
+
options: Object.keys(plugin.__autocomplete_pluginOptions || [])
|
|
1471
|
+
};
|
|
1472
|
+
}),
|
|
1473
|
+
options: _objectSpread2({
|
|
1474
|
+
'autocomplete-core': Object.keys(options)
|
|
1475
|
+
}, extraOptions),
|
|
1476
|
+
ua: userAgents.concat(((_options$__autocomple3 = options.__autocomplete_metadata) === null || _options$__autocomple3 === void 0 ? void 0 : _options$__autocomple3.userAgents) || [])
|
|
1477
|
+
};
|
|
1478
|
+
}
|
|
1479
|
+
function injectMetadata(_ref3) {
|
|
1480
|
+
var _environment$navigato;
|
|
1481
|
+
|
|
1482
|
+
var metadata = _ref3.metadata,
|
|
1483
|
+
environment = _ref3.environment;
|
|
1484
|
+
var isMetadataEnabled = (_environment$navigato = environment.navigator) === null || _environment$navigato === void 0 ? void 0 : _environment$navigato.userAgent.includes('Algolia Crawler');
|
|
1485
|
+
|
|
1486
|
+
if (isMetadataEnabled) {
|
|
1487
|
+
var metadataContainer = environment.document.createElement('meta');
|
|
1488
|
+
var headRef = environment.document.querySelector('head');
|
|
1489
|
+
metadataContainer.name = 'algolia:metadata';
|
|
1490
|
+
setTimeout(function () {
|
|
1491
|
+
metadataContainer.content = JSON.stringify(metadata);
|
|
1492
|
+
headRef.appendChild(metadataContainer);
|
|
1493
|
+
}, 0);
|
|
1494
|
+
}
|
|
1495
|
+
}
|
|
1496
|
+
|
|
1438
1497
|
function getCompletion(_ref) {
|
|
1439
1498
|
var _getActiveItem;
|
|
1440
1499
|
|
|
@@ -1654,16 +1713,20 @@
|
|
|
1654
1713
|
}
|
|
1655
1714
|
}));
|
|
1656
1715
|
});
|
|
1716
|
+
injectMetadata({
|
|
1717
|
+
metadata: getMetadata({
|
|
1718
|
+
plugins: props.plugins,
|
|
1719
|
+
options: options
|
|
1720
|
+
}),
|
|
1721
|
+
environment: props.environment
|
|
1722
|
+
});
|
|
1657
1723
|
return _objectSpread2(_objectSpread2({
|
|
1658
1724
|
refresh: refresh
|
|
1659
1725
|
}, propGetters), setters);
|
|
1660
1726
|
}
|
|
1661
1727
|
|
|
1662
|
-
var version = '1.4.1';
|
|
1663
|
-
|
|
1664
1728
|
exports.createAutocomplete = createAutocomplete;
|
|
1665
1729
|
exports.getDefaultProps = getDefaultProps;
|
|
1666
|
-
exports.version = version;
|
|
1667
1730
|
|
|
1668
1731
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
1669
1732
|
|