@algolia/autocomplete-js 1.8.2 → 1.9.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/autocomplete.js +26 -54
- package/dist/esm/components/Highlight.js +4 -6
- package/dist/esm/components/ReverseHighlight.js +4 -6
- package/dist/esm/components/ReverseSnippet.js +4 -6
- package/dist/esm/components/Snippet.js +4 -6
- package/dist/esm/createAutocompleteDom.js +26 -22
- package/dist/esm/createEffectWrapper.js +0 -2
- package/dist/esm/createReactiveWrapper.js +0 -3
- package/dist/esm/elements/Input.js +11 -16
- package/dist/esm/getCreateDomElement.js +3 -13
- package/dist/esm/getDefaultOptions.d.ts +32 -31
- package/dist/esm/getDefaultOptions.js +25 -34
- package/dist/esm/getPanelPlacementStyle.js +5 -10
- package/dist/esm/render.js +30 -28
- package/dist/esm/requesters/createAlgoliaRequester.js +4 -4
- package/dist/esm/requesters/getAlgoliaFacets.js +5 -5
- package/dist/esm/requesters/getAlgoliaResults.js +1 -1
- package/dist/esm/types/AutocompleteApi.d.ts +1 -1
- package/dist/esm/types/AutocompleteDom.d.ts +2 -0
- package/dist/esm/types/index.d.ts +7 -12
- package/dist/esm/types/index.js +2 -12
- package/dist/esm/utils/getHTMLElement.js +0 -1
- package/dist/esm/utils/mergeClassNames.js +0 -2
- package/dist/esm/utils/mergeDeep.js +1 -11
- package/dist/esm/utils/pickBy.js +8 -16
- package/dist/esm/utils/setProperties.js +9 -12
- package/dist/umd/index.development.js +1548 -878
- 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 -6
- package/dist/esm/types/AutocompleteClassNames.d.ts +0 -27
- package/dist/esm/types/AutocompleteClassNames.js +0 -1
- package/dist/esm/types/AutocompleteCollection.d.ts +0 -6
- package/dist/esm/types/AutocompleteCollection.js +0 -1
- package/dist/esm/types/AutocompleteComponents.d.ts +0 -23
- package/dist/esm/types/AutocompleteComponents.js +0 -1
- package/dist/esm/types/AutocompleteOptions.d.ts +0 -106
- package/dist/esm/types/AutocompleteOptions.js +0 -1
- package/dist/esm/types/AutocompletePlugin.d.ts +0 -12
- package/dist/esm/types/AutocompletePlugin.js +0 -1
- package/dist/esm/types/AutocompletePropGetters.d.ts +0 -33
- package/dist/esm/types/AutocompletePropGetters.js +0 -1
- package/dist/esm/types/AutocompleteRender.d.ts +0 -15
- package/dist/esm/types/AutocompleteRender.js +0 -1
- package/dist/esm/types/AutocompleteRenderer.d.ts +0 -33
- package/dist/esm/types/AutocompleteRenderer.js +0 -1
- package/dist/esm/types/AutocompleteSource.d.ts +0 -74
- package/dist/esm/types/AutocompleteSource.js +0 -1
- package/dist/esm/types/AutocompleteState.d.ts +0 -10
- package/dist/esm/types/AutocompleteState.js +0 -1
- package/dist/esm/types/AutocompleteTranslations.d.ts +0 -5
- package/dist/esm/types/AutocompleteTranslations.js +0 -1
- package/dist/esm/types/HighlightHitParams.d.ts +0 -18
- package/dist/esm/types/HighlightHitParams.js +0 -1
|
@@ -12,7 +12,7 @@ export declare function getDefaultOptions<TItem extends BaseItem>(options: Autoc
|
|
|
12
12
|
onMouseDown(event: MouseEvent): void;
|
|
13
13
|
};
|
|
14
14
|
} & {
|
|
15
|
-
state: import("
|
|
15
|
+
state: import("@algolia/autocomplete-shared").AutocompleteState<TItem>;
|
|
16
16
|
} & import("@algolia/autocomplete-core").AutocompleteScopeApi<TItem>) => {
|
|
17
17
|
onTouchStart(event: TouchEvent): void;
|
|
18
18
|
onTouchMove(event: TouchEvent): void;
|
|
@@ -27,7 +27,7 @@ export declare function getDefaultOptions<TItem extends BaseItem>(options: Autoc
|
|
|
27
27
|
onReset(event: Event): void;
|
|
28
28
|
};
|
|
29
29
|
} & {
|
|
30
|
-
state: import("
|
|
30
|
+
state: import("@algolia/autocomplete-shared").AutocompleteState<TItem>;
|
|
31
31
|
} & import("@algolia/autocomplete-core").AutocompleteScopeApi<TItem>) => {
|
|
32
32
|
action: "";
|
|
33
33
|
noValidate: true;
|
|
@@ -41,9 +41,9 @@ export declare function getDefaultOptions<TItem extends BaseItem>(options: Autoc
|
|
|
41
41
|
value: string;
|
|
42
42
|
autoFocus: boolean;
|
|
43
43
|
placeholder: string;
|
|
44
|
-
autoComplete: "
|
|
45
|
-
autoCorrect: "
|
|
46
|
-
autoCapitalize: "
|
|
44
|
+
autoComplete: "on" | "off";
|
|
45
|
+
autoCorrect: "on" | "off";
|
|
46
|
+
autoCapitalize: "on" | "off";
|
|
47
47
|
enterKeyHint: "search" | "go";
|
|
48
48
|
spellCheck: "false";
|
|
49
49
|
maxLength: number;
|
|
@@ -60,15 +60,15 @@ export declare function getDefaultOptions<TItem extends BaseItem>(options: Autoc
|
|
|
60
60
|
};
|
|
61
61
|
inputElement: HTMLInputElement;
|
|
62
62
|
} & {
|
|
63
|
-
state: import("
|
|
63
|
+
state: import("@algolia/autocomplete-shared").AutocompleteState<TItem>;
|
|
64
64
|
} & import("@algolia/autocomplete-core").AutocompleteScopeApi<TItem>) => {
|
|
65
65
|
id: string;
|
|
66
66
|
value: string;
|
|
67
67
|
autoFocus: boolean;
|
|
68
68
|
placeholder: string;
|
|
69
|
-
autoComplete: "
|
|
70
|
-
autoCorrect: "
|
|
71
|
-
autoCapitalize: "
|
|
69
|
+
autoComplete: "on" | "off";
|
|
70
|
+
autoCorrect: "on" | "off";
|
|
71
|
+
autoCapitalize: "on" | "off";
|
|
72
72
|
enterKeyHint: "search" | "go";
|
|
73
73
|
spellCheck: "false";
|
|
74
74
|
maxLength: number;
|
|
@@ -86,17 +86,17 @@ export declare function getDefaultOptions<TItem extends BaseItem>(options: Autoc
|
|
|
86
86
|
getItemProps: (params: {
|
|
87
87
|
props: {
|
|
88
88
|
id: string;
|
|
89
|
-
role:
|
|
89
|
+
role: "option";
|
|
90
90
|
'aria-selected': boolean;
|
|
91
91
|
onMouseMove(event: MouseEvent): void;
|
|
92
92
|
onMouseDown(event: MouseEvent): void;
|
|
93
93
|
onClick(event: MouseEvent): void;
|
|
94
94
|
};
|
|
95
95
|
} & {
|
|
96
|
-
state: import("
|
|
96
|
+
state: import("@algolia/autocomplete-shared").AutocompleteState<TItem>;
|
|
97
97
|
} & import("@algolia/autocomplete-core").AutocompleteScopeApi<TItem>) => {
|
|
98
98
|
id: string;
|
|
99
|
-
role:
|
|
99
|
+
role: "option";
|
|
100
100
|
'aria-selected': boolean;
|
|
101
101
|
onMouseMove(event: MouseEvent): void;
|
|
102
102
|
onMouseDown(event: MouseEvent): void;
|
|
@@ -108,21 +108,21 @@ export declare function getDefaultOptions<TItem extends BaseItem>(options: Autoc
|
|
|
108
108
|
id: string;
|
|
109
109
|
};
|
|
110
110
|
} & {
|
|
111
|
-
state: import("
|
|
111
|
+
state: import("@algolia/autocomplete-shared").AutocompleteState<TItem>;
|
|
112
112
|
} & import("@algolia/autocomplete-core").AutocompleteScopeApi<TItem>) => {
|
|
113
113
|
htmlFor: string;
|
|
114
114
|
id: string;
|
|
115
115
|
};
|
|
116
116
|
getListProps: (params: {
|
|
117
117
|
props: {
|
|
118
|
-
role:
|
|
118
|
+
role: "listbox";
|
|
119
119
|
'aria-labelledby': string;
|
|
120
120
|
id: string;
|
|
121
121
|
};
|
|
122
122
|
} & {
|
|
123
|
-
state: import("
|
|
123
|
+
state: import("@algolia/autocomplete-shared").AutocompleteState<TItem>;
|
|
124
124
|
} & import("@algolia/autocomplete-core").AutocompleteScopeApi<TItem>) => {
|
|
125
|
-
role:
|
|
125
|
+
role: "listbox";
|
|
126
126
|
'aria-labelledby': string;
|
|
127
127
|
id: string;
|
|
128
128
|
};
|
|
@@ -132,23 +132,23 @@ export declare function getDefaultOptions<TItem extends BaseItem>(options: Autoc
|
|
|
132
132
|
onMouseLeave(): void;
|
|
133
133
|
};
|
|
134
134
|
} & {
|
|
135
|
-
state: import("
|
|
135
|
+
state: import("@algolia/autocomplete-shared").AutocompleteState<TItem>;
|
|
136
136
|
} & import("@algolia/autocomplete-core").AutocompleteScopeApi<TItem>) => {
|
|
137
137
|
onMouseDown(event: MouseEvent): void;
|
|
138
138
|
onMouseLeave(): void;
|
|
139
139
|
};
|
|
140
140
|
getRootProps: (params: {
|
|
141
141
|
props: {
|
|
142
|
-
role:
|
|
142
|
+
role: "combobox";
|
|
143
143
|
'aria-expanded': boolean;
|
|
144
144
|
'aria-haspopup': boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree" | undefined;
|
|
145
145
|
'aria-owns': string | undefined;
|
|
146
146
|
'aria-labelledby': string;
|
|
147
147
|
};
|
|
148
148
|
} & {
|
|
149
|
-
state: import("
|
|
149
|
+
state: import("@algolia/autocomplete-shared").AutocompleteState<TItem>;
|
|
150
150
|
} & import("@algolia/autocomplete-core").AutocompleteScopeApi<TItem>) => {
|
|
151
|
-
role:
|
|
151
|
+
role: "combobox";
|
|
152
152
|
'aria-expanded': boolean;
|
|
153
153
|
'aria-haspopup': boolean | "dialog" | "menu" | "true" | "false" | "grid" | "listbox" | "tree" | undefined;
|
|
154
154
|
'aria-owns': string | undefined;
|
|
@@ -159,17 +159,17 @@ export declare function getDefaultOptions<TItem extends BaseItem>(options: Autoc
|
|
|
159
159
|
render: AutocompleteRender<any> | AutocompleteRender<TItem>;
|
|
160
160
|
renderNoResults: AutocompleteRender<TItem> | undefined;
|
|
161
161
|
renderer: {
|
|
162
|
-
createElement: import("
|
|
162
|
+
createElement: import("@algolia/autocomplete-shared").Pragma;
|
|
163
163
|
Fragment: any;
|
|
164
|
-
render: import("
|
|
164
|
+
render: import("@algolia/autocomplete-shared").Render;
|
|
165
165
|
};
|
|
166
166
|
detachedMediaQuery: string;
|
|
167
167
|
components: {
|
|
168
168
|
[x: string]: (props: any) => JSX.Element;
|
|
169
|
-
Highlight: <THit>({ hit, attribute, tagName, }: import("
|
|
170
|
-
ReverseHighlight: <THit>({ hit, attribute, tagName, }: import("
|
|
171
|
-
ReverseSnippet: <THit>({ hit, attribute, tagName, }: import("
|
|
172
|
-
Snippet: <THit>({ hit, attribute, tagName, }: import("
|
|
169
|
+
Highlight: <THit>({ hit, attribute, tagName, }: import("@algolia/autocomplete-shared").HighlightHitParams<THit>) => JSX.Element;
|
|
170
|
+
ReverseHighlight: <THit>({ hit, attribute, tagName, }: import("@algolia/autocomplete-shared").HighlightHitParams<THit>) => JSX.Element;
|
|
171
|
+
ReverseSnippet: <THit>({ hit, attribute, tagName, }: import("@algolia/autocomplete-shared").HighlightHitParams<THit>) => JSX.Element;
|
|
172
|
+
Snippet: <THit>({ hit, attribute, tagName, }: import("@algolia/autocomplete-shared").HighlightHitParams<THit>) => JSX.Element;
|
|
173
173
|
};
|
|
174
174
|
translations: {
|
|
175
175
|
detachedCancelButtonText: string;
|
|
@@ -180,17 +180,18 @@ export declare function getDefaultOptions<TItem extends BaseItem>(options: Autoc
|
|
|
180
180
|
core: {
|
|
181
181
|
id: string;
|
|
182
182
|
environment: Window;
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
183
|
+
insights?: boolean | import("@algolia/autocomplete-plugin-algolia-insights").CreateAlgoliaInsightsPluginParams | undefined;
|
|
184
|
+
getSources?: import("@algolia/autocomplete-shared").GetSources<TItem> | undefined;
|
|
185
|
+
initialState?: Partial<import("@algolia/autocomplete-shared").AutocompleteState<TItem>> | undefined;
|
|
186
|
+
onStateChange?(props: import("@algolia/autocomplete-shared").OnStateChangeProps<TItem>): void;
|
|
187
|
+
plugins?: import("@algolia/autocomplete-shared").AutocompletePlugin<any, any>[] | undefined;
|
|
187
188
|
debug?: boolean | undefined;
|
|
188
189
|
placeholder?: string | undefined;
|
|
189
190
|
autoFocus?: boolean | undefined;
|
|
190
191
|
defaultActiveItemId?: number | null | undefined;
|
|
191
192
|
openOnFocus?: boolean | undefined;
|
|
192
193
|
stallThreshold?: number | undefined;
|
|
193
|
-
navigator?: Partial<import("@algolia/autocomplete-
|
|
194
|
+
navigator?: Partial<import("@algolia/autocomplete-shared/dist/esm/core/AutocompleteNavigator").AutocompleteNavigator<TItem>> | undefined;
|
|
194
195
|
shouldPanelOpen?(params: {
|
|
195
196
|
state: import("@algolia/autocomplete-core").AutocompleteState<TItem>;
|
|
196
197
|
}): boolean;
|
|
@@ -1,15 +1,12 @@
|
|
|
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 = ["classNames", "container", "getEnvironmentProps", "getFormProps", "getInputProps", "getItemProps", "getLabelProps", "getListProps", "getPanelProps", "getRootProps", "panelContainer", "panelPlacement", "render", "renderNoResults", "renderer", "detachedMediaQuery", "components", "translations"];
|
|
2
|
-
|
|
3
3
|
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; }
|
|
4
|
-
|
|
5
4
|
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; }
|
|
6
|
-
|
|
7
|
-
function
|
|
8
|
-
|
|
5
|
+
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; }
|
|
6
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
|
+
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); }
|
|
9
8
|
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; }
|
|
10
|
-
|
|
11
9
|
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; }
|
|
12
|
-
|
|
13
10
|
import { generateAutocompleteId, invariant, warn } from '@algolia/autocomplete-shared';
|
|
14
11
|
import { createElement as preactCreateElement, Fragment as PreactFragment, render } from 'preact';
|
|
15
12
|
import { createHighlightComponent, createReverseHighlightComponent, createReverseSnippetComponent, createSnippetComponent } from './components';
|
|
@@ -23,6 +20,7 @@ var defaultClassNames = {
|
|
|
23
20
|
detachedSearchButton: 'aa-DetachedSearchButton',
|
|
24
21
|
detachedSearchButtonIcon: 'aa-DetachedSearchButtonIcon',
|
|
25
22
|
detachedSearchButtonPlaceholder: 'aa-DetachedSearchButtonPlaceholder',
|
|
23
|
+
detachedSearchButtonQuery: 'aa-DetachedSearchButtonQuery',
|
|
26
24
|
form: 'aa-Form',
|
|
27
25
|
input: 'aa-Input',
|
|
28
26
|
inputWrapper: 'aa-InputWrapper',
|
|
@@ -41,13 +39,11 @@ var defaultClassNames = {
|
|
|
41
39
|
sourceNoResults: 'aa-SourceNoResults',
|
|
42
40
|
submitButton: 'aa-SubmitButton'
|
|
43
41
|
};
|
|
44
|
-
|
|
45
42
|
var defaultRender = function defaultRender(_ref, root) {
|
|
46
43
|
var children = _ref.children,
|
|
47
|
-
|
|
44
|
+
render = _ref.render;
|
|
48
45
|
render(children, root);
|
|
49
46
|
};
|
|
50
|
-
|
|
51
47
|
var defaultRenderer = {
|
|
52
48
|
createElement: preactCreateElement,
|
|
53
49
|
Fragment: PreactFragment,
|
|
@@ -55,39 +51,34 @@ var defaultRenderer = {
|
|
|
55
51
|
};
|
|
56
52
|
export function getDefaultOptions(options) {
|
|
57
53
|
var _core$id;
|
|
58
|
-
|
|
59
54
|
var classNames = options.classNames,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
/* eslint-disable no-restricted-globals */
|
|
79
|
-
|
|
55
|
+
container = options.container,
|
|
56
|
+
getEnvironmentProps = options.getEnvironmentProps,
|
|
57
|
+
getFormProps = options.getFormProps,
|
|
58
|
+
getInputProps = options.getInputProps,
|
|
59
|
+
getItemProps = options.getItemProps,
|
|
60
|
+
getLabelProps = options.getLabelProps,
|
|
61
|
+
getListProps = options.getListProps,
|
|
62
|
+
getPanelProps = options.getPanelProps,
|
|
63
|
+
getRootProps = options.getRootProps,
|
|
64
|
+
panelContainer = options.panelContainer,
|
|
65
|
+
panelPlacement = options.panelPlacement,
|
|
66
|
+
render = options.render,
|
|
67
|
+
renderNoResults = options.renderNoResults,
|
|
68
|
+
renderer = options.renderer,
|
|
69
|
+
detachedMediaQuery = options.detachedMediaQuery,
|
|
70
|
+
components = options.components,
|
|
71
|
+
translations = options.translations,
|
|
72
|
+
core = _objectWithoutProperties(options, _excluded);
|
|
80
73
|
|
|
74
|
+
/* eslint-disable no-restricted-globals */
|
|
81
75
|
var environment = typeof window !== 'undefined' ? window : {};
|
|
82
76
|
/* eslint-enable no-restricted-globals */
|
|
83
|
-
|
|
84
77
|
var containerElement = getHTMLElement(environment, container);
|
|
85
78
|
invariant(containerElement.tagName !== 'INPUT', 'The `container` option does not support `input` elements. You need to change the container to a `div`.');
|
|
86
79
|
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;
|
|
87
80
|
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;
|
|
88
|
-
|
|
89
81
|
var defaultedRenderer = _objectSpread(_objectSpread({}, defaultRenderer), renderer);
|
|
90
|
-
|
|
91
82
|
var defaultComponents = {
|
|
92
83
|
Highlight: createHighlightComponent(defaultedRenderer),
|
|
93
84
|
ReverseHighlight: createReverseHighlightComponent(defaultedRenderer),
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
export function getPanelPlacementStyle(_ref) {
|
|
2
2
|
var panelPlacement = _ref.panelPlacement,
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var containerRect = container.getBoundingClientRect();
|
|
3
|
+
container = _ref.container,
|
|
4
|
+
form = _ref.form,
|
|
5
|
+
environment = _ref.environment;
|
|
6
|
+
var containerRect = container.getBoundingClientRect();
|
|
7
|
+
// Some browsers have specificities to retrieve the document scroll position.
|
|
7
8
|
// See https://stackoverflow.com/a/28633515/9940315
|
|
8
|
-
|
|
9
9
|
var scrollTop = environment.pageYOffset || environment.document.documentElement.scrollTop || environment.document.body.scrollTop || 0;
|
|
10
10
|
var top = scrollTop + containerRect.top + containerRect.height;
|
|
11
|
-
|
|
12
11
|
switch (panelPlacement) {
|
|
13
12
|
case 'start':
|
|
14
13
|
{
|
|
@@ -17,7 +16,6 @@ export function getPanelPlacementStyle(_ref) {
|
|
|
17
16
|
left: containerRect.left
|
|
18
17
|
};
|
|
19
18
|
}
|
|
20
|
-
|
|
21
19
|
case 'end':
|
|
22
20
|
{
|
|
23
21
|
return {
|
|
@@ -25,7 +23,6 @@ export function getPanelPlacementStyle(_ref) {
|
|
|
25
23
|
right: environment.document.documentElement.clientWidth - (containerRect.left + containerRect.width)
|
|
26
24
|
};
|
|
27
25
|
}
|
|
28
|
-
|
|
29
26
|
case 'full-width':
|
|
30
27
|
{
|
|
31
28
|
return {
|
|
@@ -36,7 +33,6 @@ export function getPanelPlacementStyle(_ref) {
|
|
|
36
33
|
maxWidth: 'unset'
|
|
37
34
|
};
|
|
38
35
|
}
|
|
39
|
-
|
|
40
36
|
case 'input-wrapper-width':
|
|
41
37
|
{
|
|
42
38
|
var formRect = form.getBoundingClientRect();
|
|
@@ -48,7 +44,6 @@ export function getPanelPlacementStyle(_ref) {
|
|
|
48
44
|
maxWidth: 'unset'
|
|
49
45
|
};
|
|
50
46
|
}
|
|
51
|
-
|
|
52
47
|
default:
|
|
53
48
|
{
|
|
54
49
|
throw new Error("[Autocomplete] The `panelPlacement` value ".concat(JSON.stringify(panelPlacement), " is not valid."));
|
package/dist/esm/render.js
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
function
|
|
2
|
-
|
|
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); }
|
|
2
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
3
3
|
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; }
|
|
4
|
-
|
|
5
4
|
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; }
|
|
6
|
-
|
|
7
|
-
function
|
|
8
|
-
|
|
5
|
+
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; }
|
|
6
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
|
+
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); }
|
|
9
8
|
/** @jsxRuntime classic */
|
|
10
|
-
|
|
11
9
|
/** @jsx renderer.createElement */
|
|
10
|
+
|
|
12
11
|
import { setProperties, setPropertiesWithoutEvents } from './utils';
|
|
13
12
|
export function renderSearchBox(_ref) {
|
|
14
13
|
var autocomplete = _ref.autocomplete,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
autocompleteScopeApi = _ref.autocompleteScopeApi,
|
|
15
|
+
dom = _ref.dom,
|
|
16
|
+
propGetters = _ref.propGetters,
|
|
17
|
+
state = _ref.state;
|
|
19
18
|
setPropertiesWithoutEvents(dom.root, propGetters.getRootProps(_objectSpread({
|
|
20
19
|
state: state,
|
|
21
20
|
props: autocomplete.getRootProps({})
|
|
@@ -36,41 +35,44 @@ export function renderSearchBox(_ref) {
|
|
|
36
35
|
setProperties(dom.clearButton, {
|
|
37
36
|
hidden: !state.query
|
|
38
37
|
});
|
|
38
|
+
setProperties(dom.detachedSearchButtonQuery, {
|
|
39
|
+
textContent: state.query
|
|
40
|
+
});
|
|
41
|
+
setProperties(dom.detachedSearchButtonPlaceholder, {
|
|
42
|
+
hidden: Boolean(state.query)
|
|
43
|
+
});
|
|
39
44
|
}
|
|
40
45
|
export function renderPanel(render, _ref2) {
|
|
41
46
|
var autocomplete = _ref2.autocomplete,
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
autocompleteScopeApi = _ref2.autocompleteScopeApi,
|
|
48
|
+
classNames = _ref2.classNames,
|
|
49
|
+
html = _ref2.html,
|
|
50
|
+
dom = _ref2.dom,
|
|
51
|
+
panelContainer = _ref2.panelContainer,
|
|
52
|
+
propGetters = _ref2.propGetters,
|
|
53
|
+
state = _ref2.state,
|
|
54
|
+
components = _ref2.components,
|
|
55
|
+
renderer = _ref2.renderer;
|
|
52
56
|
if (!state.isOpen) {
|
|
53
57
|
if (panelContainer.contains(dom.panel)) {
|
|
54
58
|
panelContainer.removeChild(dom.panel);
|
|
55
59
|
}
|
|
56
|
-
|
|
57
60
|
return;
|
|
58
|
-
}
|
|
59
|
-
// items are fetched.
|
|
60
|
-
|
|
61
|
+
}
|
|
61
62
|
|
|
63
|
+
// We add the panel element to the DOM when it's not yet appended and that the
|
|
64
|
+
// items are fetched.
|
|
62
65
|
if (!panelContainer.contains(dom.panel) && state.status !== 'loading') {
|
|
63
66
|
panelContainer.appendChild(dom.panel);
|
|
64
67
|
}
|
|
65
|
-
|
|
66
68
|
dom.panel.classList.toggle('aa-Panel--stalled', state.status === 'stalled');
|
|
67
69
|
var sections = state.collections.filter(function (_ref3) {
|
|
68
70
|
var source = _ref3.source,
|
|
69
|
-
|
|
71
|
+
items = _ref3.items;
|
|
70
72
|
return source.templates.noResults || items.length > 0;
|
|
71
73
|
}).map(function (_ref4, sourceIndex) {
|
|
72
74
|
var source = _ref4.source,
|
|
73
|
-
|
|
75
|
+
items = _ref4.items;
|
|
74
76
|
return renderer.createElement("section", {
|
|
75
77
|
key: sourceIndex,
|
|
76
78
|
className: classNames.source,
|
|
@@ -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 { createRequester, fetchAlgoliaResults } from '@algolia/autocomplete-preset-algolia';
|
|
8
8
|
import { userAgents } from '../userAgents';
|
|
9
9
|
export var createAlgoliaRequester = createRequester(function (params) {
|
|
@@ -1,14 +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 { createAlgoliaRequester } from './createAlgoliaRequester';
|
|
8
|
+
|
|
8
9
|
/**
|
|
9
10
|
* Retrieves Algolia facet hits from multiple indices.
|
|
10
11
|
*/
|
|
11
|
-
|
|
12
12
|
export function getAlgoliaFacets(requestParams) {
|
|
13
13
|
var requester = createAlgoliaRequester({
|
|
14
14
|
transformResponse: function transformResponse(response) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { createAlgoliaRequester } from './createAlgoliaRequester';
|
|
2
|
+
|
|
2
3
|
/**
|
|
3
4
|
* Retrieves Algolia results from multiple indices.
|
|
4
5
|
*/
|
|
5
|
-
|
|
6
6
|
export var getAlgoliaResults = createAlgoliaRequester({
|
|
7
7
|
transformResponse: function transformResponse(response) {
|
|
8
8
|
return response.hits;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AutocompleteScopeApi as AutocompleteCoreScopeApi, BaseItem } from '@algolia/autocomplete-core';
|
|
2
|
-
import { AutocompleteOptions } from './
|
|
2
|
+
import { AutocompleteOptions } from './';
|
|
3
3
|
export interface AutocompleteApi<TItem extends BaseItem> extends AutocompleteCoreScopeApi<TItem> {
|
|
4
4
|
/**
|
|
5
5
|
* Updates the Autocomplete experience.
|
|
@@ -1,14 +1,9 @@
|
|
|
1
|
+
export * from '@algolia/autocomplete-shared/dist/esm/js';
|
|
1
2
|
export * from './AutocompleteApi';
|
|
2
|
-
export * from './AutocompleteClassNames';
|
|
3
|
-
export * from './AutocompleteCollection';
|
|
4
|
-
export * from './AutocompleteComponents';
|
|
5
3
|
export * from './AutocompleteDom';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
export * from './AutocompleteState';
|
|
13
|
-
export * from './AutocompleteTranslations';
|
|
14
|
-
export * from './HighlightHitParams';
|
|
4
|
+
import { AutocompleteOptions as AutocompleteCoreOptions, BaseItem } from '@algolia/autocomplete-core';
|
|
5
|
+
import { AutocompleteOptions as AutocompleteJsOptions } from '@algolia/autocomplete-shared/dist/esm/js';
|
|
6
|
+
export type { AutocompleteInsightsApi, AlgoliaInsightsHit, } from '@algolia/autocomplete-core';
|
|
7
|
+
export interface AutocompleteOptions<TItem extends BaseItem> extends AutocompleteJsOptions<TItem> {
|
|
8
|
+
insights?: AutocompleteCoreOptions<TItem>['insights'];
|
|
9
|
+
}
|
package/dist/esm/types/index.js
CHANGED
|
@@ -1,14 +1,4 @@
|
|
|
1
|
+
export * from '@algolia/autocomplete-shared/dist/esm/js';
|
|
1
2
|
export * from './AutocompleteApi';
|
|
2
|
-
export * from './AutocompleteClassNames';
|
|
3
|
-
export * from './AutocompleteCollection';
|
|
4
|
-
export * from './AutocompleteComponents';
|
|
5
3
|
export * from './AutocompleteDom';
|
|
6
|
-
export
|
|
7
|
-
export * from './AutocompletePlugin';
|
|
8
|
-
export * from './AutocompletePropGetters';
|
|
9
|
-
export * from './AutocompleteRender';
|
|
10
|
-
export * from './AutocompleteRenderer';
|
|
11
|
-
export * from './AutocompleteSource';
|
|
12
|
-
export * from './AutocompleteState';
|
|
13
|
-
export * from './AutocompleteTranslations';
|
|
14
|
-
export * from './HighlightHitParams';
|
|
4
|
+
export {};
|
|
@@ -2,12 +2,10 @@ export function mergeClassNames() {
|
|
|
2
2
|
for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
3
3
|
values[_key] = arguments[_key];
|
|
4
4
|
}
|
|
5
|
-
|
|
6
5
|
return values.reduce(function (acc, current) {
|
|
7
6
|
Object.keys(current).forEach(function (key) {
|
|
8
7
|
var accValue = acc[key];
|
|
9
8
|
var currentValue = current[key];
|
|
10
|
-
|
|
11
9
|
if (accValue !== currentValue) {
|
|
12
10
|
acc[key] = [accValue, currentValue].filter(Boolean).join(' ');
|
|
13
11
|
}
|
|
@@ -1,31 +1,21 @@
|
|
|
1
1
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
2
|
-
|
|
3
2
|
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
3
|
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
4
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
8
|
-
|
|
9
5
|
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
|
-
|
|
6
|
+
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
7
|
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); }
|
|
14
|
-
|
|
15
8
|
var isPlainObject = function isPlainObject(value) {
|
|
16
9
|
return value && _typeof(value) === 'object' && Object.prototype.toString.call(value) === '[object Object]';
|
|
17
10
|
};
|
|
18
|
-
|
|
19
11
|
export function mergeDeep() {
|
|
20
12
|
for (var _len = arguments.length, values = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
21
13
|
values[_key] = arguments[_key];
|
|
22
14
|
}
|
|
23
|
-
|
|
24
15
|
return values.reduce(function (acc, current) {
|
|
25
16
|
Object.keys(current).forEach(function (key) {
|
|
26
17
|
var accValue = acc[key];
|
|
27
18
|
var currentValue = current[key];
|
|
28
|
-
|
|
29
19
|
if (Array.isArray(accValue) && Array.isArray(currentValue)) {
|
|
30
20
|
acc[key] = accValue.concat.apply(accValue, _toConsumableArray(currentValue));
|
|
31
21
|
} else if (isPlainObject(accValue) && isPlainObject(currentValue)) {
|