@algolia/autocomplete-js 1.8.3 → 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 -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
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
* See https://w3c.github.io/touch-events/#extensions-to-the-globaleventhandlers-mixin
|
|
7
7
|
*/
|
|
8
8
|
var TOUCH_EVENTS_ALIASES = ['ontouchstart', 'ontouchend', 'ontouchmove', 'ontouchcancel'];
|
|
9
|
+
|
|
9
10
|
/*
|
|
10
11
|
* Taken from Preact
|
|
11
12
|
*
|
|
@@ -21,24 +22,21 @@ function setStyle(style, key, value) {
|
|
|
21
22
|
style[key] = value + 'px';
|
|
22
23
|
}
|
|
23
24
|
}
|
|
25
|
+
|
|
24
26
|
/**
|
|
25
27
|
* Proxy an event to hooked event handlers
|
|
26
28
|
*/
|
|
27
|
-
|
|
28
|
-
|
|
29
29
|
function eventProxy(event) {
|
|
30
30
|
this._listeners[event.type](event);
|
|
31
31
|
}
|
|
32
|
+
|
|
32
33
|
/**
|
|
33
34
|
* Set a property value on a DOM node
|
|
34
35
|
*/
|
|
35
|
-
|
|
36
|
-
|
|
37
36
|
export function setProperty(dom, name, value) {
|
|
38
37
|
var useCapture;
|
|
39
38
|
var nameLower;
|
|
40
39
|
var oldValue = dom[name];
|
|
41
|
-
|
|
42
40
|
if (name === 'style') {
|
|
43
41
|
if (typeof value == 'string') {
|
|
44
42
|
dom.style = value;
|
|
@@ -53,7 +51,8 @@ export function setProperty(dom, name, value) {
|
|
|
53
51
|
}
|
|
54
52
|
}
|
|
55
53
|
}
|
|
56
|
-
}
|
|
54
|
+
}
|
|
55
|
+
// Benchmark for comparison: https://esbench.com/bench/574c954bdb965b9a00965ac6
|
|
57
56
|
else if (name[0] === 'o' && name[1] === 'n') {
|
|
58
57
|
useCapture = name !== (name = name.replace(/Capture$/, ''));
|
|
59
58
|
nameLower = name.toLowerCase();
|
|
@@ -61,18 +60,19 @@ export function setProperty(dom, name, value) {
|
|
|
61
60
|
name = name.slice(2);
|
|
62
61
|
if (!dom._listeners) dom._listeners = {};
|
|
63
62
|
dom._listeners[name] = value;
|
|
64
|
-
|
|
65
63
|
if (value) {
|
|
66
64
|
if (!oldValue) dom.addEventListener(name, eventProxy, useCapture);
|
|
67
65
|
} else {
|
|
68
66
|
dom.removeEventListener(name, eventProxy, useCapture);
|
|
69
67
|
}
|
|
70
|
-
} else if (name !== 'list' && name !== 'tagName' &&
|
|
68
|
+
} else if (name !== 'list' && name !== 'tagName' &&
|
|
69
|
+
// HTMLButtonElement.form and HTMLInputElement.form are read-only but can be set using
|
|
71
70
|
// setAttribute
|
|
72
71
|
name !== 'form' && name !== 'type' && name !== 'size' && name !== 'download' && name !== 'href' && name in dom) {
|
|
73
72
|
dom[name] = value == null ? '' : value;
|
|
74
73
|
} else if (typeof value != 'function' && name !== 'dangerouslySetInnerHTML') {
|
|
75
|
-
if (value == null || value === false &&
|
|
74
|
+
if (value == null || value === false &&
|
|
75
|
+
// ARIA-attributes have a different notion of boolean values.
|
|
76
76
|
// The value `false` is different from the attribute not
|
|
77
77
|
// existing on the DOM, so we can't remove it. For non-boolean
|
|
78
78
|
// ARIA-attributes we could treat false as a removal, but the
|
|
@@ -85,17 +85,14 @@ export function setProperty(dom, name, value) {
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
|
|
89
88
|
function getNormalizedName(name) {
|
|
90
89
|
switch (name) {
|
|
91
90
|
case 'onChange':
|
|
92
91
|
return 'onInput';
|
|
93
|
-
|
|
94
92
|
default:
|
|
95
93
|
return name;
|
|
96
94
|
}
|
|
97
95
|
}
|
|
98
|
-
|
|
99
96
|
export function setProperties(dom, props) {
|
|
100
97
|
for (var name in props) {
|
|
101
98
|
setProperty(dom, getNormalizedName(name), props[name]);
|