@navikt/ds-react 7.3.1 → 7.4.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/cjs/form/checkbox/Checkbox.js +1 -1
- package/cjs/form/checkbox/Checkbox.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/AddNewOption.js +4 -4
- package/cjs/form/combobox/FilteredOptions/AddNewOption.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/FilteredOptionsItem.js +15 -2
- package/cjs/form/combobox/FilteredOptions/FilteredOptionsItem.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js +2 -2
- package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
- package/cjs/form/combobox/FilteredOptions/useVirtualFocus.js +12 -11
- package/cjs/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
- package/cjs/form/combobox/Input/Input.js +15 -6
- package/cjs/form/combobox/Input/Input.js.map +1 -1
- package/cjs/slot/Slot.js +4 -3
- package/cjs/slot/Slot.js.map +1 -1
- package/esm/form/checkbox/Checkbox.js +1 -1
- package/esm/form/checkbox/Checkbox.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/AddNewOption.js +4 -4
- package/esm/form/combobox/FilteredOptions/AddNewOption.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/FilteredOptionsItem.js +15 -2
- package/esm/form/combobox/FilteredOptions/FilteredOptionsItem.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js +2 -2
- package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
- package/esm/form/combobox/FilteredOptions/useVirtualFocus.js +13 -12
- package/esm/form/combobox/FilteredOptions/useVirtualFocus.js.map +1 -1
- package/esm/form/combobox/Input/Input.js +15 -6
- package/esm/form/combobox/Input/Input.js.map +1 -1
- package/esm/slot/Slot.js +4 -3
- package/esm/slot/Slot.js.map +1 -1
- package/package.json +4 -4
- package/src/form/checkbox/Checkbox.tsx +0 -1
- package/src/form/combobox/FilteredOptions/AddNewOption.tsx +4 -4
- package/src/form/combobox/FilteredOptions/FilteredOptionsItem.tsx +22 -1
- package/src/form/combobox/FilteredOptions/filteredOptionsContext.tsx +3 -3
- package/src/form/combobox/FilteredOptions/useVirtualFocus.ts +13 -12
- package/src/form/combobox/Input/Input.tsx +12 -6
- package/src/slot/Slot.tsx +8 -3
|
@@ -52,7 +52,7 @@ exports.Checkbox = (0, react_1.forwardRef)((props, ref) => {
|
|
|
52
52
|
"indeterminate",
|
|
53
53
|
"errorId",
|
|
54
54
|
"readOnly",
|
|
55
|
-
]), (0, util_1.omit)(inputProps, ["aria-invalid"]), { type: "checkbox", className: "navds-checkbox__input",
|
|
55
|
+
]), (0, util_1.omit)(inputProps, ["aria-invalid"]), { type: "checkbox", className: "navds-checkbox__input", ref: (el) => {
|
|
56
56
|
var _a;
|
|
57
57
|
if (el) {
|
|
58
58
|
el.indeterminate = (_a = props.indeterminate) !== null && _a !== void 0 ? _a : false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/form/checkbox/Checkbox.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAsB;AACtB,+CAA0C;AAC1C,iDAA6C;AAC7C,qCAAkC;AAClC,4CAAyC;AACzC,kDAA+C;AAE/C,gEAAwC;AAE3B,QAAA,QAAQ,GAAG,IAAA,kBAAU,EAChC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACb,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAA,qBAAW,EAAC,KAAK,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,IAAA,aAAK,GAAE,CAAC;IACxB,MAAM,aAAa,GAAG,IAAA,aAAK,GAAE,CAAC;IAE9B,OAAO,CACL,uCACE,SAAS,EAAE,IAAA,cAAE,EACX,KAAK,CAAC,SAAS,EACf,gBAAgB,EAChB,mBAAmB,IAAI,EAAE,EACzB;YACE,uBAAuB,EAAE,QAAQ;YACjC,0BAA0B,EAAE,UAAU,CAAC,QAAQ;YAC/C,0BAA0B,EAAE,QAAQ;SACrC,CACF;QAED,yDACM,IAAA,WAAI,EAAC,KAAK,EAAE;YACd,UAAU;YACV,MAAM;YACN,OAAO;YACP,aAAa;YACb,WAAW;YACX,eAAe;YACf,SAAS;YACT,UAAU;SACX,CAAC,EACE,IAAA,WAAI,EAAC,UAAU,EAAE,CAAC,cAAc,CAAC,CAAC,IACtC,IAAI,EAAC,UAAU,EACf,SAAS,EAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/form/checkbox/Checkbox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ const combobox_utils_1 = require("../combobox-utils");
|
|
|
13
13
|
const filtered_options_util_1 = __importDefault(require("./filtered-options-util"));
|
|
14
14
|
const filteredOptionsContext_1 = require("./filteredOptionsContext");
|
|
15
15
|
const AddNewOption = () => {
|
|
16
|
-
const { inputProps: { id }, size,
|
|
16
|
+
const { inputProps: { id }, size, searchTerm, } = (0, Input_context_1.useInputContext)();
|
|
17
17
|
const { setIsMouseLastUsedInputDevice, toggleIsListOpen, activeDecendantId, virtualFocus, } = (0, filteredOptionsContext_1.useFilteredOptionsContext)();
|
|
18
18
|
const { isMultiSelect, selectedOptions, toggleOption } = (0, selectedOptionsContext_1.useSelectedOptionsContext)();
|
|
19
19
|
return (react_1.default.createElement("li", { tabIndex: -1, onMouseMove: () => {
|
|
@@ -22,8 +22,8 @@ const AddNewOption = () => {
|
|
|
22
22
|
setIsMouseLastUsedInputDevice(true);
|
|
23
23
|
}
|
|
24
24
|
}, onPointerUp: (event) => {
|
|
25
|
-
toggleOption((0, combobox_utils_1.toComboboxOption)(
|
|
26
|
-
if (!isMultiSelect && !(0, combobox_utils_1.isInList)(
|
|
25
|
+
toggleOption((0, combobox_utils_1.toComboboxOption)(searchTerm), event);
|
|
26
|
+
if (!isMultiSelect && !(0, combobox_utils_1.isInList)(searchTerm, selectedOptions))
|
|
27
27
|
toggleIsListOpen(false);
|
|
28
28
|
}, id: filtered_options_util_1.default.getAddNewOptionId(id), className: (0, clsx_1.default)("navds-combobox__list-item navds-combobox__list-item--new-option", {
|
|
29
29
|
"navds-combobox__list-item--new-option--focus": activeDecendantId === filtered_options_util_1.default.getAddNewOptionId(id),
|
|
@@ -34,7 +34,7 @@ const AddNewOption = () => {
|
|
|
34
34
|
" ",
|
|
35
35
|
react_1.default.createElement(typography_1.Label, { as: "span", size: size },
|
|
36
36
|
"\u201C",
|
|
37
|
-
|
|
37
|
+
searchTerm,
|
|
38
38
|
"\u201D"))));
|
|
39
39
|
};
|
|
40
40
|
exports.default = AddNewOption;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddNewOption.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/AddNewOption.tsx"],"names":[],"mappings":";;;;;AAAA,gDAAsB;AACtB,kDAA0B;AAC1B,qDAA+C;AAC/C,oDAAuD;AACvD,0DAAyD;AACzD,sFAAsF;AACtF,sDAA+D;AAC/D,oFAA0D;AAC1D,qEAAqE;AAErE,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,EACJ,UAAU,EAAE,EAAE,EAAE,EAAE,EAClB,IAAI,EACJ,
|
|
1
|
+
{"version":3,"file":"AddNewOption.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/AddNewOption.tsx"],"names":[],"mappings":";;;;;AAAA,gDAAsB;AACtB,kDAA0B;AAC1B,qDAA+C;AAC/C,oDAAuD;AACvD,0DAAyD;AACzD,sFAAsF;AACtF,sDAA+D;AAC/D,oFAA0D;AAC1D,qEAAqE;AAErE,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,EACJ,UAAU,EAAE,EAAE,EAAE,EAAE,EAClB,IAAI,EACJ,UAAU,GACX,GAAG,IAAA,+BAAe,GAAE,CAAC;IACtB,MAAM,EACJ,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,GACb,GAAG,IAAA,kDAAyB,GAAE,CAAC;IAChC,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,GACpD,IAAA,kDAAyB,GAAE,CAAC;IAC9B,OAAO,CACL,sCACE,QAAQ,EAAE,CAAC,CAAC,EACZ,WAAW,EAAE,GAAG,EAAE;YAChB,IAAI,iBAAiB,KAAK,+BAAmB,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpE,YAAY,CAAC,kBAAkB,CAC7B,+BAAmB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAC1C,CAAC;gBACF,6BAA6B,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;QACH,CAAC,EACD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YACrB,YAAY,CAAC,IAAA,iCAAgB,EAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,aAAa,IAAI,CAAC,IAAA,yBAAQ,EAAC,UAAU,EAAE,eAAe,CAAC;gBAC1D,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,EACD,EAAE,EAAE,+BAAmB,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAC7C,SAAS,EAAE,IAAA,cAAE,EACX,iEAAiE,EACjE;YACE,8CAA8C,EAC5C,iBAAiB,KAAK,+BAAmB,CAAC,iBAAiB,CAAC,EAAE,CAAC;SAClE,CACF,EACD,IAAI,EAAC,QAAQ,mBACE,KAAK;QAEpB,8BAAC,sBAAQ,0BAAe;QACxB,8BAAC,sBAAS,IAAC,IAAI,EAAE,IAAI;;YACV,GAAG;YACZ,8BAAC,kBAAK,IAAC,EAAE,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI;;gBACjB,UAAU;yBACZ,CACE,CACT,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"}
|
|
@@ -12,10 +12,20 @@ const selectedOptionsContext_1 = require("../SelectedOptions/selectedOptionsCont
|
|
|
12
12
|
const combobox_utils_1 = require("../combobox-utils");
|
|
13
13
|
const filtered_options_util_1 = __importDefault(require("./filtered-options-util"));
|
|
14
14
|
const filteredOptionsContext_1 = require("./filteredOptionsContext");
|
|
15
|
+
const useTextHighlight = (text, searchTerm) => {
|
|
16
|
+
const indexOfHighlightedText = text
|
|
17
|
+
.toLowerCase()
|
|
18
|
+
.indexOf(searchTerm.toLowerCase());
|
|
19
|
+
const start = text.substring(0, indexOfHighlightedText);
|
|
20
|
+
const highlight = text.substring(indexOfHighlightedText, indexOfHighlightedText + searchTerm.length);
|
|
21
|
+
const end = text.substring(indexOfHighlightedText + searchTerm.length);
|
|
22
|
+
return [start, highlight, end];
|
|
23
|
+
};
|
|
15
24
|
const FilteredOptionsItem = ({ option }) => {
|
|
16
|
-
const { inputProps: { id }, size, } = (0, Input_context_1.useInputContext)();
|
|
25
|
+
const { inputProps: { id }, size, searchTerm, } = (0, Input_context_1.useInputContext)();
|
|
17
26
|
const { setIsMouseLastUsedInputDevice, toggleIsListOpen, activeDecendantId, virtualFocus, } = (0, filteredOptionsContext_1.useFilteredOptionsContext)();
|
|
18
27
|
const { isMultiSelect, maxSelected, selectedOptions, toggleOption } = (0, selectedOptionsContext_1.useSelectedOptionsContext)();
|
|
28
|
+
const [start, highlight, end] = useTextHighlight(option.label, searchTerm);
|
|
19
29
|
const isDisabled = (_option) => (maxSelected === null || maxSelected === void 0 ? void 0 : maxSelected.isLimitReached) && !(0, combobox_utils_1.isInList)(_option.value, selectedOptions);
|
|
20
30
|
return (react_1.default.createElement("li", { className: (0, clsx_1.default)("navds-combobox__list-item", {
|
|
21
31
|
"navds-combobox__list-item--focus": activeDecendantId ===
|
|
@@ -36,7 +46,10 @@ const FilteredOptionsItem = ({ option }) => {
|
|
|
36
46
|
toggleIsListOpen(false);
|
|
37
47
|
}
|
|
38
48
|
}, role: "option", "aria-selected": (0, combobox_utils_1.isInList)(option.value, selectedOptions), "aria-disabled": isDisabled(option) || undefined },
|
|
39
|
-
react_1.default.createElement(typography_1.BodyShort, { size: size
|
|
49
|
+
react_1.default.createElement(typography_1.BodyShort, { size: size, "aria-label": option.label },
|
|
50
|
+
start,
|
|
51
|
+
highlight && react_1.default.createElement("mark", null, highlight),
|
|
52
|
+
end),
|
|
40
53
|
(0, combobox_utils_1.isInList)(option.value, selectedOptions) && react_1.default.createElement(aksel_icons_1.CheckmarkIcon, null)));
|
|
41
54
|
};
|
|
42
55
|
exports.default = FilteredOptionsItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilteredOptionsItem.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/FilteredOptionsItem.tsx"],"names":[],"mappings":";;;;;AAAA,gDAAsB;AACtB,kDAA0B;AAC1B,qDAAoD;AACpD,oDAAgD;AAChD,0DAAyD;AACzD,sFAAsF;AACtF,sDAA6C;AAE7C,oFAA0D;AAC1D,qEAAqE;AAErE,MAAM,mBAAmB,GAAG,CAAC,EAAE,MAAM,EAA8B,EAAE,EAAE;IACrE,MAAM,EACJ,UAAU,EAAE,EAAE,EAAE,EAAE,EAClB,IAAI,
|
|
1
|
+
{"version":3,"file":"FilteredOptionsItem.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/FilteredOptionsItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -111,8 +111,8 @@ const FilteredOptionsProvider = ({ children, value: props, }) => {
|
|
|
111
111
|
disabled,
|
|
112
112
|
readOnly,
|
|
113
113
|
]);
|
|
114
|
-
const isValueNew = (0, react_1.useMemo)(() => Boolean(
|
|
115
|
-
!filteredOptionsMap[filtered_options_util_1.default.getOptionId(id,
|
|
114
|
+
const isValueNew = (0, react_1.useMemo)(() => Boolean(searchTerm) &&
|
|
115
|
+
!filteredOptionsMap[filtered_options_util_1.default.getOptionId(id, searchTerm)], [filteredOptionsMap, id, searchTerm]);
|
|
116
116
|
const ariaDescribedBy = (0, react_1.useMemo)(() => {
|
|
117
117
|
let activeOption = "";
|
|
118
118
|
if (!isLoading && filteredOptions.length === 0 && !allowNewValues) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filteredOptionsContext.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/filteredOptionsContext.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"filteredOptionsContext.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/filteredOptionsContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,11 @@ const useVirtualFocus = (containerRef) => {
|
|
|
16
16
|
elementsAbleToReceiveFocus.length - 1
|
|
17
17
|
: false;
|
|
18
18
|
};
|
|
19
|
+
const setActiveAndScrollToElement = (element) => {
|
|
20
|
+
var _a;
|
|
21
|
+
setActiveElement(element);
|
|
22
|
+
(_a = element === null || element === void 0 ? void 0 : element.scrollIntoView) === null || _a === void 0 ? void 0 : _a.call(element, { block: "nearest" });
|
|
23
|
+
};
|
|
19
24
|
const moveFocusUp = () => {
|
|
20
25
|
if (!activeElement) {
|
|
21
26
|
return;
|
|
@@ -27,29 +32,29 @@ const useVirtualFocus = (containerRef) => {
|
|
|
27
32
|
setActiveElement(undefined);
|
|
28
33
|
}
|
|
29
34
|
else {
|
|
30
|
-
|
|
35
|
+
setActiveAndScrollToElement(elementAbove);
|
|
31
36
|
}
|
|
32
37
|
};
|
|
33
38
|
const moveFocusDown = () => {
|
|
34
39
|
const elementsAbleToReceiveFocus = getElementsAbleToReceiveFocus();
|
|
35
40
|
if (!activeElement) {
|
|
36
|
-
|
|
41
|
+
setActiveAndScrollToElement(elementsAbleToReceiveFocus[0]);
|
|
37
42
|
return;
|
|
38
43
|
}
|
|
39
44
|
const _currentIndex = elementsAbleToReceiveFocus.indexOf(activeElement);
|
|
40
45
|
if (_currentIndex === elementsAbleToReceiveFocus.length - 1) {
|
|
41
46
|
return;
|
|
42
47
|
}
|
|
43
|
-
|
|
48
|
+
setActiveAndScrollToElement(elementsAbleToReceiveFocus[_currentIndex + 1]);
|
|
44
49
|
};
|
|
45
50
|
const resetFocus = () => setActiveElement(undefined);
|
|
46
51
|
const moveFocusToTop = () => {
|
|
47
52
|
const elementsAbleToReceiveFocus = getElementsAbleToReceiveFocus();
|
|
48
|
-
|
|
53
|
+
setActiveAndScrollToElement(elementsAbleToReceiveFocus[0]);
|
|
49
54
|
};
|
|
50
55
|
const moveFocusToBottom = () => {
|
|
51
56
|
const elementsAbleToReceiveFocus = getElementsAbleToReceiveFocus();
|
|
52
|
-
|
|
57
|
+
setActiveAndScrollToElement(elementsAbleToReceiveFocus[elementsAbleToReceiveFocus.length - 1]);
|
|
53
58
|
};
|
|
54
59
|
const moveFocusToElement = (id) => {
|
|
55
60
|
const _element = getElementsAbleToReceiveFocus().find((_focusableElement) => _focusableElement.getAttribute("id") === id);
|
|
@@ -64,7 +69,7 @@ const useVirtualFocus = (containerRef) => {
|
|
|
64
69
|
const elementsAbleToReceiveFocus = getElementsAbleToReceiveFocus();
|
|
65
70
|
const currentIndex = elementsAbleToReceiveFocus.indexOf(activeElement);
|
|
66
71
|
const newIndex = Math.max(currentIndex - numberOfElements, 0);
|
|
67
|
-
|
|
72
|
+
setActiveAndScrollToElement(elementsAbleToReceiveFocus[newIndex]);
|
|
68
73
|
};
|
|
69
74
|
const moveFocusDownBy = (numberOfElements) => {
|
|
70
75
|
const elementsAbleToReceiveFocus = getElementsAbleToReceiveFocus();
|
|
@@ -72,12 +77,8 @@ const useVirtualFocus = (containerRef) => {
|
|
|
72
77
|
? elementsAbleToReceiveFocus.indexOf(activeElement)
|
|
73
78
|
: -1;
|
|
74
79
|
const newIndex = Math.min(currentIndex + numberOfElements, elementsAbleToReceiveFocus.length - 1);
|
|
75
|
-
|
|
80
|
+
setActiveAndScrollToElement(elementsAbleToReceiveFocus[newIndex]);
|
|
76
81
|
};
|
|
77
|
-
(0, react_1.useEffect)(() => {
|
|
78
|
-
var _a;
|
|
79
|
-
(_a = activeElement === null || activeElement === void 0 ? void 0 : activeElement.scrollIntoView) === null || _a === void 0 ? void 0 : _a.call(activeElement, { block: "nearest" });
|
|
80
|
-
}, [activeElement]);
|
|
81
82
|
return {
|
|
82
83
|
activeElement,
|
|
83
84
|
getElementById,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVirtualFocus.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/useVirtualFocus.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"useVirtualFocus.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/useVirtualFocus.ts"],"names":[],"mappings":"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"}
|
|
@@ -146,10 +146,13 @@ const Input = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
146
146
|
if (value !== searchTerm) {
|
|
147
147
|
setValue(searchTerm);
|
|
148
148
|
}
|
|
149
|
-
if (
|
|
149
|
+
if (!isListOpen) {
|
|
150
150
|
toggleIsListOpen(true);
|
|
151
|
+
setTimeout(virtualFocus.moveFocusDown, 0); // Wait until list is visible so that scrollIntoView works
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
virtualFocus.moveFocusDown();
|
|
151
155
|
}
|
|
152
|
-
virtualFocus.moveFocusDown();
|
|
153
156
|
}
|
|
154
157
|
else if (e.key === "ArrowUp") {
|
|
155
158
|
if (value !== "" && value !== searchTerm) {
|
|
@@ -171,10 +174,13 @@ const Input = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
171
174
|
}
|
|
172
175
|
else if (e.key === "End") {
|
|
173
176
|
e.preventDefault();
|
|
174
|
-
if (
|
|
177
|
+
if (!isListOpen) {
|
|
175
178
|
toggleIsListOpen(true);
|
|
179
|
+
setTimeout(virtualFocus.moveFocusToBottom, 0); // Wait until list is visible so that scrollIntoView works
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
virtualFocus.moveFocusToBottom();
|
|
176
183
|
}
|
|
177
|
-
virtualFocus.moveFocusToBottom();
|
|
178
184
|
}
|
|
179
185
|
else if (e.key === "PageUp") {
|
|
180
186
|
e.preventDefault();
|
|
@@ -182,10 +188,13 @@ const Input = (0, react_1.forwardRef)((_a, ref) => {
|
|
|
182
188
|
}
|
|
183
189
|
else if (e.key === "PageDown") {
|
|
184
190
|
e.preventDefault();
|
|
185
|
-
if (
|
|
191
|
+
if (!isListOpen) {
|
|
186
192
|
toggleIsListOpen(true);
|
|
193
|
+
setTimeout(() => virtualFocus.moveFocusDownBy(6), 0); // Wait until list is visible so that scrollIntoView works
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
virtualFocus.moveFocusDownBy(6);
|
|
187
197
|
}
|
|
188
|
-
virtualFocus.moveFocusDownBy(6);
|
|
189
198
|
}
|
|
190
199
|
}, [
|
|
191
200
|
value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/form/combobox/Input/Input.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/form/combobox/Input/Input.tsx"],"names":[],"mappings":"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"}
|
package/cjs/slot/Slot.js
CHANGED
|
@@ -42,9 +42,10 @@ const Slot = React.forwardRef((props, forwardedRef) => {
|
|
|
42
42
|
var _a;
|
|
43
43
|
const { children } = props, slotProps = __rest(props, ["children"]);
|
|
44
44
|
if (React.isValidElement(children)) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
const childRef = Object.prototype.propertyIsEnumerable.call(children.props, "ref")
|
|
46
|
+
? children.props.ref // React 19 (children.ref still works, but gives a warning)
|
|
47
|
+
: children.ref; // React <19
|
|
48
|
+
return React.cloneElement(children, Object.assign(Object.assign({}, (0, merge_props_1.mergeProps)(slotProps, children.props)), { ref: forwardedRef ? (0, useMergeRefs_1.mergeRefs)([forwardedRef, childRef]) : childRef }));
|
|
48
49
|
}
|
|
49
50
|
if (React.Children.count(children) > 1) {
|
|
50
51
|
const error = new Error("Aksel: Components using 'asChild' expects to recieve a single React element child.");
|
package/cjs/slot/Slot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slot.js","sourceRoot":"","sources":["../../src/slot/Slot.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,6DAAuD;AACvD,+CAA2C;AAM3C,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAyB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;;IAC5E,MAAM,EAAE,QAAQ,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAAlC,YAA0B,CAAQ,CAAC;IAEzC,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC,YAAY,CAAM,QAAQ,kCAClC,IAAA,wBAAU,EAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,KACxC,GAAG,EAAE,YAAY
|
|
1
|
+
{"version":3,"file":"Slot.js","sourceRoot":"","sources":["../../src/slot/Slot.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAA+B;AAC/B,6DAAuD;AACvD,+CAA2C;AAM3C,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAyB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;;IAC5E,MAAM,EAAE,QAAQ,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAAlC,YAA0B,CAAQ,CAAC;IAEzC,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CACzD,QAAQ,CAAC,KAAK,EACd,KAAK,CACN;YACC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,2DAA2D;YAChF,CAAC,CAAE,QAAgB,CAAC,GAAG,CAAC,CAAC,YAAY;QAEvC,OAAO,KAAK,CAAC,YAAY,CAAM,QAAQ,kCAClC,IAAA,wBAAU,EAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,KACxC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,IAAA,wBAAS,EAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAClE,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,oFAAoF,CACrF,CAAC;QACF,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;QACzB,MAAA,KAAK,CAAC,iBAAiB,sDAAG,KAAK,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC;AAEM,oBAAI"}
|
|
@@ -23,7 +23,7 @@ export const Checkbox = forwardRef((props, ref) => {
|
|
|
23
23
|
"indeterminate",
|
|
24
24
|
"errorId",
|
|
25
25
|
"readOnly",
|
|
26
|
-
]), omit(inputProps, ["aria-invalid"]), { type: "checkbox", className: "navds-checkbox__input",
|
|
26
|
+
]), omit(inputProps, ["aria-invalid"]), { type: "checkbox", className: "navds-checkbox__input", ref: (el) => {
|
|
27
27
|
var _a;
|
|
28
28
|
if (el) {
|
|
29
29
|
el.indeterminate = (_a = props.indeterminate) !== null && _a !== void 0 ? _a : false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/form/checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAChC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACb,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,aAAa,GAAG,KAAK,EAAE,CAAC;IAE9B,OAAO,CACL,6BACE,SAAS,EAAE,EAAE,CACX,KAAK,CAAC,SAAS,EACf,gBAAgB,EAChB,mBAAmB,IAAI,EAAE,EACzB;YACE,uBAAuB,EAAE,QAAQ;YACjC,0BAA0B,EAAE,UAAU,CAAC,QAAQ;YAC/C,0BAA0B,EAAE,QAAQ;SACrC,CACF;QAED,+CACM,IAAI,CAAC,KAAK,EAAE;YACd,UAAU;YACV,MAAM;YACN,OAAO;YACP,aAAa;YACb,WAAW;YACX,eAAe;YACf,SAAS;YACT,UAAU;SACX,CAAC,EACE,IAAI,CAAC,UAAU,EAAE,CAAC,cAAc,CAAC,CAAC,IACtC,IAAI,EAAC,UAAU,EACf,SAAS,EAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/form/checkbox/Checkbox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { isInList, toComboboxOption } from "../combobox-utils.js";
|
|
|
8
8
|
import filteredOptionsUtil from "./filtered-options-util.js";
|
|
9
9
|
import { useFilteredOptionsContext } from "./filteredOptionsContext.js";
|
|
10
10
|
const AddNewOption = () => {
|
|
11
|
-
const { inputProps: { id }, size,
|
|
11
|
+
const { inputProps: { id }, size, searchTerm, } = useInputContext();
|
|
12
12
|
const { setIsMouseLastUsedInputDevice, toggleIsListOpen, activeDecendantId, virtualFocus, } = useFilteredOptionsContext();
|
|
13
13
|
const { isMultiSelect, selectedOptions, toggleOption } = useSelectedOptionsContext();
|
|
14
14
|
return (React.createElement("li", { tabIndex: -1, onMouseMove: () => {
|
|
@@ -17,8 +17,8 @@ const AddNewOption = () => {
|
|
|
17
17
|
setIsMouseLastUsedInputDevice(true);
|
|
18
18
|
}
|
|
19
19
|
}, onPointerUp: (event) => {
|
|
20
|
-
toggleOption(toComboboxOption(
|
|
21
|
-
if (!isMultiSelect && !isInList(
|
|
20
|
+
toggleOption(toComboboxOption(searchTerm), event);
|
|
21
|
+
if (!isMultiSelect && !isInList(searchTerm, selectedOptions))
|
|
22
22
|
toggleIsListOpen(false);
|
|
23
23
|
}, id: filteredOptionsUtil.getAddNewOptionId(id), className: cl("navds-combobox__list-item navds-combobox__list-item--new-option", {
|
|
24
24
|
"navds-combobox__list-item--new-option--focus": activeDecendantId === filteredOptionsUtil.getAddNewOptionId(id),
|
|
@@ -29,7 +29,7 @@ const AddNewOption = () => {
|
|
|
29
29
|
" ",
|
|
30
30
|
React.createElement(Label, { as: "span", size: size },
|
|
31
31
|
"\u201C",
|
|
32
|
-
|
|
32
|
+
searchTerm,
|
|
33
33
|
"\u201D"))));
|
|
34
34
|
};
|
|
35
35
|
export default AddNewOption;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddNewOption.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/AddNewOption.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,mBAAmB,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,EACJ,UAAU,EAAE,EAAE,EAAE,EAAE,EAClB,IAAI,EACJ,
|
|
1
|
+
{"version":3,"file":"AddNewOption.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/AddNewOption.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,mBAAmB,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,EACJ,UAAU,EAAE,EAAE,EAAE,EAAE,EAClB,IAAI,EACJ,UAAU,GACX,GAAG,eAAe,EAAE,CAAC;IACtB,MAAM,EACJ,6BAA6B,EAC7B,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,GACb,GAAG,yBAAyB,EAAE,CAAC;IAChC,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,GACpD,yBAAyB,EAAE,CAAC;IAC9B,OAAO,CACL,4BACE,QAAQ,EAAE,CAAC,CAAC,EACZ,WAAW,EAAE,GAAG,EAAE;YAChB,IAAI,iBAAiB,KAAK,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpE,YAAY,CAAC,kBAAkB,CAC7B,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAC1C,CAAC;gBACF,6BAA6B,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;QACH,CAAC,EACD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;YACrB,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;gBAC1D,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,EACD,EAAE,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAC7C,SAAS,EAAE,EAAE,CACX,iEAAiE,EACjE;YACE,8CAA8C,EAC5C,iBAAiB,KAAK,mBAAmB,CAAC,iBAAiB,CAAC,EAAE,CAAC;SAClE,CACF,EACD,IAAI,EAAC,QAAQ,mBACE,KAAK;QAEpB,oBAAC,QAAQ,0BAAe;QACxB,oBAAC,SAAS,IAAC,IAAI,EAAE,IAAI;;YACV,GAAG;YACZ,oBAAC,KAAK,IAAC,EAAE,EAAC,MAAM,EAAC,IAAI,EAAE,IAAI;;gBACjB,UAAU;yBACZ,CACE,CACT,CACN,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -7,10 +7,20 @@ import { useSelectedOptionsContext } from "../SelectedOptions/selectedOptionsCon
|
|
|
7
7
|
import { isInList } from "../combobox-utils.js";
|
|
8
8
|
import filteredOptionsUtil from "./filtered-options-util.js";
|
|
9
9
|
import { useFilteredOptionsContext } from "./filteredOptionsContext.js";
|
|
10
|
+
const useTextHighlight = (text, searchTerm) => {
|
|
11
|
+
const indexOfHighlightedText = text
|
|
12
|
+
.toLowerCase()
|
|
13
|
+
.indexOf(searchTerm.toLowerCase());
|
|
14
|
+
const start = text.substring(0, indexOfHighlightedText);
|
|
15
|
+
const highlight = text.substring(indexOfHighlightedText, indexOfHighlightedText + searchTerm.length);
|
|
16
|
+
const end = text.substring(indexOfHighlightedText + searchTerm.length);
|
|
17
|
+
return [start, highlight, end];
|
|
18
|
+
};
|
|
10
19
|
const FilteredOptionsItem = ({ option }) => {
|
|
11
|
-
const { inputProps: { id }, size, } = useInputContext();
|
|
20
|
+
const { inputProps: { id }, size, searchTerm, } = useInputContext();
|
|
12
21
|
const { setIsMouseLastUsedInputDevice, toggleIsListOpen, activeDecendantId, virtualFocus, } = useFilteredOptionsContext();
|
|
13
22
|
const { isMultiSelect, maxSelected, selectedOptions, toggleOption } = useSelectedOptionsContext();
|
|
23
|
+
const [start, highlight, end] = useTextHighlight(option.label, searchTerm);
|
|
14
24
|
const isDisabled = (_option) => (maxSelected === null || maxSelected === void 0 ? void 0 : maxSelected.isLimitReached) && !isInList(_option.value, selectedOptions);
|
|
15
25
|
return (React.createElement("li", { className: cl("navds-combobox__list-item", {
|
|
16
26
|
"navds-combobox__list-item--focus": activeDecendantId ===
|
|
@@ -31,7 +41,10 @@ const FilteredOptionsItem = ({ option }) => {
|
|
|
31
41
|
toggleIsListOpen(false);
|
|
32
42
|
}
|
|
33
43
|
}, role: "option", "aria-selected": isInList(option.value, selectedOptions), "aria-disabled": isDisabled(option) || undefined },
|
|
34
|
-
React.createElement(BodyShort, { size: size
|
|
44
|
+
React.createElement(BodyShort, { size: size, "aria-label": option.label },
|
|
45
|
+
start,
|
|
46
|
+
highlight && React.createElement("mark", null, highlight),
|
|
47
|
+
end),
|
|
35
48
|
isInList(option.value, selectedOptions) && React.createElement(CheckmarkIcon, null)));
|
|
36
49
|
};
|
|
37
50
|
export default FilteredOptionsItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilteredOptionsItem.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/FilteredOptionsItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,MAAM,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,mBAAmB,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,mBAAmB,GAAG,CAAC,EAAE,MAAM,EAA8B,EAAE,EAAE;IACrE,MAAM,EACJ,UAAU,EAAE,EAAE,EAAE,EAAE,EAClB,IAAI,
|
|
1
|
+
{"version":3,"file":"FilteredOptionsItem.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/FilteredOptionsItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -81,8 +81,8 @@ const FilteredOptionsProvider = ({ children, value: props, }) => {
|
|
|
81
81
|
disabled,
|
|
82
82
|
readOnly,
|
|
83
83
|
]);
|
|
84
|
-
const isValueNew = useMemo(() => Boolean(
|
|
85
|
-
!filteredOptionsMap[filteredOptionsUtils.getOptionId(id,
|
|
84
|
+
const isValueNew = useMemo(() => Boolean(searchTerm) &&
|
|
85
|
+
!filteredOptionsMap[filteredOptionsUtils.getOptionId(id, searchTerm)], [filteredOptionsMap, id, searchTerm]);
|
|
86
86
|
const ariaDescribedBy = useMemo(() => {
|
|
87
87
|
let activeOption = "";
|
|
88
88
|
if (!isLoading && filteredOptions.length === 0 && !allowNewValues) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filteredOptionsContext.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/filteredOptionsContext.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"filteredOptionsContext.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/filteredOptionsContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useState } from "react";
|
|
2
2
|
const useVirtualFocus = (containerRef) => {
|
|
3
3
|
const [activeElement, setActiveElement] = useState(undefined);
|
|
4
4
|
const getListOfAllChildren = () => { var _a; return Array.from((_a = containerRef === null || containerRef === void 0 ? void 0 : containerRef.children) !== null && _a !== void 0 ? _a : []); };
|
|
@@ -14,6 +14,11 @@ const useVirtualFocus = (containerRef) => {
|
|
|
14
14
|
elementsAbleToReceiveFocus.length - 1
|
|
15
15
|
: false;
|
|
16
16
|
};
|
|
17
|
+
const setActiveAndScrollToElement = (element) => {
|
|
18
|
+
var _a;
|
|
19
|
+
setActiveElement(element);
|
|
20
|
+
(_a = element === null || element === void 0 ? void 0 : element.scrollIntoView) === null || _a === void 0 ? void 0 : _a.call(element, { block: "nearest" });
|
|
21
|
+
};
|
|
17
22
|
const moveFocusUp = () => {
|
|
18
23
|
if (!activeElement) {
|
|
19
24
|
return;
|
|
@@ -25,29 +30,29 @@ const useVirtualFocus = (containerRef) => {
|
|
|
25
30
|
setActiveElement(undefined);
|
|
26
31
|
}
|
|
27
32
|
else {
|
|
28
|
-
|
|
33
|
+
setActiveAndScrollToElement(elementAbove);
|
|
29
34
|
}
|
|
30
35
|
};
|
|
31
36
|
const moveFocusDown = () => {
|
|
32
37
|
const elementsAbleToReceiveFocus = getElementsAbleToReceiveFocus();
|
|
33
38
|
if (!activeElement) {
|
|
34
|
-
|
|
39
|
+
setActiveAndScrollToElement(elementsAbleToReceiveFocus[0]);
|
|
35
40
|
return;
|
|
36
41
|
}
|
|
37
42
|
const _currentIndex = elementsAbleToReceiveFocus.indexOf(activeElement);
|
|
38
43
|
if (_currentIndex === elementsAbleToReceiveFocus.length - 1) {
|
|
39
44
|
return;
|
|
40
45
|
}
|
|
41
|
-
|
|
46
|
+
setActiveAndScrollToElement(elementsAbleToReceiveFocus[_currentIndex + 1]);
|
|
42
47
|
};
|
|
43
48
|
const resetFocus = () => setActiveElement(undefined);
|
|
44
49
|
const moveFocusToTop = () => {
|
|
45
50
|
const elementsAbleToReceiveFocus = getElementsAbleToReceiveFocus();
|
|
46
|
-
|
|
51
|
+
setActiveAndScrollToElement(elementsAbleToReceiveFocus[0]);
|
|
47
52
|
};
|
|
48
53
|
const moveFocusToBottom = () => {
|
|
49
54
|
const elementsAbleToReceiveFocus = getElementsAbleToReceiveFocus();
|
|
50
|
-
|
|
55
|
+
setActiveAndScrollToElement(elementsAbleToReceiveFocus[elementsAbleToReceiveFocus.length - 1]);
|
|
51
56
|
};
|
|
52
57
|
const moveFocusToElement = (id) => {
|
|
53
58
|
const _element = getElementsAbleToReceiveFocus().find((_focusableElement) => _focusableElement.getAttribute("id") === id);
|
|
@@ -62,7 +67,7 @@ const useVirtualFocus = (containerRef) => {
|
|
|
62
67
|
const elementsAbleToReceiveFocus = getElementsAbleToReceiveFocus();
|
|
63
68
|
const currentIndex = elementsAbleToReceiveFocus.indexOf(activeElement);
|
|
64
69
|
const newIndex = Math.max(currentIndex - numberOfElements, 0);
|
|
65
|
-
|
|
70
|
+
setActiveAndScrollToElement(elementsAbleToReceiveFocus[newIndex]);
|
|
66
71
|
};
|
|
67
72
|
const moveFocusDownBy = (numberOfElements) => {
|
|
68
73
|
const elementsAbleToReceiveFocus = getElementsAbleToReceiveFocus();
|
|
@@ -70,12 +75,8 @@ const useVirtualFocus = (containerRef) => {
|
|
|
70
75
|
? elementsAbleToReceiveFocus.indexOf(activeElement)
|
|
71
76
|
: -1;
|
|
72
77
|
const newIndex = Math.min(currentIndex + numberOfElements, elementsAbleToReceiveFocus.length - 1);
|
|
73
|
-
|
|
78
|
+
setActiveAndScrollToElement(elementsAbleToReceiveFocus[newIndex]);
|
|
74
79
|
};
|
|
75
|
-
useEffect(() => {
|
|
76
|
-
var _a;
|
|
77
|
-
(_a = activeElement === null || activeElement === void 0 ? void 0 : activeElement.scrollIntoView) === null || _a === void 0 ? void 0 : _a.call(activeElement, { block: "nearest" });
|
|
78
|
-
}, [activeElement]);
|
|
79
80
|
return {
|
|
80
81
|
activeElement,
|
|
81
82
|
getElementById,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVirtualFocus.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/useVirtualFocus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useVirtualFocus.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/useVirtualFocus.ts"],"names":[],"mappings":"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"}
|
|
@@ -118,10 +118,13 @@ const Input = forwardRef((_a, ref) => {
|
|
|
118
118
|
if (value !== searchTerm) {
|
|
119
119
|
setValue(searchTerm);
|
|
120
120
|
}
|
|
121
|
-
if (
|
|
121
|
+
if (!isListOpen) {
|
|
122
122
|
toggleIsListOpen(true);
|
|
123
|
+
setTimeout(virtualFocus.moveFocusDown, 0); // Wait until list is visible so that scrollIntoView works
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
virtualFocus.moveFocusDown();
|
|
123
127
|
}
|
|
124
|
-
virtualFocus.moveFocusDown();
|
|
125
128
|
}
|
|
126
129
|
else if (e.key === "ArrowUp") {
|
|
127
130
|
if (value !== "" && value !== searchTerm) {
|
|
@@ -143,10 +146,13 @@ const Input = forwardRef((_a, ref) => {
|
|
|
143
146
|
}
|
|
144
147
|
else if (e.key === "End") {
|
|
145
148
|
e.preventDefault();
|
|
146
|
-
if (
|
|
149
|
+
if (!isListOpen) {
|
|
147
150
|
toggleIsListOpen(true);
|
|
151
|
+
setTimeout(virtualFocus.moveFocusToBottom, 0); // Wait until list is visible so that scrollIntoView works
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
virtualFocus.moveFocusToBottom();
|
|
148
155
|
}
|
|
149
|
-
virtualFocus.moveFocusToBottom();
|
|
150
156
|
}
|
|
151
157
|
else if (e.key === "PageUp") {
|
|
152
158
|
e.preventDefault();
|
|
@@ -154,10 +160,13 @@ const Input = forwardRef((_a, ref) => {
|
|
|
154
160
|
}
|
|
155
161
|
else if (e.key === "PageDown") {
|
|
156
162
|
e.preventDefault();
|
|
157
|
-
if (
|
|
163
|
+
if (!isListOpen) {
|
|
158
164
|
toggleIsListOpen(true);
|
|
165
|
+
setTimeout(() => virtualFocus.moveFocusDownBy(6), 0); // Wait until list is visible so that scrollIntoView works
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
virtualFocus.moveFocusDownBy(6);
|
|
159
169
|
}
|
|
160
|
-
virtualFocus.moveFocusDownBy(6);
|
|
161
170
|
}
|
|
162
171
|
}, [
|
|
163
172
|
value,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/form/combobox/Input/Input.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/form/combobox/Input/Input.tsx"],"names":[],"mappings":"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"}
|
package/esm/slot/Slot.js
CHANGED
|
@@ -16,9 +16,10 @@ const Slot = React.forwardRef((props, forwardedRef) => {
|
|
|
16
16
|
var _a;
|
|
17
17
|
const { children } = props, slotProps = __rest(props, ["children"]);
|
|
18
18
|
if (React.isValidElement(children)) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
const childRef = Object.prototype.propertyIsEnumerable.call(children.props, "ref")
|
|
20
|
+
? children.props.ref // React 19 (children.ref still works, but gives a warning)
|
|
21
|
+
: children.ref; // React <19
|
|
22
|
+
return React.cloneElement(children, Object.assign(Object.assign({}, mergeProps(slotProps, children.props)), { ref: forwardedRef ? mergeRefs([forwardedRef, childRef]) : childRef }));
|
|
22
23
|
}
|
|
23
24
|
if (React.Children.count(children) > 1) {
|
|
24
25
|
const error = new Error("Aksel: Components using 'asChild' expects to recieve a single React element child.");
|
package/esm/slot/Slot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Slot.js","sourceRoot":"","sources":["../../src/slot/Slot.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAyB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;;IAC5E,MAAM,EAAE,QAAQ,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAAlC,YAA0B,CAAQ,CAAC;IAEzC,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC,YAAY,CAAM,QAAQ,kCAClC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,KACxC,GAAG,EAAE,YAAY
|
|
1
|
+
{"version":3,"file":"Slot.js","sourceRoot":"","sources":["../../src/slot/Slot.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAyB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;;IAC5E,MAAM,EAAE,QAAQ,KAAmB,KAAK,EAAnB,SAAS,UAAK,KAAK,EAAlC,YAA0B,CAAQ,CAAC;IAEzC,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CACzD,QAAQ,CAAC,KAAK,EACd,KAAK,CACN;YACC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,2DAA2D;YAChF,CAAC,CAAE,QAAgB,CAAC,GAAG,CAAC,CAAC,YAAY;QAEvC,OAAO,KAAK,CAAC,YAAY,CAAM,QAAQ,kCAClC,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,KACxC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,IAClE,CAAC;IACL,CAAC;IAED,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,oFAAoF,CACrF,CAAC;QACF,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;QACzB,MAAA,KAAK,CAAC,iBAAiB,sDAAG,KAAK,EAAE,IAAI,CAAC,CAAC;QACvC,MAAM,KAAK,CAAC;IACd,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC,CAAC;AAEH,OAAO,EAAE,IAAI,EAAkB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@navikt/ds-react",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.4.0",
|
|
4
4
|
"description": "React components from the Norwegian Labour and Welfare Administration.",
|
|
5
5
|
"author": "Aksel, a team part of the Norwegian Labour and Welfare Administration.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -604,11 +604,11 @@
|
|
|
604
604
|
"dependencies": {
|
|
605
605
|
"@floating-ui/react": "0.25.4",
|
|
606
606
|
"@floating-ui/react-dom": "^2.0.9",
|
|
607
|
-
"@navikt/aksel-icons": "^7.
|
|
608
|
-
"@navikt/ds-tokens": "^7.
|
|
607
|
+
"@navikt/aksel-icons": "^7.4.0",
|
|
608
|
+
"@navikt/ds-tokens": "^7.4.0",
|
|
609
609
|
"clsx": "^2.1.0",
|
|
610
610
|
"date-fns": "^3.0.0",
|
|
611
|
-
"react-day-picker": "8.10.
|
|
611
|
+
"react-day-picker": "8.10.1"
|
|
612
612
|
},
|
|
613
613
|
"devDependencies": {
|
|
614
614
|
"@testing-library/dom": "9.3.4",
|
|
@@ -41,7 +41,6 @@ export const Checkbox = forwardRef<HTMLInputElement, CheckboxProps>(
|
|
|
41
41
|
{...omit(inputProps, ["aria-invalid"])}
|
|
42
42
|
type="checkbox"
|
|
43
43
|
className="navds-checkbox__input"
|
|
44
|
-
aria-checked={props.indeterminate ? "mixed" : inputProps.checked}
|
|
45
44
|
ref={(el) => {
|
|
46
45
|
if (el) {
|
|
47
46
|
el.indeterminate = props.indeterminate ?? false;
|
|
@@ -12,7 +12,7 @@ const AddNewOption = () => {
|
|
|
12
12
|
const {
|
|
13
13
|
inputProps: { id },
|
|
14
14
|
size,
|
|
15
|
-
|
|
15
|
+
searchTerm,
|
|
16
16
|
} = useInputContext();
|
|
17
17
|
const {
|
|
18
18
|
setIsMouseLastUsedInputDevice,
|
|
@@ -34,8 +34,8 @@ const AddNewOption = () => {
|
|
|
34
34
|
}
|
|
35
35
|
}}
|
|
36
36
|
onPointerUp={(event) => {
|
|
37
|
-
toggleOption(toComboboxOption(
|
|
38
|
-
if (!isMultiSelect && !isInList(
|
|
37
|
+
toggleOption(toComboboxOption(searchTerm), event);
|
|
38
|
+
if (!isMultiSelect && !isInList(searchTerm, selectedOptions))
|
|
39
39
|
toggleIsListOpen(false);
|
|
40
40
|
}}
|
|
41
41
|
id={filteredOptionsUtil.getAddNewOptionId(id)}
|
|
@@ -53,7 +53,7 @@ const AddNewOption = () => {
|
|
|
53
53
|
<BodyShort size={size}>
|
|
54
54
|
Legg til{" "}
|
|
55
55
|
<Label as="span" size={size}>
|
|
56
|
-
“{
|
|
56
|
+
“{searchTerm}”
|
|
57
57
|
</Label>
|
|
58
58
|
</BodyShort>
|
|
59
59
|
</li>
|
|
@@ -9,10 +9,24 @@ import { ComboboxOption } from "../types";
|
|
|
9
9
|
import filteredOptionsUtil from "./filtered-options-util";
|
|
10
10
|
import { useFilteredOptionsContext } from "./filteredOptionsContext";
|
|
11
11
|
|
|
12
|
+
const useTextHighlight = (text: string, searchTerm: string) => {
|
|
13
|
+
const indexOfHighlightedText = text
|
|
14
|
+
.toLowerCase()
|
|
15
|
+
.indexOf(searchTerm.toLowerCase());
|
|
16
|
+
const start = text.substring(0, indexOfHighlightedText);
|
|
17
|
+
const highlight = text.substring(
|
|
18
|
+
indexOfHighlightedText,
|
|
19
|
+
indexOfHighlightedText + searchTerm.length,
|
|
20
|
+
);
|
|
21
|
+
const end = text.substring(indexOfHighlightedText + searchTerm.length);
|
|
22
|
+
return [start, highlight, end];
|
|
23
|
+
};
|
|
24
|
+
|
|
12
25
|
const FilteredOptionsItem = ({ option }: { option: ComboboxOption }) => {
|
|
13
26
|
const {
|
|
14
27
|
inputProps: { id },
|
|
15
28
|
size,
|
|
29
|
+
searchTerm,
|
|
16
30
|
} = useInputContext();
|
|
17
31
|
const {
|
|
18
32
|
setIsMouseLastUsedInputDevice,
|
|
@@ -22,9 +36,11 @@ const FilteredOptionsItem = ({ option }: { option: ComboboxOption }) => {
|
|
|
22
36
|
} = useFilteredOptionsContext();
|
|
23
37
|
const { isMultiSelect, maxSelected, selectedOptions, toggleOption } =
|
|
24
38
|
useSelectedOptionsContext();
|
|
39
|
+
const [start, highlight, end] = useTextHighlight(option.label, searchTerm);
|
|
25
40
|
|
|
26
41
|
const isDisabled = (_option: ComboboxOption) =>
|
|
27
42
|
maxSelected?.isLimitReached && !isInList(_option.value, selectedOptions);
|
|
43
|
+
|
|
28
44
|
return (
|
|
29
45
|
<li
|
|
30
46
|
className={cl("navds-combobox__list-item", {
|
|
@@ -64,7 +80,12 @@ const FilteredOptionsItem = ({ option }: { option: ComboboxOption }) => {
|
|
|
64
80
|
aria-selected={isInList(option.value, selectedOptions)}
|
|
65
81
|
aria-disabled={isDisabled(option) || undefined}
|
|
66
82
|
>
|
|
67
|
-
|
|
83
|
+
{/* Aria-label is used to fix testing-library wrongly evaluating the accessible name of the option when highlighting text */}
|
|
84
|
+
<BodyShort size={size} aria-label={option.label}>
|
|
85
|
+
{start}
|
|
86
|
+
{highlight && <mark>{highlight}</mark>}
|
|
87
|
+
{end}
|
|
88
|
+
</BodyShort>
|
|
68
89
|
{isInList(option.value, selectedOptions) && <CheckmarkIcon />}
|
|
69
90
|
</li>
|
|
70
91
|
);
|
|
@@ -158,9 +158,9 @@ const FilteredOptionsProvider = ({
|
|
|
158
158
|
|
|
159
159
|
const isValueNew = useMemo(
|
|
160
160
|
() =>
|
|
161
|
-
Boolean(
|
|
162
|
-
!filteredOptionsMap[filteredOptionsUtils.getOptionId(id,
|
|
163
|
-
[filteredOptionsMap, id,
|
|
161
|
+
Boolean(searchTerm) &&
|
|
162
|
+
!filteredOptionsMap[filteredOptionsUtils.getOptionId(id, searchTerm)],
|
|
163
|
+
[filteredOptionsMap, id, searchTerm],
|
|
164
164
|
);
|
|
165
165
|
|
|
166
166
|
const ariaDescribedBy = useMemo(() => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useState } from "react";
|
|
2
2
|
|
|
3
3
|
export type VirtualFocusType = {
|
|
4
4
|
activeElement: HTMLElement | undefined;
|
|
@@ -43,6 +43,11 @@ const useVirtualFocus = (
|
|
|
43
43
|
: false;
|
|
44
44
|
};
|
|
45
45
|
|
|
46
|
+
const setActiveAndScrollToElement = (element?: HTMLElement) => {
|
|
47
|
+
setActiveElement(element);
|
|
48
|
+
element?.scrollIntoView?.({ block: "nearest" });
|
|
49
|
+
};
|
|
50
|
+
|
|
46
51
|
const moveFocusUp = () => {
|
|
47
52
|
if (!activeElement) {
|
|
48
53
|
return;
|
|
@@ -53,14 +58,14 @@ const useVirtualFocus = (
|
|
|
53
58
|
if (_currentIndex === 0) {
|
|
54
59
|
setActiveElement(undefined);
|
|
55
60
|
} else {
|
|
56
|
-
|
|
61
|
+
setActiveAndScrollToElement(elementAbove);
|
|
57
62
|
}
|
|
58
63
|
};
|
|
59
64
|
|
|
60
65
|
const moveFocusDown = () => {
|
|
61
66
|
const elementsAbleToReceiveFocus = getElementsAbleToReceiveFocus();
|
|
62
67
|
if (!activeElement) {
|
|
63
|
-
|
|
68
|
+
setActiveAndScrollToElement(elementsAbleToReceiveFocus[0]);
|
|
64
69
|
return;
|
|
65
70
|
}
|
|
66
71
|
const _currentIndex = elementsAbleToReceiveFocus.indexOf(activeElement);
|
|
@@ -68,17 +73,17 @@ const useVirtualFocus = (
|
|
|
68
73
|
return;
|
|
69
74
|
}
|
|
70
75
|
|
|
71
|
-
|
|
76
|
+
setActiveAndScrollToElement(elementsAbleToReceiveFocus[_currentIndex + 1]);
|
|
72
77
|
};
|
|
73
78
|
|
|
74
79
|
const resetFocus = () => setActiveElement(undefined);
|
|
75
80
|
const moveFocusToTop = () => {
|
|
76
81
|
const elementsAbleToReceiveFocus = getElementsAbleToReceiveFocus();
|
|
77
|
-
|
|
82
|
+
setActiveAndScrollToElement(elementsAbleToReceiveFocus[0]);
|
|
78
83
|
};
|
|
79
84
|
const moveFocusToBottom = () => {
|
|
80
85
|
const elementsAbleToReceiveFocus = getElementsAbleToReceiveFocus();
|
|
81
|
-
|
|
86
|
+
setActiveAndScrollToElement(
|
|
82
87
|
elementsAbleToReceiveFocus[elementsAbleToReceiveFocus.length - 1],
|
|
83
88
|
);
|
|
84
89
|
};
|
|
@@ -98,7 +103,7 @@ const useVirtualFocus = (
|
|
|
98
103
|
const elementsAbleToReceiveFocus = getElementsAbleToReceiveFocus();
|
|
99
104
|
const currentIndex = elementsAbleToReceiveFocus.indexOf(activeElement);
|
|
100
105
|
const newIndex = Math.max(currentIndex - numberOfElements, 0);
|
|
101
|
-
|
|
106
|
+
setActiveAndScrollToElement(elementsAbleToReceiveFocus[newIndex]);
|
|
102
107
|
};
|
|
103
108
|
|
|
104
109
|
const moveFocusDownBy = (numberOfElements: number) => {
|
|
@@ -110,13 +115,9 @@ const useVirtualFocus = (
|
|
|
110
115
|
currentIndex + numberOfElements,
|
|
111
116
|
elementsAbleToReceiveFocus.length - 1,
|
|
112
117
|
);
|
|
113
|
-
|
|
118
|
+
setActiveAndScrollToElement(elementsAbleToReceiveFocus[newIndex]);
|
|
114
119
|
};
|
|
115
120
|
|
|
116
|
-
useEffect(() => {
|
|
117
|
-
activeElement?.scrollIntoView?.({ block: "nearest" });
|
|
118
|
-
}, [activeElement]);
|
|
119
|
-
|
|
120
121
|
return {
|
|
121
122
|
activeElement,
|
|
122
123
|
getElementById,
|
|
@@ -177,10 +177,12 @@ const Input = forwardRef<HTMLInputElement, InputProps>(
|
|
|
177
177
|
if (value !== searchTerm) {
|
|
178
178
|
setValue(searchTerm);
|
|
179
179
|
}
|
|
180
|
-
if (
|
|
180
|
+
if (!isListOpen) {
|
|
181
181
|
toggleIsListOpen(true);
|
|
182
|
+
setTimeout(virtualFocus.moveFocusDown, 0); // Wait until list is visible so that scrollIntoView works
|
|
183
|
+
} else {
|
|
184
|
+
virtualFocus.moveFocusDown();
|
|
182
185
|
}
|
|
183
|
-
virtualFocus.moveFocusDown();
|
|
184
186
|
} else if (e.key === "ArrowUp") {
|
|
185
187
|
if (value !== "" && value !== searchTerm) {
|
|
186
188
|
onChange(value);
|
|
@@ -199,19 +201,23 @@ const Input = forwardRef<HTMLInputElement, InputProps>(
|
|
|
199
201
|
virtualFocus.moveFocusToTop();
|
|
200
202
|
} else if (e.key === "End") {
|
|
201
203
|
e.preventDefault();
|
|
202
|
-
if (
|
|
204
|
+
if (!isListOpen) {
|
|
203
205
|
toggleIsListOpen(true);
|
|
206
|
+
setTimeout(virtualFocus.moveFocusToBottom, 0); // Wait until list is visible so that scrollIntoView works
|
|
207
|
+
} else {
|
|
208
|
+
virtualFocus.moveFocusToBottom();
|
|
204
209
|
}
|
|
205
|
-
virtualFocus.moveFocusToBottom();
|
|
206
210
|
} else if (e.key === "PageUp") {
|
|
207
211
|
e.preventDefault();
|
|
208
212
|
virtualFocus.moveFocusUpBy(6);
|
|
209
213
|
} else if (e.key === "PageDown") {
|
|
210
214
|
e.preventDefault();
|
|
211
|
-
if (
|
|
215
|
+
if (!isListOpen) {
|
|
212
216
|
toggleIsListOpen(true);
|
|
217
|
+
setTimeout(() => virtualFocus.moveFocusDownBy(6), 0); // Wait until list is visible so that scrollIntoView works
|
|
218
|
+
} else {
|
|
219
|
+
virtualFocus.moveFocusDownBy(6);
|
|
213
220
|
}
|
|
214
|
-
virtualFocus.moveFocusDownBy(6);
|
|
215
221
|
}
|
|
216
222
|
},
|
|
217
223
|
[
|
package/src/slot/Slot.tsx
CHANGED
|
@@ -10,11 +10,16 @@ const Slot = React.forwardRef<HTMLElement, SlotProps>((props, forwardedRef) => {
|
|
|
10
10
|
const { children, ...slotProps } = props;
|
|
11
11
|
|
|
12
12
|
if (React.isValidElement(children)) {
|
|
13
|
+
const childRef = Object.prototype.propertyIsEnumerable.call(
|
|
14
|
+
children.props,
|
|
15
|
+
"ref",
|
|
16
|
+
)
|
|
17
|
+
? children.props.ref // React 19 (children.ref still works, but gives a warning)
|
|
18
|
+
: (children as any).ref; // React <19
|
|
19
|
+
|
|
13
20
|
return React.cloneElement<any>(children, {
|
|
14
21
|
...mergeProps(slotProps, children.props),
|
|
15
|
-
ref: forwardedRef
|
|
16
|
-
? mergeRefs([forwardedRef, (children as any).ref])
|
|
17
|
-
: (children as any).ref,
|
|
22
|
+
ref: forwardedRef ? mergeRefs([forwardedRef, childRef]) : childRef,
|
|
18
23
|
});
|
|
19
24
|
}
|
|
20
25
|
|