@algolia/autocomplete-core 1.8.3 → 1.9.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/createAutocomplete.js +12 -9
- package/dist/esm/createStore.js +4 -5
- package/dist/esm/getAutocompleteSetters.d.ts +6 -6
- package/dist/esm/getAutocompleteSetters.js +4 -11
- package/dist/esm/getCompletion.js +0 -3
- package/dist/esm/getDefaultProps.js +6 -22
- package/dist/esm/getPropGetters.js +40 -69
- package/dist/esm/metadata.js +6 -9
- package/dist/esm/onInput.js +25 -34
- package/dist/esm/onKeyDown.js +30 -40
- package/dist/esm/reshape.d.ts +1 -1
- package/dist/esm/reshape.js +17 -19
- package/dist/esm/resolve.js +10 -28
- package/dist/esm/stateReducer.js +7 -24
- package/dist/esm/types/AutocompleteStore.d.ts +1 -3
- package/dist/esm/types/AutocompleteSubscribers.d.ts +1 -2
- package/dist/esm/types/index.d.ts +16 -11
- package/dist/esm/types/index.js +3 -12
- package/dist/esm/utils/createCancelablePromise.js +0 -8
- package/dist/esm/utils/createConcurrentSafePromise.js +0 -1
- package/dist/esm/utils/getActiveItem.d.ts +1 -1
- package/dist/esm/utils/getActiveItem.js +4 -12
- package/dist/esm/utils/getNextActiveItemId.js +0 -4
- package/dist/esm/utils/getNormalizedSources.js +5 -10
- package/dist/esm/utils/mapToAlgoliaResponse.d.ts +1 -1
- package/dist/esm/utils/mapToAlgoliaResponse.js +4 -6
- package/dist/umd/index.development.js +961 -387
- 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 +6 -5
- package/dist/esm/types/AutocompleteApi.d.ts +0 -15
- package/dist/esm/types/AutocompleteApi.js +0 -1
- package/dist/esm/types/AutocompleteCollection.d.ts +0 -10
- package/dist/esm/types/AutocompleteCollection.js +0 -1
- package/dist/esm/types/AutocompleteContext.d.ts +0 -3
- package/dist/esm/types/AutocompleteContext.js +0 -1
- package/dist/esm/types/AutocompleteEnvironment.d.ts +0 -13
- package/dist/esm/types/AutocompleteEnvironment.js +0 -1
- package/dist/esm/types/AutocompleteNavigator.d.ts +0 -28
- package/dist/esm/types/AutocompleteNavigator.js +0 -1
- package/dist/esm/types/AutocompleteOptions.d.ts +0 -185
- package/dist/esm/types/AutocompleteOptions.js +0 -1
- package/dist/esm/types/AutocompletePlugin.d.ts +0 -43
- package/dist/esm/types/AutocompletePlugin.js +0 -1
- package/dist/esm/types/AutocompletePropGetters.d.ts +0 -100
- package/dist/esm/types/AutocompletePropGetters.js +0 -1
- package/dist/esm/types/AutocompleteReshape.d.ts +0 -25
- package/dist/esm/types/AutocompleteReshape.js +0 -1
- package/dist/esm/types/AutocompleteSetters.d.ts +0 -46
- package/dist/esm/types/AutocompleteSetters.js +0 -1
- package/dist/esm/types/AutocompleteSource.d.ts +0 -75
- package/dist/esm/types/AutocompleteSource.js +0 -1
- package/dist/esm/types/AutocompleteState.d.ts +0 -12
- package/dist/esm/types/AutocompleteState.js +0 -1
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
1
2
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2
|
-
|
|
3
3
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
-
|
|
5
|
-
function
|
|
6
|
-
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
|
+
import { createAlgoliaInsightsPlugin } from '@algolia/autocomplete-plugin-algolia-insights';
|
|
7
8
|
import { checkOptions } from './checkOptions';
|
|
8
9
|
import { createStore } from './createStore';
|
|
9
10
|
import { getAutocompleteSetters } from './getAutocompleteSetters';
|
|
@@ -26,10 +27,9 @@ export function createAutocomplete(options) {
|
|
|
26
27
|
store: store,
|
|
27
28
|
navigator: props.navigator
|
|
28
29
|
}, setters));
|
|
29
|
-
|
|
30
30
|
function onStoreStateChange(_ref) {
|
|
31
31
|
var prevState = _ref.prevState,
|
|
32
|
-
|
|
32
|
+
state = _ref.state;
|
|
33
33
|
props.onStateChange(_objectSpread({
|
|
34
34
|
prevState: prevState,
|
|
35
35
|
state: state,
|
|
@@ -37,7 +37,6 @@ export function createAutocomplete(options) {
|
|
|
37
37
|
navigator: props.navigator
|
|
38
38
|
}, setters));
|
|
39
39
|
}
|
|
40
|
-
|
|
41
40
|
function refresh() {
|
|
42
41
|
return onInput(_objectSpread({
|
|
43
42
|
event: new Event('input'),
|
|
@@ -51,10 +50,14 @@ export function createAutocomplete(options) {
|
|
|
51
50
|
store: store
|
|
52
51
|
}, setters));
|
|
53
52
|
}
|
|
54
|
-
|
|
53
|
+
if (options.insights && !props.plugins.some(function (plugin) {
|
|
54
|
+
return plugin.name === 'aa.algoliaInsightsPlugin';
|
|
55
|
+
})) {
|
|
56
|
+
var insightsParams = typeof options.insights === 'boolean' ? {} : options.insights;
|
|
57
|
+
props.plugins.push(createAlgoliaInsightsPlugin(insightsParams));
|
|
58
|
+
}
|
|
55
59
|
props.plugins.forEach(function (plugin) {
|
|
56
60
|
var _plugin$subscribe;
|
|
57
|
-
|
|
58
61
|
return (_plugin$subscribe = plugin.subscribe) === null || _plugin$subscribe === void 0 ? void 0 : _plugin$subscribe.call(plugin, _objectSpread(_objectSpread({}, setters), {}, {
|
|
59
62
|
navigator: props.navigator,
|
|
60
63
|
refresh: refresh,
|
package/dist/esm/createStore.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
1
2
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2
|
-
|
|
3
3
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
-
|
|
5
|
-
function
|
|
6
|
-
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
7
|
import { createCancelablePromiseList } from './utils';
|
|
8
8
|
export function createStore(reducer, props, onStoreStateChange) {
|
|
9
9
|
var state = props.initialState;
|
|
@@ -13,7 +13,6 @@ export function createStore(reducer, props, onStoreStateChange) {
|
|
|
13
13
|
},
|
|
14
14
|
dispatch: function dispatch(action, payload) {
|
|
15
15
|
var prevState = _objectSpread({}, state);
|
|
16
|
-
|
|
17
16
|
state = reducer(state, {
|
|
18
17
|
type: action,
|
|
19
18
|
props: props,
|
|
@@ -3,11 +3,11 @@ interface GetAutocompleteSettersOptions<TItem extends BaseItem> {
|
|
|
3
3
|
store: AutocompleteStore<TItem>;
|
|
4
4
|
}
|
|
5
5
|
export declare function getAutocompleteSetters<TItem extends BaseItem>({ store, }: GetAutocompleteSettersOptions<TItem>): {
|
|
6
|
-
setActiveItemId: import("
|
|
7
|
-
setQuery: import("
|
|
8
|
-
setCollections: import("
|
|
9
|
-
setIsOpen: import("
|
|
10
|
-
setStatus: import("
|
|
11
|
-
setContext: import("
|
|
6
|
+
setActiveItemId: import("@algolia/autocomplete-shared/dist/esm/core/AutocompleteSetters").StateUpdater<number | null>;
|
|
7
|
+
setQuery: import("@algolia/autocomplete-shared/dist/esm/core/AutocompleteSetters").StateUpdater<string>;
|
|
8
|
+
setCollections: import("@algolia/autocomplete-shared/dist/esm/core/AutocompleteSetters").StateUpdater<(AutocompleteCollection<TItem> | import("@algolia/autocomplete-shared/dist/esm/core/AutocompleteCollection").AutocompleteCollectionItemsArray<TItem>)[]>;
|
|
9
|
+
setIsOpen: import("@algolia/autocomplete-shared/dist/esm/core/AutocompleteSetters").StateUpdater<boolean>;
|
|
10
|
+
setStatus: import("@algolia/autocomplete-shared/dist/esm/core/AutocompleteSetters").StateUpdater<"idle" | "loading" | "stalled" | "error">;
|
|
11
|
+
setContext: import("@algolia/autocomplete-shared/dist/esm/core/AutocompleteSetters").StateUpdater<import("@algolia/autocomplete-shared/dist/esm/core/AutocompleteContext").AutocompleteContext>;
|
|
12
12
|
};
|
|
13
13
|
export {};
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
1
2
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2
|
-
|
|
3
3
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
-
|
|
5
|
-
function
|
|
6
|
-
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
7
|
import { flatten } from '@algolia/autocomplete-shared';
|
|
8
8
|
export function getAutocompleteSetters(_ref) {
|
|
9
9
|
var store = _ref.store;
|
|
10
|
-
|
|
11
10
|
var setActiveItemId = function setActiveItemId(value) {
|
|
12
11
|
store.dispatch('setActiveItemId', value);
|
|
13
12
|
};
|
|
14
|
-
|
|
15
13
|
var setQuery = function setQuery(value) {
|
|
16
14
|
store.dispatch('setQuery', value);
|
|
17
15
|
};
|
|
18
|
-
|
|
19
16
|
var setCollections = function setCollections(rawValue) {
|
|
20
17
|
var baseItemId = 0;
|
|
21
18
|
var value = rawValue.map(function (collection) {
|
|
@@ -31,19 +28,15 @@ export function getAutocompleteSetters(_ref) {
|
|
|
31
28
|
});
|
|
32
29
|
store.dispatch('setCollections', value);
|
|
33
30
|
};
|
|
34
|
-
|
|
35
31
|
var setIsOpen = function setIsOpen(value) {
|
|
36
32
|
store.dispatch('setIsOpen', value);
|
|
37
33
|
};
|
|
38
|
-
|
|
39
34
|
var setStatus = function setStatus(value) {
|
|
40
35
|
store.dispatch('setStatus', value);
|
|
41
36
|
};
|
|
42
|
-
|
|
43
37
|
var setContext = function setContext(value) {
|
|
44
38
|
store.dispatch('setContext', value);
|
|
45
39
|
};
|
|
46
|
-
|
|
47
40
|
return {
|
|
48
41
|
setActiveItemId: setActiveItemId,
|
|
49
42
|
setQuery: setQuery,
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import { getActiveItem } from './utils';
|
|
2
2
|
export function getCompletion(_ref) {
|
|
3
3
|
var _getActiveItem;
|
|
4
|
-
|
|
5
4
|
var state = _ref.state;
|
|
6
|
-
|
|
7
5
|
if (state.isOpen === false || state.activeItemId === null) {
|
|
8
6
|
return null;
|
|
9
7
|
}
|
|
10
|
-
|
|
11
8
|
return ((_getActiveItem = getActiveItem(state)) === null || _getActiveItem === void 0 ? void 0 : _getActiveItem.itemInputValue) || null;
|
|
12
9
|
}
|
|
@@ -1,30 +1,22 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
1
2
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
2
|
-
|
|
3
3
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
-
|
|
5
4
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
6
|
-
|
|
7
5
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
8
|
-
|
|
9
6
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
10
|
-
|
|
11
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
12
|
-
|
|
7
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
13
8
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
14
|
-
|
|
15
9
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
16
|
-
|
|
17
|
-
function
|
|
18
|
-
|
|
10
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
12
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
19
13
|
import { getItemsCount, generateAutocompleteId, flatten } from '@algolia/autocomplete-shared';
|
|
20
14
|
import { getNormalizedSources } from './utils';
|
|
21
15
|
export function getDefaultProps(props, pluginSubscribers) {
|
|
22
16
|
var _props$id;
|
|
23
|
-
|
|
24
17
|
/* eslint-disable no-restricted-globals */
|
|
25
18
|
var environment = typeof window !== 'undefined' ? window : {};
|
|
26
19
|
/* eslint-enable no-restricted-globals */
|
|
27
|
-
|
|
28
20
|
var plugins = props.plugins || [];
|
|
29
21
|
return _objectSpread(_objectSpread({
|
|
30
22
|
debug: false,
|
|
@@ -33,6 +25,7 @@ export function getDefaultProps(props, pluginSubscribers) {
|
|
|
33
25
|
autoFocus: false,
|
|
34
26
|
defaultActiveItemId: null,
|
|
35
27
|
stallThreshold: 300,
|
|
28
|
+
insights: false,
|
|
36
29
|
environment: environment,
|
|
37
30
|
shouldPanelOpen: function shouldPanelOpen(_ref) {
|
|
38
31
|
var state = _ref.state;
|
|
@@ -59,31 +52,25 @@ export function getDefaultProps(props, pluginSubscribers) {
|
|
|
59
52
|
}, props.initialState),
|
|
60
53
|
onStateChange: function onStateChange(params) {
|
|
61
54
|
var _props$onStateChange;
|
|
62
|
-
|
|
63
55
|
(_props$onStateChange = props.onStateChange) === null || _props$onStateChange === void 0 ? void 0 : _props$onStateChange.call(props, params);
|
|
64
56
|
plugins.forEach(function (x) {
|
|
65
57
|
var _x$onStateChange;
|
|
66
|
-
|
|
67
58
|
return (_x$onStateChange = x.onStateChange) === null || _x$onStateChange === void 0 ? void 0 : _x$onStateChange.call(x, params);
|
|
68
59
|
});
|
|
69
60
|
},
|
|
70
61
|
onSubmit: function onSubmit(params) {
|
|
71
62
|
var _props$onSubmit;
|
|
72
|
-
|
|
73
63
|
(_props$onSubmit = props.onSubmit) === null || _props$onSubmit === void 0 ? void 0 : _props$onSubmit.call(props, params);
|
|
74
64
|
plugins.forEach(function (x) {
|
|
75
65
|
var _x$onSubmit;
|
|
76
|
-
|
|
77
66
|
return (_x$onSubmit = x.onSubmit) === null || _x$onSubmit === void 0 ? void 0 : _x$onSubmit.call(x, params);
|
|
78
67
|
});
|
|
79
68
|
},
|
|
80
69
|
onReset: function onReset(params) {
|
|
81
70
|
var _props$onReset;
|
|
82
|
-
|
|
83
71
|
(_props$onReset = props.onReset) === null || _props$onReset === void 0 ? void 0 : _props$onReset.call(props, params);
|
|
84
72
|
plugins.forEach(function (x) {
|
|
85
73
|
var _x$onReset;
|
|
86
|
-
|
|
87
74
|
return (_x$onReset = x.onReset) === null || _x$onReset === void 0 ? void 0 : _x$onReset.call(x, params);
|
|
88
75
|
});
|
|
89
76
|
},
|
|
@@ -101,7 +88,6 @@ export function getDefaultProps(props, pluginSubscribers) {
|
|
|
101
88
|
source.onSelect(params);
|
|
102
89
|
pluginSubscribers.forEach(function (x) {
|
|
103
90
|
var _x$onSelect;
|
|
104
|
-
|
|
105
91
|
return (_x$onSelect = x.onSelect) === null || _x$onSelect === void 0 ? void 0 : _x$onSelect.call(x, params);
|
|
106
92
|
});
|
|
107
93
|
},
|
|
@@ -109,7 +95,6 @@ export function getDefaultProps(props, pluginSubscribers) {
|
|
|
109
95
|
source.onActive(params);
|
|
110
96
|
pluginSubscribers.forEach(function (x) {
|
|
111
97
|
var _x$onActive;
|
|
112
|
-
|
|
113
98
|
return (_x$onActive = x.onActive) === null || _x$onActive === void 0 ? void 0 : _x$onActive.call(x, params);
|
|
114
99
|
});
|
|
115
100
|
},
|
|
@@ -117,7 +102,6 @@ export function getDefaultProps(props, pluginSubscribers) {
|
|
|
117
102
|
source.onResolve(params);
|
|
118
103
|
pluginSubscribers.forEach(function (x) {
|
|
119
104
|
var _x$onResolve;
|
|
120
|
-
|
|
121
105
|
return (_x$onResolve = x.onResolve) === null || _x$onResolve === void 0 ? void 0 : _x$onResolve.call(x, params);
|
|
122
106
|
});
|
|
123
107
|
}
|
|
@@ -1,37 +1,32 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
1
2
|
var _excluded = ["props", "refresh", "store"],
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
_excluded2 = ["inputElement", "formElement", "panelElement"],
|
|
4
|
+
_excluded3 = ["inputElement"],
|
|
5
|
+
_excluded4 = ["inputElement", "maxLength"],
|
|
6
|
+
_excluded5 = ["sourceIndex"],
|
|
7
|
+
_excluded6 = ["sourceIndex"],
|
|
8
|
+
_excluded7 = ["item", "source", "sourceIndex"];
|
|
9
9
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
10
|
-
|
|
11
10
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
12
|
-
|
|
13
|
-
function
|
|
14
|
-
|
|
11
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
12
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
13
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
15
14
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
16
|
-
|
|
17
15
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
18
|
-
|
|
19
16
|
import { noop } from '@algolia/autocomplete-shared';
|
|
20
17
|
import { onInput } from './onInput';
|
|
21
18
|
import { onKeyDown as _onKeyDown } from './onKeyDown';
|
|
22
19
|
import { getActiveItem, isOrContainsNode, isSamsung } from './utils';
|
|
23
20
|
export function getPropGetters(_ref) {
|
|
24
21
|
var props = _ref.props,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
refresh = _ref.refresh,
|
|
23
|
+
store = _ref.store,
|
|
24
|
+
setters = _objectWithoutProperties(_ref, _excluded);
|
|
29
25
|
var getEnvironmentProps = function getEnvironmentProps(providedProps) {
|
|
30
26
|
var inputElement = providedProps.inputElement,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
27
|
+
formElement = providedProps.formElement,
|
|
28
|
+
panelElement = providedProps.panelElement,
|
|
29
|
+
rest = _objectWithoutProperties(providedProps, _excluded2);
|
|
35
30
|
function onMouseDownOrTouchStart(event) {
|
|
36
31
|
// The `onTouchStart`/`onMouseDown` events shouldn't trigger the `blur`
|
|
37
32
|
// handler when it's not an interaction with Autocomplete.
|
|
@@ -40,29 +35,27 @@ export function getPropGetters(_ref) {
|
|
|
40
35
|
// (no interaction with the autocomplete, no future state updates)
|
|
41
36
|
// - OR the touched target is the input element (should open the panel)
|
|
42
37
|
var isAutocompleteInteraction = store.getState().isOpen || !store.pendingRequests.isEmpty();
|
|
43
|
-
|
|
44
38
|
if (!isAutocompleteInteraction || event.target === inputElement) {
|
|
45
39
|
return;
|
|
46
|
-
}
|
|
47
|
-
// Right now, a second instance makes this computation return false.
|
|
48
|
-
|
|
40
|
+
}
|
|
49
41
|
|
|
42
|
+
// @TODO: support cases where there are multiple Autocomplete instances.
|
|
43
|
+
// Right now, a second instance makes this computation return false.
|
|
50
44
|
var isTargetWithinAutocomplete = [formElement, panelElement].some(function (contextNode) {
|
|
51
45
|
return isOrContainsNode(contextNode, event.target);
|
|
52
46
|
});
|
|
53
|
-
|
|
54
47
|
if (isTargetWithinAutocomplete === false) {
|
|
55
|
-
store.dispatch('blur', null);
|
|
48
|
+
store.dispatch('blur', null);
|
|
49
|
+
|
|
50
|
+
// If requests are still pending when the user closes the panel, they
|
|
56
51
|
// could reopen the panel once they resolve.
|
|
57
52
|
// We want to prevent any subsequent query from reopening the panel
|
|
58
53
|
// because it would result in an unsolicited UI behavior.
|
|
59
|
-
|
|
60
54
|
if (!props.debug) {
|
|
61
55
|
store.pendingRequests.cancelAll();
|
|
62
56
|
}
|
|
63
57
|
}
|
|
64
58
|
}
|
|
65
|
-
|
|
66
59
|
return _objectSpread({
|
|
67
60
|
// We do not rely on the native `blur` event of the input to close the
|
|
68
61
|
// panel, but rather on a custom `touchstart`/`mousedown` event outside
|
|
@@ -83,12 +76,10 @@ export function getPropGetters(_ref) {
|
|
|
83
76
|
if (store.getState().isOpen === false || inputElement !== props.environment.document.activeElement || event.target === inputElement) {
|
|
84
77
|
return;
|
|
85
78
|
}
|
|
86
|
-
|
|
87
79
|
inputElement.blur();
|
|
88
80
|
}
|
|
89
81
|
}, rest);
|
|
90
82
|
};
|
|
91
|
-
|
|
92
83
|
var getRootProps = function getRootProps(rest) {
|
|
93
84
|
return _objectSpread({
|
|
94
85
|
role: 'combobox',
|
|
@@ -98,18 +89,15 @@ export function getPropGetters(_ref) {
|
|
|
98
89
|
'aria-labelledby': "".concat(props.id, "-label")
|
|
99
90
|
}, rest);
|
|
100
91
|
};
|
|
101
|
-
|
|
102
92
|
var getFormProps = function getFormProps(providedProps) {
|
|
103
93
|
var inputElement = providedProps.inputElement,
|
|
104
|
-
|
|
105
|
-
|
|
94
|
+
rest = _objectWithoutProperties(providedProps, _excluded3);
|
|
106
95
|
return _objectSpread({
|
|
107
96
|
action: '',
|
|
108
97
|
noValidate: true,
|
|
109
98
|
role: 'search',
|
|
110
99
|
onSubmit: function onSubmit(event) {
|
|
111
100
|
var _providedProps$inputE;
|
|
112
|
-
|
|
113
101
|
event.preventDefault();
|
|
114
102
|
props.onSubmit(_objectSpread({
|
|
115
103
|
event: event,
|
|
@@ -121,7 +109,6 @@ export function getPropGetters(_ref) {
|
|
|
121
109
|
},
|
|
122
110
|
onReset: function onReset(event) {
|
|
123
111
|
var _providedProps$inputE2;
|
|
124
|
-
|
|
125
112
|
event.preventDefault();
|
|
126
113
|
props.onReset(_objectSpread({
|
|
127
114
|
event: event,
|
|
@@ -133,10 +120,8 @@ export function getPropGetters(_ref) {
|
|
|
133
120
|
}
|
|
134
121
|
}, rest);
|
|
135
122
|
};
|
|
136
|
-
|
|
137
123
|
var getInputProps = function getInputProps(providedProps) {
|
|
138
124
|
var _props$environment$na;
|
|
139
|
-
|
|
140
125
|
function onFocus(event) {
|
|
141
126
|
// We want to trigger a query when `openOnFocus` is true
|
|
142
127
|
// because the panel should open with the current query.
|
|
@@ -149,16 +134,13 @@ export function getPropGetters(_ref) {
|
|
|
149
134
|
store: store
|
|
150
135
|
}, setters));
|
|
151
136
|
}
|
|
152
|
-
|
|
153
137
|
store.dispatch('focus', null);
|
|
154
138
|
}
|
|
155
|
-
|
|
156
139
|
var _ref2 = providedProps || {},
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
140
|
+
inputElement = _ref2.inputElement,
|
|
141
|
+
_ref2$maxLength = _ref2.maxLength,
|
|
142
|
+
maxLength = _ref2$maxLength === void 0 ? 512 : _ref2$maxLength,
|
|
143
|
+
rest = _objectWithoutProperties(_ref2, _excluded4);
|
|
162
144
|
var activeItem = getActiveItem(store.getState());
|
|
163
145
|
var userAgent = ((_props$environment$na = props.environment.navigator) === null || _props$environment$na === void 0 ? void 0 : _props$environment$na.userAgent) || '';
|
|
164
146
|
var shouldFallbackKeyHint = isSamsung(userAgent);
|
|
@@ -215,34 +197,28 @@ export function getPropGetters(_ref) {
|
|
|
215
197
|
}
|
|
216
198
|
}, rest);
|
|
217
199
|
};
|
|
218
|
-
|
|
219
200
|
var getAutocompleteId = function getAutocompleteId(instanceId, sourceId) {
|
|
220
201
|
return typeof sourceId !== 'undefined' ? "".concat(instanceId, "-").concat(sourceId) : instanceId;
|
|
221
202
|
};
|
|
222
|
-
|
|
223
203
|
var getLabelProps = function getLabelProps(providedProps) {
|
|
224
204
|
var _ref3 = providedProps || {},
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
205
|
+
sourceIndex = _ref3.sourceIndex,
|
|
206
|
+
rest = _objectWithoutProperties(_ref3, _excluded5);
|
|
228
207
|
return _objectSpread({
|
|
229
208
|
htmlFor: "".concat(getAutocompleteId(props.id, sourceIndex), "-input"),
|
|
230
209
|
id: "".concat(getAutocompleteId(props.id, sourceIndex), "-label")
|
|
231
210
|
}, rest);
|
|
232
211
|
};
|
|
233
|
-
|
|
234
212
|
var getListProps = function getListProps(providedProps) {
|
|
235
213
|
var _ref4 = providedProps || {},
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
214
|
+
sourceIndex = _ref4.sourceIndex,
|
|
215
|
+
rest = _objectWithoutProperties(_ref4, _excluded6);
|
|
239
216
|
return _objectSpread({
|
|
240
217
|
role: 'listbox',
|
|
241
218
|
'aria-labelledby': "".concat(getAutocompleteId(props.id, sourceIndex), "-label"),
|
|
242
219
|
id: "".concat(getAutocompleteId(props.id, sourceIndex), "-list")
|
|
243
220
|
}, rest);
|
|
244
221
|
};
|
|
245
|
-
|
|
246
222
|
var getPanelProps = function getPanelProps(rest) {
|
|
247
223
|
return _objectSpread({
|
|
248
224
|
onMouseDown: function onMouseDown(event) {
|
|
@@ -256,13 +232,11 @@ export function getPropGetters(_ref) {
|
|
|
256
232
|
}
|
|
257
233
|
}, rest);
|
|
258
234
|
};
|
|
259
|
-
|
|
260
235
|
var getItemProps = function getItemProps(providedProps) {
|
|
261
236
|
var item = providedProps.item,
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
237
|
+
source = providedProps.source,
|
|
238
|
+
sourceIndex = providedProps.sourceIndex,
|
|
239
|
+
rest = _objectWithoutProperties(providedProps, _excluded7);
|
|
266
240
|
return _objectSpread({
|
|
267
241
|
id: "".concat(getAutocompleteId(props.id, sourceIndex), "-item-").concat(item.__autocomplete_id),
|
|
268
242
|
role: 'option',
|
|
@@ -271,16 +245,13 @@ export function getPropGetters(_ref) {
|
|
|
271
245
|
if (item.__autocomplete_id === store.getState().activeItemId) {
|
|
272
246
|
return;
|
|
273
247
|
}
|
|
274
|
-
|
|
275
248
|
store.dispatch('mousemove', item.__autocomplete_id);
|
|
276
249
|
var activeItem = getActiveItem(store.getState());
|
|
277
|
-
|
|
278
250
|
if (store.getState().activeItemId !== null && activeItem) {
|
|
279
251
|
var _item = activeItem.item,
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
252
|
+
itemInputValue = activeItem.itemInputValue,
|
|
253
|
+
itemUrl = activeItem.itemUrl,
|
|
254
|
+
_source = activeItem.source;
|
|
284
255
|
_source.onActive(_objectSpread({
|
|
285
256
|
event: event,
|
|
286
257
|
item: _item,
|
|
@@ -305,12 +276,13 @@ export function getPropGetters(_ref) {
|
|
|
305
276
|
var itemUrl = source.getItemUrl({
|
|
306
277
|
item: item,
|
|
307
278
|
state: store.getState()
|
|
308
|
-
});
|
|
279
|
+
});
|
|
280
|
+
|
|
281
|
+
// If `getItemUrl` is provided, it means that the suggestion
|
|
309
282
|
// is a link, not plain text that aims at updating the query.
|
|
310
283
|
// We can therefore skip the state change because it will update
|
|
311
284
|
// the `activeItemId`, resulting in a UI flash, especially
|
|
312
285
|
// noticeable on mobile.
|
|
313
|
-
|
|
314
286
|
var runPreCommand = itemUrl ? Promise.resolve() : onInput(_objectSpread({
|
|
315
287
|
event: event,
|
|
316
288
|
nextState: {
|
|
@@ -335,7 +307,6 @@ export function getPropGetters(_ref) {
|
|
|
335
307
|
}
|
|
336
308
|
}, rest);
|
|
337
309
|
};
|
|
338
|
-
|
|
339
310
|
return {
|
|
340
311
|
getEnvironmentProps: getEnvironmentProps,
|
|
341
312
|
getRootProps: getRootProps,
|
package/dist/esm/metadata.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
1
2
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2
|
-
|
|
3
3
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
-
|
|
5
|
-
function
|
|
6
|
-
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
7
|
import { userAgents } from '@algolia/autocomplete-shared';
|
|
8
8
|
export function getMetadata(_ref) {
|
|
9
9
|
var _, _options$__autocomple, _options$__autocomple2, _options$__autocomple3;
|
|
10
|
-
|
|
11
10
|
var plugins = _ref.plugins,
|
|
12
|
-
|
|
11
|
+
options = _ref.options;
|
|
13
12
|
var optionsKey = (_ = (((_options$__autocomple = options.__autocomplete_metadata) === null || _options$__autocomple === void 0 ? void 0 : _options$__autocomple.userAgents) || [])[0]) === null || _ === void 0 ? void 0 : _.segment;
|
|
14
13
|
var extraOptions = optionsKey ? _defineProperty({}, optionsKey, Object.keys(((_options$__autocomple2 = options.__autocomplete_metadata) === null || _options$__autocomple2 === void 0 ? void 0 : _options$__autocomple2.options) || {})) : {};
|
|
15
14
|
return {
|
|
@@ -27,11 +26,9 @@ export function getMetadata(_ref) {
|
|
|
27
26
|
}
|
|
28
27
|
export function injectMetadata(_ref3) {
|
|
29
28
|
var _environment$navigato, _environment$navigato2;
|
|
30
|
-
|
|
31
29
|
var metadata = _ref3.metadata,
|
|
32
|
-
|
|
30
|
+
environment = _ref3.environment;
|
|
33
31
|
var isMetadataEnabled = (_environment$navigato = environment.navigator) === null || _environment$navigato === void 0 ? void 0 : (_environment$navigato2 = _environment$navigato.userAgent) === null || _environment$navigato2 === void 0 ? void 0 : _environment$navigato2.includes('Algolia Crawler');
|
|
34
|
-
|
|
35
32
|
if (isMetadataEnabled) {
|
|
36
33
|
var metadataContainer = environment.document.createElement('meta');
|
|
37
34
|
var headRef = environment.document.querySelector('head');
|