@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.
Files changed (65) hide show
  1. package/esm/@ui/UiChip/UiChip.d.ts +2 -1
  2. package/esm/@ui/UiChip/UiChip.d.ts.map +1 -1
  3. package/esm/@ui/UiChip/UiChip.js +8 -7
  4. package/esm/@ui/UiChip/UiChip.js.map +1 -1
  5. package/esm/@ui/hooks/useListWithActionsKeyboardNavigation.d.ts +3 -1
  6. package/esm/@ui/hooks/useListWithActionsKeyboardNavigation.d.ts.map +1 -1
  7. package/esm/@ui/hooks/useListWithActionsKeyboardNavigation.js +25 -9
  8. package/esm/@ui/hooks/useListWithActionsKeyboardNavigation.js.map +1 -1
  9. package/esm/Bubble/BubbleHoverTrigger.d.ts +1 -0
  10. package/esm/Bubble/BubbleHoverTrigger.d.ts.map +1 -1
  11. package/esm/Bubble/BubbleHoverTrigger.js +5 -1
  12. package/esm/Bubble/BubbleHoverTrigger.js.map +1 -1
  13. package/esm/Button/Button.d.ts +1 -18
  14. package/esm/Button/Button.d.ts.map +1 -1
  15. package/esm/Button/Button.js +28 -51
  16. package/esm/Button/Button.js.map +1 -1
  17. package/esm/Button/typings.d.ts +3 -4
  18. package/esm/Button/typings.d.ts.map +1 -1
  19. package/esm/Dropdown/Dropdown.d.ts +12 -3
  20. package/esm/Dropdown/Dropdown.d.ts.map +1 -1
  21. package/esm/Dropdown/Dropdown.js +31 -16
  22. package/esm/Dropdown/Dropdown.js.map +1 -1
  23. package/esm/Dropdown/DropdownButton.js +1 -1
  24. package/esm/Dropdown/DropdownButton.js.map +1 -1
  25. package/esm/Dropdown/DropdownList.d.ts +1 -0
  26. package/esm/Dropdown/DropdownList.d.ts.map +1 -1
  27. package/esm/Dropdown/DropdownList.js +2 -2
  28. package/esm/Dropdown/DropdownList.js.map +1 -1
  29. package/esm/Header/HeaderAccount.js +1 -1
  30. package/esm/Header/HeaderAccount.js.map +1 -1
  31. package/esm/Header/HeaderChatButton.d.ts.map +1 -1
  32. package/esm/Header/HeaderChatButton.js +3 -1
  33. package/esm/Header/HeaderChatButton.js.map +1 -1
  34. package/esm/Header/HeaderHelp.d.ts.map +1 -1
  35. package/esm/Header/HeaderHelp.js +4 -6
  36. package/esm/Header/HeaderHelp.js.map +1 -1
  37. package/esm/Header/HeaderSearchButton.js +1 -1
  38. package/esm/Header/HeaderSearchButton.js.map +1 -1
  39. package/esm/Header/HeaderWorkspacePickerButton.js +1 -1
  40. package/esm/Header/HeaderWorkspacePickerButton.js.map +1 -1
  41. package/esm/List/List.d.ts +1 -0
  42. package/esm/List/List.d.ts.map +1 -1
  43. package/esm/List/List.js +3 -3
  44. package/esm/List/List.js.map +1 -1
  45. package/esm/RecurrenceForm/DateTime.d.ts +1 -0
  46. package/esm/RecurrenceForm/DateTime.d.ts.map +1 -1
  47. package/esm/RecurrenceForm/DateTime.js +2 -2
  48. package/esm/RecurrenceForm/DateTime.js.map +1 -1
  49. package/esm/RecurrenceForm/Recurrence.d.ts.map +1 -1
  50. package/esm/RecurrenceForm/Recurrence.js +2 -2
  51. package/esm/RecurrenceForm/Recurrence.js.map +1 -1
  52. package/esm/RecurrenceForm/RecurrenceForm.d.ts +1 -0
  53. package/esm/RecurrenceForm/RecurrenceForm.d.ts.map +1 -1
  54. package/esm/RecurrenceForm/RecurrenceForm.js +2 -2
  55. package/esm/RecurrenceForm/RecurrenceForm.js.map +1 -1
  56. package/esm/RecurrenceForm/RepeatTypeSelect.d.ts +1 -0
  57. package/esm/RecurrenceForm/RepeatTypeSelect.d.ts.map +1 -1
  58. package/esm/RecurrenceForm/RepeatTypeSelect.js +2 -2
  59. package/esm/RecurrenceForm/RepeatTypeSelect.js.map +1 -1
  60. package/esm/sdk-ui-kit.d.ts +34 -27
  61. package/esm/utils/events.d.ts +9 -0
  62. package/esm/utils/events.d.ts.map +1 -1
  63. package/esm/utils/events.js +11 -0
  64. package/esm/utils/events.js.map +1 -1
  65. 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;CACvB;AAID;;GAEG;AACH,eAAO,MAAM,MAAM,sIAYhB,WAAW,sBAwEb,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"}
@@ -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 (buttonRef.current) {
14
+ if (effectiveButtonRef.current) {
14
15
  // Reset width to auto to calculate the width of the label and tag
15
- buttonRef.current.style.width = "auto";
16
- const width = buttonRef.current.getBoundingClientRect().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: buttonRef, "aria-disabled": isLocked, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...ariaDropdownProps },
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":"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"}
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,GAC3B,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;CACtD;;;;;EAiDA"}
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 { onKeyboardNavigation: handleKeyboardNavigation, onBlur: handleBlur, focusedAction, focusedItem };
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":"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"}
1
+ {"version":3,"file":"useListWithActionsKeyboardNavigation.js","sourceRoot":"","sources":["../../../src/@ui/hooks/useListWithActionsKeyboardNavigation.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export interface IBubbleHoverTriggerProps extends IBubbleTriggerProps {
8
8
  showDelay?: number;
9
9
  hideDelay?: number;
10
10
  hoverHideDelay?: number;
11
+ enabled?: boolean;
11
12
  }
12
13
  /**
13
14
  * @internal
@@ -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;CAC3B;AACD;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,aAAa,CAAC,wBAAwB,CAAC;IAC3E,OAAc,YAAY,EAAE,wBAAwB,CAMlD;IAEF,UAAU,EAAE,MAAM,CAAC;IAEZ,oBAAoB,IAAI,IAAI;IAInC,OAAO,CAAC,4BAA4B;IAMpC,OAAO,CAAC,8BAA8B;IAatC,SAAS,CAAC,cAAc,IAAI,GAAG;CAMlC"}
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-2020 GoodData Corporation
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;AAU9B;;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;KAClB,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,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"}
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"}
@@ -3,22 +3,5 @@ import { IButtonProps } from "./typings.js";
3
3
  /**
4
4
  * @internal
5
5
  */
6
- export declare class Button extends React.Component<IButtonProps> {
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;AAS5C;;GAEG;AACH,qBAAa,MAAO,SAAQ,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC;IACrD,OAAc,YAAY;;;;;;;;;MASxB;IAEK,UAAU,EAAE,WAAW,CAAC;IAExB,MAAM;IAgEb,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,QAAQ,CAId;IAEF,OAAO,CAAC,UAAU;CASrB"}
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"}
@@ -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 class Button extends React.Component {
16
- static defaultProps = {
17
- className: "",
18
- disabled: false,
19
- onClick: noop,
20
- tabIndex: 0,
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
- buttonNode;
27
- render() {
28
- const { id, tagName, title, disabled, tabIndex, type, iconLeft, iconRight, accessibilityConfig, buttonRef, dataId, dataTestId, } = this.props;
29
- const { isExpanded, popupId, ariaLabel, ariaLabelledBy, ariaDescribedBy, role = "button", } = accessibilityConfig ?? {};
30
- const TagName = tagName;
31
- const effectiveValue = this.getEffectiveValue();
32
- const ariaDropdownProps = {
33
- ...(popupId && isExpanded ? { "aria-controls": popupId } : {}),
34
- ...(popupId ? { "aria-haspopup": !!popupId } : {}),
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
- _onClick = (e) => {
70
- if (!this.props.disabled) {
71
- this.props.onClick(e);
72
- }
73
- };
74
- renderIcon(icon) {
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
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { ReactNode } from "react";
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,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,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,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,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;IACjD,SAAS,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;CACnD"}
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: "button" | string;
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 | unknown) => void;
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;AAqC5D;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACtD,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,cAAc,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC;IAC3D,cAAc,EAAE;QACZ,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;KAC1B,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,eAAe,GAAG,eAAe,GAAG,eAAe,CAAC,CAAC;CACvF;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,iBAAiB,GAAG,YAAY,CAAC,GAAG;QAC3E,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC7D,EAAE,EAAE,MAAM,CAAC;KACd,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,UAAU,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,KAAK,CAAC,SAAS,CAAC;IAEjE,YAAY,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,KAAK,CAAC,SAAS,CAAC;IAErE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC;IAEtD,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,WAAW,CAAC,EAAE,WAAW,EAAE,CAAC;IAE5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAE/C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;IAErD,mBAAmB,CAAC,EAAE;QAClB,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;KACtD,CAAC;CACL;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAgL7C,CAAC"}
1
+ {"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../src/Dropdown/Dropdown.tsx"],"names":[],"mappings":"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"}
@@ -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
- isOpen: isOpen,
77
- openDropdown: openDropdown,
78
- closeDropdown: closeDropdown,
79
- toggleDropdown: toggleDropdown,
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
- ariaAttributes: {
82
- role: "button",
83
- "aria-controls": isOpen ? dropdownId : undefined,
84
- "aria-expanded": isOpen,
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":"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"}
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, buttonRef: buttonRef }, children));
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,SAAS,EAAE,SAAS,IAEnB,QAAQ,CACJ,CACZ,CAAC;AACN,CAAC,CAAC"}
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"}