@algolia/autocomplete-js 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/autocomplete.js +26 -52
- 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 +14 -17
- 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 +24 -34
- package/dist/esm/getPanelPlacementStyle.js +5 -10
- package/dist/esm/render.js +24 -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/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 +1518 -860
- 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 -28
- 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
package/dist/esm/autocomplete.js
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
var _excluded = ["components"];
|
|
2
|
-
|
|
2
|
+
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); }
|
|
3
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
4
|
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
|
-
|
|
7
5
|
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; }
|
|
8
|
-
|
|
9
6
|
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; }
|
|
10
|
-
|
|
11
|
-
function
|
|
12
|
-
|
|
7
|
+
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; }
|
|
8
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
9
|
+
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); }
|
|
13
10
|
import { createAutocomplete } from '@algolia/autocomplete-core';
|
|
14
|
-
import { createRef, debounce, getItemsCount } from '@algolia/autocomplete-shared';
|
|
11
|
+
import { createRef, debounce, getItemsCount, warn } from '@algolia/autocomplete-shared';
|
|
15
12
|
import htm from 'htm';
|
|
16
13
|
import { createAutocompleteDom } from './createAutocompleteDom';
|
|
17
14
|
import { createEffectWrapper } from './createEffectWrapper';
|
|
@@ -21,16 +18,15 @@ import { getPanelPlacementStyle } from './getPanelPlacementStyle';
|
|
|
21
18
|
import { renderPanel, renderSearchBox } from './render';
|
|
22
19
|
import { userAgents } from './userAgents';
|
|
23
20
|
import { mergeDeep, pickBy, setProperties } from './utils';
|
|
21
|
+
var instancesCount = 0;
|
|
24
22
|
export function autocomplete(options) {
|
|
25
23
|
var _createEffectWrapper = createEffectWrapper(),
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
runEffect = _createEffectWrapper.runEffect,
|
|
25
|
+
cleanupEffects = _createEffectWrapper.cleanupEffects,
|
|
26
|
+
runEffects = _createEffectWrapper.runEffects;
|
|
30
27
|
var _createReactiveWrappe = createReactiveWrapper(),
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
reactive = _createReactiveWrappe.reactive,
|
|
29
|
+
runReactives = _createReactiveWrappe.runReactives;
|
|
34
30
|
var hasNoResultsSourceTemplateRef = createRef(false);
|
|
35
31
|
var optionsRef = createRef(options);
|
|
36
32
|
var onStateChangeRef = createRef(undefined);
|
|
@@ -44,7 +40,6 @@ export function autocomplete(options) {
|
|
|
44
40
|
return createAutocomplete(_objectSpread(_objectSpread({}, props.value.core), {}, {
|
|
45
41
|
onStateChange: function onStateChange(params) {
|
|
46
42
|
var _onStateChangeRef$cur, _props$value$core$onS, _props$value$core;
|
|
47
|
-
|
|
48
43
|
hasNoResultsSourceTemplateRef.current = params.state.collections.some(function (collection) {
|
|
49
44
|
return collection.source.templates.noResults;
|
|
50
45
|
});
|
|
@@ -53,17 +48,13 @@ export function autocomplete(options) {
|
|
|
53
48
|
},
|
|
54
49
|
shouldPanelOpen: optionsRef.current.shouldPanelOpen || function (_ref) {
|
|
55
50
|
var state = _ref.state;
|
|
56
|
-
|
|
57
51
|
if (isDetached.value) {
|
|
58
52
|
return true;
|
|
59
53
|
}
|
|
60
|
-
|
|
61
54
|
var hasItems = getItemsCount(state) > 0;
|
|
62
|
-
|
|
63
55
|
if (!props.value.core.openOnFocus && !state.query) {
|
|
64
56
|
return hasItems;
|
|
65
57
|
}
|
|
66
|
-
|
|
67
58
|
var hasNoResultsTemplate = Boolean(hasNoResultsSourceTemplateRef.current || props.value.renderer.renderNoResults);
|
|
68
59
|
return !hasItems && hasNoResultsTemplate || hasItems;
|
|
69
60
|
},
|
|
@@ -119,7 +110,6 @@ export function autocomplete(options) {
|
|
|
119
110
|
translations: props.value.renderer.translations
|
|
120
111
|
});
|
|
121
112
|
});
|
|
122
|
-
|
|
123
113
|
function setPanelPosition() {
|
|
124
114
|
setProperties(dom.value.panel, {
|
|
125
115
|
style: isDetached.value ? {} : getPanelPlacementStyle({
|
|
@@ -130,7 +120,6 @@ export function autocomplete(options) {
|
|
|
130
120
|
})
|
|
131
121
|
});
|
|
132
122
|
}
|
|
133
|
-
|
|
134
123
|
function scheduleRender(state) {
|
|
135
124
|
lastStateRef.current = state;
|
|
136
125
|
var renderProps = {
|
|
@@ -150,7 +139,6 @@ export function autocomplete(options) {
|
|
|
150
139
|
renderSearchBox(renderProps);
|
|
151
140
|
renderPanel(render, renderProps);
|
|
152
141
|
}
|
|
153
|
-
|
|
154
142
|
runEffect(function () {
|
|
155
143
|
var environmentProps = autocomplete.value.getEnvironmentProps({
|
|
156
144
|
formElement: dom.value.form,
|
|
@@ -167,11 +155,9 @@ export function autocomplete(options) {
|
|
|
167
155
|
runEffect(function () {
|
|
168
156
|
var panelContainerElement = isDetached.value ? props.value.core.environment.document.body : props.value.renderer.panelContainer;
|
|
169
157
|
var panelElement = isDetached.value ? dom.value.detachedOverlay : dom.value.panel;
|
|
170
|
-
|
|
171
158
|
if (isDetached.value && lastStateRef.current.isOpen) {
|
|
172
159
|
setIsModalOpen(true);
|
|
173
160
|
}
|
|
174
|
-
|
|
175
161
|
scheduleRender(lastStateRef.current);
|
|
176
162
|
return function () {
|
|
177
163
|
if (panelContainerElement.contains(panelElement)) {
|
|
@@ -191,25 +177,23 @@ export function autocomplete(options) {
|
|
|
191
177
|
var state = _ref2.state;
|
|
192
178
|
scheduleRender(state);
|
|
193
179
|
}, 0);
|
|
194
|
-
|
|
195
180
|
onStateChangeRef.current = function (_ref3) {
|
|
196
181
|
var state = _ref3.state,
|
|
197
|
-
|
|
198
|
-
|
|
182
|
+
prevState = _ref3.prevState;
|
|
199
183
|
if (isDetached.value && prevState.isOpen !== state.isOpen) {
|
|
200
184
|
setIsModalOpen(state.isOpen);
|
|
201
|
-
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// The outer DOM might have changed since the last time the panel was
|
|
202
188
|
// positioned. The layout might have shifted vertically for instance.
|
|
203
189
|
// It's therefore safer to re-calculate the panel position before opening
|
|
204
190
|
// it again.
|
|
205
|
-
|
|
206
|
-
|
|
207
191
|
if (!isDetached.value && state.isOpen && !prevState.isOpen) {
|
|
208
192
|
setPanelPosition();
|
|
209
|
-
}
|
|
210
|
-
// results come in) so that users don't have to.
|
|
211
|
-
|
|
193
|
+
}
|
|
212
194
|
|
|
195
|
+
// We scroll to the top of the panel whenever the query changes (i.e. new
|
|
196
|
+
// results come in) so that users don't have to.
|
|
213
197
|
if (state.query !== prevState.query) {
|
|
214
198
|
var scrollablePanels = props.value.core.environment.document.querySelectorAll('.aa-Panel--scrollable');
|
|
215
199
|
scrollablePanels.forEach(function (scrollablePanel) {
|
|
@@ -218,12 +202,10 @@ export function autocomplete(options) {
|
|
|
218
202
|
}
|
|
219
203
|
});
|
|
220
204
|
}
|
|
221
|
-
|
|
222
205
|
debouncedRender({
|
|
223
206
|
state: state
|
|
224
207
|
});
|
|
225
208
|
};
|
|
226
|
-
|
|
227
209
|
return function () {
|
|
228
210
|
onStateChangeRef.current = undefined;
|
|
229
211
|
};
|
|
@@ -232,7 +214,6 @@ export function autocomplete(options) {
|
|
|
232
214
|
var onResize = debounce(function () {
|
|
233
215
|
var previousIsDetached = isDetached.value;
|
|
234
216
|
isDetached.value = props.value.core.environment.matchMedia(props.value.renderer.detachedMediaQuery).matches;
|
|
235
|
-
|
|
236
217
|
if (previousIsDetached !== isDetached.value) {
|
|
237
218
|
update({});
|
|
238
219
|
} else {
|
|
@@ -248,20 +229,18 @@ export function autocomplete(options) {
|
|
|
248
229
|
if (!isDetached.value) {
|
|
249
230
|
return function () {};
|
|
250
231
|
}
|
|
251
|
-
|
|
252
232
|
function toggleModalClassname(isActive) {
|
|
253
233
|
dom.value.detachedContainer.classList.toggle('aa-DetachedContainer--modal', isActive);
|
|
254
234
|
}
|
|
255
|
-
|
|
256
235
|
function onChange(event) {
|
|
257
236
|
toggleModalClassname(event.matches);
|
|
258
237
|
}
|
|
259
|
-
|
|
260
238
|
var isModalDetachedMql = props.value.core.environment.matchMedia(getComputedStyle(props.value.core.environment.document.documentElement).getPropertyValue('--aa-detached-modal-media-query'));
|
|
261
|
-
toggleModalClassname(isModalDetachedMql.matches);
|
|
239
|
+
toggleModalClassname(isModalDetachedMql.matches);
|
|
240
|
+
|
|
241
|
+
// Prior to Safari 14, `MediaQueryList` isn't based on `EventTarget`,
|
|
262
242
|
// so we must use `addListener` and `removeListener` to observe media query lists.
|
|
263
243
|
// See https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/addListener
|
|
264
|
-
|
|
265
244
|
var hasModernEventListener = Boolean(isModalDetachedMql.addEventListener);
|
|
266
245
|
hasModernEventListener ? isModalDetachedMql.addEventListener('change', onChange) : isModalDetachedMql.addListener(onChange);
|
|
267
246
|
return function () {
|
|
@@ -272,19 +251,16 @@ export function autocomplete(options) {
|
|
|
272
251
|
requestAnimationFrame(setPanelPosition);
|
|
273
252
|
return function () {};
|
|
274
253
|
});
|
|
275
|
-
|
|
276
254
|
function destroy() {
|
|
255
|
+
instancesCount--;
|
|
277
256
|
cleanupEffects();
|
|
278
257
|
}
|
|
279
|
-
|
|
280
258
|
function update() {
|
|
281
259
|
var updatedOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
282
260
|
cleanupEffects();
|
|
283
|
-
|
|
284
261
|
var _props$value$renderer = props.value.renderer,
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
262
|
+
components = _props$value$renderer.components,
|
|
263
|
+
rendererProps = _objectWithoutProperties(_props$value$renderer, _excluded);
|
|
288
264
|
optionsRef.current = mergeDeep(rendererProps, props.value.core, {
|
|
289
265
|
// We need to filter out default components so they can be replaced with
|
|
290
266
|
// a new `renderer`, without getting rid of user components.
|
|
@@ -303,15 +279,12 @@ export function autocomplete(options) {
|
|
|
303
279
|
scheduleRender(lastStateRef.current);
|
|
304
280
|
});
|
|
305
281
|
}
|
|
306
|
-
|
|
307
282
|
function setIsModalOpen(value) {
|
|
308
283
|
requestAnimationFrame(function () {
|
|
309
284
|
var prevValue = props.value.core.environment.document.body.contains(dom.value.detachedOverlay);
|
|
310
|
-
|
|
311
285
|
if (value === prevValue) {
|
|
312
286
|
return;
|
|
313
287
|
}
|
|
314
|
-
|
|
315
288
|
if (value) {
|
|
316
289
|
props.value.core.environment.document.body.appendChild(dom.value.detachedOverlay);
|
|
317
290
|
props.value.core.environment.document.body.classList.add('aa-Detached');
|
|
@@ -322,7 +295,8 @@ export function autocomplete(options) {
|
|
|
322
295
|
}
|
|
323
296
|
});
|
|
324
297
|
}
|
|
325
|
-
|
|
298
|
+
process.env.NODE_ENV !== 'production' ? warn(instancesCount === 0, "Autocomplete doesn't support multiple instances running at the same time. Make sure to destroy the previous instance before creating a new one.\n\nSee: https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-js/autocomplete/#param-destroy") : void 0;
|
|
299
|
+
instancesCount++;
|
|
326
300
|
return _objectSpread(_objectSpread({}, autocompleteScopeApi), {}, {
|
|
327
301
|
update: update,
|
|
328
302
|
destroy: destroy
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { parseAlgoliaHitHighlight } from '@algolia/autocomplete-preset-algolia';
|
|
2
2
|
export function createHighlightComponent(_ref) {
|
|
3
3
|
var createElement = _ref.createElement,
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
Fragment = _ref.Fragment;
|
|
6
5
|
function Highlight(_ref2) {
|
|
7
6
|
var hit = _ref2.hit,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
attribute = _ref2.attribute,
|
|
8
|
+
_ref2$tagName = _ref2.tagName,
|
|
9
|
+
tagName = _ref2$tagName === void 0 ? 'mark' : _ref2$tagName;
|
|
11
10
|
return createElement(Fragment, {}, parseAlgoliaHitHighlight({
|
|
12
11
|
hit: hit,
|
|
13
12
|
attribute: attribute
|
|
@@ -17,7 +16,6 @@ export function createHighlightComponent(_ref) {
|
|
|
17
16
|
}, x.value) : x.value;
|
|
18
17
|
}));
|
|
19
18
|
}
|
|
20
|
-
|
|
21
19
|
Highlight.__autocomplete_componentName = 'Highlight';
|
|
22
20
|
return Highlight;
|
|
23
21
|
}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { parseAlgoliaHitReverseHighlight } from '@algolia/autocomplete-preset-algolia';
|
|
2
2
|
export function createReverseHighlightComponent(_ref) {
|
|
3
3
|
var createElement = _ref.createElement,
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
Fragment = _ref.Fragment;
|
|
6
5
|
function ReverseHighlight(_ref2) {
|
|
7
6
|
var hit = _ref2.hit,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
attribute = _ref2.attribute,
|
|
8
|
+
_ref2$tagName = _ref2.tagName,
|
|
9
|
+
tagName = _ref2$tagName === void 0 ? 'mark' : _ref2$tagName;
|
|
11
10
|
return createElement(Fragment, {}, parseAlgoliaHitReverseHighlight({
|
|
12
11
|
hit: hit,
|
|
13
12
|
attribute: attribute
|
|
@@ -17,7 +16,6 @@ export function createReverseHighlightComponent(_ref) {
|
|
|
17
16
|
}, x.value) : x.value;
|
|
18
17
|
}));
|
|
19
18
|
}
|
|
20
|
-
|
|
21
19
|
ReverseHighlight.__autocomplete_componentName = 'ReverseHighlight';
|
|
22
20
|
return ReverseHighlight;
|
|
23
21
|
}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { parseAlgoliaHitReverseSnippet } from '@algolia/autocomplete-preset-algolia';
|
|
2
2
|
export function createReverseSnippetComponent(_ref) {
|
|
3
3
|
var createElement = _ref.createElement,
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
Fragment = _ref.Fragment;
|
|
6
5
|
function ReverseSnippet(_ref2) {
|
|
7
6
|
var hit = _ref2.hit,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
attribute = _ref2.attribute,
|
|
8
|
+
_ref2$tagName = _ref2.tagName,
|
|
9
|
+
tagName = _ref2$tagName === void 0 ? 'mark' : _ref2$tagName;
|
|
11
10
|
return createElement(Fragment, {}, parseAlgoliaHitReverseSnippet({
|
|
12
11
|
hit: hit,
|
|
13
12
|
attribute: attribute
|
|
@@ -17,7 +16,6 @@ export function createReverseSnippetComponent(_ref) {
|
|
|
17
16
|
}, x.value) : x.value;
|
|
18
17
|
}));
|
|
19
18
|
}
|
|
20
|
-
|
|
21
19
|
ReverseSnippet.__autocomplete_componentName = 'ReverseSnippet';
|
|
22
20
|
return ReverseSnippet;
|
|
23
21
|
}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { parseAlgoliaHitSnippet } from '@algolia/autocomplete-preset-algolia';
|
|
2
2
|
export function createSnippetComponent(_ref) {
|
|
3
3
|
var createElement = _ref.createElement,
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
Fragment = _ref.Fragment;
|
|
6
5
|
function Snippet(_ref2) {
|
|
7
6
|
var hit = _ref2.hit,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
attribute = _ref2.attribute,
|
|
8
|
+
_ref2$tagName = _ref2.tagName,
|
|
9
|
+
tagName = _ref2$tagName === void 0 ? 'mark' : _ref2$tagName;
|
|
11
10
|
return createElement(Fragment, {}, parseAlgoliaHitSnippet({
|
|
12
11
|
hit: hit,
|
|
13
12
|
attribute: attribute
|
|
@@ -17,7 +16,6 @@ export function createSnippetComponent(_ref) {
|
|
|
17
16
|
}, x.value) : x.value;
|
|
18
17
|
}));
|
|
19
18
|
}
|
|
20
|
-
|
|
21
19
|
Snippet.__autocomplete_componentName = 'Snippet';
|
|
22
20
|
return Snippet;
|
|
23
21
|
}
|
|
@@ -1,24 +1,24 @@
|
|
|
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 { ClearIcon, Input, LoadingIcon, SearchIcon } from './elements';
|
|
8
8
|
import { getCreateDomElement } from './getCreateDomElement';
|
|
9
9
|
import { setProperties } from './utils';
|
|
10
10
|
export function createAutocompleteDom(_ref) {
|
|
11
11
|
var autocomplete = _ref.autocomplete,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
autocompleteScopeApi = _ref.autocompleteScopeApi,
|
|
13
|
+
classNames = _ref.classNames,
|
|
14
|
+
environment = _ref.environment,
|
|
15
|
+
isDetached = _ref.isDetached,
|
|
16
|
+
_ref$placeholder = _ref.placeholder,
|
|
17
|
+
placeholder = _ref$placeholder === void 0 ? 'Search' : _ref$placeholder,
|
|
18
|
+
propGetters = _ref.propGetters,
|
|
19
|
+
setIsModalOpen = _ref.setIsModalOpen,
|
|
20
|
+
state = _ref.state,
|
|
21
|
+
translations = _ref.translations;
|
|
22
22
|
var createDomElement = getCreateDomElement(environment);
|
|
23
23
|
var rootProps = propGetters.getRootProps(_objectSpread({
|
|
24
24
|
state: state,
|
|
@@ -118,13 +118,11 @@ export function createAutocompleteDom(_ref) {
|
|
|
118
118
|
hidden: Boolean(state.query),
|
|
119
119
|
textContent: placeholder
|
|
120
120
|
});
|
|
121
|
-
|
|
122
121
|
if (process.env.NODE_ENV === 'test') {
|
|
123
122
|
setProperties(panel, {
|
|
124
123
|
'data-testid': 'panel'
|
|
125
124
|
});
|
|
126
125
|
}
|
|
127
|
-
|
|
128
126
|
if (isDetached) {
|
|
129
127
|
var detachedSearchButtonIcon = createDomElement('div', {
|
|
130
128
|
class: classNames.detachedSearchButtonIcon,
|
|
@@ -163,7 +161,6 @@ export function createAutocompleteDom(_ref) {
|
|
|
163
161
|
} else {
|
|
164
162
|
root.appendChild(form);
|
|
165
163
|
}
|
|
166
|
-
|
|
167
164
|
return {
|
|
168
165
|
detachedContainer: detachedContainer,
|
|
169
166
|
detachedOverlay: detachedOverlay,
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
export function createEffectWrapper() {
|
|
2
2
|
var effects = [];
|
|
3
3
|
var cleanups = [];
|
|
4
|
-
|
|
5
4
|
function runEffect(fn) {
|
|
6
5
|
effects.push(fn);
|
|
7
6
|
var effectCleanup = fn();
|
|
8
7
|
cleanups.push(effectCleanup);
|
|
9
8
|
}
|
|
10
|
-
|
|
11
9
|
return {
|
|
12
10
|
runEffect: runEffect,
|
|
13
11
|
cleanupEffects: function cleanupEffects() {
|
|
@@ -8,15 +8,12 @@ export function createReactiveWrapper() {
|
|
|
8
8
|
_ref: {
|
|
9
9
|
current: current
|
|
10
10
|
},
|
|
11
|
-
|
|
12
11
|
get value() {
|
|
13
12
|
return this._ref.current;
|
|
14
13
|
},
|
|
15
|
-
|
|
16
14
|
set value(value) {
|
|
17
15
|
this._ref.current = value;
|
|
18
16
|
}
|
|
19
|
-
|
|
20
17
|
};
|
|
21
18
|
reactives.push(reactive);
|
|
22
19
|
return reactive;
|
|
@@ -1,27 +1,23 @@
|
|
|
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 = ["autocompleteScopeApi", "environment", "classNames", "getInputProps", "getInputPropsCore", "isDetached", "state"];
|
|
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 { getCreateDomElement } from '../getCreateDomElement';
|
|
14
11
|
import { setProperties } from '../utils';
|
|
15
12
|
export var Input = function Input(_ref) {
|
|
16
13
|
var autocompleteScopeApi = _ref.autocompleteScopeApi,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
environment = _ref.environment,
|
|
15
|
+
classNames = _ref.classNames,
|
|
16
|
+
getInputProps = _ref.getInputProps,
|
|
17
|
+
getInputPropsCore = _ref.getInputPropsCore,
|
|
18
|
+
isDetached = _ref.isDetached,
|
|
19
|
+
state = _ref.state,
|
|
20
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
25
21
|
var createDomElement = getCreateDomElement(environment);
|
|
26
22
|
var element = createDomElement('input', props);
|
|
27
23
|
var inputProps = getInputProps(_objectSpread({
|
|
@@ -37,7 +33,6 @@ export var Input = function Input(_ref) {
|
|
|
37
33
|
if (isDetached && event.key === 'Tab') {
|
|
38
34
|
return;
|
|
39
35
|
}
|
|
40
|
-
|
|
41
36
|
inputProps.onKeyDown(event);
|
|
42
37
|
}
|
|
43
38
|
}));
|
|
@@ -1,28 +1,18 @@
|
|
|
1
1
|
var _excluded = ["children"];
|
|
2
|
-
|
|
3
2
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
4
|
-
|
|
5
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."); }
|
|
6
|
-
|
|
7
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); }
|
|
8
|
-
|
|
9
5
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
10
|
-
|
|
11
6
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
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
|
-
|
|
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; }
|
|
15
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; }
|
|
16
|
-
|
|
17
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; }
|
|
18
|
-
|
|
19
10
|
import { setProperties } from './utils';
|
|
20
11
|
export function getCreateDomElement(environment) {
|
|
21
12
|
return function createDomElement(tagName, _ref) {
|
|
22
13
|
var _ref$children = _ref.children,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
14
|
+
children = _ref$children === void 0 ? [] : _ref$children,
|
|
15
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
26
16
|
var element = environment.document.createElement(tagName);
|
|
27
17
|
setProperties(element, props);
|
|
28
18
|
element.append.apply(element, _toConsumableArray(children));
|