@gooddata/sdk-ui-kit 10.27.0-alpha.22 → 10.27.0-alpha.24
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/@types/icon.d.ts +1 -1
- package/esm/@ui/@types/icon.d.ts.map +1 -1
- package/esm/@ui/UiButton/UiButton.d.ts +2 -0
- package/esm/@ui/UiButton/UiButton.d.ts.map +1 -1
- package/esm/@ui/UiButton/UiButton.js +2 -2
- package/esm/@ui/UiButton/UiButton.js.map +1 -1
- package/esm/@ui/UiIcon/icons.d.ts.map +1 -1
- package/esm/@ui/UiIcon/icons.js +2 -0
- package/esm/@ui/UiIcon/icons.js.map +1 -1
- package/esm/@ui/UiMenu/UiMenu.d.ts +2 -2
- package/esm/@ui/UiMenu/UiMenu.d.ts.map +1 -1
- package/esm/@ui/UiMenu/UiMenu.js +16 -74
- package/esm/@ui/UiMenu/UiMenu.js.map +1 -1
- package/esm/@ui/UiMenu/context.d.ts +11 -0
- package/esm/@ui/UiMenu/context.d.ts.map +1 -0
- package/esm/@ui/UiMenu/context.js +11 -0
- package/esm/@ui/UiMenu/context.js.map +1 -0
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.d.ts +7 -0
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.d.ts.map +1 -0
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.js +21 -0
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuGroupItemComponent.js.map +1 -0
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.d.ts +2 -2
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.d.ts.map +1 -1
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.js +19 -3
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuHeaderComponent.js.map +1 -1
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.d.ts +6 -2
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.d.ts.map +1 -1
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.js +45 -2
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuInteractiveItemComponent.js.map +1 -1
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.d.ts +2 -2
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.d.ts.map +1 -1
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.js +8 -3
- package/esm/@ui/UiMenu/defaults/DefaultUiMenuStaticItemComponent.js.map +1 -1
- package/esm/@ui/UiMenu/hooks.d.ts +11 -11
- package/esm/@ui/UiMenu/hooks.d.ts.map +1 -1
- package/esm/@ui/UiMenu/hooks.js +101 -15
- package/esm/@ui/UiMenu/hooks.js.map +1 -1
- package/esm/@ui/UiMenu/itemUtils.d.ts +15 -14
- package/esm/@ui/UiMenu/itemUtils.d.ts.map +1 -1
- package/esm/@ui/UiMenu/itemUtils.js +39 -11
- package/esm/@ui/UiMenu/itemUtils.js.map +1 -1
- package/esm/@ui/UiMenu/types.d.ts +70 -32
- package/esm/@ui/UiMenu/types.d.ts.map +1 -1
- package/esm/index.d.ts +1 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js.map +1 -1
- package/esm/sdk-ui-kit.d.ts +85 -36
- package/esm/typings/accessibility.d.ts +1 -1
- package/esm/typings/accessibility.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/@ui/UiChip/UiChip.scss +1 -0
- package/src/@ui/UiListbox/UiListbox.scss +2 -4
- package/src/@ui/UiMenu/UiMenu.scss +23 -7
- package/styles/css/main.css +24 -7
- package/styles/css/main.css.map +1 -1
- package/styles/scss/mixins.scss +6 -0
package/esm/sdk-ui-kit.d.ts
CHANGED
@@ -560,13 +560,13 @@ export declare function DefaultUiListboxStaticItemComponent<T>({ item, }: UiList
|
|
560
560
|
/**
|
561
561
|
* @internal
|
562
562
|
*/
|
563
|
-
export declare function DefaultUiMenuInteractiveItemComponent<
|
563
|
+
export declare function DefaultUiMenuInteractiveItemComponent<T extends IUiMenuItemData = object>({ item, isFocused, onSelect, }: UiMenuInteractiveItemProps<T>): React_2.ReactNode;
|
564
564
|
|
565
565
|
/**
|
566
566
|
* By default just renders the data.
|
567
567
|
* @internal
|
568
568
|
*/
|
569
|
-
export declare
|
569
|
+
export declare const DefaultUiMenuStaticItemComponent: React_2.MemoExoticComponent<(<T extends IUiMenuItemData = object>({ item }: UiMenuStaticItemProps<T>) => React_2.ReactElement)>;
|
570
570
|
|
571
571
|
/**
|
572
572
|
* @internal
|
@@ -1092,6 +1092,7 @@ export declare interface IAccessibilityConfigBase {
|
|
1092
1092
|
ariaLabelledBy?: React.AriaAttributes["aria-labelledby"];
|
1093
1093
|
ariaDescribedBy?: React.AriaAttributes["aria-describedby"];
|
1094
1094
|
role?: React.HTMLAttributes<HTMLElement>["role"];
|
1095
|
+
ariaExpanded?: "true" | "false";
|
1095
1096
|
}
|
1096
1097
|
|
1097
1098
|
/**
|
@@ -1549,7 +1550,7 @@ export declare const iconPaths: Record<IconType, React_2.ReactNode>;
|
|
1549
1550
|
/**
|
1550
1551
|
* @internal
|
1551
1552
|
*/
|
1552
|
-
export declare type IconType = "check" | "plus" | "sync" | "alert" | "close" | "question" | "crossCircle" | "chevronUp" | "chevronDown" | "date" | "lock" | "cross";
|
1553
|
+
export declare type IconType = "check" | "plus" | "sync" | "alert" | "close" | "question" | "crossCircle" | "chevronUp" | "chevronDown" | "date" | "lock" | "cross" | "navigateUp" | "navigateDown";
|
1553
1554
|
|
1554
1555
|
/**
|
1555
1556
|
* @internal
|
@@ -3028,7 +3029,6 @@ export declare interface IMenuAccessibilityConfig extends IAccessibilityConfigBa
|
|
3028
3029
|
role?: "menu" | "menuitem" | "separator" | "presentation";
|
3029
3030
|
ariaDisabled?: "true" | "false";
|
3030
3031
|
ariaHaspopup?: "true" | "false" | "menu" | "listbox" | "tree" | "grid" | "dialog";
|
3031
|
-
ariaExpanded?: "true" | "false";
|
3032
3032
|
ariaControls?: string;
|
3033
3033
|
}
|
3034
3034
|
|
@@ -4360,43 +4360,82 @@ export declare interface IUiListboxStaticItem<T> {
|
|
4360
4360
|
/**
|
4361
4361
|
* @internal
|
4362
4362
|
*/
|
4363
|
-
export declare interface IUiMenuContext<
|
4364
|
-
items: IUiMenuItem<
|
4365
|
-
focusedItem: IUiMenuInteractiveItem<
|
4366
|
-
|
4367
|
-
[id: string]: HTMLElement;
|
4368
|
-
}>;
|
4369
|
-
onSelect: (item: IUiMenuInteractiveItem<InteractiveItemData, StaticItemData> | undefined) => void;
|
4363
|
+
export declare interface IUiMenuContext<T extends IUiMenuItemData = object> extends IUiMenuPluggableComponents<T> {
|
4364
|
+
items: IUiMenuItem<T>[];
|
4365
|
+
focusedItem: IUiMenuInteractiveItem<T> | undefined;
|
4366
|
+
onSelect: (item: IUiMenuInteractiveItem<T> | undefined) => void;
|
4370
4367
|
onClose?: () => void;
|
4371
4368
|
setFocusedId: React_2.Dispatch<React_2.SetStateAction<string | undefined>>;
|
4372
|
-
isItemFocusable: (item: IUiMenuItem<
|
4369
|
+
isItemFocusable: (item: IUiMenuItem<T>) => boolean;
|
4370
|
+
controlType: IUiMenuControlType;
|
4371
|
+
setControlType: React_2.Dispatch<React_2.SetStateAction<IUiMenuControlType>>;
|
4372
|
+
scrollToView: (element: HTMLElement | null) => void;
|
4373
|
+
makeItemId: (item: IUiMenuItem<T>) => string;
|
4374
|
+
itemClassName?: ((item: IUiMenuItem<T>) => string | undefined) | string;
|
4375
|
+
ItemComponent: React_2.ComponentType<UiMenuItemProps<T>>;
|
4376
|
+
menuComponentRef: React_2.RefObject<HTMLElement>;
|
4377
|
+
itemsContainerRef: React_2.RefObject<HTMLElement>;
|
4373
4378
|
}
|
4374
4379
|
|
4375
4380
|
/**
|
4376
4381
|
* @internal
|
4377
4382
|
*/
|
4378
|
-
export declare
|
4383
|
+
export declare type IUiMenuControlType = "keyboard" | "mouse" | "unknown";
|
4384
|
+
|
4385
|
+
/**
|
4386
|
+
* @internal
|
4387
|
+
*/
|
4388
|
+
export declare type IUiMenuGroupItem<T extends IUiMenuItemData = object> = {
|
4389
|
+
type: "group";
|
4390
|
+
id: string;
|
4391
|
+
stringTitle: string;
|
4392
|
+
data: T["group"];
|
4393
|
+
subItems: IUiMenuItem<T>[];
|
4394
|
+
};
|
4395
|
+
|
4396
|
+
/**
|
4397
|
+
* @internal
|
4398
|
+
*/
|
4399
|
+
export declare type IUiMenuInteractiveItem<T extends IUiMenuItemData = object> = {
|
4379
4400
|
type: "interactive";
|
4380
4401
|
id: string;
|
4381
4402
|
stringTitle: string;
|
4382
4403
|
isDisabled?: boolean;
|
4383
|
-
data:
|
4384
|
-
|
4385
|
-
}
|
4404
|
+
data: T["interactive"];
|
4405
|
+
subItems?: IUiMenuItem<T>[];
|
4406
|
+
};
|
4386
4407
|
|
4387
4408
|
/**
|
4388
4409
|
* @internal
|
4389
4410
|
*/
|
4390
|
-
export declare type IUiMenuItem<
|
4411
|
+
export declare type IUiMenuItem<T extends IUiMenuItemData = object> = IUiMenuStaticItem<T> | IUiMenuInteractiveItem<T> | IUiMenuGroupItem<T>;
|
4412
|
+
|
4413
|
+
/**
|
4414
|
+
* @internal
|
4415
|
+
*/
|
4416
|
+
export declare type IUiMenuItemData = {
|
4417
|
+
[type in IUiMenuItem<any>["type"]]?: unknown;
|
4418
|
+
};
|
4391
4419
|
|
4392
4420
|
/**
|
4393
4421
|
* @internal
|
4394
4422
|
*/
|
4395
|
-
export declare interface
|
4423
|
+
export declare interface IUiMenuPluggableComponents<T extends IUiMenuItemData = object> {
|
4424
|
+
InteractiveItemComponent: React_2.ComponentType<UiMenuInteractiveItemProps<T>>;
|
4425
|
+
InteractiveItemWrapperComponent: React_2.ComponentType<UiMenuInteractiveItemWrapperProps<T>>;
|
4426
|
+
GroupItemComponent: React_2.ComponentType<UiMenuGroupItemProps<T>>;
|
4427
|
+
StaticItemComponent: React_2.ComponentType<UiMenuStaticItemProps<T>>;
|
4428
|
+
MenuHeaderComponent: React_2.ComponentType;
|
4429
|
+
}
|
4430
|
+
|
4431
|
+
/**
|
4432
|
+
* @internal
|
4433
|
+
*/
|
4434
|
+
export declare type IUiMenuStaticItem<T extends IUiMenuItemData = object> = {
|
4396
4435
|
type: "static";
|
4397
4436
|
id?: string;
|
4398
|
-
data: T;
|
4399
|
-
}
|
4437
|
+
data: T["static"];
|
4438
|
+
};
|
4400
4439
|
|
4401
4440
|
/**
|
4402
4441
|
* @internal
|
@@ -5387,6 +5426,7 @@ export declare interface UiButtonProps {
|
|
5387
5426
|
tooltip?: React_2.ReactNode;
|
5388
5427
|
onClick?: (e: React_2.MouseEvent<HTMLButtonElement>) => void;
|
5389
5428
|
dataId?: string;
|
5429
|
+
accessibilityConfig?: IAccessibilityConfigBase;
|
5390
5430
|
}
|
5391
5431
|
|
5392
5432
|
/**
|
@@ -5531,22 +5571,20 @@ export declare interface UiListboxStaticItemProps<T> {
|
|
5531
5571
|
*
|
5532
5572
|
* @internal
|
5533
5573
|
*/
|
5534
|
-
export declare function UiMenu<
|
5574
|
+
export declare function UiMenu<T extends IUiMenuItemData = object>(props: UiMenuProps<T>): React_2.ReactNode;
|
5535
5575
|
|
5536
5576
|
/**
|
5537
5577
|
* @internal
|
5538
5578
|
*/
|
5539
|
-
export declare interface
|
5540
|
-
|
5541
|
-
onClose?: () => void;
|
5542
|
-
parentItem?: IUiMenuInteractiveItem<InteractiveItemData, StaticItemData>;
|
5579
|
+
export declare interface UiMenuGroupItemProps<T extends IUiMenuItemData = object> {
|
5580
|
+
item: IUiMenuGroupItem<T>;
|
5543
5581
|
}
|
5544
5582
|
|
5545
5583
|
/**
|
5546
5584
|
* @internal
|
5547
5585
|
*/
|
5548
|
-
export declare interface UiMenuInteractiveItemProps<
|
5549
|
-
item: IUiMenuInteractiveItem<
|
5586
|
+
export declare interface UiMenuInteractiveItemProps<T extends IUiMenuItemData = object> {
|
5587
|
+
item: IUiMenuInteractiveItem<T>;
|
5550
5588
|
isFocused: boolean;
|
5551
5589
|
onSelect: () => void;
|
5552
5590
|
}
|
@@ -5554,17 +5592,28 @@ export declare interface UiMenuInteractiveItemProps<InteractiveItemData, StaticI
|
|
5554
5592
|
/**
|
5555
5593
|
* @internal
|
5556
5594
|
*/
|
5557
|
-
export declare interface
|
5558
|
-
|
5595
|
+
export declare interface UiMenuInteractiveItemWrapperProps<T extends IUiMenuItemData = object> {
|
5596
|
+
item: IUiMenuInteractiveItem<T>;
|
5597
|
+
}
|
5598
|
+
|
5599
|
+
/**
|
5600
|
+
* @internal
|
5601
|
+
*/
|
5602
|
+
export declare interface UiMenuItemProps<T extends IUiMenuItemData = object> {
|
5603
|
+
item: IUiMenuItem<T>;
|
5604
|
+
}
|
5605
|
+
|
5606
|
+
/**
|
5607
|
+
* @internal
|
5608
|
+
*/
|
5609
|
+
export declare interface UiMenuProps<T extends IUiMenuItemData = object> extends Partial<IUiMenuPluggableComponents<T>> {
|
5610
|
+
items: IUiMenuItem<T>[];
|
5559
5611
|
className?: string;
|
5560
|
-
itemClassName?: ((item: IUiMenuItem<
|
5612
|
+
itemClassName?: ((item: IUiMenuItem<T>) => string | undefined) | string;
|
5561
5613
|
maxWidth?: number;
|
5562
|
-
onSelect?: (item: IUiMenuInteractiveItem<
|
5614
|
+
onSelect?: (item: IUiMenuInteractiveItem<T>) => void;
|
5563
5615
|
onClose?: () => void;
|
5564
|
-
onUnhandledKeyDown?: (event: React_2.KeyboardEvent, context: IUiMenuContext<
|
5565
|
-
InteractiveItemComponent?: React_2.ComponentType<UiMenuInteractiveItemProps<InteractiveItemData, StaticItemData>>;
|
5566
|
-
StaticItemComponent?: React_2.ComponentType<UiMenuStaticItemProps<StaticItemData>>;
|
5567
|
-
MenuHeaderComponent?: React_2.ComponentType<UiMenuHeaderProps<InteractiveItemData, StaticItemData>>;
|
5616
|
+
onUnhandledKeyDown?: (event: React_2.KeyboardEvent, context: IUiMenuContext<T>) => void;
|
5568
5617
|
shouldKeyboardActionPreventDefault?: boolean;
|
5569
5618
|
shouldKeyboardActionStopPropagation?: boolean;
|
5570
5619
|
shouldCloseOnSelect?: boolean;
|
@@ -5575,7 +5624,7 @@ export declare interface UiMenuProps<InteractiveItemData, StaticItemData = React
|
|
5575
5624
|
/**
|
5576
5625
|
* @internal
|
5577
5626
|
*/
|
5578
|
-
export declare interface UiMenuStaticItemProps<T> {
|
5627
|
+
export declare interface UiMenuStaticItemProps<T extends IUiMenuItemData = object> {
|
5579
5628
|
item: IUiMenuStaticItem<T>;
|
5580
5629
|
}
|
5581
5630
|
|
@@ -7,6 +7,7 @@ export interface IAccessibilityConfigBase {
|
|
7
7
|
ariaLabelledBy?: React.AriaAttributes["aria-labelledby"];
|
8
8
|
ariaDescribedBy?: React.AriaAttributes["aria-describedby"];
|
9
9
|
role?: React.HTMLAttributes<HTMLElement>["role"];
|
10
|
+
ariaExpanded?: "true" | "false";
|
10
11
|
}
|
11
12
|
/**
|
12
13
|
* @internal
|
@@ -16,7 +17,6 @@ export interface IMenuAccessibilityConfig extends IAccessibilityConfigBase {
|
|
16
17
|
role?: "menu" | "menuitem" | "separator" | "presentation";
|
17
18
|
ariaDisabled?: "true" | "false";
|
18
19
|
ariaHaspopup?: "true" | "false" | "menu" | "listbox" | "tree" | "grid" | "dialog";
|
19
|
-
ariaExpanded?: "true" | "false";
|
20
20
|
ariaControls?: string;
|
21
21
|
}
|
22
22
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"accessibility.d.ts","sourceRoot":"","sources":["../../src/typings/accessibility.ts"],"names":[],"mappings":";AAEA;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAC/C,cAAc,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"accessibility.d.ts","sourceRoot":"","sources":["../../src/typings/accessibility.ts"],"names":[],"mappings":";AAEA;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,SAAS,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAC/C,cAAc,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;IACjD,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,wBAAwB;IACtE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,CAAC;IAC1D,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEhC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;IAClF,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,iCAAkC,SAAQ,wBAAwB;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
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.24",
|
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": "10.27.0-alpha.
|
76
|
-
"@gooddata/sdk-ui
|
77
|
-
"@gooddata/util": "10.27.0-alpha.
|
73
|
+
"@gooddata/sdk-backend-spi": "10.27.0-alpha.24",
|
74
|
+
"@gooddata/sdk-model": "10.27.0-alpha.24",
|
75
|
+
"@gooddata/sdk-ui-theme-provider": "10.27.0-alpha.24",
|
76
|
+
"@gooddata/sdk-ui": "10.27.0-alpha.24",
|
77
|
+
"@gooddata/util": "10.27.0-alpha.24"
|
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.24",
|
137
|
+
"@gooddata/sdk-backend-mockingbird": "10.27.0-alpha.24"
|
138
138
|
},
|
139
139
|
"scripts": {
|
140
140
|
"clean": "rm -rf ci dist esm coverage styles/css *.log tsconfig.tsbuildinfo",
|
@@ -26,6 +26,7 @@ $action-box-shadow: var(--gd-button-dropShadow, 0 -1px 0 0) var(--gd-palette-err
|
|
26
26
|
|
27
27
|
border-radius: $border-radius;
|
28
28
|
border: 1px solid $border-color;
|
29
|
+
background-color: $background-color;
|
29
30
|
|
30
31
|
&:has(#{$root}__trigger:hover) {
|
31
32
|
border-color: $border-color;
|
@@ -1,6 +1,7 @@
|
|
1
1
|
// (C) 2025 GoodData Corporation
|
2
2
|
|
3
3
|
@use "../../../styles/scss/variables";
|
4
|
+
@use "../../../styles/scss/mixins";
|
4
5
|
|
5
6
|
.gd-ui-kit-listbox {
|
6
7
|
$root: &;
|
@@ -26,10 +27,7 @@
|
|
26
27
|
outline: none;
|
27
28
|
|
28
29
|
&:focus-visible #{$root}__item--isFocused {
|
29
|
-
|
30
|
-
outline: auto 5px Highlight; /* For Firefox */
|
31
|
-
// stylelint-disable-next-line declaration-block-no-duplicate-properties
|
32
|
-
outline: auto 5px -webkit-focus-ring-color; /* For Chrome */
|
30
|
+
@include mixins.focus-ring;
|
33
31
|
}
|
34
32
|
}
|
35
33
|
|
@@ -1,6 +1,7 @@
|
|
1
1
|
// (C) 2025 GoodData Corporation
|
2
2
|
|
3
3
|
@use "../../../styles/scss/variables";
|
4
|
+
@use "../../../styles/scss/mixins";
|
4
5
|
|
5
6
|
.gd-ui-kit-menu {
|
6
7
|
$root: &;
|
@@ -62,18 +63,29 @@
|
|
62
63
|
}
|
63
64
|
}
|
64
65
|
|
66
|
+
&__group {
|
67
|
+
list-style: none;
|
68
|
+
margin: 0;
|
69
|
+
padding: 0;
|
70
|
+
}
|
71
|
+
|
72
|
+
&__group-title-container {
|
73
|
+
padding: 4px 10px;
|
74
|
+
}
|
75
|
+
|
76
|
+
&__group-title {
|
77
|
+
text-transform: uppercase;
|
78
|
+
color: variables.$gd-color-text-dimmed;
|
79
|
+
font-size: 10px;
|
80
|
+
font-weight: normal;
|
81
|
+
margin: 0;
|
82
|
+
}
|
83
|
+
|
65
84
|
&__items {
|
66
85
|
list-style: none;
|
67
86
|
margin: 0;
|
68
87
|
padding: 0;
|
69
88
|
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
89
|
}
|
78
90
|
|
79
91
|
&__item {
|
@@ -96,10 +108,14 @@
|
|
96
108
|
#{$root}--controlType-keyboard #{$root}__items:focus &--isFocused:not(&--isDisabled) {
|
97
109
|
background-color: variables.$is-focused-background;
|
98
110
|
color: variables.$is-focused-color;
|
111
|
+
|
112
|
+
@include mixins.focus-ring;
|
99
113
|
}
|
100
114
|
// Controlled by keyboard and has focus, disabled
|
101
115
|
#{$root}--controlType-keyboard #{$root}__items:focus &--isFocused#{&}--isDisabled {
|
102
116
|
background-color: variables.$is-focused-background;
|
117
|
+
|
118
|
+
@include mixins.focus-ring;
|
103
119
|
}
|
104
120
|
|
105
121
|
&--isDisabled {
|
package/styles/css/main.css
CHANGED
@@ -632,6 +632,7 @@
|
|
632
632
|
position: relative;
|
633
633
|
border-radius: 20px;
|
634
634
|
border: 1px solid var(--gd-palette-complementary-4);
|
635
|
+
background-color: var(--gd-palette-complementary-0);
|
635
636
|
}
|
636
637
|
.gd-ui-kit-chip:has(.gd-ui-kit-chip__trigger:hover) {
|
637
638
|
border-color: var(--gd-palette-complementary-4);
|
@@ -793,6 +794,8 @@
|
|
793
794
|
transition: var(--gd-transition-all);
|
794
795
|
}
|
795
796
|
|
797
|
+
/* allow vendor prefixes and disable max length */
|
798
|
+
/* allow vendor prefixes and disable max length */
|
796
799
|
.gd-ui-kit-listbox {
|
797
800
|
max-height: 300px;
|
798
801
|
overflow-y: auto;
|
@@ -910,17 +913,27 @@
|
|
910
913
|
.gd-ui-kit-menu__menu-header-close-icon {
|
911
914
|
flex-shrink: 0;
|
912
915
|
}
|
916
|
+
.gd-ui-kit-menu__group {
|
917
|
+
list-style: none;
|
918
|
+
margin: 0;
|
919
|
+
padding: 0;
|
920
|
+
}
|
921
|
+
.gd-ui-kit-menu__group-title-container {
|
922
|
+
padding: 4px 10px;
|
923
|
+
}
|
924
|
+
.gd-ui-kit-menu__group-title {
|
925
|
+
text-transform: uppercase;
|
926
|
+
color: var(--gd-palette-complementary-5, #b0beca);
|
927
|
+
font-size: 10px;
|
928
|
+
font-weight: normal;
|
929
|
+
margin: 0;
|
930
|
+
}
|
913
931
|
.gd-ui-kit-menu__items {
|
914
932
|
list-style: none;
|
915
933
|
margin: 0;
|
916
934
|
padding: 0;
|
917
935
|
outline: none;
|
918
936
|
}
|
919
|
-
.gd-ui-kit-menu__items:focus-visible .gd-ui-kit-menu__item--isFocused {
|
920
|
-
outline-offset: -2px;
|
921
|
-
outline: auto 5px Highlight; /* For Firefox */
|
922
|
-
outline: auto 5px -webkit-focus-ring-color; /* For Chrome */
|
923
|
-
}
|
924
937
|
.gd-ui-kit-menu__item {
|
925
938
|
padding: 8px 10px;
|
926
939
|
cursor: pointer;
|
@@ -938,9 +951,15 @@
|
|
938
951
|
.gd-ui-kit-menu--controlType-keyboard .gd-ui-kit-menu__items:focus .gd-ui-kit-menu__item--isFocused:not(.gd-ui-kit-menu__item--isDisabled) {
|
939
952
|
background-color: var(--gd-palette-complementary-2, #ebeff4);
|
940
953
|
color: var(--gd-palette-complementary-9, #000);
|
954
|
+
outline-offset: -2px;
|
955
|
+
outline: auto 5px Highlight; /* For Firefox */
|
956
|
+
outline: auto 5px -webkit-focus-ring-color; /* For Chrome */
|
941
957
|
}
|
942
958
|
.gd-ui-kit-menu--controlType-keyboard .gd-ui-kit-menu__items:focus .gd-ui-kit-menu__item--isFocused.gd-ui-kit-menu__item--isDisabled {
|
943
959
|
background-color: var(--gd-palette-complementary-2, #ebeff4);
|
960
|
+
outline-offset: -2px;
|
961
|
+
outline: auto 5px Highlight; /* For Firefox */
|
962
|
+
outline: auto 5px -webkit-focus-ring-color; /* For Chrome */
|
944
963
|
}
|
945
964
|
.gd-ui-kit-menu__item--isDisabled {
|
946
965
|
color: var(--gd-palette-complementary-5, #b0beca);
|
@@ -1428,8 +1447,6 @@
|
|
1428
1447
|
content: "\e642";
|
1429
1448
|
}
|
1430
1449
|
|
1431
|
-
/* allow vendor prefixes and disable max length */
|
1432
|
-
/* allow vendor prefixes and disable max length */
|
1433
1450
|
/* ==========================================================================
|
1434
1451
|
Variables, mixins, silent classes etc.
|
1435
1452
|
========================================================================== */
|