@gooddata/sdk-ui-kit 10.26.0-alpha.42 → 10.26.0-alpha.44
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/esm/@ui/@utils/keyboardNavigation.d.ts +18 -0
- package/esm/@ui/@utils/keyboardNavigation.d.ts.map +1 -0
- package/esm/@ui/@utils/keyboardNavigation.js +47 -0
- package/esm/@ui/@utils/keyboardNavigation.js.map +1 -0
- package/esm/@ui/UiFocusTrap/UiFocusTrap.d.ts.map +1 -1
- package/esm/@ui/UiFocusTrap/UiFocusTrap.js +17 -13
- package/esm/@ui/UiFocusTrap/UiFocusTrap.js.map +1 -1
- package/esm/@ui/UiListbox/UiListbox.d.ts +11 -0
- package/esm/@ui/UiListbox/UiListbox.d.ts.map +1 -0
- package/esm/@ui/UiListbox/UiListbox.js +121 -0
- package/esm/@ui/UiListbox/UiListbox.js.map +1 -0
- package/esm/@ui/UiListbox/defaults/DefaultUiListboxItemComponent.d.ts +15 -0
- package/esm/@ui/UiListbox/defaults/DefaultUiListboxItemComponent.d.ts.map +1 -0
- package/esm/@ui/UiListbox/defaults/DefaultUiListboxItemComponent.js +31 -0
- package/esm/@ui/UiListbox/defaults/DefaultUiListboxItemComponent.js.map +1 -0
- package/esm/@ui/UiListbox/defaults/firstCharacterSearch.d.ts +8 -0
- package/esm/@ui/UiListbox/defaults/firstCharacterSearch.d.ts.map +1 -0
- package/esm/@ui/UiListbox/defaults/firstCharacterSearch.js +22 -0
- package/esm/@ui/UiListbox/defaults/firstCharacterSearch.js.map +1 -0
- package/esm/@ui/UiListbox/listboxBem.d.ts +2 -0
- package/esm/@ui/UiListbox/listboxBem.d.ts.map +1 -0
- package/esm/@ui/UiListbox/listboxBem.js +4 -0
- package/esm/@ui/UiListbox/listboxBem.js.map +1 -0
- package/esm/@ui/UiListbox/types.d.ts +49 -0
- package/esm/@ui/UiListbox/types.d.ts.map +1 -0
- package/esm/@ui/UiListbox/types.js +3 -0
- package/esm/@ui/UiListbox/types.js.map +1 -0
- package/esm/Dialog/DialogBase.d.ts.map +1 -1
- package/esm/Dialog/DialogBase.js +2 -8
- package/esm/Dialog/DialogBase.js.map +1 -1
- package/esm/Dropdown/Dropdown.d.ts +18 -1
- package/esm/Dropdown/Dropdown.d.ts.map +1 -1
- package/esm/Dropdown/Dropdown.js +41 -29
- package/esm/Dropdown/Dropdown.js.map +1 -1
- package/esm/Dropdown/DropdownButtonKeyboardWrapper.d.ts +8 -0
- package/esm/Dropdown/DropdownButtonKeyboardWrapper.d.ts.map +1 -0
- package/esm/Dropdown/DropdownButtonKeyboardWrapper.js +22 -0
- package/esm/Dropdown/DropdownButtonKeyboardWrapper.js.map +1 -0
- package/esm/List/index.js +1 -1
- package/esm/index.d.ts +3 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -0
- package/esm/index.js.map +1 -1
- package/esm/sdk-ui-kit.d.ts +92 -1
- package/esm/utils/domUtilities.d.ts +1 -0
- package/esm/utils/domUtilities.d.ts.map +1 -1
- package/esm/utils/domUtilities.js +11 -1
- package/esm/utils/domUtilities.js.map +1 -1
- package/package.json +8 -8
- package/src/@ui/UiListbox/UiListbox.scss +79 -0
- package/src/@ui/index.scss +1 -0
- package/styles/css/dropdown.css +4 -0
- package/styles/css/dropdown.css.map +1 -1
- package/styles/css/main.css +67 -0
- package/styles/css/main.css.map +1 -1
- package/styles/scss/dropdown.scss +5 -1
package/esm/Dropdown/Dropdown.js
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
// (C) 2007-2025 GoodData Corporation
|
2
|
-
import React, {
|
2
|
+
import React, { useCallback, useEffect, useRef } from "react";
|
3
3
|
import noop from "lodash/noop.js";
|
4
4
|
import { FullScreenOverlay, Overlay } from "../Overlay/index.js";
|
5
5
|
import { useMediaQuery } from "../responsive/useMediaQuery.js";
|
6
6
|
import { useId } from "../utils/useId.js";
|
7
7
|
import { UiFocusTrap } from "../@ui/UiFocusTrap/UiFocusTrap.js";
|
8
|
+
import { usePropState } from "@gooddata/sdk-ui";
|
9
|
+
import { DropdownButtonKeyboardWrapper } from "./DropdownButtonKeyboardWrapper.js";
|
8
10
|
const SCROLLBAR_SELECTOR = ".fixedDataTableLayout_main .ScrollbarLayout_main";
|
9
11
|
const MOBILE_DROPDOWN_ALIGN_POINTS = [
|
10
12
|
{
|
@@ -34,35 +36,31 @@ function shouldCloseOnClick(e) {
|
|
34
36
|
* @internal
|
35
37
|
*/
|
36
38
|
export const Dropdown = (props) => {
|
37
|
-
const { className, openOnInit, closeOnParentScroll, closeOnMouseDrag, closeOnOutsideClick = true, overlayPositionType, alignPoints = [
|
39
|
+
const { isOpen: isOpenProp, onToggle, className, openOnInit, closeOnParentScroll, closeOnMouseDrag, closeOnOutsideClick = true, overlayPositionType, alignPoints = [
|
38
40
|
{
|
39
41
|
align: "bl tl",
|
40
42
|
},
|
41
|
-
], overlayZIndex, ignoreClicksOnByClass = [], renderBody, renderButton, onOpenStateChanged, fullscreenOnMobile = true, enableEventPropagation = false, closeOnEscape = false, autofocusOnOpen = false, } = props;
|
42
|
-
const [
|
43
|
-
isOpen: !!openOnInit,
|
44
|
-
});
|
43
|
+
], overlayZIndex, ignoreClicksOnByClass = [], renderBody, renderButton, onOpenStateChanged, fullscreenOnMobile = true, enableEventPropagation = false, closeOnEscape = false, autofocusOnOpen = false, accessibilityConfig, } = props;
|
44
|
+
const [isOpen, setIsOpen] = usePropState(isOpenProp ?? openOnInit ?? false);
|
45
45
|
const id = useId();
|
46
46
|
const dropdownId = `dropdown-${id}`;
|
47
|
-
const
|
48
|
-
const
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
47
|
+
const dropdownButtonId = `dropdown-button-${id}`;
|
48
|
+
const buttonWrapperRef = useRef(null);
|
49
|
+
const _renderButton = (renderProps) => (React.createElement(DropdownButtonKeyboardWrapper, { onToggle: renderProps.toggleDropdown, isOpen: renderProps.isOpen, ref: buttonWrapperRef, id: dropdownButtonId }, renderButton(renderProps)));
|
50
|
+
const toggleDropdown = useCallback((desiredState) => {
|
51
|
+
if (typeof desiredState === "boolean") {
|
52
|
+
onToggle ? onToggle(desiredState) : setIsOpen(desiredState);
|
53
|
+
}
|
54
|
+
else {
|
55
|
+
onToggle ? onToggle() : setIsOpen((state) => !state);
|
56
|
+
}
|
57
|
+
}, [onToggle, setIsOpen]);
|
54
58
|
const closeDropdown = useCallback(() => {
|
55
|
-
|
56
|
-
|
57
|
-
isOpen: false,
|
58
|
-
}));
|
59
|
-
}, []);
|
59
|
+
toggleDropdown(false);
|
60
|
+
}, [toggleDropdown]);
|
60
61
|
const openDropdown = useCallback(() => {
|
61
|
-
|
62
|
-
|
63
|
-
isOpen: true,
|
64
|
-
}));
|
65
|
-
}, []);
|
62
|
+
toggleDropdown(true);
|
63
|
+
}, [toggleDropdown]);
|
66
64
|
const mountRef = useRef(false);
|
67
65
|
const buttonRef = useRef(null);
|
68
66
|
useEffect(() => {
|
@@ -80,6 +78,20 @@ export const Dropdown = (props) => {
|
|
80
78
|
closeDropdown: closeDropdown,
|
81
79
|
toggleDropdown: toggleDropdown,
|
82
80
|
dropdownId,
|
81
|
+
ariaAttributes: {
|
82
|
+
role: "button",
|
83
|
+
"aria-controls": dropdownId,
|
84
|
+
"aria-expanded": isOpen,
|
85
|
+
"aria-haspopup": accessibilityConfig?.popupRole,
|
86
|
+
},
|
87
|
+
};
|
88
|
+
const renderBodyProps = {
|
89
|
+
closeDropdown,
|
90
|
+
ariaAttributes: {
|
91
|
+
id: dropdownId,
|
92
|
+
"aria-labelledby": dropdownButtonId,
|
93
|
+
role: accessibilityConfig?.popupRole,
|
94
|
+
},
|
83
95
|
};
|
84
96
|
const isMobileDevice = useMediaQuery("mobileDevice");
|
85
97
|
const renderDropdown = isOpen &&
|
@@ -90,15 +102,15 @@ export const Dropdown = (props) => {
|
|
90
102
|
isMobile: true,
|
91
103
|
buttonRef,
|
92
104
|
})),
|
93
|
-
React.createElement("div", {
|
94
|
-
|
105
|
+
React.createElement("div", { className: "gd-mobile-dropdown-content gd-flex-item-stretch gd-flex-row-container" }, renderBody({
|
106
|
+
...renderBodyProps,
|
95
107
|
isMobile: true,
|
96
|
-
}))))) : (React.createElement(Overlay, { alignTo:
|
108
|
+
}))))) : (React.createElement(Overlay, { alignTo: `#${dropdownButtonId}`, positionType: overlayPositionType, alignPoints: alignPoints, closeOnOutsideClick: closeOnOutsideClick, closeOnMouseDrag: closeOnMouseDrag, closeOnParentScroll: closeOnParentScroll, closeOnEscape: closeOnEscape, shouldCloseOnClick: shouldCloseOnClick, ignoreClicksOnByClass: ignoreClicksOnByClass, onClose: closeDropdown,
|
97
109
|
// Overlay prevents event propagation by default using defaultProps for these
|
98
110
|
onClick: enableEventPropagation ? noop : undefined, onMouseOver: enableEventPropagation ? noop : undefined, onMouseUp: enableEventPropagation ? noop : undefined, zIndex: overlayZIndex },
|
99
|
-
React.createElement(UiFocusTrap, { returnFocusTo: buttonRef, autofocusOnOpen: autofocusOnOpen },
|
100
|
-
React.createElement("div", { className: "overlay dropdown-body"
|
101
|
-
|
111
|
+
React.createElement(UiFocusTrap, { returnFocusTo: buttonRef.current ? buttonRef : buttonWrapperRef, autofocusOnOpen: autofocusOnOpen },
|
112
|
+
React.createElement("div", { className: "overlay dropdown-body" }, renderBody({
|
113
|
+
...renderBodyProps,
|
102
114
|
isMobile: false,
|
103
115
|
}))))));
|
104
116
|
return (React.createElement("div", { className: className },
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../src/Dropdown/Dropdown.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,
|
1
|
+
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../src/Dropdown/Dropdown.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import React from "react";
|
2
|
+
type IDropdownButtonKeyboardWrapperProps = {
|
3
|
+
onToggle: (desiredState?: boolean | unknown) => void;
|
4
|
+
isOpen: boolean;
|
5
|
+
} & React.HTMLProps<HTMLDivElement>;
|
6
|
+
export declare const DropdownButtonKeyboardWrapper: React.ForwardRefExoticComponent<Omit<IDropdownButtonKeyboardWrapperProps, "ref"> & React.RefAttributes<HTMLElement>>;
|
7
|
+
export {};
|
8
|
+
//# sourceMappingURL=DropdownButtonKeyboardWrapper.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"DropdownButtonKeyboardWrapper.d.ts","sourceRoot":"","sources":["../../src/Dropdown/DropdownButtonKeyboardWrapper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,KAAK,mCAAmC,GAAG;IACvC,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC;IACrD,MAAM,EAAE,OAAO,CAAC;CACnB,GAAG,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;AAEpC,eAAO,MAAM,6BAA6B,sHAkCxC,CAAC"}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
2
|
+
import React from "react";
|
3
|
+
import { isElementTextInput } from "../utils/domUtilities.js";
|
4
|
+
export const DropdownButtonKeyboardWrapper = React.forwardRef(function DropdownButtonKeyboardWrapper({ onToggle, isOpen, children, ...divProps }, ref) {
|
5
|
+
const handleKeyDown = React.useCallback((event) => {
|
6
|
+
const isInputFocused = isElementTextInput(document.activeElement);
|
7
|
+
if (event.code === "Enter" || (event.code === "Space" && !isInputFocused)) {
|
8
|
+
onToggle();
|
9
|
+
event.preventDefault();
|
10
|
+
}
|
11
|
+
if ((event.code === "Escape" || event.code === "ArrowUp") && isOpen) {
|
12
|
+
onToggle(false);
|
13
|
+
event.preventDefault();
|
14
|
+
}
|
15
|
+
if (event.code === "ArrowDown" && !isOpen) {
|
16
|
+
onToggle(true);
|
17
|
+
event.preventDefault();
|
18
|
+
}
|
19
|
+
}, [isOpen, onToggle]);
|
20
|
+
return (React.createElement("div", { onKeyDown: handleKeyDown, className: "gd-dropdown-button-wrapper", ...divProps, ref: ref }, children));
|
21
|
+
});
|
22
|
+
//# sourceMappingURL=DropdownButtonKeyboardWrapper.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"DropdownButtonKeyboardWrapper.js","sourceRoot":"","sources":["../../src/Dropdown/DropdownButtonKeyboardWrapper.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAO9D,MAAM,CAAC,MAAM,6BAA6B,GAAG,KAAK,CAAC,UAAU,CAG3D,SAAS,6BAA6B,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,EAAE,GAAG;IACrF,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,KAAK,EAAE,EAAE;QACN,MAAM,cAAc,GAAG,kBAAkB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAElE,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACxE,QAAQ,EAAE,CAAC;YACX,KAAK,CAAC,cAAc,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,MAAM,EAAE,CAAC;YAClE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChB,KAAK,CAAC,cAAc,EAAE,CAAC;QAC3B,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC;YACxC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,KAAK,CAAC,cAAc,EAAE,CAAC;QAC3B,CAAC;IACL,CAAC,EACD,CAAC,MAAM,EAAE,QAAQ,CAAC,CACrB,CAAC;IAEF,OAAO,CACH,6BACI,SAAS,EAAE,aAAa,EACxB,SAAS,EAAE,4BAA4B,KACnC,QAAQ,EACZ,GAAG,EAAE,GAAsC,IAE1C,QAAQ,CACP,CACT,CAAC;AACN,CAAC,CAAC,CAAC"}
|
package/esm/List/index.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
// (C) 2020-
|
1
|
+
// (C) 2020-2025 GoodData Corporation
|
2
2
|
export { Item, ItemsWrapper, Separator, Header } from "./MenuList.js";
|
3
3
|
export { DateDatasetsListItem } from "./DateDatasetsListItem.js";
|
4
4
|
export { InsightListItem, InsightListItemTypeIcon } from "./InsightListItem.js";
|
package/esm/index.d.ts
CHANGED
@@ -91,4 +91,7 @@ export { UiPagedVirtualList } from "./@ui/UiPagedVirtualList/UiPagedVirtualList.
|
|
91
91
|
export type { UiPagedVirtualListProps, UiPagedVirtualListSkeletonItemProps, } from "./@ui/UiPagedVirtualList/UiPagedVirtualList.js";
|
92
92
|
export { UiFocusTrap } from "./@ui/UiFocusTrap/UiFocusTrap.js";
|
93
93
|
export type { UiFocusTrapProps } from "./@ui/UiFocusTrap/UiFocusTrap.js";
|
94
|
+
export { UiListbox } from "./@ui/UiListbox/UiListbox.js";
|
95
|
+
export { makeSeparatorItem, separatorItemSymbol, DefaultUiListboxItemComponent, } from "./@ui/UiListbox/defaults/DefaultUiListboxItemComponent.js";
|
96
|
+
export type { UiListboxProps, IListboxContext, UiListboxItemProps, IUiListboxItem, } from "./@ui/UiListbox/types.js";
|
94
97
|
//# sourceMappingURL=index.d.ts.map
|
package/esm/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/esm/index.js
CHANGED
@@ -80,4 +80,6 @@ export { iconPaths } from "./@ui/UiIcon/icons.js";
|
|
80
80
|
export { UiSkeleton } from "./@ui/UiSkeleton/UiSkeleton.js";
|
81
81
|
export { UiPagedVirtualList } from "./@ui/UiPagedVirtualList/UiPagedVirtualList.js";
|
82
82
|
export { UiFocusTrap } from "./@ui/UiFocusTrap/UiFocusTrap.js";
|
83
|
+
export { UiListbox } from "./@ui/UiListbox/UiListbox.js";
|
84
|
+
export { makeSeparatorItem, separatorItemSymbol, DefaultUiListboxItemComponent, } from "./@ui/UiListbox/defaults/DefaultUiListboxItemComponent.js";
|
83
85
|
//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC;;;;;;;;GAQG;AACH,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGnF,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAUtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAKpF,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC;;;;;;;;GAQG;AACH,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oCAAoC,CAAC;AACnD,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGnF,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAUtD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAKpF,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EACH,iBAAiB,EACjB,mBAAmB,EACnB,6BAA6B,GAChC,MAAM,2DAA2D,CAAC"}
|
package/esm/sdk-ui-kit.d.ts
CHANGED
@@ -545,6 +545,11 @@ export declare const defaultColorPaletteMetadataObject: IColorPaletteDefinition;
|
|
545
545
|
*/
|
546
546
|
export declare const defaultThemeMetadataObject: IThemeDefinition;
|
547
547
|
|
548
|
+
/**
|
549
|
+
* @internal
|
550
|
+
*/
|
551
|
+
export declare function DefaultUiListboxItemComponent<T>({ item, isFocused, isSelected, onSelect, }: UiListboxItemProps<T>): React_2.ReactNode;
|
552
|
+
|
548
553
|
/**
|
549
554
|
* @internal
|
550
555
|
*/
|
@@ -1758,6 +1763,10 @@ export declare interface IDomNativeProps {
|
|
1758
1763
|
export declare interface IDropdownBodyRenderProps {
|
1759
1764
|
isMobile: boolean;
|
1760
1765
|
closeDropdown: () => void;
|
1766
|
+
ariaAttributes: Pick<React_2.AriaAttributes, "aria-labelledby"> & {
|
1767
|
+
role: React_2.AriaAttributes["aria-haspopup"] & React_2.AriaRole;
|
1768
|
+
id: string;
|
1769
|
+
};
|
1761
1770
|
}
|
1762
1771
|
|
1763
1772
|
/**
|
@@ -1797,7 +1806,10 @@ export declare interface IDropdownButtonRenderProps {
|
|
1797
1806
|
buttonRef: React_2.MutableRefObject<HTMLElement | null>;
|
1798
1807
|
openDropdown: () => void;
|
1799
1808
|
closeDropdown: () => void;
|
1800
|
-
toggleDropdown: () => void;
|
1809
|
+
toggleDropdown: (desiredState?: boolean | unknown) => void;
|
1810
|
+
ariaAttributes: {
|
1811
|
+
role: "button" | string;
|
1812
|
+
} & Pick<React_2.AriaAttributes, "aria-haspopup" | "aria-expanded" | "aria-controls">;
|
1801
1813
|
}
|
1802
1814
|
|
1803
1815
|
/**
|
@@ -1893,6 +1905,13 @@ export declare interface IDropdownListProps<T> extends IListProps<T> {
|
|
1893
1905
|
export declare interface IDropdownProps {
|
1894
1906
|
renderBody: (props: IDropdownBodyRenderProps) => React_2.ReactNode;
|
1895
1907
|
renderButton: (props: IDropdownButtonRenderProps) => React_2.ReactNode;
|
1908
|
+
isOpen?: boolean;
|
1909
|
+
/**
|
1910
|
+
* Toggles the open state or sets the state to the desired value.
|
1911
|
+
* The `desiredState` argument's type includes `unknown` to facilitate ease of use as an event handler (`onClick={onToggle}`)
|
1912
|
+
* @param desiredState - The desired state. If not provided, the state will be toggled.
|
1913
|
+
*/
|
1914
|
+
onToggle?: (desiredState?: boolean | unknown) => void;
|
1896
1915
|
openOnInit?: boolean;
|
1897
1916
|
className?: string;
|
1898
1917
|
alignPoints?: IAlignPoint[];
|
@@ -1910,6 +1929,9 @@ export declare interface IDropdownProps {
|
|
1910
1929
|
enableEventPropagation?: boolean;
|
1911
1930
|
closeOnEscape?: boolean;
|
1912
1931
|
autofocusOnOpen?: boolean;
|
1932
|
+
accessibilityConfig?: {
|
1933
|
+
popupRole?: "listbox" | "tree" | "grid" | "dialog";
|
1934
|
+
};
|
1913
1935
|
}
|
1914
1936
|
|
1915
1937
|
/**
|
@@ -2815,6 +2837,19 @@ export declare interface ILegacySingleSelectListProps<T> {
|
|
2815
2837
|
width: number;
|
2816
2838
|
}
|
2817
2839
|
|
2840
|
+
/**
|
2841
|
+
* @internal
|
2842
|
+
*/
|
2843
|
+
export declare interface IListboxContext<T> {
|
2844
|
+
items: IUiListboxItem<T>[];
|
2845
|
+
itemRefs: React_2.MutableRefObject<(HTMLLIElement | null)[]>;
|
2846
|
+
onSelect: (item: IUiListboxItem<T>) => void;
|
2847
|
+
onClose?: () => void;
|
2848
|
+
selectedItemId?: string;
|
2849
|
+
focusedIndex: number;
|
2850
|
+
setFocusedIndex: React_2.Dispatch<React_2.SetStateAction<number>>;
|
2851
|
+
}
|
2852
|
+
|
2818
2853
|
/**
|
2819
2854
|
* @internal
|
2820
2855
|
*/
|
@@ -4240,6 +4275,16 @@ export declare interface IUiChipAccessibilityConfig extends IAccessibilityConfig
|
|
4240
4275
|
deleteAriaLabel?: string;
|
4241
4276
|
}
|
4242
4277
|
|
4278
|
+
/**
|
4279
|
+
* @internal
|
4280
|
+
*/
|
4281
|
+
export declare interface IUiListboxItem<T> {
|
4282
|
+
id: string;
|
4283
|
+
stringTitle: string;
|
4284
|
+
isDisabled?: boolean;
|
4285
|
+
data: T;
|
4286
|
+
}
|
4287
|
+
|
4243
4288
|
/**
|
4244
4289
|
* @internal
|
4245
4290
|
*/
|
@@ -4461,6 +4506,11 @@ export declare const LoadingSpinner: React_2.FC<ILoadingSpinner>;
|
|
4461
4506
|
*/
|
4462
4507
|
export declare const LocaleSetting: React_2.VFC<ILocaleSettingProps>;
|
4463
4508
|
|
4509
|
+
/**
|
4510
|
+
* @internal
|
4511
|
+
*/
|
4512
|
+
export declare const makeSeparatorItem: () => IUiListboxItem<typeof separatorItemSymbol>;
|
4513
|
+
|
4464
4514
|
/**
|
4465
4515
|
* @internal
|
4466
4516
|
*/
|
@@ -4825,6 +4875,11 @@ export declare type SelectedTime = {
|
|
4825
4875
|
*/
|
4826
4876
|
export declare const Separator: React_2.FC;
|
4827
4877
|
|
4878
|
+
/**
|
4879
|
+
* @internal
|
4880
|
+
*/
|
4881
|
+
export declare const separatorItemSymbol: unique symbol;
|
4882
|
+
|
4828
4883
|
/**
|
4829
4884
|
* @internal
|
4830
4885
|
*/
|
@@ -5281,6 +5336,42 @@ export declare interface UiIconProps {
|
|
5281
5336
|
ariaHidden?: boolean;
|
5282
5337
|
}
|
5283
5338
|
|
5339
|
+
/**
|
5340
|
+
* An accessible listbox component that can be navigated by keyboard.
|
5341
|
+
* Usable in a <Dropdown /> component.
|
5342
|
+
* Should implement https://www.w3.org/WAI/ARIA/apg/patterns/listbox/
|
5343
|
+
*
|
5344
|
+
* @internal
|
5345
|
+
*/
|
5346
|
+
export declare function UiListbox<T>({ items, className, maxWidth, onSelect, onClose, selectedItemId, ariaAttributes, shouldKeyboardActionPreventDefault, shouldKeyboardActionStopPropagation, ItemComponent, onUnhandledKeyDown, }: UiListboxProps<T>): React_2.ReactNode;
|
5347
|
+
|
5348
|
+
/**
|
5349
|
+
* @internal
|
5350
|
+
*/
|
5351
|
+
export declare interface UiListboxItemProps<T> {
|
5352
|
+
item: IUiListboxItem<T>;
|
5353
|
+
isFocused: boolean;
|
5354
|
+
isSelected: boolean;
|
5355
|
+
onSelect: () => void;
|
5356
|
+
}
|
5357
|
+
|
5358
|
+
/**
|
5359
|
+
* @internal
|
5360
|
+
*/
|
5361
|
+
export declare interface UiListboxProps<T> {
|
5362
|
+
items: IUiListboxItem<T>[];
|
5363
|
+
className?: string;
|
5364
|
+
maxWidth?: number;
|
5365
|
+
onSelect?: (item: IUiListboxItem<T>) => void;
|
5366
|
+
onClose?: () => void;
|
5367
|
+
onUnhandledKeyDown?: (event: React_2.KeyboardEvent, context: IListboxContext<T>) => void;
|
5368
|
+
selectedItemId?: string;
|
5369
|
+
ItemComponent?: React_2.ComponentType<UiListboxItemProps<any>>;
|
5370
|
+
shouldKeyboardActionPreventDefault?: boolean;
|
5371
|
+
shouldKeyboardActionStopPropagation?: boolean;
|
5372
|
+
ariaAttributes: IDropdownBodyRenderProps["ariaAttributes"];
|
5373
|
+
}
|
5374
|
+
|
5284
5375
|
/**
|
5285
5376
|
* @internal
|
5286
5377
|
*/
|
@@ -26,4 +26,5 @@ export declare const isFixedPosition: (element: HTMLElement | string) => boolean
|
|
26
26
|
* coordinate space
|
27
27
|
*/
|
28
28
|
export declare const elementRegion: (elementOrSelector: HTMLElement | string, getRegionBasedOnPosition?: boolean) => IRegion;
|
29
|
+
export declare const isElementTextInput: (element: HTMLElement | EventTarget | null | undefined) => boolean;
|
29
30
|
//# sourceMappingURL=domUtilities.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"domUtilities.d.ts","sourceRoot":"","sources":["../../src/utils/domUtilities.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,aAAa,YAAa,WAAW,KAAG,IAIpD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,YACN,WAAW,wBACE,OAAO,gDAE9B,OAeF,CAAC;AAiBF;;;;GAIG;AACH,eAAO,MAAM,eAAe,YAAa,WAAW,GAAG,MAAM,KAAG,OAe/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,sBACH,WAAW,GAAG,MAAM,6BACZ,OAAO,KACnC,OAuCF,CAAC"}
|
1
|
+
{"version":3,"file":"domUtilities.d.ts","sourceRoot":"","sources":["../../src/utils/domUtilities.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,aAAa,YAAa,WAAW,KAAG,IAIpD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM,YACN,WAAW,wBACE,OAAO,gDAE9B,OAeF,CAAC;AAiBF;;;;GAIG;AACH,eAAO,MAAM,eAAe,YAAa,WAAW,GAAG,MAAM,KAAG,OAe/D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,sBACH,WAAW,GAAG,MAAM,6BACZ,OAAO,KACnC,OAuCF,CAAC;AAEF,eAAO,MAAM,kBAAkB,YAAa,WAAW,GAAG,WAAW,GAAG,IAAI,GAAG,SAAS,KAAG,OAc1F,CAAC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// (C) 2020-
|
1
|
+
// (C) 2020-2025 GoodData Corporation
|
2
2
|
/**
|
3
3
|
* Removes the element specified from the DOM
|
4
4
|
*/
|
@@ -101,4 +101,14 @@ export const elementRegion = (elementOrSelector, getRegionBasedOnPosition) => {
|
|
101
101
|
elem.style.visibility = originalCss.visibility;
|
102
102
|
return reg;
|
103
103
|
};
|
104
|
+
export const isElementTextInput = (element) => {
|
105
|
+
if (!element || !("tagName" in element)) {
|
106
|
+
return false;
|
107
|
+
}
|
108
|
+
const { tagName, type } = element;
|
109
|
+
const tagNameInLowercase = tagName.toLowerCase();
|
110
|
+
const typeInLowercase = type ? type.toLowerCase() : "";
|
111
|
+
return (tagNameInLowercase === "textarea" ||
|
112
|
+
(tagNameInLowercase === "input" && (typeInLowercase === "text" || typeInLowercase === "number")));
|
113
|
+
};
|
104
114
|
//# sourceMappingURL=domUtilities.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"domUtilities.js","sourceRoot":"","sources":["../../src/utils/domUtilities.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAIrC;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAoB,EAAQ,EAAE;IACxD,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;QACtB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAClB,OAAoB,EACpB,mBAA6B,EAC7B,YAAY,GAAG,MAAM,EACd,EAAE;IACT,MAAM,YAAY,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACrD,MAAM,UAAU,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC;IAC5F,MAAM,SAAS,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC;IAC1F,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,IAAI,YAAY,CAAC,KAAK,CAAC;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC;IAE3D,OAAO;QACH,IAAI,EAAE,UAAU;QAChB,GAAG,EAAE,SAAS;QACd,KAAK;QACL,MAAM;QACN,MAAM,EAAE,SAAS,GAAG,MAAM;QAC1B,KAAK,EAAE,UAAU,GAAG,KAAK;KAC5B,CAAC;AACN,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,GAAG,CAAC,OAAY,EAAE,EAAE;IAC7B,IAAI,IAAI,GAAG,OAAO,CAAC;IACnB,OAAO,IAAI,EAAE,CAAC;QACV,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAA6B,EAAW,EAAE;IACtE,IAAI,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAE,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAiB,CAAC,CAAC,CAAC,OAAO,CAAC;IAEpG,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,IAAI,EAAE,CAAC;QACV,IAAI,IAAI,CAAC,KAAK,EAAE,QAAQ,KAAK,OAAO,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,GAAG,IAAI,CAAC,UAAyB,CAAC;IAC1C,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CACzB,iBAAuC,EACvC,wBAAkC,EAC3B,EAAE;IACT,MAAM,IAAI,GACN,OAAO,iBAAiB,KAAK,QAAQ;QACjC,CAAC,CAAE,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAiB;QAC5D,CAAC,CAAC,iBAAiB,CAAC;IAE5B,IAAI,CAAC,IAAI,EAAE,CAAC;QACR,OAAO,EAAa,CAAC;IACzB,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChB,qEAAqE;QACrE,OAAO,MAAM,CAAC,IAAI,EAAE,wBAAwB,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,wCAAwC;IACxC,uDAAuD;IACvD,yEAAyE;IACzE,yDAAyD;IACzD,MAAM,WAAW,GAAG;QAChB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;QAC7B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;KACpC,CAAC;IAEF,yEAAyE;IACzE,kBAAkB;IAClB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;IACjC,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEhC,0BAA0B;IAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEzB,6CAA6C;IAC7C,aAAa,CAAC,IAAI,CAAC,CAAC;IACpB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;IAC3C,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;IAE/C,OAAO,GAAG,CAAC;AACf,CAAC,CAAC"}
|
1
|
+
{"version":3,"file":"domUtilities.js","sourceRoot":"","sources":["../../src/utils/domUtilities.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@gooddata/sdk-ui-kit",
|
3
|
-
"version": "10.26.0-alpha.
|
3
|
+
"version": "10.26.0-alpha.44",
|
4
4
|
"description": "GoodData SDK - UI Building Components",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -69,11 +69,11 @@
|
|
69
69
|
"tslib": "^2.5.0",
|
70
70
|
"uuid": "^8.3.2",
|
71
71
|
"unified": "^11.0.5",
|
72
|
-
"@gooddata/sdk-backend-spi": "10.26.0-alpha.
|
73
|
-
"@gooddata/sdk-model": "10.26.0-alpha.
|
74
|
-
"@gooddata/sdk-ui": "10.26.0-alpha.
|
75
|
-
"@gooddata/sdk-ui
|
76
|
-
"@gooddata/util": "10.26.0-alpha.
|
72
|
+
"@gooddata/sdk-backend-spi": "10.26.0-alpha.44",
|
73
|
+
"@gooddata/sdk-model": "10.26.0-alpha.44",
|
74
|
+
"@gooddata/sdk-ui-theme-provider": "10.26.0-alpha.44",
|
75
|
+
"@gooddata/sdk-ui": "10.26.0-alpha.44",
|
76
|
+
"@gooddata/util": "10.26.0-alpha.44"
|
77
77
|
},
|
78
78
|
"peerDependencies": {
|
79
79
|
"react": "^16.10.0 || ^17.0.0 || ^18.0.0",
|
@@ -132,8 +132,8 @@
|
|
132
132
|
"typescript": "5.3.3",
|
133
133
|
"vitest": "3.0.8",
|
134
134
|
"vitest-dom": "0.1.1",
|
135
|
-
"@gooddata/reference-workspace": "10.26.0-alpha.
|
136
|
-
"@gooddata/sdk-backend-mockingbird": "10.26.0-alpha.
|
135
|
+
"@gooddata/reference-workspace": "10.26.0-alpha.44",
|
136
|
+
"@gooddata/sdk-backend-mockingbird": "10.26.0-alpha.44"
|
137
137
|
},
|
138
138
|
"scripts": {
|
139
139
|
"clean": "rm -rf ci dist esm coverage styles/css *.log tsconfig.tsbuildinfo",
|
@@ -0,0 +1,79 @@
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
2
|
+
|
3
|
+
@use "../../../styles/scss/variables";
|
4
|
+
|
5
|
+
.gd-ui-kit-listbox {
|
6
|
+
$root: &;
|
7
|
+
|
8
|
+
max-height: 300px;
|
9
|
+
overflow-y: auto;
|
10
|
+
overflow-x: hidden;
|
11
|
+
width: 100%;
|
12
|
+
min-width: 200px;
|
13
|
+
|
14
|
+
@media #{variables.$small-only} {
|
15
|
+
// !important to override inline style from maxWidth prop
|
16
|
+
/* stylelint-disable-next-line declaration-no-important */
|
17
|
+
max-width: 100vw !important;
|
18
|
+
max-height: 100vh;
|
19
|
+
width: 100vw;
|
20
|
+
}
|
21
|
+
|
22
|
+
&__items {
|
23
|
+
list-style: none;
|
24
|
+
margin: 0;
|
25
|
+
padding: 0;
|
26
|
+
outline: none;
|
27
|
+
|
28
|
+
&:focus-visible #{$root}__item--isFocused {
|
29
|
+
outline-offset: -2px;
|
30
|
+
outline: auto 5px Highlight; /* For Firefox */
|
31
|
+
// stylelint-disable-next-line declaration-block-no-duplicate-properties
|
32
|
+
outline: auto 5px -webkit-focus-ring-color; /* For Chrome */
|
33
|
+
}
|
34
|
+
}
|
35
|
+
|
36
|
+
&__item {
|
37
|
+
padding: 8px 10px;
|
38
|
+
cursor: pointer;
|
39
|
+
display: flex;
|
40
|
+
align-items: center;
|
41
|
+
font-size: 14px;
|
42
|
+
line-height: 20px;
|
43
|
+
color: variables.$gd-color-text;
|
44
|
+
transition: background-color 0.2s;
|
45
|
+
|
46
|
+
&:hover:not(&--isDisabled):not(&--isSelected) {
|
47
|
+
background-color: variables.$is-focused-background;
|
48
|
+
color: variables.$is-focused-color;
|
49
|
+
}
|
50
|
+
|
51
|
+
&--isFocused {
|
52
|
+
background-color: variables.$is-focused-background;
|
53
|
+
color: variables.$is-focused-color;
|
54
|
+
}
|
55
|
+
|
56
|
+
&--isSelected {
|
57
|
+
font-weight: bold;
|
58
|
+
background-color: variables.$is-selected-background;
|
59
|
+
color: variables.$is-selected-color;
|
60
|
+
}
|
61
|
+
|
62
|
+
&--isSelected#{&}--isFocused,
|
63
|
+
&:hover#{&}--isSelected {
|
64
|
+
font-weight: bold;
|
65
|
+
background-color: variables.$is-selected-focused-background;
|
66
|
+
color: variables.$is-selected-focused-color;
|
67
|
+
}
|
68
|
+
|
69
|
+
&--isDisabled {
|
70
|
+
color: variables.$gd-color-disabled;
|
71
|
+
cursor: not-allowed;
|
72
|
+
}
|
73
|
+
}
|
74
|
+
|
75
|
+
&__item-title {
|
76
|
+
width: 100%;
|
77
|
+
white-space: nowrap;
|
78
|
+
}
|
79
|
+
}
|
package/src/@ui/index.scss
CHANGED
package/styles/css/dropdown.css
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../scss/dropdown.scss","../scss/variables.scss"],"names":[],"mappings":"AAGA;EAEI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;;AAEA;EACI;;;AAKJ;EACI;;;
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../scss/dropdown.scss","../scss/variables.scss"],"names":[],"mappings":"AAGA;EAEI;;;AAGJ;EACI;EACA;;;AAGJ;EACI;EACA;;AAEA;EACI;;;AAKJ;EACI;;;AAIR;EACI;;;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGI;;AAEA;EALJ;AAAA;AAAA;AAAA;AAAA;AAAA;IAMQ;;;AAIR;AAAA;EACI;;AAEA;EAHJ;AAAA;IAIQ;;;;AAOR;AAAA;EACI;;AAGJ;AAAA;AAAA;AAAA;EAEI;;AAEA;AAAA;AAAA;AAAA;EACI;;;AAMR;EACI;;AAGJ;AAAA;EAEI;;AAEA;AAAA;EACI;;;AAKZ;AAAA;EAEI;;;AAGJ;EACI;EACA,YCkBoB;EDjBpB,OCrEmB;EDsEnB;EACA;EACA;;;AAGJ;EACI;;;AAGJ;EACI;EACA;;AAGI;AAAA;EAEI;EACA;EACA;EACA;;AAMI;AAAA;AAAA;EACI;EACA,OC1FJ;ED2FI;;AAKJ;AAAA;AAAA;AAAA;AAAA;EAEI,kBC/GH","file":"dropdown.css"}
|