@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.
Files changed (54) hide show
  1. package/dist/esm/autocomplete.js +26 -52
  2. package/dist/esm/components/Highlight.js +4 -6
  3. package/dist/esm/components/ReverseHighlight.js +4 -6
  4. package/dist/esm/components/ReverseSnippet.js +4 -6
  5. package/dist/esm/components/Snippet.js +4 -6
  6. package/dist/esm/createAutocompleteDom.js +14 -17
  7. package/dist/esm/createEffectWrapper.js +0 -2
  8. package/dist/esm/createReactiveWrapper.js +0 -3
  9. package/dist/esm/elements/Input.js +11 -16
  10. package/dist/esm/getCreateDomElement.js +3 -13
  11. package/dist/esm/getDefaultOptions.d.ts +32 -31
  12. package/dist/esm/getDefaultOptions.js +24 -34
  13. package/dist/esm/getPanelPlacementStyle.js +5 -10
  14. package/dist/esm/render.js +24 -28
  15. package/dist/esm/requesters/createAlgoliaRequester.js +4 -4
  16. package/dist/esm/requesters/getAlgoliaFacets.js +5 -5
  17. package/dist/esm/requesters/getAlgoliaResults.js +1 -1
  18. package/dist/esm/types/AutocompleteApi.d.ts +1 -1
  19. package/dist/esm/types/index.d.ts +7 -12
  20. package/dist/esm/types/index.js +2 -12
  21. package/dist/esm/utils/getHTMLElement.js +0 -1
  22. package/dist/esm/utils/mergeClassNames.js +0 -2
  23. package/dist/esm/utils/mergeDeep.js +1 -11
  24. package/dist/esm/utils/pickBy.js +8 -16
  25. package/dist/esm/utils/setProperties.js +9 -12
  26. package/dist/umd/index.development.js +1518 -860
  27. package/dist/umd/index.development.js.map +1 -1
  28. package/dist/umd/index.production.js +2 -2
  29. package/dist/umd/index.production.js.map +1 -1
  30. package/package.json +6 -6
  31. package/dist/esm/types/AutocompleteClassNames.d.ts +0 -28
  32. package/dist/esm/types/AutocompleteClassNames.js +0 -1
  33. package/dist/esm/types/AutocompleteCollection.d.ts +0 -6
  34. package/dist/esm/types/AutocompleteCollection.js +0 -1
  35. package/dist/esm/types/AutocompleteComponents.d.ts +0 -23
  36. package/dist/esm/types/AutocompleteComponents.js +0 -1
  37. package/dist/esm/types/AutocompleteOptions.d.ts +0 -106
  38. package/dist/esm/types/AutocompleteOptions.js +0 -1
  39. package/dist/esm/types/AutocompletePlugin.d.ts +0 -12
  40. package/dist/esm/types/AutocompletePlugin.js +0 -1
  41. package/dist/esm/types/AutocompletePropGetters.d.ts +0 -33
  42. package/dist/esm/types/AutocompletePropGetters.js +0 -1
  43. package/dist/esm/types/AutocompleteRender.d.ts +0 -15
  44. package/dist/esm/types/AutocompleteRender.js +0 -1
  45. package/dist/esm/types/AutocompleteRenderer.d.ts +0 -33
  46. package/dist/esm/types/AutocompleteRenderer.js +0 -1
  47. package/dist/esm/types/AutocompleteSource.d.ts +0 -74
  48. package/dist/esm/types/AutocompleteSource.js +0 -1
  49. package/dist/esm/types/AutocompleteState.d.ts +0 -10
  50. package/dist/esm/types/AutocompleteState.js +0 -1
  51. package/dist/esm/types/AutocompleteTranslations.d.ts +0 -5
  52. package/dist/esm/types/AutocompleteTranslations.js +0 -1
  53. package/dist/esm/types/HighlightHitParams.d.ts +0 -18
  54. package/dist/esm/types/HighlightHitParams.js +0 -1
@@ -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 _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; }
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
- runEffect = _createEffectWrapper.runEffect,
27
- cleanupEffects = _createEffectWrapper.cleanupEffects,
28
- runEffects = _createEffectWrapper.runEffects;
29
-
24
+ runEffect = _createEffectWrapper.runEffect,
25
+ cleanupEffects = _createEffectWrapper.cleanupEffects,
26
+ runEffects = _createEffectWrapper.runEffects;
30
27
  var _createReactiveWrappe = createReactiveWrapper(),
31
- reactive = _createReactiveWrappe.reactive,
32
- runReactives = _createReactiveWrappe.runReactives;
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
- prevState = _ref3.prevState;
198
-
182
+ prevState = _ref3.prevState;
199
183
  if (isDetached.value && prevState.isOpen !== state.isOpen) {
200
184
  setIsModalOpen(state.isOpen);
201
- } // The outer DOM might have changed since the last time the panel was
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
- } // We scroll to the top of the panel whenever the query changes (i.e. new
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); // Prior to Safari 14, `MediaQueryList` isn't based on `EventTarget`,
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
- components = _props$value$renderer.components,
286
- rendererProps = _objectWithoutProperties(_props$value$renderer, _excluded);
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
- Fragment = _ref.Fragment;
5
-
4
+ Fragment = _ref.Fragment;
6
5
  function Highlight(_ref2) {
7
6
  var hit = _ref2.hit,
8
- attribute = _ref2.attribute,
9
- _ref2$tagName = _ref2.tagName,
10
- tagName = _ref2$tagName === void 0 ? 'mark' : _ref2$tagName;
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
- Fragment = _ref.Fragment;
5
-
4
+ Fragment = _ref.Fragment;
6
5
  function ReverseHighlight(_ref2) {
7
6
  var hit = _ref2.hit,
8
- attribute = _ref2.attribute,
9
- _ref2$tagName = _ref2.tagName,
10
- tagName = _ref2$tagName === void 0 ? 'mark' : _ref2$tagName;
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
- Fragment = _ref.Fragment;
5
-
4
+ Fragment = _ref.Fragment;
6
5
  function ReverseSnippet(_ref2) {
7
6
  var hit = _ref2.hit,
8
- attribute = _ref2.attribute,
9
- _ref2$tagName = _ref2.tagName,
10
- tagName = _ref2$tagName === void 0 ? 'mark' : _ref2$tagName;
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
- Fragment = _ref.Fragment;
5
-
4
+ Fragment = _ref.Fragment;
6
5
  function Snippet(_ref2) {
7
6
  var hit = _ref2.hit,
8
- attribute = _ref2.attribute,
9
- _ref2$tagName = _ref2.tagName,
10
- tagName = _ref2$tagName === void 0 ? 'mark' : _ref2$tagName;
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 _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
-
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
- 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;
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 _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; }
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
- environment = _ref.environment,
18
- classNames = _ref.classNames,
19
- getInputProps = _ref.getInputProps,
20
- getInputPropsCore = _ref.getInputPropsCore,
21
- isDetached = _ref.isDetached,
22
- state = _ref.state,
23
- props = _objectWithoutProperties(_ref, _excluded);
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
- children = _ref$children === void 0 ? [] : _ref$children,
24
- props = _objectWithoutProperties(_ref, _excluded);
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));