@gooddata/sdk-ui-kit 10.27.0-alpha.12 → 10.27.0-alpha.13
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/UiListbox/UiListbox.d.ts.map +1 -1
- package/esm/@ui/UiListbox/UiListbox.js +1 -3
- package/esm/@ui/UiListbox/UiListbox.js.map +1 -1
- package/esm/@ui/UiListbox/defaults/DefaultUiListboxStaticItemComponent.d.ts +5 -2
- package/esm/@ui/UiListbox/defaults/DefaultUiListboxStaticItemComponent.d.ts.map +1 -1
- package/esm/@ui/UiListbox/defaults/DefaultUiListboxStaticItemComponent.js.map +1 -1
- package/esm/@ui/UiListbox/defaults/firstCharacterSearch.d.ts +2 -2
- package/esm/@ui/UiListbox/defaults/firstCharacterSearch.d.ts.map +1 -1
- package/esm/@ui/UiListbox/defaults/firstCharacterSearch.js +1 -1
- package/esm/@ui/UiListbox/defaults/firstCharacterSearch.js.map +1 -1
- package/esm/@ui/UiListbox/types.d.ts +4 -4
- package/esm/@ui/UiListbox/types.d.ts.map +1 -1
- package/esm/@ui/UiMenu/UiMenu.d.ts +11 -0
- package/esm/@ui/UiMenu/UiMenu.d.ts.map +1 -0
- package/esm/@ui/UiMenu/UiMenu.js +94 -0
- package/esm/@ui/UiMenu/UiMenu.js.map +1 -0
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.d.ts +9 -0
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.d.ts.map +1 -0
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.js +23 -0
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.js.map +1 -0
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.d.ts +7 -0
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.d.ts.map +1 -0
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.js +16 -0
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.js.map +1 -0
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.d.ts +8 -0
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.d.ts.map +1 -0
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.js +9 -0
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.js.map +1 -0
- package/esm/@ui/UiMenu/hooks.d.ts +16 -0
- package/esm/@ui/UiMenu/hooks.d.ts.map +1 -0
- package/esm/@ui/UiMenu/hooks.js +87 -0
- package/esm/@ui/UiMenu/hooks.js.map +1 -0
- package/esm/@ui/UiMenu/itemUtils.d.ts +17 -0
- package/esm/@ui/UiMenu/itemUtils.d.ts.map +1 -0
- package/esm/@ui/UiMenu/itemUtils.js +73 -0
- package/esm/@ui/UiMenu/itemUtils.js.map +1 -0
- package/esm/@ui/UiMenu/menuBem.d.ts +2 -0
- package/esm/@ui/UiMenu/menuBem.d.ts.map +1 -0
- package/esm/@ui/UiMenu/menuBem.js +4 -0
- package/esm/@ui/UiMenu/menuBem.js.map +1 -0
- package/esm/@ui/UiMenu/types.d.ts +86 -0
- package/esm/@ui/UiMenu/types.d.ts.map +1 -0
- package/esm/@ui/UiMenu/types.js +3 -0
- package/esm/@ui/UiMenu/types.js.map +1 -0
- package/esm/index.d.ts +5 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +3 -0
- package/esm/index.js.map +1 -1
- package/esm/sdk-ui-kit.d.ts +127 -17
- package/package.json +8 -8
- package/src/@ui/UiMenu/UiMenu.scss +115 -0
- package/src/@ui/index.scss +1 -0
- package/styles/css/main.css +95 -0
- package/styles/css/main.css.map +1 -1
@@ -0,0 +1,73 @@
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
2
|
+
export const findItem = (items, predicate) => {
|
3
|
+
for (const item of items) {
|
4
|
+
if (predicate(item)) {
|
5
|
+
return item;
|
6
|
+
}
|
7
|
+
if (item.type === "interactive" && item.subMenu) {
|
8
|
+
const foundItemInSubMenu = findItem(item.subMenu, predicate);
|
9
|
+
if (foundItemInSubMenu) {
|
10
|
+
return foundItemInSubMenu;
|
11
|
+
}
|
12
|
+
}
|
13
|
+
}
|
14
|
+
return undefined;
|
15
|
+
};
|
16
|
+
export const getItem = (items, itemId) => {
|
17
|
+
return findItem(items, (item) => item.id === itemId);
|
18
|
+
};
|
19
|
+
export const findInteractiveItem = (items, predicate) => {
|
20
|
+
const foundItem = findItem(items, (item) => item.type === "interactive" && predicate(item));
|
21
|
+
return foundItem?.type === "interactive" ? foundItem : undefined;
|
22
|
+
};
|
23
|
+
export const getInteractiveItem = (items, itemId) => {
|
24
|
+
return findInteractiveItem(items, (item) => item.id === itemId);
|
25
|
+
};
|
26
|
+
export const getItemsByParent = (items, parentId) => {
|
27
|
+
const isRootLevel = parentId === undefined;
|
28
|
+
return isRootLevel ? items : findInteractiveItem(items, (item) => item.id === parentId)?.subMenu;
|
29
|
+
};
|
30
|
+
export const getItemParent = (items, itemId) => {
|
31
|
+
return findInteractiveItem(items, (item) => !!item.subMenu?.some((subMenuItem) => subMenuItem.id === itemId));
|
32
|
+
};
|
33
|
+
export const getSiblingItems = (items, itemId) => {
|
34
|
+
// If itemId is provided but the item doesn't exist, return undefined
|
35
|
+
if (!getItem(items, itemId)) {
|
36
|
+
return undefined;
|
37
|
+
}
|
38
|
+
return getItemsByParent(items, getItemParent(items, itemId)?.id);
|
39
|
+
};
|
40
|
+
export const getNextSiblings = (items, itemId) => {
|
41
|
+
const siblingItems = getSiblingItems(items, itemId);
|
42
|
+
const itemIndex = siblingItems?.findIndex((item) => item.id === itemId) ?? -1;
|
43
|
+
if (itemIndex === -1 || !siblingItems) {
|
44
|
+
return [];
|
45
|
+
}
|
46
|
+
// Wraparound
|
47
|
+
return [...siblingItems.slice(itemIndex + 1), ...siblingItems.slice(0, itemIndex)];
|
48
|
+
};
|
49
|
+
export const getPreviousSiblings = (items, itemId) => {
|
50
|
+
const siblingItems = getSiblingItems(items, itemId);
|
51
|
+
const itemIndex = siblingItems?.findIndex((item) => item.id === itemId) ?? -1;
|
52
|
+
if (itemIndex === -1 || !siblingItems) {
|
53
|
+
return [];
|
54
|
+
}
|
55
|
+
// Wraparound
|
56
|
+
return [...siblingItems.slice(0, itemIndex).reverse(), ...siblingItems.slice(itemIndex + 1).reverse()];
|
57
|
+
};
|
58
|
+
export const getClosestFocusableSibling = (args) => {
|
59
|
+
const { items, isItemFocusable, itemId, direction } = args;
|
60
|
+
switch (direction) {
|
61
|
+
case "forward":
|
62
|
+
if (itemId === undefined) {
|
63
|
+
return items.find(isItemFocusable);
|
64
|
+
}
|
65
|
+
return getNextSiblings(items, itemId).find(isItemFocusable);
|
66
|
+
case "backward":
|
67
|
+
if (itemId === undefined) {
|
68
|
+
return [...items].reverse().find(isItemFocusable);
|
69
|
+
}
|
70
|
+
return getPreviousSiblings(items, itemId).find(isItemFocusable);
|
71
|
+
}
|
72
|
+
};
|
73
|
+
//# sourceMappingURL=itemUtils.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"itemUtils.js","sourceRoot":"","sources":["../../../src/@ui/UiMenu/itemUtils.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"menuBem.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiMenu/menuBem.ts"],"names":[],"mappings":"AAGA,eAAO,MAAQ,CAAC,6DAAE,CAAC,4EAA0B,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"menuBem.js","sourceRoot":"","sources":["../../../src/@ui/UiMenu/menuBem.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC"}
|
@@ -0,0 +1,86 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { IDropdownBodyRenderProps } from "../../Dropdown/index.js";
|
3
|
+
/**
|
4
|
+
* @internal
|
5
|
+
*/
|
6
|
+
export interface IUiMenuStaticItem<T> {
|
7
|
+
type: "static";
|
8
|
+
id?: string;
|
9
|
+
data: T;
|
10
|
+
}
|
11
|
+
/**
|
12
|
+
* @internal
|
13
|
+
*/
|
14
|
+
export interface IUiMenuInteractiveItem<InteractiveItemData, StaticItemData = React.ReactNode> {
|
15
|
+
type: "interactive";
|
16
|
+
id: string;
|
17
|
+
stringTitle: string;
|
18
|
+
isDisabled?: boolean;
|
19
|
+
data: InteractiveItemData;
|
20
|
+
subMenu?: IUiMenuItem<InteractiveItemData, StaticItemData>[];
|
21
|
+
}
|
22
|
+
/**
|
23
|
+
* @internal
|
24
|
+
*/
|
25
|
+
export type IUiMenuItem<InteractiveItemData, StaticItemData = React.ReactNode> = IUiMenuStaticItem<StaticItemData> | IUiMenuInteractiveItem<InteractiveItemData, StaticItemData>;
|
26
|
+
/**
|
27
|
+
* @internal
|
28
|
+
*/
|
29
|
+
export interface UiMenuInteractiveItemProps<InteractiveItemData, StaticItemData = React.ReactNode> {
|
30
|
+
item: IUiMenuInteractiveItem<InteractiveItemData, StaticItemData>;
|
31
|
+
isFocused: boolean;
|
32
|
+
onSelect: () => void;
|
33
|
+
}
|
34
|
+
/**
|
35
|
+
* @internal
|
36
|
+
*/
|
37
|
+
export interface UiMenuStaticItemProps<T> {
|
38
|
+
item: IUiMenuStaticItem<T>;
|
39
|
+
}
|
40
|
+
/**
|
41
|
+
* @internal
|
42
|
+
*/
|
43
|
+
export interface UiMenuHeaderProps<InteractiveItemData, StaticItemData = React.ReactNode> {
|
44
|
+
onBack?: () => void;
|
45
|
+
onClose?: () => void;
|
46
|
+
parentItem?: IUiMenuInteractiveItem<InteractiveItemData, StaticItemData>;
|
47
|
+
}
|
48
|
+
/**
|
49
|
+
* @internal
|
50
|
+
*/
|
51
|
+
export type ControlType = "keyboard" | "mouse" | "unknown";
|
52
|
+
/**
|
53
|
+
* @internal
|
54
|
+
*/
|
55
|
+
export interface IUiMenuContext<InteractiveItemData, StaticItemData = React.ReactNode> {
|
56
|
+
items: IUiMenuItem<InteractiveItemData, StaticItemData>[];
|
57
|
+
focusedItem: IUiMenuInteractiveItem<InteractiveItemData, StaticItemData> | undefined;
|
58
|
+
itemRefs: React.MutableRefObject<{
|
59
|
+
[id: string]: HTMLElement;
|
60
|
+
}>;
|
61
|
+
onSelect: (item: IUiMenuInteractiveItem<InteractiveItemData, StaticItemData> | undefined) => void;
|
62
|
+
onClose?: () => void;
|
63
|
+
setFocusedId: React.Dispatch<React.SetStateAction<string | undefined>>;
|
64
|
+
isItemFocusable: (item: IUiMenuItem<InteractiveItemData, StaticItemData>) => boolean;
|
65
|
+
}
|
66
|
+
/**
|
67
|
+
* @internal
|
68
|
+
*/
|
69
|
+
export interface UiMenuProps<InteractiveItemData, StaticItemData = React.ReactNode> {
|
70
|
+
items: IUiMenuItem<InteractiveItemData, StaticItemData>[];
|
71
|
+
className?: string;
|
72
|
+
itemClassName?: ((item: IUiMenuItem<InteractiveItemData, StaticItemData>) => string | undefined) | string;
|
73
|
+
maxWidth?: number;
|
74
|
+
onSelect?: (item: IUiMenuInteractiveItem<InteractiveItemData, StaticItemData>) => void;
|
75
|
+
onClose?: () => void;
|
76
|
+
onUnhandledKeyDown?: (event: React.KeyboardEvent, context: IUiMenuContext<InteractiveItemData, StaticItemData>) => void;
|
77
|
+
InteractiveItemComponent?: React.ComponentType<UiMenuInteractiveItemProps<InteractiveItemData, StaticItemData>>;
|
78
|
+
StaticItemComponent?: React.ComponentType<UiMenuStaticItemProps<StaticItemData>>;
|
79
|
+
MenuHeaderComponent?: React.ComponentType<UiMenuHeaderProps<InteractiveItemData, StaticItemData>>;
|
80
|
+
shouldKeyboardActionPreventDefault?: boolean;
|
81
|
+
shouldKeyboardActionStopPropagation?: boolean;
|
82
|
+
shouldCloseOnSelect?: boolean;
|
83
|
+
isDisabledFocusable?: boolean;
|
84
|
+
ariaAttributes: Omit<IDropdownBodyRenderProps["ariaAttributes"], "role">;
|
85
|
+
}
|
86
|
+
//# sourceMappingURL=types.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/@ui/UiMenu/types.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/@ui/UiMenu/types.ts"],"names":[],"mappings":"AAAA,gCAAgC"}
|
package/esm/index.d.ts
CHANGED
@@ -98,6 +98,10 @@ export type { IAccessibilityConfigBase, IMenuAccessibilityConfig, IMenuContainer
|
|
98
98
|
export { UiListbox } from "./@ui/UiListbox/UiListbox.js";
|
99
99
|
export { DefaultUiListboxInteractiveItemComponent } from "./@ui/UiListbox/defaults/DefaultUiListboxInteractiveItemComponent.js";
|
100
100
|
export { separatorStaticItem, DefaultUiListboxStaticItemComponent, } from "./@ui/UiListbox/defaults/DefaultUiListboxStaticItemComponent.js";
|
101
|
-
export type { UiListboxProps,
|
101
|
+
export type { UiListboxProps, IUiListboxContext, IUiListboxItem, IUiListboxStaticItem, UiListboxStaticItemProps, IUiListboxInteractiveItem, UiListboxInteractiveItemProps, } from "./@ui/UiListbox/types.js";
|
102
|
+
export { UiMenu } from "./@ui/UiMenu/UiMenu.js";
|
103
|
+
export { DefaultUiMenuInteractiveItemComponent } from "./@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.js";
|
104
|
+
export { DefaultUiMenuStaticItemComponent } from "./@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.js";
|
105
|
+
export type { UiMenuProps, IUiMenuContext, IUiMenuItem, IUiMenuStaticItem, UiMenuStaticItemProps, IUiMenuInteractiveItem, UiMenuInteractiveItemProps, UiMenuHeaderProps, } from "./@ui/UiMenu/types.js";
|
102
106
|
export { makeMenuKeyboardNavigation } from "./@ui/@utils/keyboardNavigation.js";
|
103
107
|
//# 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
@@ -85,5 +85,8 @@ export { UiFocusTrap } from "./@ui/UiFocusTrap/UiFocusTrap.js";
|
|
85
85
|
export { UiListbox } from "./@ui/UiListbox/UiListbox.js";
|
86
86
|
export { DefaultUiListboxInteractiveItemComponent } from "./@ui/UiListbox/defaults/DefaultUiListboxInteractiveItemComponent.js";
|
87
87
|
export { separatorStaticItem, DefaultUiListboxStaticItemComponent, } from "./@ui/UiListbox/defaults/DefaultUiListboxStaticItemComponent.js";
|
88
|
+
export { UiMenu } from "./@ui/UiMenu/UiMenu.js";
|
89
|
+
export { DefaultUiMenuInteractiveItemComponent } from "./@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.js";
|
90
|
+
export { DefaultUiMenuStaticItemComponent } from "./@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.js";
|
88
91
|
export { makeMenuKeyboardNavigation } from "./@ui/@utils/keyboardNavigation.js";
|
89
92
|
//# 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":"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
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/esm/sdk-ui-kit.d.ts
CHANGED
@@ -557,6 +557,17 @@ export declare function DefaultUiListboxInteractiveItemComponent<T>({ item, isFo
|
|
557
557
|
*/
|
558
558
|
export declare function DefaultUiListboxStaticItemComponent<T>({ item, }: UiListboxStaticItemProps<T>): React_2.ReactNode;
|
559
559
|
|
560
|
+
/**
|
561
|
+
* @internal
|
562
|
+
*/
|
563
|
+
export declare function DefaultUiMenuInteractiveItemComponent<InteractiveItemData, StaticItemData>({ item, isFocused, onSelect, }: UiMenuInteractiveItemProps<InteractiveItemData, StaticItemData>): React_2.ReactNode;
|
564
|
+
|
565
|
+
/**
|
566
|
+
* By default just renders the data.
|
567
|
+
* @internal
|
568
|
+
*/
|
569
|
+
export declare function DefaultUiMenuStaticItemComponent<T>({ item }: UiMenuStaticItemProps<T>): React_2.ReactNode;
|
570
|
+
|
560
571
|
/**
|
561
572
|
* @internal
|
562
573
|
*/
|
@@ -2863,20 +2874,6 @@ export declare interface ILegacySingleSelectListProps<T> {
|
|
2863
2874
|
width: number;
|
2864
2875
|
}
|
2865
2876
|
|
2866
|
-
/**
|
2867
|
-
* @internal
|
2868
|
-
*/
|
2869
|
-
export declare interface IListboxContext<InteractiveItemData, StaticItemData = React_2.ReactNode> {
|
2870
|
-
items: IUiListboxItem<InteractiveItemData, StaticItemData>[];
|
2871
|
-
itemRefs: React_2.MutableRefObject<(HTMLLIElement | null)[]>;
|
2872
|
-
onSelect: (item: IUiListboxInteractiveItem<InteractiveItemData>) => void;
|
2873
|
-
onClose?: () => void;
|
2874
|
-
selectedItemId: string | undefined;
|
2875
|
-
focusedIndex: number | undefined;
|
2876
|
-
setFocusedIndex: React_2.Dispatch<React_2.SetStateAction<number>>;
|
2877
|
-
isItemFocusable: (item: IUiListboxItem<InteractiveItemData, StaticItemData>) => boolean;
|
2878
|
-
}
|
2879
|
-
|
2880
2877
|
/**
|
2881
2878
|
* @internal
|
2882
2879
|
*/
|
@@ -4321,6 +4318,20 @@ export declare interface IUiChipAccessibilityConfig extends IAccessibilityConfig
|
|
4321
4318
|
deleteAriaLabel?: string;
|
4322
4319
|
}
|
4323
4320
|
|
4321
|
+
/**
|
4322
|
+
* @internal
|
4323
|
+
*/
|
4324
|
+
export declare interface IUiListboxContext<InteractiveItemData, StaticItemData = React_2.ReactNode> {
|
4325
|
+
items: IUiListboxItem<InteractiveItemData, StaticItemData>[];
|
4326
|
+
itemRefs: React_2.MutableRefObject<(HTMLLIElement | null)[]>;
|
4327
|
+
onSelect: (item: IUiListboxInteractiveItem<InteractiveItemData>) => void;
|
4328
|
+
onClose?: () => void;
|
4329
|
+
selectedItemId: string | undefined;
|
4330
|
+
focusedIndex: number | undefined;
|
4331
|
+
setFocusedIndex: React_2.Dispatch<React_2.SetStateAction<number | undefined>>;
|
4332
|
+
isItemFocusable: (item: IUiListboxItem<InteractiveItemData, StaticItemData>) => boolean;
|
4333
|
+
}
|
4334
|
+
|
4324
4335
|
/**
|
4325
4336
|
* @internal
|
4326
4337
|
*/
|
@@ -4346,6 +4357,47 @@ export declare interface IUiListboxStaticItem<T> {
|
|
4346
4357
|
data: T;
|
4347
4358
|
}
|
4348
4359
|
|
4360
|
+
/**
|
4361
|
+
* @internal
|
4362
|
+
*/
|
4363
|
+
export declare interface IUiMenuContext<InteractiveItemData, StaticItemData = React_2.ReactNode> {
|
4364
|
+
items: IUiMenuItem<InteractiveItemData, StaticItemData>[];
|
4365
|
+
focusedItem: IUiMenuInteractiveItem<InteractiveItemData, StaticItemData> | undefined;
|
4366
|
+
itemRefs: React_2.MutableRefObject<{
|
4367
|
+
[id: string]: HTMLElement;
|
4368
|
+
}>;
|
4369
|
+
onSelect: (item: IUiMenuInteractiveItem<InteractiveItemData, StaticItemData> | undefined) => void;
|
4370
|
+
onClose?: () => void;
|
4371
|
+
setFocusedId: React_2.Dispatch<React_2.SetStateAction<string | undefined>>;
|
4372
|
+
isItemFocusable: (item: IUiMenuItem<InteractiveItemData, StaticItemData>) => boolean;
|
4373
|
+
}
|
4374
|
+
|
4375
|
+
/**
|
4376
|
+
* @internal
|
4377
|
+
*/
|
4378
|
+
export declare interface IUiMenuInteractiveItem<InteractiveItemData, StaticItemData = React_2.ReactNode> {
|
4379
|
+
type: "interactive";
|
4380
|
+
id: string;
|
4381
|
+
stringTitle: string;
|
4382
|
+
isDisabled?: boolean;
|
4383
|
+
data: InteractiveItemData;
|
4384
|
+
subMenu?: IUiMenuItem<InteractiveItemData, StaticItemData>[];
|
4385
|
+
}
|
4386
|
+
|
4387
|
+
/**
|
4388
|
+
* @internal
|
4389
|
+
*/
|
4390
|
+
export declare type IUiMenuItem<InteractiveItemData, StaticItemData = React_2.ReactNode> = IUiMenuStaticItem<StaticItemData> | IUiMenuInteractiveItem<InteractiveItemData, StaticItemData>;
|
4391
|
+
|
4392
|
+
/**
|
4393
|
+
* @internal
|
4394
|
+
*/
|
4395
|
+
export declare interface IUiMenuStaticItem<T> {
|
4396
|
+
type: "static";
|
4397
|
+
id?: string;
|
4398
|
+
data: T;
|
4399
|
+
}
|
4400
|
+
|
4349
4401
|
/**
|
4350
4402
|
* @internal
|
4351
4403
|
*/
|
@@ -4964,7 +5016,10 @@ export declare type Separators = {
|
|
4964
5016
|
/**
|
4965
5017
|
* @internal
|
4966
5018
|
*/
|
4967
|
-
export declare const separatorStaticItem:
|
5019
|
+
export declare const separatorStaticItem: {
|
5020
|
+
data: React_2.JSX.Element;
|
5021
|
+
type: "static";
|
5022
|
+
};
|
4968
5023
|
|
4969
5024
|
/**
|
4970
5025
|
* @internal
|
@@ -5451,7 +5506,7 @@ export declare interface UiListboxProps<InteractiveItemData, StaticItemData = Re
|
|
5451
5506
|
maxWidth?: number;
|
5452
5507
|
onSelect?: (item: IUiListboxInteractiveItem<InteractiveItemData>) => void;
|
5453
5508
|
onClose?: () => void;
|
5454
|
-
onUnhandledKeyDown?: (event: React_2.KeyboardEvent, context:
|
5509
|
+
onUnhandledKeyDown?: (event: React_2.KeyboardEvent, context: IUiListboxContext<InteractiveItemData, StaticItemData>) => void;
|
5455
5510
|
selectedItemId?: string;
|
5456
5511
|
InteractiveItemComponent?: React_2.ComponentType<UiListboxInteractiveItemProps<InteractiveItemData>>;
|
5457
5512
|
StaticItemComponent?: React_2.ComponentType<UiListboxStaticItemProps<StaticItemData>>;
|
@@ -5459,7 +5514,7 @@ export declare interface UiListboxProps<InteractiveItemData, StaticItemData = Re
|
|
5459
5514
|
shouldKeyboardActionStopPropagation?: boolean;
|
5460
5515
|
shouldCloseOnSelect?: boolean;
|
5461
5516
|
isDisabledFocusable?: boolean;
|
5462
|
-
ariaAttributes: IDropdownBodyRenderProps["ariaAttributes"]
|
5517
|
+
ariaAttributes: Omit<IDropdownBodyRenderProps["ariaAttributes"], "role">;
|
5463
5518
|
}
|
5464
5519
|
|
5465
5520
|
/**
|
@@ -5469,6 +5524,61 @@ export declare interface UiListboxStaticItemProps<T> {
|
|
5469
5524
|
item: IUiListboxStaticItem<T>;
|
5470
5525
|
}
|
5471
5526
|
|
5527
|
+
/**
|
5528
|
+
* An accessible menu component that can be navigated by keyboard.
|
5529
|
+
* Usable in a <Dropdown /> component.
|
5530
|
+
* Should implement https://www.w3.org/WAI/ARIA/apg/patterns/menubar/
|
5531
|
+
*
|
5532
|
+
* @internal
|
5533
|
+
*/
|
5534
|
+
export declare function UiMenu<InteractiveItemData, StaticItemData>({ items, className, itemClassName, maxWidth, onSelect, onClose, onUnhandledKeyDown, InteractiveItemComponent, StaticItemComponent, MenuHeaderComponent, shouldKeyboardActionPreventDefault, shouldKeyboardActionStopPropagation, shouldCloseOnSelect, isDisabledFocusable, ariaAttributes, }: UiMenuProps<InteractiveItemData, StaticItemData>): React_2.ReactNode;
|
5535
|
+
|
5536
|
+
/**
|
5537
|
+
* @internal
|
5538
|
+
*/
|
5539
|
+
export declare interface UiMenuHeaderProps<InteractiveItemData, StaticItemData = React_2.ReactNode> {
|
5540
|
+
onBack?: () => void;
|
5541
|
+
onClose?: () => void;
|
5542
|
+
parentItem?: IUiMenuInteractiveItem<InteractiveItemData, StaticItemData>;
|
5543
|
+
}
|
5544
|
+
|
5545
|
+
/**
|
5546
|
+
* @internal
|
5547
|
+
*/
|
5548
|
+
export declare interface UiMenuInteractiveItemProps<InteractiveItemData, StaticItemData = React_2.ReactNode> {
|
5549
|
+
item: IUiMenuInteractiveItem<InteractiveItemData, StaticItemData>;
|
5550
|
+
isFocused: boolean;
|
5551
|
+
onSelect: () => void;
|
5552
|
+
}
|
5553
|
+
|
5554
|
+
/**
|
5555
|
+
* @internal
|
5556
|
+
*/
|
5557
|
+
export declare interface UiMenuProps<InteractiveItemData, StaticItemData = React_2.ReactNode> {
|
5558
|
+
items: IUiMenuItem<InteractiveItemData, StaticItemData>[];
|
5559
|
+
className?: string;
|
5560
|
+
itemClassName?: ((item: IUiMenuItem<InteractiveItemData, StaticItemData>) => string | undefined) | string;
|
5561
|
+
maxWidth?: number;
|
5562
|
+
onSelect?: (item: IUiMenuInteractiveItem<InteractiveItemData, StaticItemData>) => void;
|
5563
|
+
onClose?: () => void;
|
5564
|
+
onUnhandledKeyDown?: (event: React_2.KeyboardEvent, context: IUiMenuContext<InteractiveItemData, StaticItemData>) => void;
|
5565
|
+
InteractiveItemComponent?: React_2.ComponentType<UiMenuInteractiveItemProps<InteractiveItemData, StaticItemData>>;
|
5566
|
+
StaticItemComponent?: React_2.ComponentType<UiMenuStaticItemProps<StaticItemData>>;
|
5567
|
+
MenuHeaderComponent?: React_2.ComponentType<UiMenuHeaderProps<InteractiveItemData, StaticItemData>>;
|
5568
|
+
shouldKeyboardActionPreventDefault?: boolean;
|
5569
|
+
shouldKeyboardActionStopPropagation?: boolean;
|
5570
|
+
shouldCloseOnSelect?: boolean;
|
5571
|
+
isDisabledFocusable?: boolean;
|
5572
|
+
ariaAttributes: Omit<IDropdownBodyRenderProps["ariaAttributes"], "role">;
|
5573
|
+
}
|
5574
|
+
|
5575
|
+
/**
|
5576
|
+
* @internal
|
5577
|
+
*/
|
5578
|
+
export declare interface UiMenuStaticItemProps<T> {
|
5579
|
+
item: IUiMenuStaticItem<T>;
|
5580
|
+
}
|
5581
|
+
|
5472
5582
|
/**
|
5473
5583
|
* @internal
|
5474
5584
|
*/
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@gooddata/sdk-ui-kit",
|
3
|
-
"version": "10.27.0-alpha.
|
3
|
+
"version": "10.27.0-alpha.13",
|
4
4
|
"description": "GoodData SDK - UI Building Components",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -70,11 +70,11 @@
|
|
70
70
|
"tslib": "^2.5.0",
|
71
71
|
"uuid": "^8.3.2",
|
72
72
|
"unified": "^11.0.5",
|
73
|
-
"@gooddata/sdk-
|
74
|
-
"@gooddata/sdk-
|
75
|
-
"@gooddata/sdk-ui
|
76
|
-
"@gooddata/
|
77
|
-
"@gooddata/
|
73
|
+
"@gooddata/sdk-model": "10.27.0-alpha.13",
|
74
|
+
"@gooddata/sdk-backend-spi": "10.27.0-alpha.13",
|
75
|
+
"@gooddata/sdk-ui": "10.27.0-alpha.13",
|
76
|
+
"@gooddata/sdk-ui-theme-provider": "10.27.0-alpha.13",
|
77
|
+
"@gooddata/util": "10.27.0-alpha.13"
|
78
78
|
},
|
79
79
|
"peerDependencies": {
|
80
80
|
"react": "^16.10.0 || ^17.0.0 || ^18.0.0",
|
@@ -133,8 +133,8 @@
|
|
133
133
|
"typescript": "5.3.3",
|
134
134
|
"vitest": "3.0.8",
|
135
135
|
"vitest-dom": "0.1.1",
|
136
|
-
"@gooddata/reference-workspace": "10.27.0-alpha.
|
137
|
-
"@gooddata/sdk-backend-mockingbird": "10.27.0-alpha.
|
136
|
+
"@gooddata/reference-workspace": "10.27.0-alpha.13",
|
137
|
+
"@gooddata/sdk-backend-mockingbird": "10.27.0-alpha.13"
|
138
138
|
},
|
139
139
|
"scripts": {
|
140
140
|
"clean": "rm -rf ci dist esm coverage styles/css *.log tsconfig.tsbuildinfo",
|
@@ -0,0 +1,115 @@
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
2
|
+
|
3
|
+
@use "../../../styles/scss/variables";
|
4
|
+
|
5
|
+
.gd-ui-kit-menu {
|
6
|
+
$root: &;
|
7
|
+
|
8
|
+
max-height: 300px;
|
9
|
+
width: 100%;
|
10
|
+
min-width: 200px;
|
11
|
+
position: relative;
|
12
|
+
display: flex;
|
13
|
+
flex-direction: column;
|
14
|
+
user-select: none;
|
15
|
+
|
16
|
+
&__items-container {
|
17
|
+
width: 100%;
|
18
|
+
height: 100%;
|
19
|
+
overflow-y: auto;
|
20
|
+
overflow-x: hidden;
|
21
|
+
}
|
22
|
+
|
23
|
+
@media #{variables.$small-only} {
|
24
|
+
// !important to override inline style from maxWidth prop
|
25
|
+
/* stylelint-disable-next-line declaration-no-important */
|
26
|
+
max-width: 100vw !important;
|
27
|
+
max-height: 100vh;
|
28
|
+
width: 100vw;
|
29
|
+
}
|
30
|
+
|
31
|
+
&__menu-header {
|
32
|
+
display: flex;
|
33
|
+
gap: 0.5rem;
|
34
|
+
align-items: center;
|
35
|
+
width: 100%;
|
36
|
+
background: variables.$default-is-focused-background;
|
37
|
+
border-bottom: 1px solid variables.$gd-border-color;
|
38
|
+
|
39
|
+
&-title {
|
40
|
+
line-height: 2rem;
|
41
|
+
cursor: pointer;
|
42
|
+
display: flex;
|
43
|
+
gap: 0.5rem;
|
44
|
+
align-items: center;
|
45
|
+
flex-grow: 1;
|
46
|
+
background: none;
|
47
|
+
border: none;
|
48
|
+
font-size: 11px;
|
49
|
+
color: variables.$gd-color-state-blank;
|
50
|
+
overflow: hidden;
|
51
|
+
|
52
|
+
&-text {
|
53
|
+
margin: 0;
|
54
|
+
white-space: nowrap;
|
55
|
+
font-weight: bold;
|
56
|
+
text-transform: uppercase;
|
57
|
+
overflow: hidden;
|
58
|
+
}
|
59
|
+
}
|
60
|
+
&-close-icon {
|
61
|
+
flex-shrink: 0;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
&__items {
|
66
|
+
list-style: none;
|
67
|
+
margin: 0;
|
68
|
+
padding: 0;
|
69
|
+
outline: none;
|
70
|
+
|
71
|
+
&:focus-visible #{$root}__item--isFocused {
|
72
|
+
outline-offset: -2px;
|
73
|
+
outline: auto 5px Highlight; /* For Firefox */
|
74
|
+
// stylelint-disable-next-line declaration-block-no-duplicate-properties
|
75
|
+
outline: auto 5px -webkit-focus-ring-color; /* For Chrome */
|
76
|
+
}
|
77
|
+
}
|
78
|
+
|
79
|
+
&__item {
|
80
|
+
padding: 8px 10px;
|
81
|
+
cursor: pointer;
|
82
|
+
display: flex;
|
83
|
+
align-items: center;
|
84
|
+
font-size: 14px;
|
85
|
+
line-height: 20px;
|
86
|
+
color: variables.$gd-color-text;
|
87
|
+
transition: background-color 0.2s;
|
88
|
+
|
89
|
+
// Controlled by mouse and has hover
|
90
|
+
#{$root}--controlType-mouse &:hover:not(&--isDisabled) {
|
91
|
+
background-color: variables.$is-focused-background;
|
92
|
+
color: variables.$is-focused-color;
|
93
|
+
}
|
94
|
+
|
95
|
+
// Controlled by keyboard and has focus, not disabled
|
96
|
+
#{$root}--controlType-keyboard #{$root}__items:focus &--isFocused:not(&--isDisabled) {
|
97
|
+
background-color: variables.$is-focused-background;
|
98
|
+
color: variables.$is-focused-color;
|
99
|
+
}
|
100
|
+
// Controlled by keyboard and has focus, disabled
|
101
|
+
#{$root}--controlType-keyboard #{$root}__items:focus &--isFocused#{&}--isDisabled {
|
102
|
+
background-color: variables.$is-focused-background;
|
103
|
+
}
|
104
|
+
|
105
|
+
&--isDisabled {
|
106
|
+
color: variables.$gd-color-disabled;
|
107
|
+
cursor: not-allowed;
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
111
|
+
&__item-title {
|
112
|
+
width: 100%;
|
113
|
+
white-space: nowrap;
|
114
|
+
}
|
115
|
+
}
|
package/src/@ui/index.scss
CHANGED