@constructor-io/constructorio-ui-autocomplete 1.23.26 → 1.23.27
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/constructorio-ui-autocomplete-bundled.js +10 -10
- package/lib/cjs/hooks/useCioAutocomplete.js +2 -0
- package/lib/cjs/hooks/useCustomBlur.js +18 -0
- package/lib/cjs/hooks/useDownShift.js +7 -0
- package/lib/cjs/version.js +1 -1
- package/lib/mjs/hooks/useCioAutocomplete.js +2 -0
- package/lib/mjs/hooks/useCustomBlur.js +15 -0
- package/lib/mjs/hooks/useDownShift.js +8 -0
- package/lib/mjs/version.js +1 -1
- package/lib/types/hooks/useCustomBlur.d.ts +2 -0
- package/lib/types/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@ const useSections_1 = tslib_1.__importDefault(require("./useSections"));
|
|
|
13
13
|
const useRecommendationsObserver_1 = tslib_1.__importDefault(require("./useRecommendationsObserver"));
|
|
14
14
|
const typeGuards_1 = require("../typeGuards");
|
|
15
15
|
const useNormalizedProps_1 = tslib_1.__importDefault(require("./useNormalizedProps"));
|
|
16
|
+
const useCustomBlur_1 = tslib_1.__importDefault(require("./useCustomBlur"));
|
|
16
17
|
exports.defaultSections = [
|
|
17
18
|
{
|
|
18
19
|
indexSectionName: 'Search Suggestions',
|
|
@@ -39,6 +40,7 @@ const useCioAutocomplete = (options) => {
|
|
|
39
40
|
onSubmit,
|
|
40
41
|
cioClient,
|
|
41
42
|
previousQuery }, rest));
|
|
43
|
+
(0, useCustomBlur_1.default)(isOpen, closeMenu, autocompleteClassName);
|
|
42
44
|
// Log console errors
|
|
43
45
|
(0, useConsoleErrors_1.default)(sections, activeSections);
|
|
44
46
|
// Track recommendation view
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const react_1 = require("react");
|
|
4
|
+
const useCustomBlur = (isOpen, closeMenu, autocompleteClassName) => {
|
|
5
|
+
const handleDocumentClick = (0, react_1.useCallback)((event) => {
|
|
6
|
+
var _a;
|
|
7
|
+
if (isOpen && !((_a = event.target) === null || _a === void 0 ? void 0 : _a.closest(`.${autocompleteClassName}`))) {
|
|
8
|
+
closeMenu();
|
|
9
|
+
}
|
|
10
|
+
}, [closeMenu, isOpen, autocompleteClassName]);
|
|
11
|
+
(0, react_1.useEffect)(() => {
|
|
12
|
+
document.addEventListener('mousedown', handleDocumentClick);
|
|
13
|
+
return () => {
|
|
14
|
+
document.removeEventListener('mousedown', handleDocumentClick);
|
|
15
|
+
};
|
|
16
|
+
}, [handleDocumentClick]);
|
|
17
|
+
};
|
|
18
|
+
exports.default = useCustomBlur;
|
|
@@ -49,6 +49,13 @@ const useDownShift = (_a) => {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
+
}, stateReducer: (state, actionAndChanges) => {
|
|
53
|
+
const { type, changes } = actionAndChanges;
|
|
54
|
+
// Override dropdown close on blur
|
|
55
|
+
if (type === downshift_1.useCombobox.stateChangeTypes.InputBlur) {
|
|
56
|
+
return Object.assign(Object.assign({}, changes), { isOpen: state.isOpen });
|
|
57
|
+
}
|
|
58
|
+
return changes;
|
|
52
59
|
} }, rest));
|
|
53
60
|
};
|
|
54
61
|
exports.default = useDownShift;
|
package/lib/cjs/version.js
CHANGED
|
@@ -9,6 +9,7 @@ import useSections from './useSections';
|
|
|
9
9
|
import useRecommendationsObserver from './useRecommendationsObserver';
|
|
10
10
|
import { isCustomSection, isRecommendationsSection } from '../typeGuards';
|
|
11
11
|
import useNormalizedProps from './useNormalizedProps';
|
|
12
|
+
import useCustomBlur from './useCustomBlur';
|
|
12
13
|
export const defaultSections = [
|
|
13
14
|
{
|
|
14
15
|
indexSectionName: 'Search Suggestions',
|
|
@@ -38,6 +39,7 @@ const useCioAutocomplete = (options) => {
|
|
|
38
39
|
previousQuery,
|
|
39
40
|
...rest,
|
|
40
41
|
});
|
|
42
|
+
useCustomBlur(isOpen, closeMenu, autocompleteClassName);
|
|
41
43
|
// Log console errors
|
|
42
44
|
useConsoleErrors(sections, activeSections);
|
|
43
45
|
// Track recommendation view
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useCallback, useEffect } from 'react';
|
|
2
|
+
const useCustomBlur = (isOpen, closeMenu, autocompleteClassName) => {
|
|
3
|
+
const handleDocumentClick = useCallback((event) => {
|
|
4
|
+
if (isOpen && !event.target?.closest(`.${autocompleteClassName}`)) {
|
|
5
|
+
closeMenu();
|
|
6
|
+
}
|
|
7
|
+
}, [closeMenu, isOpen, autocompleteClassName]);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
document.addEventListener('mousedown', handleDocumentClick);
|
|
10
|
+
return () => {
|
|
11
|
+
document.removeEventListener('mousedown', handleDocumentClick);
|
|
12
|
+
};
|
|
13
|
+
}, [handleDocumentClick]);
|
|
14
|
+
};
|
|
15
|
+
export default useCustomBlur;
|
|
@@ -47,6 +47,14 @@ const useDownShift = ({ setQuery, items, onSubmit, cioClient, previousQuery = ''
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
|
+
stateReducer: (state, actionAndChanges) => {
|
|
51
|
+
const { type, changes } = actionAndChanges;
|
|
52
|
+
// Override dropdown close on blur
|
|
53
|
+
if (type === useCombobox.stateChangeTypes.InputBlur) {
|
|
54
|
+
return { ...changes, isOpen: state.isOpen };
|
|
55
|
+
}
|
|
56
|
+
return changes;
|
|
57
|
+
},
|
|
50
58
|
...rest,
|
|
51
59
|
});
|
|
52
60
|
export default useDownShift;
|
package/lib/mjs/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default '1.23.
|
|
1
|
+
export default '1.23.27';
|
package/lib/types/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "1.23.
|
|
1
|
+
declare const _default: "1.23.27";
|
|
2
2
|
export default _default;
|
package/package.json
CHANGED