@algolia/autocomplete-js 1.6.0 → 1.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/autocomplete.js +22 -2
- package/dist/esm/components/Highlight.d.ts +4 -1
- package/dist/esm/components/Highlight.js +6 -2
- package/dist/esm/components/ReverseHighlight.d.ts +4 -1
- package/dist/esm/components/ReverseHighlight.js +6 -2
- package/dist/esm/components/ReverseSnippet.d.ts +4 -1
- package/dist/esm/components/ReverseSnippet.js +6 -2
- package/dist/esm/components/Snippet.d.ts +4 -1
- package/dist/esm/components/Snippet.js +6 -2
- package/dist/esm/getDefaultOptions.d.ts +1 -1
- package/dist/esm/getDefaultOptions.js +3 -2
- package/dist/esm/render.d.ts +1 -1
- package/dist/esm/types/AutocompleteRender.d.ts +1 -1
- package/dist/esm/types/AutocompleteRenderer.d.ts +3 -3
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/pickBy.d.ts +4 -0
- package/dist/esm/utils/pickBy.js +34 -0
- package/dist/umd/index.development.js +119 -28
- 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 +4 -4
package/dist/esm/autocomplete.js
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
var _excluded = ["components"];
|
|
2
|
+
|
|
3
|
+
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; }
|
|
4
|
+
|
|
5
|
+
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; }
|
|
6
|
+
|
|
1
7
|
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
8
|
|
|
3
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; }
|
|
@@ -14,7 +20,7 @@ import { getDefaultOptions } from './getDefaultOptions';
|
|
|
14
20
|
import { getPanelPlacementStyle } from './getPanelPlacementStyle';
|
|
15
21
|
import { renderPanel, renderSearchBox } from './render';
|
|
16
22
|
import { userAgents } from './userAgents';
|
|
17
|
-
import { mergeDeep, setProperties } from './utils';
|
|
23
|
+
import { mergeDeep, pickBy, setProperties } from './utils';
|
|
18
24
|
export function autocomplete(options) {
|
|
19
25
|
var _createEffectWrapper = createEffectWrapper(),
|
|
20
26
|
runEffect = _createEffectWrapper.runEffect,
|
|
@@ -273,7 +279,21 @@ export function autocomplete(options) {
|
|
|
273
279
|
function update() {
|
|
274
280
|
var updatedOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
275
281
|
cleanupEffects();
|
|
276
|
-
|
|
282
|
+
|
|
283
|
+
var _props$value$renderer = props.value.renderer,
|
|
284
|
+
components = _props$value$renderer.components,
|
|
285
|
+
rendererProps = _objectWithoutProperties(_props$value$renderer, _excluded);
|
|
286
|
+
|
|
287
|
+
optionsRef.current = mergeDeep(rendererProps, props.value.core, {
|
|
288
|
+
// We need to filter out default components so they can be replaced with
|
|
289
|
+
// a new `renderer`, without getting rid of user components.
|
|
290
|
+
// @MAJOR Deal with registering components with the same name as the
|
|
291
|
+
// default ones. If we disallow overriding default components, we'd just
|
|
292
|
+
// need to pass all `components` here.
|
|
293
|
+
components: pickBy(components, function (_ref4) {
|
|
294
|
+
var value = _ref4.value;
|
|
295
|
+
return !value.hasOwnProperty('__autocomplete_componentName');
|
|
296
|
+
}),
|
|
277
297
|
initialState: lastStateRef.current
|
|
278
298
|
}, updatedOptions);
|
|
279
299
|
runReactives();
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { AutocompleteRenderer, HighlightHitParams } from '../types';
|
|
3
|
-
export declare function createHighlightComponent({ createElement, Fragment, }: AutocompleteRenderer):
|
|
3
|
+
export declare function createHighlightComponent({ createElement, Fragment, }: AutocompleteRenderer): {
|
|
4
|
+
<THit>({ hit, attribute, tagName, }: HighlightHitParams<THit>): JSX.Element;
|
|
5
|
+
__autocomplete_componentName: string;
|
|
6
|
+
};
|
|
@@ -2,7 +2,8 @@ import { parseAlgoliaHitHighlight } from '@algolia/autocomplete-preset-algolia';
|
|
|
2
2
|
export function createHighlightComponent(_ref) {
|
|
3
3
|
var createElement = _ref.createElement,
|
|
4
4
|
Fragment = _ref.Fragment;
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
function Highlight(_ref2) {
|
|
6
7
|
var hit = _ref2.hit,
|
|
7
8
|
attribute = _ref2.attribute,
|
|
8
9
|
_ref2$tagName = _ref2.tagName,
|
|
@@ -15,5 +16,8 @@ export function createHighlightComponent(_ref) {
|
|
|
15
16
|
key: index
|
|
16
17
|
}, x.value) : x.value;
|
|
17
18
|
}));
|
|
18
|
-
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
Highlight.__autocomplete_componentName = 'Highlight';
|
|
22
|
+
return Highlight;
|
|
19
23
|
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { AutocompleteRenderer, HighlightHitParams } from '../types';
|
|
3
|
-
export declare function createReverseHighlightComponent({ createElement, Fragment, }: AutocompleteRenderer):
|
|
3
|
+
export declare function createReverseHighlightComponent({ createElement, Fragment, }: AutocompleteRenderer): {
|
|
4
|
+
<THit>({ hit, attribute, tagName, }: HighlightHitParams<THit>): JSX.Element;
|
|
5
|
+
__autocomplete_componentName: string;
|
|
6
|
+
};
|
|
@@ -2,7 +2,8 @@ import { parseAlgoliaHitReverseHighlight } from '@algolia/autocomplete-preset-al
|
|
|
2
2
|
export function createReverseHighlightComponent(_ref) {
|
|
3
3
|
var createElement = _ref.createElement,
|
|
4
4
|
Fragment = _ref.Fragment;
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
function ReverseHighlight(_ref2) {
|
|
6
7
|
var hit = _ref2.hit,
|
|
7
8
|
attribute = _ref2.attribute,
|
|
8
9
|
_ref2$tagName = _ref2.tagName,
|
|
@@ -15,5 +16,8 @@ export function createReverseHighlightComponent(_ref) {
|
|
|
15
16
|
key: index
|
|
16
17
|
}, x.value) : x.value;
|
|
17
18
|
}));
|
|
18
|
-
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
ReverseHighlight.__autocomplete_componentName = 'ReverseHighlight';
|
|
22
|
+
return ReverseHighlight;
|
|
19
23
|
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { AutocompleteRenderer, HighlightHitParams } from '../types';
|
|
3
|
-
export declare function createReverseSnippetComponent({ createElement, Fragment, }: AutocompleteRenderer):
|
|
3
|
+
export declare function createReverseSnippetComponent({ createElement, Fragment, }: AutocompleteRenderer): {
|
|
4
|
+
<THit>({ hit, attribute, tagName, }: HighlightHitParams<THit>): JSX.Element;
|
|
5
|
+
__autocomplete_componentName: string;
|
|
6
|
+
};
|
|
@@ -2,7 +2,8 @@ import { parseAlgoliaHitReverseSnippet } from '@algolia/autocomplete-preset-algo
|
|
|
2
2
|
export function createReverseSnippetComponent(_ref) {
|
|
3
3
|
var createElement = _ref.createElement,
|
|
4
4
|
Fragment = _ref.Fragment;
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
function ReverseSnippet(_ref2) {
|
|
6
7
|
var hit = _ref2.hit,
|
|
7
8
|
attribute = _ref2.attribute,
|
|
8
9
|
_ref2$tagName = _ref2.tagName,
|
|
@@ -15,5 +16,8 @@ export function createReverseSnippetComponent(_ref) {
|
|
|
15
16
|
key: index
|
|
16
17
|
}, x.value) : x.value;
|
|
17
18
|
}));
|
|
18
|
-
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
ReverseSnippet.__autocomplete_componentName = 'ReverseSnippet';
|
|
22
|
+
return ReverseSnippet;
|
|
19
23
|
}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { AutocompleteRenderer, HighlightHitParams } from '../types';
|
|
3
|
-
export declare function createSnippetComponent({ createElement, Fragment, }: AutocompleteRenderer):
|
|
3
|
+
export declare function createSnippetComponent({ createElement, Fragment, }: AutocompleteRenderer): {
|
|
4
|
+
<THit>({ hit, attribute, tagName, }: HighlightHitParams<THit>): JSX.Element;
|
|
5
|
+
__autocomplete_componentName: string;
|
|
6
|
+
};
|
|
@@ -2,7 +2,8 @@ import { parseAlgoliaHitSnippet } from '@algolia/autocomplete-preset-algolia';
|
|
|
2
2
|
export function createSnippetComponent(_ref) {
|
|
3
3
|
var createElement = _ref.createElement,
|
|
4
4
|
Fragment = _ref.Fragment;
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
function Snippet(_ref2) {
|
|
6
7
|
var hit = _ref2.hit,
|
|
7
8
|
attribute = _ref2.attribute,
|
|
8
9
|
_ref2$tagName = _ref2.tagName,
|
|
@@ -15,5 +16,8 @@ export function createSnippetComponent(_ref) {
|
|
|
15
16
|
key: index
|
|
16
17
|
}, x.value) : x.value;
|
|
17
18
|
}));
|
|
18
|
-
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
Snippet.__autocomplete_componentName = 'Snippet';
|
|
22
|
+
return Snippet;
|
|
19
23
|
}
|
|
@@ -159,7 +159,7 @@ export declare function getDefaultOptions<TItem extends BaseItem>(options: Autoc
|
|
|
159
159
|
renderer: {
|
|
160
160
|
createElement: import("./types").Pragma;
|
|
161
161
|
Fragment: any;
|
|
162
|
-
render
|
|
162
|
+
render: import("./types").Render;
|
|
163
163
|
};
|
|
164
164
|
detachedMediaQuery: string;
|
|
165
165
|
components: {
|
|
@@ -43,7 +43,8 @@ var defaultClassNames = {
|
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
var defaultRender = function defaultRender(_ref, root) {
|
|
46
|
-
var children = _ref.children
|
|
46
|
+
var children = _ref.children,
|
|
47
|
+
render = _ref.render;
|
|
47
48
|
render(children, root);
|
|
48
49
|
};
|
|
49
50
|
|
|
@@ -82,7 +83,7 @@ export function getDefaultOptions(options) {
|
|
|
82
83
|
|
|
83
84
|
var containerElement = getHTMLElement(environment, container);
|
|
84
85
|
invariant(containerElement.tagName !== 'INPUT', 'The `container` option does not support `input` elements. You need to change the container to a `div`.');
|
|
85
|
-
process.env.NODE_ENV !== 'production' ? warn(
|
|
86
|
+
process.env.NODE_ENV !== 'production' ? warn(!(render && renderer && !(renderer !== null && renderer !== void 0 && renderer.render)), "You provided the `render` option but did not provide a `renderer.render`. Since v1.6.0, you can provide a `render` function directly in `renderer`." + "\nTo get rid of this warning, do any of the following depending on your use case." + "\n- If you are using the `render` option only to override Autocomplete's default `render` function, pass the `render` function into `renderer` and remove the `render` option." + '\n- If you are using the `render` option to customize the layout, pass your `render` function into `renderer` and use it from the provided parameters of the `render` option.' + '\n- If you are using the `render` option to work with React 18, pass an empty `render` function into `renderer`.' + '\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-render') : void 0;
|
|
86
87
|
process.env.NODE_ENV !== 'production' ? warn(!renderer || render || renderer.Fragment && renderer.createElement && renderer.render, "You provided an incomplete `renderer` (missing: ".concat([!(renderer !== null && renderer !== void 0 && renderer.createElement) && '`renderer.createElement`', !(renderer !== null && renderer !== void 0 && renderer.Fragment) && '`renderer.Fragment`', !(renderer !== null && renderer !== void 0 && renderer.render) && '`renderer.render`'].filter(Boolean).join(', '), "). This can cause rendering issues.") + '\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-renderer') : void 0;
|
|
87
88
|
|
|
88
89
|
var defaultedRenderer = _objectSpread(_objectSpread({}, defaultRenderer), renderer);
|
package/dist/esm/render.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ declare type RenderProps<TItem extends BaseItem> = {
|
|
|
11
11
|
panelContainer: HTMLElement;
|
|
12
12
|
propGetters: AutocompletePropGetters<TItem>;
|
|
13
13
|
state: AutocompleteState<TItem>;
|
|
14
|
-
renderer: AutocompleteRenderer
|
|
14
|
+
renderer: Required<AutocompleteRenderer>;
|
|
15
15
|
};
|
|
16
16
|
export declare function renderSearchBox<TItem extends BaseItem>({ autocomplete, autocompleteScopeApi, dom, propGetters, state, }: RenderProps<TItem>): void;
|
|
17
17
|
export declare function renderPanel<TItem extends BaseItem>(render: AutocompleteRender<TItem>, { autocomplete, autocompleteScopeApi, classNames, html, dom, panelContainer, propGetters, state, components, renderer, }: RenderProps<TItem>): void;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
export declare type Pragma = (type: any, props: Record<string, any> | null, ...children: ComponentChildren[]) => JSX.Element;
|
|
3
3
|
export declare type PragmaFrag = any;
|
|
4
|
-
declare type ComponentChild = VNode<any> |
|
|
4
|
+
declare type ComponentChild = VNode<any> | string | number | boolean | null | undefined;
|
|
5
5
|
declare type ComponentChildren = ComponentChild[] | ComponentChild;
|
|
6
|
-
export declare type VNode<TProps =
|
|
6
|
+
export declare type VNode<TProps = {}> = {
|
|
7
7
|
type: any;
|
|
8
|
+
key: string | number | any;
|
|
8
9
|
props: TProps & {
|
|
9
10
|
children: ComponentChildren;
|
|
10
|
-
key?: any;
|
|
11
11
|
};
|
|
12
12
|
};
|
|
13
13
|
export declare type Render = (vnode: ComponentChild, parent: Element | Document | ShadowRoot | DocumentFragment, replaceNode?: Element | Text | undefined) => void;
|
package/dist/esm/utils/index.js
CHANGED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
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
|
+
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 _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
+
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
|
|
9
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
+
|
|
11
|
+
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); }
|
|
12
|
+
|
|
13
|
+
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; }
|
|
14
|
+
|
|
15
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
16
|
+
|
|
17
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
18
|
+
|
|
19
|
+
export function pickBy(obj, predicate) {
|
|
20
|
+
return Object.entries(obj).reduce(function (acc, _ref) {
|
|
21
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
22
|
+
key = _ref2[0],
|
|
23
|
+
value = _ref2[1];
|
|
24
|
+
|
|
25
|
+
if (predicate({
|
|
26
|
+
key: key,
|
|
27
|
+
value: value
|
|
28
|
+
})) {
|
|
29
|
+
return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, value));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return acc;
|
|
33
|
+
}, {});
|
|
34
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @algolia/autocomplete-js 1.6.
|
|
1
|
+
/*! @algolia/autocomplete-js 1.6.3 | MIT License | © Algolia, Inc. and contributors | https://github.com/algolia/autocomplete */
|
|
2
2
|
(function (global, factory) {
|
|
3
3
|
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
4
4
|
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
|
@@ -110,6 +110,10 @@
|
|
|
110
110
|
return target;
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
+
function _slicedToArray$1(arr, i) {
|
|
114
|
+
return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _unsupportedIterableToArray$6(arr, i) || _nonIterableRest$1();
|
|
115
|
+
}
|
|
116
|
+
|
|
113
117
|
function _toConsumableArray$5(arr) {
|
|
114
118
|
return _arrayWithoutHoles$5(arr) || _iterableToArray$5(arr) || _unsupportedIterableToArray$6(arr) || _nonIterableSpread$5();
|
|
115
119
|
}
|
|
@@ -118,10 +122,44 @@
|
|
|
118
122
|
if (Array.isArray(arr)) return _arrayLikeToArray$6(arr);
|
|
119
123
|
}
|
|
120
124
|
|
|
125
|
+
function _arrayWithHoles$1(arr) {
|
|
126
|
+
if (Array.isArray(arr)) return arr;
|
|
127
|
+
}
|
|
128
|
+
|
|
121
129
|
function _iterableToArray$5(iter) {
|
|
122
130
|
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
123
131
|
}
|
|
124
132
|
|
|
133
|
+
function _iterableToArrayLimit$1(arr, i) {
|
|
134
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
135
|
+
|
|
136
|
+
if (_i == null) return;
|
|
137
|
+
var _arr = [];
|
|
138
|
+
var _n = true;
|
|
139
|
+
var _d = false;
|
|
140
|
+
|
|
141
|
+
var _s, _e;
|
|
142
|
+
|
|
143
|
+
try {
|
|
144
|
+
for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
|
|
145
|
+
_arr.push(_s.value);
|
|
146
|
+
|
|
147
|
+
if (i && _arr.length === i) break;
|
|
148
|
+
}
|
|
149
|
+
} catch (err) {
|
|
150
|
+
_d = true;
|
|
151
|
+
_e = err;
|
|
152
|
+
} finally {
|
|
153
|
+
try {
|
|
154
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
155
|
+
} finally {
|
|
156
|
+
if (_d) throw _e;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
return _arr;
|
|
161
|
+
}
|
|
162
|
+
|
|
125
163
|
function _unsupportedIterableToArray$6(o, minLen) {
|
|
126
164
|
if (!o) return;
|
|
127
165
|
if (typeof o === "string") return _arrayLikeToArray$6(o, minLen);
|
|
@@ -143,6 +181,10 @@
|
|
|
143
181
|
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
144
182
|
}
|
|
145
183
|
|
|
184
|
+
function _nonIterableRest$1() {
|
|
185
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
186
|
+
}
|
|
187
|
+
|
|
146
188
|
function createRef(initialValue) {
|
|
147
189
|
return {
|
|
148
190
|
current: initialValue
|
|
@@ -311,7 +353,7 @@
|
|
|
311
353
|
|
|
312
354
|
var noop = function noop() {};
|
|
313
355
|
|
|
314
|
-
var version = '1.6.
|
|
356
|
+
var version = '1.6.3';
|
|
315
357
|
|
|
316
358
|
var userAgents$1 = [{
|
|
317
359
|
segment: 'autocomplete-core',
|
|
@@ -1354,7 +1396,7 @@
|
|
|
1354
1396
|
});
|
|
1355
1397
|
}
|
|
1356
1398
|
|
|
1357
|
-
var _excluded$
|
|
1399
|
+
var _excluded$7 = ["event", "nextState", "props", "query", "refresh", "store"];
|
|
1358
1400
|
|
|
1359
1401
|
function ownKeys$8(object, enumerableOnly) {
|
|
1360
1402
|
var keys = Object.keys(object);
|
|
@@ -1442,7 +1484,7 @@
|
|
|
1442
1484
|
query = _ref.query,
|
|
1443
1485
|
refresh = _ref.refresh,
|
|
1444
1486
|
store = _ref.store,
|
|
1445
|
-
setters = _objectWithoutProperties$3(_ref, _excluded$
|
|
1487
|
+
setters = _objectWithoutProperties$3(_ref, _excluded$7);
|
|
1446
1488
|
|
|
1447
1489
|
if (lastStalledId) {
|
|
1448
1490
|
props.environment.clearTimeout(lastStalledId);
|
|
@@ -1552,7 +1594,7 @@
|
|
|
1552
1594
|
return store.pendingRequests.add(request);
|
|
1553
1595
|
}
|
|
1554
1596
|
|
|
1555
|
-
var _excluded$
|
|
1597
|
+
var _excluded$6 = ["event", "props", "refresh", "store"];
|
|
1556
1598
|
|
|
1557
1599
|
function ownKeys$7(object, enumerableOnly) {
|
|
1558
1600
|
var keys = Object.keys(object);
|
|
@@ -1635,7 +1677,7 @@
|
|
|
1635
1677
|
props = _ref.props,
|
|
1636
1678
|
refresh = _ref.refresh,
|
|
1637
1679
|
store = _ref.store,
|
|
1638
|
-
setters = _objectWithoutProperties$2(_ref, _excluded$
|
|
1680
|
+
setters = _objectWithoutProperties$2(_ref, _excluded$6);
|
|
1639
1681
|
|
|
1640
1682
|
if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
|
|
1641
1683
|
// eslint-disable-next-line no-inner-declarations
|
|
@@ -1806,7 +1848,7 @@
|
|
|
1806
1848
|
}
|
|
1807
1849
|
}
|
|
1808
1850
|
|
|
1809
|
-
var _excluded$
|
|
1851
|
+
var _excluded$5 = ["props", "refresh", "store"],
|
|
1810
1852
|
_excluded2 = ["inputElement", "formElement", "panelElement"],
|
|
1811
1853
|
_excluded3 = ["inputElement"],
|
|
1812
1854
|
_excluded4 = ["inputElement", "maxLength"],
|
|
@@ -1892,7 +1934,7 @@
|
|
|
1892
1934
|
var props = _ref.props,
|
|
1893
1935
|
refresh = _ref.refresh,
|
|
1894
1936
|
store = _ref.store,
|
|
1895
|
-
setters = _objectWithoutProperties$1(_ref, _excluded$
|
|
1937
|
+
setters = _objectWithoutProperties$1(_ref, _excluded$5);
|
|
1896
1938
|
|
|
1897
1939
|
var getEnvironmentProps = function getEnvironmentProps(providedProps) {
|
|
1898
1940
|
var inputElement = providedProps.inputElement,
|
|
@@ -2667,6 +2709,23 @@
|
|
|
2667
2709
|
}, {});
|
|
2668
2710
|
}
|
|
2669
2711
|
|
|
2712
|
+
function pickBy(obj, predicate) {
|
|
2713
|
+
return Object.entries(obj).reduce(function (acc, _ref) {
|
|
2714
|
+
var _ref2 = _slicedToArray$1(_ref, 2),
|
|
2715
|
+
key = _ref2[0],
|
|
2716
|
+
value = _ref2[1];
|
|
2717
|
+
|
|
2718
|
+
if (predicate({
|
|
2719
|
+
key: key,
|
|
2720
|
+
value: value
|
|
2721
|
+
})) {
|
|
2722
|
+
return _objectSpread2(_objectSpread2({}, acc), {}, _defineProperty$g({}, key, value));
|
|
2723
|
+
}
|
|
2724
|
+
|
|
2725
|
+
return acc;
|
|
2726
|
+
}, {});
|
|
2727
|
+
}
|
|
2728
|
+
|
|
2670
2729
|
/* eslint-disable */
|
|
2671
2730
|
|
|
2672
2731
|
/**
|
|
@@ -2778,12 +2837,12 @@
|
|
|
2778
2837
|
}
|
|
2779
2838
|
}
|
|
2780
2839
|
|
|
2781
|
-
var _excluded$
|
|
2840
|
+
var _excluded$4 = ["children"];
|
|
2782
2841
|
function getCreateDomElement(environment) {
|
|
2783
2842
|
return function createDomElement(tagName, _ref) {
|
|
2784
2843
|
var _ref$children = _ref.children,
|
|
2785
2844
|
children = _ref$children === void 0 ? [] : _ref$children,
|
|
2786
|
-
props = _objectWithoutProperties$4(_ref, _excluded$
|
|
2845
|
+
props = _objectWithoutProperties$4(_ref, _excluded$4);
|
|
2787
2846
|
|
|
2788
2847
|
var element = environment.document.createElement(tagName);
|
|
2789
2848
|
setProperties(element, props);
|
|
@@ -2792,7 +2851,7 @@
|
|
|
2792
2851
|
};
|
|
2793
2852
|
}
|
|
2794
2853
|
|
|
2795
|
-
var _excluded$
|
|
2854
|
+
var _excluded$3 = ["autocompleteScopeApi", "environment", "classNames", "getInputProps", "getInputPropsCore", "onDetachedEscape", "state"];
|
|
2796
2855
|
var Input = function Input(_ref) {
|
|
2797
2856
|
var autocompleteScopeApi = _ref.autocompleteScopeApi,
|
|
2798
2857
|
environment = _ref.environment;
|
|
@@ -2801,7 +2860,7 @@
|
|
|
2801
2860
|
getInputPropsCore = _ref.getInputPropsCore,
|
|
2802
2861
|
onDetachedEscape = _ref.onDetachedEscape,
|
|
2803
2862
|
state = _ref.state,
|
|
2804
|
-
props = _objectWithoutProperties$4(_ref, _excluded$
|
|
2863
|
+
props = _objectWithoutProperties$4(_ref, _excluded$3);
|
|
2805
2864
|
|
|
2806
2865
|
var createDomElement = getCreateDomElement(environment);
|
|
2807
2866
|
var element = createDomElement('input', props);
|
|
@@ -3408,7 +3467,7 @@
|
|
|
3408
3467
|
};
|
|
3409
3468
|
}
|
|
3410
3469
|
|
|
3411
|
-
var _excluded$
|
|
3470
|
+
var _excluded$2 = ["params"];
|
|
3412
3471
|
|
|
3413
3472
|
function ownKeys(object, enumerableOnly) {
|
|
3414
3473
|
var keys = Object.keys(object);
|
|
@@ -3538,7 +3597,7 @@
|
|
|
3538
3597
|
|
|
3539
3598
|
return searchClient.search(queries.map(function (searchParameters) {
|
|
3540
3599
|
var params = searchParameters.params,
|
|
3541
|
-
headers = _objectWithoutProperties(searchParameters, _excluded$
|
|
3600
|
+
headers = _objectWithoutProperties(searchParameters, _excluded$2);
|
|
3542
3601
|
|
|
3543
3602
|
return _objectSpread(_objectSpread({}, headers), {}, {
|
|
3544
3603
|
params: _objectSpread({
|
|
@@ -3555,7 +3614,8 @@
|
|
|
3555
3614
|
function createHighlightComponent(_ref) {
|
|
3556
3615
|
var createElement = _ref.createElement,
|
|
3557
3616
|
Fragment = _ref.Fragment;
|
|
3558
|
-
|
|
3617
|
+
|
|
3618
|
+
function Highlight(_ref2) {
|
|
3559
3619
|
var hit = _ref2.hit,
|
|
3560
3620
|
attribute = _ref2.attribute,
|
|
3561
3621
|
_ref2$tagName = _ref2.tagName,
|
|
@@ -3568,13 +3628,17 @@
|
|
|
3568
3628
|
key: index
|
|
3569
3629
|
}, x.value) : x.value;
|
|
3570
3630
|
}));
|
|
3571
|
-
}
|
|
3631
|
+
}
|
|
3632
|
+
|
|
3633
|
+
Highlight.__autocomplete_componentName = 'Highlight';
|
|
3634
|
+
return Highlight;
|
|
3572
3635
|
}
|
|
3573
3636
|
|
|
3574
3637
|
function createReverseHighlightComponent(_ref) {
|
|
3575
3638
|
var createElement = _ref.createElement,
|
|
3576
3639
|
Fragment = _ref.Fragment;
|
|
3577
|
-
|
|
3640
|
+
|
|
3641
|
+
function ReverseHighlight(_ref2) {
|
|
3578
3642
|
var hit = _ref2.hit,
|
|
3579
3643
|
attribute = _ref2.attribute,
|
|
3580
3644
|
_ref2$tagName = _ref2.tagName,
|
|
@@ -3587,13 +3651,17 @@
|
|
|
3587
3651
|
key: index
|
|
3588
3652
|
}, x.value) : x.value;
|
|
3589
3653
|
}));
|
|
3590
|
-
}
|
|
3654
|
+
}
|
|
3655
|
+
|
|
3656
|
+
ReverseHighlight.__autocomplete_componentName = 'ReverseHighlight';
|
|
3657
|
+
return ReverseHighlight;
|
|
3591
3658
|
}
|
|
3592
3659
|
|
|
3593
3660
|
function createReverseSnippetComponent(_ref) {
|
|
3594
3661
|
var createElement = _ref.createElement,
|
|
3595
3662
|
Fragment = _ref.Fragment;
|
|
3596
|
-
|
|
3663
|
+
|
|
3664
|
+
function ReverseSnippet(_ref2) {
|
|
3597
3665
|
var hit = _ref2.hit,
|
|
3598
3666
|
attribute = _ref2.attribute,
|
|
3599
3667
|
_ref2$tagName = _ref2.tagName,
|
|
@@ -3606,13 +3674,17 @@
|
|
|
3606
3674
|
key: index
|
|
3607
3675
|
}, x.value) : x.value;
|
|
3608
3676
|
}));
|
|
3609
|
-
}
|
|
3677
|
+
}
|
|
3678
|
+
|
|
3679
|
+
ReverseSnippet.__autocomplete_componentName = 'ReverseSnippet';
|
|
3680
|
+
return ReverseSnippet;
|
|
3610
3681
|
}
|
|
3611
3682
|
|
|
3612
3683
|
function createSnippetComponent(_ref) {
|
|
3613
3684
|
var createElement = _ref.createElement,
|
|
3614
3685
|
Fragment = _ref.Fragment;
|
|
3615
|
-
|
|
3686
|
+
|
|
3687
|
+
function Snippet(_ref2) {
|
|
3616
3688
|
var hit = _ref2.hit,
|
|
3617
3689
|
attribute = _ref2.attribute,
|
|
3618
3690
|
_ref2$tagName = _ref2.tagName,
|
|
@@ -3625,10 +3697,13 @@
|
|
|
3625
3697
|
key: index
|
|
3626
3698
|
}, x.value) : x.value;
|
|
3627
3699
|
}));
|
|
3628
|
-
}
|
|
3700
|
+
}
|
|
3701
|
+
|
|
3702
|
+
Snippet.__autocomplete_componentName = 'Snippet';
|
|
3703
|
+
return Snippet;
|
|
3629
3704
|
}
|
|
3630
3705
|
|
|
3631
|
-
var _excluded = ["classNames", "container", "getEnvironmentProps", "getFormProps", "getInputProps", "getItemProps", "getLabelProps", "getListProps", "getPanelProps", "getRootProps", "panelContainer", "panelPlacement", "render", "renderNoResults", "renderer", "detachedMediaQuery", "components", "translations"];
|
|
3706
|
+
var _excluded$1 = ["classNames", "container", "getEnvironmentProps", "getFormProps", "getInputProps", "getItemProps", "getLabelProps", "getListProps", "getPanelProps", "getRootProps", "panelContainer", "panelPlacement", "render", "renderNoResults", "renderer", "detachedMediaQuery", "components", "translations"];
|
|
3632
3707
|
var defaultClassNames = {
|
|
3633
3708
|
clearButton: 'aa-ClearButton',
|
|
3634
3709
|
detachedCancelButton: 'aa-DetachedCancelButton',
|
|
@@ -3658,8 +3733,9 @@
|
|
|
3658
3733
|
};
|
|
3659
3734
|
|
|
3660
3735
|
var defaultRender = function defaultRender(_ref, root) {
|
|
3661
|
-
var children = _ref.children
|
|
3662
|
-
|
|
3736
|
+
var children = _ref.children,
|
|
3737
|
+
render = _ref.render;
|
|
3738
|
+
render(children, root);
|
|
3663
3739
|
};
|
|
3664
3740
|
|
|
3665
3741
|
var defaultRenderer = {
|
|
@@ -3688,7 +3764,7 @@
|
|
|
3688
3764
|
detachedMediaQuery = options.detachedMediaQuery,
|
|
3689
3765
|
components = options.components,
|
|
3690
3766
|
translations = options.translations,
|
|
3691
|
-
core = _objectWithoutProperties$4(options, _excluded);
|
|
3767
|
+
core = _objectWithoutProperties$4(options, _excluded$1);
|
|
3692
3768
|
/* eslint-disable no-restricted-globals */
|
|
3693
3769
|
|
|
3694
3770
|
|
|
@@ -3697,7 +3773,7 @@
|
|
|
3697
3773
|
|
|
3698
3774
|
var containerElement = getHTMLElement(environment, container);
|
|
3699
3775
|
invariant(containerElement.tagName !== 'INPUT', 'The `container` option does not support `input` elements. You need to change the container to a `div`.');
|
|
3700
|
-
"development" !== 'production' ? warn(
|
|
3776
|
+
"development" !== 'production' ? warn(!(render && renderer && !(renderer !== null && renderer !== void 0 && renderer.render)), "You provided the `render` option but did not provide a `renderer.render`. Since v1.6.0, you can provide a `render` function directly in `renderer`." + "\nTo get rid of this warning, do any of the following depending on your use case." + "\n- If you are using the `render` option only to override Autocomplete's default `render` function, pass the `render` function into `renderer` and remove the `render` option." + '\n- If you are using the `render` option to customize the layout, pass your `render` function into `renderer` and use it from the provided parameters of the `render` option.' + '\n- If you are using the `render` option to work with React 18, pass an empty `render` function into `renderer`.' + '\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-render') : void 0;
|
|
3701
3777
|
"development" !== 'production' ? warn(!renderer || render || renderer.Fragment && renderer.createElement && renderer.render, "You provided an incomplete `renderer` (missing: ".concat([!(renderer !== null && renderer !== void 0 && renderer.createElement) && '`renderer.createElement`', !(renderer !== null && renderer !== void 0 && renderer.Fragment) && '`renderer.Fragment`', !(renderer !== null && renderer !== void 0 && renderer.render) && '`renderer.render`'].filter(Boolean).join(', '), "). This can cause rendering issues.") + '\nSee https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-renderer') : void 0;
|
|
3702
3778
|
|
|
3703
3779
|
var defaultedRenderer = _objectSpread2(_objectSpread2({}, defaultRenderer), renderer);
|
|
@@ -3968,6 +4044,7 @@
|
|
|
3968
4044
|
version: version
|
|
3969
4045
|
}];
|
|
3970
4046
|
|
|
4047
|
+
var _excluded = ["components"];
|
|
3971
4048
|
function autocomplete(options) {
|
|
3972
4049
|
var _createEffectWrapper = createEffectWrapper(),
|
|
3973
4050
|
runEffect = _createEffectWrapper.runEffect,
|
|
@@ -4226,7 +4303,21 @@
|
|
|
4226
4303
|
function update() {
|
|
4227
4304
|
var updatedOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
4228
4305
|
cleanupEffects();
|
|
4229
|
-
|
|
4306
|
+
|
|
4307
|
+
var _props$value$renderer = props.value.renderer,
|
|
4308
|
+
components = _props$value$renderer.components,
|
|
4309
|
+
rendererProps = _objectWithoutProperties$4(_props$value$renderer, _excluded);
|
|
4310
|
+
|
|
4311
|
+
optionsRef.current = mergeDeep(rendererProps, props.value.core, {
|
|
4312
|
+
// We need to filter out default components so they can be replaced with
|
|
4313
|
+
// a new `renderer`, without getting rid of user components.
|
|
4314
|
+
// @MAJOR Deal with registering components with the same name as the
|
|
4315
|
+
// default ones. If we disallow overriding default components, we'd just
|
|
4316
|
+
// need to pass all `components` here.
|
|
4317
|
+
components: pickBy(components, function (_ref4) {
|
|
4318
|
+
var value = _ref4.value;
|
|
4319
|
+
return !value.hasOwnProperty('__autocomplete_componentName');
|
|
4320
|
+
}),
|
|
4230
4321
|
initialState: lastStateRef.current
|
|
4231
4322
|
}, updatedOptions);
|
|
4232
4323
|
runReactives();
|