@gooddata/sdk-ui-kit 10.29.0-alpha.9 → 10.30.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/@ui/UiChip/UiChip.d.ts +2 -1
- package/esm/@ui/UiChip/UiChip.d.ts.map +1 -1
- package/esm/@ui/UiChip/UiChip.js +8 -7
- package/esm/@ui/UiChip/UiChip.js.map +1 -1
- package/esm/@ui/hooks/useListWithActionsKeyboardNavigation.d.ts +3 -1
- package/esm/@ui/hooks/useListWithActionsKeyboardNavigation.d.ts.map +1 -1
- package/esm/@ui/hooks/useListWithActionsKeyboardNavigation.js +25 -9
- package/esm/@ui/hooks/useListWithActionsKeyboardNavigation.js.map +1 -1
- package/esm/Bubble/BubbleHoverTrigger.d.ts +1 -0
- package/esm/Bubble/BubbleHoverTrigger.d.ts.map +1 -1
- package/esm/Bubble/BubbleHoverTrigger.js +5 -1
- package/esm/Bubble/BubbleHoverTrigger.js.map +1 -1
- package/esm/Button/Button.d.ts +1 -18
- package/esm/Button/Button.d.ts.map +1 -1
- package/esm/Button/Button.js +28 -51
- package/esm/Button/Button.js.map +1 -1
- package/esm/Button/typings.d.ts +3 -4
- package/esm/Button/typings.d.ts.map +1 -1
- package/esm/Dropdown/Dropdown.d.ts +12 -3
- package/esm/Dropdown/Dropdown.d.ts.map +1 -1
- package/esm/Dropdown/Dropdown.js +31 -16
- package/esm/Dropdown/Dropdown.js.map +1 -1
- package/esm/Dropdown/DropdownButton.js +1 -1
- package/esm/Dropdown/DropdownButton.js.map +1 -1
- package/esm/Dropdown/DropdownList.d.ts +1 -0
- package/esm/Dropdown/DropdownList.d.ts.map +1 -1
- package/esm/Dropdown/DropdownList.js +2 -2
- package/esm/Dropdown/DropdownList.js.map +1 -1
- package/esm/Header/HeaderAccount.js +1 -1
- package/esm/Header/HeaderAccount.js.map +1 -1
- package/esm/Header/HeaderChatButton.d.ts.map +1 -1
- package/esm/Header/HeaderChatButton.js +3 -1
- package/esm/Header/HeaderChatButton.js.map +1 -1
- package/esm/Header/HeaderHelp.d.ts.map +1 -1
- package/esm/Header/HeaderHelp.js +4 -6
- package/esm/Header/HeaderHelp.js.map +1 -1
- package/esm/Header/HeaderSearchButton.js +1 -1
- package/esm/Header/HeaderSearchButton.js.map +1 -1
- package/esm/Header/HeaderWorkspacePickerButton.js +1 -1
- package/esm/Header/HeaderWorkspacePickerButton.js.map +1 -1
- package/esm/List/List.d.ts +1 -0
- package/esm/List/List.d.ts.map +1 -1
- package/esm/List/List.js +3 -3
- package/esm/List/List.js.map +1 -1
- package/esm/RecurrenceForm/DateTime.d.ts +1 -0
- package/esm/RecurrenceForm/DateTime.d.ts.map +1 -1
- package/esm/RecurrenceForm/DateTime.js +2 -2
- package/esm/RecurrenceForm/DateTime.js.map +1 -1
- package/esm/RecurrenceForm/Recurrence.d.ts.map +1 -1
- package/esm/RecurrenceForm/Recurrence.js +2 -2
- package/esm/RecurrenceForm/Recurrence.js.map +1 -1
- package/esm/RecurrenceForm/RecurrenceForm.d.ts +1 -0
- package/esm/RecurrenceForm/RecurrenceForm.d.ts.map +1 -1
- package/esm/RecurrenceForm/RecurrenceForm.js +2 -2
- package/esm/RecurrenceForm/RecurrenceForm.js.map +1 -1
- package/esm/RecurrenceForm/RepeatTypeSelect.d.ts +1 -0
- package/esm/RecurrenceForm/RepeatTypeSelect.d.ts.map +1 -1
- package/esm/RecurrenceForm/RepeatTypeSelect.js +2 -2
- package/esm/RecurrenceForm/RepeatTypeSelect.js.map +1 -1
- package/esm/sdk-ui-kit.d.ts +34 -27
- package/esm/utils/events.d.ts +9 -0
- package/esm/utils/events.d.ts.map +1 -1
- package/esm/utils/events.js +11 -0
- package/esm/utils/events.js.map +1 -1
- package/package.json +8 -8
@@ -23,9 +23,10 @@ export interface UiChipProps {
|
|
23
23
|
onDeleteKeyDown?: (event: React.KeyboardEvent<HTMLButtonElement>) => void;
|
24
24
|
accessibilityConfig?: IUiChipAccessibilityConfig;
|
25
25
|
dataTestId?: string;
|
26
|
+
buttonRef?: React.MutableRefObject<HTMLButtonElement>;
|
26
27
|
}
|
27
28
|
/**
|
28
29
|
* @internal
|
29
30
|
*/
|
30
|
-
export declare const UiChip: ({ label, tag, isDeletable, isActive, isLocked, iconBefore, onClick, onDelete, onDeleteKeyDown, accessibilityConfig, dataTestId, }: UiChipProps) => React.JSX.Element;
|
31
|
+
export declare const UiChip: ({ label, tag, isDeletable, isActive, isLocked, iconBefore, onClick, onDelete, onDeleteKeyDown, accessibilityConfig, dataTestId, buttonRef, }: UiChipProps) => React.JSX.Element;
|
31
32
|
//# sourceMappingURL=UiChip.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"UiChip.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiChip/UiChip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,kCAAkC,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C;;GAEG;AACH,MAAM,WAAW,0BACb,SAAQ,wBAAwB,EAC5B,kCAAkC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC1E,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;
|
1
|
+
{"version":3,"file":"UiChip.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiChip/UiChip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,kCAAkC,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C;;GAEG;AACH,MAAM,WAAW,0BACb,SAAQ,wBAAwB,EAC5B,kCAAkC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC1E,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;CACzD;AAID;;GAEG;AACH,eAAO,MAAM,MAAM,iJAahB,WAAW,sBAyEb,CAAC"}
|
package/esm/@ui/UiChip/UiChip.js
CHANGED
@@ -6,17 +6,18 @@ const { b, e } = bem("gd-ui-kit-chip");
|
|
6
6
|
/**
|
7
7
|
* @internal
|
8
8
|
*/
|
9
|
-
export const UiChip = ({ label, tag, isDeletable = false, isActive = false, isLocked = false, iconBefore, onClick, onDelete, onDeleteKeyDown, accessibilityConfig, dataTestId, }) => {
|
10
|
-
const buttonRef = useRef(null);
|
9
|
+
export const UiChip = ({ label, tag, isDeletable = false, isActive = false, isLocked = false, iconBefore, onClick, onDelete, onDeleteKeyDown, accessibilityConfig, dataTestId, buttonRef, }) => {
|
11
10
|
const [styleObj, setStyleObj] = useState();
|
11
|
+
const defaultButtonRef = useRef(null);
|
12
|
+
const effectiveButtonRef = buttonRef || defaultButtonRef;
|
12
13
|
useLayoutEffect(() => {
|
13
|
-
if (
|
14
|
+
if (effectiveButtonRef.current) {
|
14
15
|
// Reset width to auto to calculate the width of the label and tag
|
15
|
-
|
16
|
-
const width =
|
16
|
+
effectiveButtonRef.current.style.width = "auto";
|
17
|
+
const width = effectiveButtonRef.current.getBoundingClientRect().width;
|
17
18
|
setStyleObj({ width });
|
18
19
|
}
|
19
|
-
}, [label, tag]);
|
20
|
+
}, [label, tag, effectiveButtonRef]);
|
20
21
|
const { isExpanded, popupId, ariaLabel, ariaLabelledBy, deleteAriaLabel } = accessibilityConfig ?? {};
|
21
22
|
const ariaDropdownProps = {
|
22
23
|
...(popupId && isExpanded ? { "aria-controls": popupId } : {}),
|
@@ -24,7 +25,7 @@ export const UiChip = ({ label, tag, isDeletable = false, isActive = false, isLo
|
|
24
25
|
...(isExpanded !== undefined ? { "aria-expanded": isExpanded } : {}),
|
25
26
|
};
|
26
27
|
return (React.createElement("div", { className: b() },
|
27
|
-
React.createElement("button", { "data-testid": dataTestId, "aria-expanded": isActive, className: e("trigger", { isDeletable, isActive, isLocked }), disabled: isLocked, onClick: onClick, style: { ...styleObj }, ref:
|
28
|
+
React.createElement("button", { "data-testid": dataTestId, "aria-expanded": isActive, className: e("trigger", { isDeletable, isActive, isLocked }), disabled: isLocked, onClick: onClick, style: { ...styleObj }, ref: effectiveButtonRef, "aria-disabled": isLocked, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...ariaDropdownProps },
|
28
29
|
iconBefore ? (React.createElement("span", { className: e("icon-before") },
|
29
30
|
React.createElement(UiIcon, { type: iconBefore, color: "primary", size: 15, ariaHidden: true }))) : null,
|
30
31
|
React.createElement("span", { className: e("label") }, label),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"UiChip.js","sourceRoot":"","sources":["../../../src/@ui/UiChip/UiChip.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,EAAE,EAAiB,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIhF,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;
|
1
|
+
{"version":3,"file":"UiChip.js","sourceRoot":"","sources":["../../../src/@ui/UiChip/UiChip.tsx"],"names":[],"mappings":"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"}
|
@@ -6,16 +6,18 @@ export declare const SELECT_ITEM_ACTION = "selectItem";
|
|
6
6
|
/**
|
7
7
|
* @internal
|
8
8
|
*/
|
9
|
-
export declare function useListWithActionsKeyboardNavigation<Item, Action extends string>({ items, actionHandlers, getItemAdditionalActions, }: {
|
9
|
+
export declare function useListWithActionsKeyboardNavigation<Item, Action extends string>({ items, actionHandlers, getItemAdditionalActions, isNestedList, }: {
|
10
10
|
items: Item[];
|
11
11
|
actionHandlers: {
|
12
12
|
[key in Action | typeof SELECT_ITEM_ACTION]: (item: Item) => (() => void) | undefined;
|
13
13
|
};
|
14
14
|
getItemAdditionalActions: (item: Item) => Action[];
|
15
|
+
isNestedList?: boolean;
|
15
16
|
}): {
|
16
17
|
onKeyboardNavigation: (event: React.KeyboardEvent<Element>) => void;
|
17
18
|
onBlur: React.FocusEventHandler<Element>;
|
18
19
|
focusedAction: "selectItem" | Action;
|
19
20
|
focusedItem: Item;
|
21
|
+
setFocusedAction: React.Dispatch<React.SetStateAction<"selectItem" | Action>>;
|
20
22
|
};
|
21
23
|
//# sourceMappingURL=useListWithActionsKeyboardNavigation.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useListWithActionsKeyboardNavigation.d.ts","sourceRoot":"","sources":["../../../src/@ui/hooks/useListWithActionsKeyboardNavigation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;GAEG;AACH,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAY/C;;GAEG;AACH,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,MAAM,SAAS,MAAM,EAAE,EAC9E,KAAK,EACL,cAAc,EACd,wBAAwB,
|
1
|
+
{"version":3,"file":"useListWithActionsKeyboardNavigation.d.ts","sourceRoot":"","sources":["../../../src/@ui/hooks/useListWithActionsKeyboardNavigation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;GAEG;AACH,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAY/C;;GAEG;AACH,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,MAAM,SAAS,MAAM,EAAE,EAC9E,KAAK,EACL,cAAc,EACd,wBAAwB,EACxB,YAAoB,GACvB,EAAE;IACC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,cAAc,EAAE;SAAG,GAAG,IAAI,MAAM,GAAG,OAAO,kBAAkB,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;KAAE,CAAC;IAC1G,wBAAwB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;IACnD,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;;;;;;EAuDA"}
|
@@ -9,7 +9,7 @@ export const SELECT_ITEM_ACTION = "selectItem";
|
|
9
9
|
/**
|
10
10
|
* @internal
|
11
11
|
*/
|
12
|
-
export function useListWithActionsKeyboardNavigation({ items, actionHandlers, getItemAdditionalActions, }) {
|
12
|
+
export function useListWithActionsKeyboardNavigation({ items, actionHandlers, getItemAdditionalActions, isNestedList = false, }) {
|
13
13
|
const [focusedIndex, setFocusedIndex] = React.useState(0);
|
14
14
|
const focusedItem = focusedIndex === undefined ? undefined : items[focusedIndex];
|
15
15
|
const [focusedAction, setFocusedAction] = React.useState(SELECT_ITEM_ACTION);
|
@@ -39,12 +39,18 @@ export function useListWithActionsKeyboardNavigation({ items, actionHandlers, ge
|
|
39
39
|
? // Selecting items
|
40
40
|
makeItemSelectionNavigation(keyboardNavigationDepsRef)
|
41
41
|
: // Selecting actions
|
42
|
-
makeActionSelectionNavigation(keyboardNavigationDepsRef);
|
43
|
-
}, [keyboardNavigationDepsRef, selectionMode]);
|
42
|
+
makeActionSelectionNavigation(keyboardNavigationDepsRef, isNestedList);
|
43
|
+
}, [keyboardNavigationDepsRef, selectionMode, isNestedList]);
|
44
44
|
const handleBlur = React.useCallback(() => {
|
45
45
|
setFocusedAction(SELECT_ITEM_ACTION);
|
46
46
|
}, []);
|
47
|
-
return {
|
47
|
+
return {
|
48
|
+
onKeyboardNavigation: handleKeyboardNavigation,
|
49
|
+
onBlur: handleBlur,
|
50
|
+
focusedAction,
|
51
|
+
focusedItem,
|
52
|
+
setFocusedAction,
|
53
|
+
};
|
48
54
|
}
|
49
55
|
function makeItemSelectionNavigation(depsRef) {
|
50
56
|
return makeMenuKeyboardNavigation({
|
@@ -80,10 +86,15 @@ function makeItemSelectionNavigation(depsRef) {
|
|
80
86
|
},
|
81
87
|
});
|
82
88
|
}
|
83
|
-
function makeActionSelectionNavigation(depsRef) {
|
89
|
+
function makeActionSelectionNavigation(depsRef, isNestedList) {
|
84
90
|
return makeLinearKeyboardNavigation({
|
85
|
-
onFocusPrevious: () => {
|
86
|
-
const { focusedItemAdditionalActions, setFocusedAction } = depsRef.current;
|
91
|
+
onFocusPrevious: (e) => {
|
92
|
+
const { items, focusedItemAdditionalActions, setFocusedIndex, setFocusedAction } = depsRef.current;
|
93
|
+
if (isNestedList && e.key === "ArrowUp") {
|
94
|
+
setFocusedIndex((currentIndex) => currentIndex === undefined || currentIndex === 0 ? items.length - 1 : currentIndex - 1);
|
95
|
+
setFocusedAction(SELECT_ITEM_ACTION);
|
96
|
+
return;
|
97
|
+
}
|
87
98
|
setFocusedAction((currentAction) => {
|
88
99
|
if (currentAction === SELECT_ITEM_ACTION) {
|
89
100
|
return currentAction;
|
@@ -93,8 +104,13 @@ function makeActionSelectionNavigation(depsRef) {
|
|
93
104
|
SELECT_ITEM_ACTION);
|
94
105
|
});
|
95
106
|
},
|
96
|
-
onFocusNext: () => {
|
97
|
-
const { focusedItemAdditionalActions, setFocusedAction } = depsRef.current;
|
107
|
+
onFocusNext: (e) => {
|
108
|
+
const { items, focusedItemAdditionalActions, setFocusedIndex, setFocusedAction } = depsRef.current;
|
109
|
+
if (isNestedList && e.key === "ArrowDown") {
|
110
|
+
setFocusedIndex((currentIndex) => currentIndex === undefined || currentIndex === items.length - 1 ? 0 : currentIndex + 1);
|
111
|
+
setFocusedAction(SELECT_ITEM_ACTION);
|
112
|
+
return;
|
113
|
+
}
|
98
114
|
setFocusedAction((currentAction) => {
|
99
115
|
if (currentAction === SELECT_ITEM_ACTION) {
|
100
116
|
return currentAction;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useListWithActionsKeyboardNavigation.js","sourceRoot":"","sources":["../../../src/@ui/hooks/useListWithActionsKeyboardNavigation.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE3G;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAC;AAY/C;;GAEG;AACH,MAAM,UAAU,oCAAoC,CAA8B,EAC9E,KAAK,EACL,cAAc,EACd,wBAAwB,
|
1
|
+
{"version":3,"file":"useListWithActionsKeyboardNavigation.js","sourceRoot":"","sources":["../../../src/@ui/hooks/useListWithActionsKeyboardNavigation.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BubbleHoverTrigger.d.ts","sourceRoot":"","sources":["../../src/Bubble/BubbleHoverTrigger.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAExE,eAAO,MAAM,UAAU,MAAM,CAAC;AAC9B,eAAO,MAAM,UAAU,MAAM,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;
|
1
|
+
{"version":3,"file":"BubbleHoverTrigger.d.ts","sourceRoot":"","sources":["../../src/Bubble/BubbleHoverTrigger.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAExE,eAAO,MAAM,UAAU,MAAM,CAAC;AAC9B,eAAO,MAAM,UAAU,MAAM,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AACD;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,aAAa,CAAC,wBAAwB,CAAC;IAC3E,OAAc,YAAY,EAAE,wBAAwB,CAOlD;IAEF,UAAU,EAAE,MAAM,CAAC;IAEZ,oBAAoB,IAAI,IAAI;IAInC,OAAO,CAAC,4BAA4B;IAMpC,OAAO,CAAC,8BAA8B;IAiBtC,SAAS,CAAC,cAAc,IAAI,GAAG;CAMlC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// (C) 2007-
|
1
|
+
// (C) 2007-2025 GoodData Corporation
|
2
2
|
import { BubbleTrigger } from "./BubbleTrigger.js";
|
3
3
|
export const SHOW_DELAY = 425;
|
4
4
|
export const HIDE_DELAY = 200;
|
@@ -12,6 +12,7 @@ export class BubbleHoverTrigger extends BubbleTrigger {
|
|
12
12
|
hoverHideDelay: 0,
|
13
13
|
eventsOnBubble: false,
|
14
14
|
tagName: "span",
|
15
|
+
enabled: true,
|
15
16
|
};
|
16
17
|
scheduleId;
|
17
18
|
componentWillUnmount() {
|
@@ -23,6 +24,9 @@ export class BubbleHoverTrigger extends BubbleTrigger {
|
|
23
24
|
}
|
24
25
|
}
|
25
26
|
scheduleBubbleVisibilityChange(visible, delay = 0) {
|
27
|
+
if (!this.props.enabled) {
|
28
|
+
return;
|
29
|
+
}
|
26
30
|
this.cancelBubbleVisibilityChange();
|
27
31
|
this.scheduleId = window.setTimeout(() => {
|
28
32
|
this.changeBubbleVisibility(visible);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BubbleHoverTrigger.js","sourceRoot":"","sources":["../../src/Bubble/BubbleHoverTrigger.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,aAAa,EAAuB,MAAM,oBAAoB,CAAC;AAExE,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC;
|
1
|
+
{"version":3,"file":"BubbleHoverTrigger.js","sourceRoot":"","sources":["../../src/Bubble/BubbleHoverTrigger.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,aAAa,EAAuB,MAAM,oBAAoB,CAAC;AAExE,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC;AAC9B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC;AAW9B;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,aAAuC;IACpE,MAAM,CAAC,YAAY,GAA6B;QACnD,SAAS,EAAE,UAAU;QACrB,SAAS,EAAE,UAAU;QACrB,cAAc,EAAE,CAAC;QACjB,cAAc,EAAE,KAAK;QACrB,OAAO,EAAE,MAAM;QACf,OAAO,EAAE,IAAI;KAChB,CAAC;IAEF,UAAU,CAAS;IAEZ,oBAAoB;QACvB,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACxC,CAAC;IAEO,4BAA4B;QAChC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IAEO,8BAA8B,CAAC,OAAgB,EAAE,QAAgB,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO;QACX,CAAC;QAED,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAEpC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YACrC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAErC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;YACtC,IAAI,OAAO,IAAI,cAAc,EAAE,CAAC;gBAC5B,IAAI,CAAC,8BAA8B,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC,EAAE,KAAK,CAAC,CAAC;IACd,CAAC;IAES,cAAc;QACpB,OAAO;YACH,YAAY,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;YACxF,YAAY,EAAE,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;SAC5F,CAAC;IACN,CAAC"}
|
package/esm/Button/Button.d.ts
CHANGED
@@ -3,22 +3,5 @@ import { IButtonProps } from "./typings.js";
|
|
3
3
|
/**
|
4
4
|
* @internal
|
5
5
|
*/
|
6
|
-
export declare
|
7
|
-
static defaultProps: {
|
8
|
-
className: string;
|
9
|
-
disabled: boolean;
|
10
|
-
onClick: (...args: any[]) => void;
|
11
|
-
tabIndex: number;
|
12
|
-
tagName: string;
|
13
|
-
type: string;
|
14
|
-
iconLeft: string;
|
15
|
-
iconRight: string;
|
16
|
-
};
|
17
|
-
buttonNode: HTMLElement;
|
18
|
-
render(): React.JSX.Element;
|
19
|
-
private getEffectiveValue;
|
20
|
-
private getClassnames;
|
21
|
-
private _onClick;
|
22
|
-
private renderIcon;
|
23
|
-
}
|
6
|
+
export declare const Button: React.ForwardRefExoticComponent<IButtonProps & React.RefAttributes<HTMLElement>>;
|
24
7
|
//# sourceMappingURL=Button.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAiB5C;;GAEG;AACH,eAAO,MAAM,MAAM,kFAgGjB,CAAC"}
|
package/esm/Button/Button.js
CHANGED
@@ -9,48 +9,31 @@ const getGeneratedTestId = (effectiveValue, title, ariaLabel) => {
|
|
9
9
|
}
|
10
10
|
return ariaLabel ? `${stringUtils.simplifyText(ariaLabel)}` : `${stringUtils.simplifyText(title)}`;
|
11
11
|
};
|
12
|
+
const Icon = ({ icon }) => {
|
13
|
+
if (!icon) {
|
14
|
+
return null;
|
15
|
+
}
|
16
|
+
return React.createElement("span", { className: cx("gd-button-icon", icon), "data-testid": "gd-button-icon", "aria-hidden": "true" });
|
17
|
+
};
|
12
18
|
/**
|
13
19
|
* @internal
|
14
20
|
*/
|
15
|
-
export
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
tagName: "button",
|
22
|
-
type: "button",
|
23
|
-
iconLeft: null,
|
24
|
-
iconRight: null,
|
21
|
+
export const Button = React.forwardRef(function Button({ className, disabled = false, onClick = noop, tabIndex = 0, tagName = "button", type = "button", id, title, iconLeft, iconRight, accessibilityConfig, dataId, dataTestId, intent, size, variant, value, children, }, ref) {
|
22
|
+
const { isExpanded, popupId, ariaLabel, ariaLabelledBy, ariaDescribedBy, role = "button", } = accessibilityConfig ?? {};
|
23
|
+
const ariaDropdownProps = {
|
24
|
+
...(popupId && isExpanded ? { "aria-controls": popupId } : {}),
|
25
|
+
...(popupId ? { "aria-haspopup": !!popupId } : {}),
|
26
|
+
...(isExpanded !== undefined ? { "aria-expanded": isExpanded } : {}),
|
25
27
|
};
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
...(isExpanded !== undefined ? { "aria-expanded": isExpanded } : {}),
|
36
|
-
};
|
37
|
-
const testId = dataTestId ? dataTestId : getGeneratedTestId(effectiveValue, title, ariaLabel);
|
38
|
-
return (React.createElement(TagName, { id: id, "data-id": dataId, ref: (ref) => {
|
39
|
-
this.buttonNode = ref;
|
40
|
-
if (buttonRef) {
|
41
|
-
buttonRef.current = ref;
|
42
|
-
}
|
43
|
-
}, title: title, className: this.getClassnames(), type: type, onClick: this._onClick, tabIndex: tabIndex, "aria-disabled": disabled, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, ...ariaDropdownProps, role: role, "data-testid": testId },
|
44
|
-
this.renderIcon(iconLeft),
|
45
|
-
effectiveValue ? React.createElement("span", { className: "gd-button-text" }, effectiveValue) : null,
|
46
|
-
this.renderIcon(iconRight)));
|
47
|
-
}
|
48
|
-
getEffectiveValue() {
|
49
|
-
return this.props.value ?? this.props.children;
|
50
|
-
}
|
51
|
-
getClassnames() {
|
52
|
-
const { className, variant, size, intent, disabled } = this.props;
|
53
|
-
const effectiveValue = this.getEffectiveValue();
|
28
|
+
const handleClick = React.useCallback((e) => {
|
29
|
+
if (disabled) {
|
30
|
+
return;
|
31
|
+
}
|
32
|
+
onClick(e);
|
33
|
+
}, [disabled, onClick]);
|
34
|
+
const effectiveValue = React.useMemo(() => value ?? children, [children, value]);
|
35
|
+
const testId = dataTestId ? dataTestId : getGeneratedTestId(effectiveValue, title, ariaLabel);
|
36
|
+
const classNames = React.useMemo(() => {
|
54
37
|
const generatedSeleniumClass = effectiveValue && typeof effectiveValue === "string"
|
55
38
|
? `s-${stringUtils.simplifyText(effectiveValue)}`
|
56
39
|
: "";
|
@@ -65,17 +48,11 @@ export class Button extends React.Component {
|
|
65
48
|
disabled: disabled,
|
66
49
|
},
|
67
50
|
]);
|
68
|
-
}
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
}
|
73
|
-
|
74
|
-
|
75
|
-
if (!icon) {
|
76
|
-
return null;
|
77
|
-
}
|
78
|
-
return (React.createElement("span", { className: cx("gd-button-icon", icon), "data-testid": "gd-button-icon", "aria-hidden": "true" }));
|
79
|
-
}
|
80
|
-
}
|
51
|
+
}, [className, disabled, effectiveValue, intent, size, variant]);
|
52
|
+
const TagName = tagName;
|
53
|
+
return (React.createElement(TagName, { id: id, "data-id": dataId, "data-testid": testId, ref: ref, title: title, className: classNames, type: type, onClick: handleClick, tabIndex: tabIndex, "aria-disabled": disabled, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, ...ariaDropdownProps, role: role },
|
54
|
+
React.createElement(Icon, { icon: iconLeft }),
|
55
|
+
effectiveValue ? React.createElement("span", { className: "gd-button-text" }, effectiveValue) : null,
|
56
|
+
React.createElement(Icon, { icon: iconRight })));
|
57
|
+
});
|
81
58
|
//# sourceMappingURL=Button.js.map
|
package/esm/Button/Button.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAGlC,MAAM,kBAAkB,GAAG,CAAC,cAA+B,EAAE,KAAa,EAAE,SAAiB,EAAE,EAAE;IAC7F,IAAI,cAAc,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACvD,OAAO,GAAG,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;IACzD,CAAC;IACD,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;AACvG,CAAC,CAAC;AAEF
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"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"}
|
package/esm/Button/typings.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import
|
1
|
+
import React from "react";
|
2
2
|
import { IAccessibilityConfigBase } from "../typings/accessibility.js";
|
3
3
|
/**
|
4
4
|
* @internal
|
@@ -25,8 +25,8 @@ export interface IButtonProps {
|
|
25
25
|
tagName?: string;
|
26
26
|
title?: string;
|
27
27
|
type?: HTMLButtonElement["type"];
|
28
|
-
value?: ReactNode;
|
29
|
-
children?: ReactNode;
|
28
|
+
value?: React.ReactNode;
|
29
|
+
children?: React.ReactNode;
|
30
30
|
iconLeft?: string;
|
31
31
|
iconRight?: string;
|
32
32
|
onClick?(e: React.MouseEvent): void;
|
@@ -34,6 +34,5 @@ export interface IButtonProps {
|
|
34
34
|
intent?: "action" | "positive" | "negative";
|
35
35
|
size?: "small" | "medium" | "large";
|
36
36
|
accessibilityConfig?: IButtonAccessibilityConfig;
|
37
|
-
buttonRef?: React.MutableRefObject<HTMLElement>;
|
38
37
|
}
|
39
38
|
//# sourceMappingURL=typings.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"typings.d.ts","sourceRoot":"","sources":["../../src/Button/typings.ts"],"names":[],"mappings":"AAEA,OAAO,
|
1
|
+
{"version":3,"file":"typings.d.ts","sourceRoot":"","sources":["../../src/Button/typings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AACvE;;GAEG;AACH,MAAM,WAAW,kCAAkC;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,0BACb,SAAQ,wBAAwB,EAC5B,kCAAkC;CAAG;AAE7C;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAClC,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;IAC5C,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;CACpD"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import { IAlignPoint } from "../typings/positioning.js";
|
3
3
|
import { OverlayPositionType } from "../typings/overlay.js";
|
4
|
+
import { IButtonAccessibilityConfig } from "../Button/index.js";
|
4
5
|
/**
|
5
6
|
* @internal
|
6
7
|
*/
|
@@ -12,10 +13,16 @@ export interface IDropdownButtonRenderProps {
|
|
12
13
|
openDropdown: () => void;
|
13
14
|
closeDropdown: () => void;
|
14
15
|
toggleDropdown: (desiredState?: boolean | unknown) => void;
|
16
|
+
/**
|
17
|
+
* Props supporting accessibility that can be just passed through to the rendered element
|
18
|
+
*/
|
15
19
|
ariaAttributes: {
|
16
|
-
role:
|
17
|
-
"data-popupId": string;
|
20
|
+
role: React.AriaRole;
|
18
21
|
} & Pick<React.AriaAttributes, "aria-haspopup" | "aria-expanded" | "aria-controls">;
|
22
|
+
/**
|
23
|
+
* Props supporting accessibility that can be passed down to a <Button/>
|
24
|
+
*/
|
25
|
+
accessibilityConfig: Pick<IButtonAccessibilityConfig, "role" | "isExpanded" | "popupId">;
|
19
26
|
}
|
20
27
|
/**
|
21
28
|
* @internal
|
@@ -40,7 +47,7 @@ export interface IDropdownProps {
|
|
40
47
|
* The `desiredState` argument's type includes `unknown` to facilitate ease of use as an event handler (`onClick={onToggle}`)
|
41
48
|
* @param desiredState - The desired state. If not provided, the state will be toggled.
|
42
49
|
*/
|
43
|
-
onToggle?: (desiredState?: boolean |
|
50
|
+
onToggle?: ((desiredState?: boolean) => void) | (() => void);
|
44
51
|
openOnInit?: boolean;
|
45
52
|
className?: string;
|
46
53
|
alignPoints?: IAlignPoint[];
|
@@ -59,7 +66,9 @@ export interface IDropdownProps {
|
|
59
66
|
closeOnEscape?: boolean;
|
60
67
|
autofocusOnOpen?: boolean;
|
61
68
|
initialFocus?: React.RefObject<HTMLElement> | string;
|
69
|
+
returnFocusTo?: React.RefObject<HTMLElement> | string;
|
62
70
|
accessibilityConfig?: {
|
71
|
+
triggerRole?: "button" | "combobox";
|
63
72
|
popupRole?: "listbox" | "tree" | "grid" | "dialog";
|
64
73
|
};
|
65
74
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../src/Dropdown/Dropdown.tsx"],"names":[],"mappings":"AACA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAK9D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
1
|
+
{"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../src/Dropdown/Dropdown.tsx"],"names":[],"mappings":"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"}
|
package/esm/Dropdown/Dropdown.js
CHANGED
@@ -40,7 +40,7 @@ export const Dropdown = (props) => {
|
|
40
40
|
{
|
41
41
|
align: "bl tl",
|
42
42
|
},
|
43
|
-
], overlayZIndex, ignoreClicksOnByClass = [], renderBody, renderButton, onOpenStateChanged, fullscreenOnMobile = true, enableEventPropagation = false, closeOnEscape = false, autofocusOnOpen = false, initialFocus, accessibilityConfig, } = props;
|
43
|
+
], overlayZIndex, ignoreClicksOnByClass = [], renderBody, renderButton, onOpenStateChanged, fullscreenOnMobile = true, enableEventPropagation = false, closeOnEscape = false, autofocusOnOpen = false, initialFocus, returnFocusTo, accessibilityConfig, } = props;
|
44
44
|
const [isOpen, setIsOpen] = usePropState(isOpenProp ?? openOnInit ?? false);
|
45
45
|
const id = useId();
|
46
46
|
const dropdownId = `dropdown-${id}`;
|
@@ -72,26 +72,41 @@ export const Dropdown = (props) => {
|
|
72
72
|
};
|
73
73
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
74
74
|
}, [isOpen]);
|
75
|
-
const renderButtonProps = {
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
75
|
+
const renderButtonProps = React.useMemo(() => {
|
76
|
+
const role = accessibilityConfig?.triggerRole ?? "button";
|
77
|
+
return {
|
78
|
+
isOpen,
|
79
|
+
openDropdown,
|
80
|
+
closeDropdown,
|
81
|
+
toggleDropdown,
|
82
|
+
dropdownId,
|
83
|
+
ariaAttributes: {
|
84
|
+
role,
|
85
|
+
"aria-controls": isOpen ? dropdownId : undefined,
|
86
|
+
"aria-expanded": isOpen,
|
87
|
+
"aria-haspopup": accessibilityConfig?.popupRole ?? true,
|
88
|
+
},
|
89
|
+
accessibilityConfig: {
|
90
|
+
role,
|
91
|
+
popupId: dropdownId,
|
92
|
+
isExpanded: isOpen,
|
93
|
+
},
|
94
|
+
};
|
95
|
+
}, [
|
96
|
+
accessibilityConfig?.popupRole,
|
97
|
+
accessibilityConfig?.triggerRole,
|
98
|
+
closeDropdown,
|
80
99
|
dropdownId,
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
"aria-haspopup": accessibilityConfig?.popupRole,
|
86
|
-
"data-popupId": dropdownId,
|
87
|
-
},
|
88
|
-
};
|
100
|
+
isOpen,
|
101
|
+
openDropdown,
|
102
|
+
toggleDropdown,
|
103
|
+
]);
|
89
104
|
const renderBodyProps = {
|
90
105
|
closeDropdown,
|
91
106
|
ariaAttributes: {
|
92
107
|
id: dropdownId,
|
93
108
|
"aria-labelledby": dropdownButtonId,
|
94
|
-
role: accessibilityConfig?.popupRole,
|
109
|
+
role: accessibilityConfig?.popupRole ?? "dialog",
|
95
110
|
},
|
96
111
|
};
|
97
112
|
const isMobileDevice = useMediaQuery("mobileDevice");
|
@@ -108,7 +123,7 @@ export const Dropdown = (props) => {
|
|
108
123
|
}))))) : (React.createElement(Overlay, { alignTo: `#${dropdownButtonId}`, positionType: overlayPositionType, alignPoints: alignPoints, closeOnOutsideClick: closeOnOutsideClick, closeOnMouseDrag: closeOnMouseDrag, closeOnParentScroll: closeOnParentScroll, closeOnEscape: closeOnEscape, shouldCloseOnClick: shouldCloseOnClick, ignoreClicksOnByClass: ignoreClicksOnByClass, onClose: closeDropdown,
|
109
124
|
// Overlay prevents event propagation by default using defaultProps for these
|
110
125
|
onClick: enableEventPropagation ? noop : undefined, onMouseOver: enableEventPropagation ? noop : undefined, onMouseUp: enableEventPropagation ? noop : undefined, zIndex: overlayZIndex },
|
111
|
-
React.createElement(UiFocusTrap, { returnFocusTo: buttonRef.current ? buttonRef : buttonWrapperRef, autofocusOnOpen: autofocusOnOpen, initialFocus: initialFocus },
|
126
|
+
React.createElement(UiFocusTrap, { returnFocusTo: returnFocusTo ?? (buttonRef.current ? buttonRef : buttonWrapperRef), autofocusOnOpen: autofocusOnOpen, initialFocus: initialFocus },
|
112
127
|
React.createElement("div", { className: "overlay dropdown-body" }, renderBody({
|
113
128
|
...renderBodyProps,
|
114
129
|
isMobile: false,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../src/Dropdown/Dropdown.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAG/D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;
|
1
|
+
{"version":3,"file":"Dropdown.js","sourceRoot":"","sources":["../../src/Dropdown/Dropdown.tsx"],"names":[],"mappings":"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"}
|
@@ -26,6 +26,6 @@ export const DropdownButton = ({ id, className, accessibilityConfig, value, titl
|
|
26
26
|
ariaLabelledBy,
|
27
27
|
role: "combobox",
|
28
28
|
};
|
29
|
-
return (React.createElement(Button, { id: id, accessibilityConfig: buttonAccessibilityConfig, title: title && typeof title === "string" ? title : undefined, className: buttonClasses, value: value, iconLeft: iconLeft, iconRight: isOpen ? "gd-icon-navigateup" : "gd-icon-navigatedown", disabled: disabled, onClick: onClick,
|
29
|
+
return (React.createElement(Button, { id: id, accessibilityConfig: buttonAccessibilityConfig, title: title && typeof title === "string" ? title : undefined, className: buttonClasses, value: value, iconLeft: iconLeft, iconRight: isOpen ? "gd-icon-navigateup" : "gd-icon-navigatedown", disabled: disabled, onClick: onClick, ref: buttonRef }, children));
|
30
30
|
};
|
31
31
|
//# sourceMappingURL=DropdownButton.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DropdownButton.js","sourceRoot":"","sources":["../../src/Dropdown/DropdownButton.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA0B7C;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAmC,CAAC,EAC3D,EAAE,EACF,SAAS,EACT,mBAAmB,EAEnB,KAAK,EACL,KAAK,GAAG,KAAK,EACb,QAAQ,EAER,MAAM,EACN,OAAO,GAAG,IAAI,EACd,QAAQ,EAER,OAAO,EACP,QAAQ,EACR,UAAU,EACV,SAAS,GACZ,EAAE,EAAE;IACD,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,mBAAmB,IAAI,EAAE,CAAC;IAEjF,MAAM,aAAa,GAAG,EAAE,CACpB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB;QACI,iBAAiB,EAAE,OAAO;QAC1B,kBAAkB,EAAE,MAAM;QAC1B,WAAW,EAAE,MAAM;KACtB,EACD,SAAS,CACZ,CAAC;IAEF,MAAM,yBAAyB,GAAG,UAAU;QACxC,CAAC,CAAC;YACI,UAAU,EAAE,MAAM;YAClB,OAAO,EAAE,UAAU;YACnB,SAAS;YACT,cAAc;YACd,eAAe;YACf,IAAI,EAAE,UAAU;SACnB;QACH,CAAC,CAAC;YACI,SAAS;YACT,cAAc;YACd,IAAI,EAAE,UAAU;SACnB,CAAC;IAER,OAAO,CACH,oBAAC,MAAM,IACH,EAAE,EAAE,EAAE,EACN,mBAAmB,EAAE,yBAAyB,EAC9C,KAAK,EAAE,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAC7D,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,sBAAsB,EACjE,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,
|
1
|
+
{"version":3,"file":"DropdownButton.js","sourceRoot":"","sources":["../../src/Dropdown/DropdownButton.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AA0B7C;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAmC,CAAC,EAC3D,EAAE,EACF,SAAS,EACT,mBAAmB,EAEnB,KAAK,EACL,KAAK,GAAG,KAAK,EACb,QAAQ,EAER,MAAM,EACN,OAAO,GAAG,IAAI,EACd,QAAQ,EAER,OAAO,EACP,QAAQ,EACR,UAAU,EACV,SAAS,GACZ,EAAE,EAAE;IACD,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,GAAG,mBAAmB,IAAI,EAAE,CAAC;IAEjF,MAAM,aAAa,GAAG,EAAE,CACpB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB;QACI,iBAAiB,EAAE,OAAO;QAC1B,kBAAkB,EAAE,MAAM;QAC1B,WAAW,EAAE,MAAM;KACtB,EACD,SAAS,CACZ,CAAC;IAEF,MAAM,yBAAyB,GAAG,UAAU;QACxC,CAAC,CAAC;YACI,UAAU,EAAE,MAAM;YAClB,OAAO,EAAE,UAAU;YACnB,SAAS;YACT,cAAc;YACd,eAAe;YACf,IAAI,EAAE,UAAU;SACnB;QACH,CAAC,CAAC;YACI,SAAS;YACT,cAAc;YACd,IAAI,EAAE,UAAU;SACnB,CAAC;IAER,OAAO,CACH,oBAAC,MAAM,IACH,EAAE,EAAE,EAAE,EACN,mBAAmB,EAAE,yBAAyB,EAC9C,KAAK,EAAE,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAC7D,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,sBAAsB,EACjE,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,SAAS,IAEb,QAAQ,CACJ,CACZ,CAAC;AACN,CAAC,CAAC"}
|