@semcore/dropdown-menu 3.1.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/lib/cjs/DropdownMenu.js +14 -14
- package/lib/cjs/index.d.js +2 -0
- package/lib/cjs/index.d.js.map +1 -0
- package/lib/es6/DropdownMenu.js +14 -14
- package/lib/es6/index.d.js +2 -0
- package/lib/es6/index.d.js.map +1 -0
- package/package.json +3 -2
- package/lib/cjs/index.d.ts +0 -110
- package/lib/es6/index.d.ts +0 -110
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
|
|
4
4
|
|
|
5
|
+
## [3.1.1] - 2022-10-04
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Version patch update due to children dependencies update (`@semcore/dropdown` [3.1.0 ~> 3.1.1], `@semcore/utils` [3.37.1 ~> 3.37.2]).
|
|
10
|
+
|
|
5
11
|
## [3.1.0] - 2022-09-07
|
|
6
12
|
|
|
7
13
|
### Added
|
package/lib/cjs/DropdownMenu.js
CHANGED
|
@@ -63,23 +63,23 @@ var style = (
|
|
|
63
63
|
/*__reshadow_css_start__*/
|
|
64
64
|
_core.sstyled.insert(
|
|
65
65
|
/*__inner_css_start__*/
|
|
66
|
-
".
|
|
66
|
+
".___SDropdownMenuList_1rlfp_gg_{max-height:240px;margin:4px 0;padding:0;position:relative;min-height:26px;min-width:32px}.___SDropdownMenuItem_1rlfp_gg_{display:flex;align-items:center;position:relative;text-decoration:none;box-sizing:border-box;cursor:pointer;width:100%;text-align:left;line-height:normal}.___SDropdownMenuItem_1rlfp_gg_:hover{background-color:#f4f5f9}.___SDropdownMenuItem_1rlfp_gg_:focus{outline:none}.___SDropdownMenuItem_1rlfp_gg_.__highlighted_1rlfp_gg_{z-index:1;box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2) inset}.___SDropdownMenuItem_1rlfp_gg_.__selected_1rlfp_gg_{background-color:rgba(196,229,254,.7)}.___SDropdownMenuItem_1rlfp_gg_.__selected_1rlfp_gg_:hover{background-color:#c4e5fe}.___SDropdownMenuItem_1rlfp_gg_.__disabled_1rlfp_gg_{opacity:0.3;cursor:default;pointer-events:none}.___SDropdownMenuItem_1rlfp_gg_._size_l_1rlfp_gg_{font-size:16px;line-height:1.5;padding:8px 12px;min-height:40px}.___SDropdownMenuItem_1rlfp_gg_._size_m_1rlfp_gg_{font-size:14px;line-height:1.42;padding:6px 8px;min-height:32px}.___SDropdownMenuItem_1rlfp_gg_.__notInteractive_1rlfp_gg_{cursor:default}.___SDropdownMenuItem_1rlfp_gg_.__notInteractive_1rlfp_gg_:hover{background:none}.___SDropdownMenuItem_1rlfp_gg_._variant_hint_1rlfp_gg_{color:#6c6e79;cursor:default}.___SDropdownMenuItem_1rlfp_gg_._variant_hint_1rlfp_gg_:hover{background:none}.___SDropdownMenuItem_1rlfp_gg_._variant_title_1rlfp_gg_{font-weight:700;cursor:default}.___SDropdownMenuItem_1rlfp_gg_._variant_title_1rlfp_gg_:hover{background:none}.___SDropdownMenuItemAddon_1rlfp_gg_{display:inline-flex;margin-left:8px;margin-right:8px}.___SDropdownMenuItemAddon_1rlfp_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_1rlfp_gg_:last-child{margin-right:0}.___SPopper_1rlfp_gg_:focus{box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2)}"
|
|
67
67
|
/*__inner_css_end__*/
|
|
68
|
-
, "
|
|
68
|
+
, "1rlfp_gg_")
|
|
69
69
|
/*__reshadow_css_end__*/
|
|
70
70
|
, {
|
|
71
|
-
"__SDropdownMenuList": "
|
|
72
|
-
"__SDropdownMenuItem": "
|
|
73
|
-
"_highlighted": "
|
|
74
|
-
"_selected": "
|
|
75
|
-
"_disabled": "
|
|
76
|
-
"_size_l": "
|
|
77
|
-
"_size_m": "
|
|
78
|
-
"_notInteractive": "
|
|
79
|
-
"_variant_hint": "
|
|
80
|
-
"_variant_title": "
|
|
81
|
-
"__SDropdownMenuItemAddon": "
|
|
82
|
-
"__SPopper": "
|
|
71
|
+
"__SDropdownMenuList": "___SDropdownMenuList_1rlfp_gg_",
|
|
72
|
+
"__SDropdownMenuItem": "___SDropdownMenuItem_1rlfp_gg_",
|
|
73
|
+
"_highlighted": "__highlighted_1rlfp_gg_",
|
|
74
|
+
"_selected": "__selected_1rlfp_gg_",
|
|
75
|
+
"_disabled": "__disabled_1rlfp_gg_",
|
|
76
|
+
"_size_l": "_size_l_1rlfp_gg_",
|
|
77
|
+
"_size_m": "_size_m_1rlfp_gg_",
|
|
78
|
+
"_notInteractive": "__notInteractive_1rlfp_gg_",
|
|
79
|
+
"_variant_hint": "_variant_hint_1rlfp_gg_",
|
|
80
|
+
"_variant_title": "_variant_title_1rlfp_gg_",
|
|
81
|
+
"__SDropdownMenuItemAddon": "___SDropdownMenuItemAddon_1rlfp_gg_",
|
|
82
|
+
"__SPopper": "___SPopper_1rlfp_gg_"
|
|
83
83
|
});
|
|
84
84
|
var KEYS = ['ArrowDown', 'ArrowUp', 'Enter', ' '];
|
|
85
85
|
var INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { CProps, PropGetterFn, ReturnEl } from '@semcore/core';\nimport Dropdown, { IDropdownContext, IDropdownProps, IDropdownHandlers } from '@semcore/dropdown';\nimport { Box, IBoxProps, IFlexProps } from '@semcore/flex-box';\nimport { IScrollAreaProps } from '@semcore/scroll-area';\n\nexport type DropdownMenuSize = 'm' | 'l';\n\nexport interface IDropdownMenuProps extends IDropdownProps {\n /**\n * Size of the menu\n * @default m\n */\n size?: DropdownMenuSize;\n /**\n * Index of the element selected by default\n */\n defaultHighlightedIndex?: number;\n /**\n * Index of the selected item\n */\n highlightedIndex?: number;\n /**\n * Callback for highlightedIndex change\n * highlightedIndex - Index of the selected item\n */\n onHighlightedIndexChange?: (highlightedIndex: number) => void;\n}\n\nexport interface IDropdownMenuListProps extends IBoxProps, IScrollAreaProps {\n /**\n * Size of the menu\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuMenuProps extends IDropdownMenuListProps {}\n\nexport interface IDropdownMenuItemProps extends IFlexProps {\n /**\n * Enables selected state\n */\n selected?: boolean;\n /**\n * Disables the component\n */\n disabled?: boolean;\n /**\n * Adds focus styles around\n */\n highlighted?: boolean;\n /**\n * Makes the element non-interactive\n */\n notInteractive?: boolean;\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuItemHintProps extends IFlexProps {\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuItemTitleProps extends IFlexProps {\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuContext extends IDropdownContext {\n getListProps: PropGetterFn;\n getItemProps: PropGetterFn;\n getItemHintProps: PropGetterFn;\n getItemTitleProps: PropGetterFn;\n}\n\nexport interface IDropdownMenuHandlers extends IDropdownHandlers {\n highlightedIndex: (index: number) => void;\n}\n\ndeclare const DropdownMenu: (<T>(\n props: CProps<IDropdownMenuProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n) => ReturnEl) & {\n Trigger: typeof Dropdown.Trigger;\n Popper: typeof Dropdown.Popper;\n List: <T>(\n props: CProps<IDropdownMenuListProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl;\n Menu: <T>(\n props: CProps<IDropdownMenuMenuProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl;\n Item: (<T>(\n props: CProps<IDropdownMenuItemProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl) & {\n Addon: typeof Box;\n };\n ItemTitle: <T>(props: IDropdownMenuItemTitleProps & T) => ReturnEl;\n ItemHint: <T>(props: IDropdownMenuItemHintProps & T) => ReturnEl;\n};\n\nexport default DropdownMenu;\n"],"mappings":""}
|
package/lib/es6/DropdownMenu.js
CHANGED
|
@@ -39,23 +39,23 @@ var style = (
|
|
|
39
39
|
/*__reshadow_css_start__*/
|
|
40
40
|
_sstyled.insert(
|
|
41
41
|
/*__inner_css_start__*/
|
|
42
|
-
".
|
|
42
|
+
".___SDropdownMenuList_1rlfp_gg_{max-height:240px;margin:4px 0;padding:0;position:relative;min-height:26px;min-width:32px}.___SDropdownMenuItem_1rlfp_gg_{display:flex;align-items:center;position:relative;text-decoration:none;box-sizing:border-box;cursor:pointer;width:100%;text-align:left;line-height:normal}.___SDropdownMenuItem_1rlfp_gg_:hover{background-color:#f4f5f9}.___SDropdownMenuItem_1rlfp_gg_:focus{outline:none}.___SDropdownMenuItem_1rlfp_gg_.__highlighted_1rlfp_gg_{z-index:1;box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2) inset}.___SDropdownMenuItem_1rlfp_gg_.__selected_1rlfp_gg_{background-color:rgba(196,229,254,.7)}.___SDropdownMenuItem_1rlfp_gg_.__selected_1rlfp_gg_:hover{background-color:#c4e5fe}.___SDropdownMenuItem_1rlfp_gg_.__disabled_1rlfp_gg_{opacity:0.3;cursor:default;pointer-events:none}.___SDropdownMenuItem_1rlfp_gg_._size_l_1rlfp_gg_{font-size:16px;line-height:1.5;padding:8px 12px;min-height:40px}.___SDropdownMenuItem_1rlfp_gg_._size_m_1rlfp_gg_{font-size:14px;line-height:1.42;padding:6px 8px;min-height:32px}.___SDropdownMenuItem_1rlfp_gg_.__notInteractive_1rlfp_gg_{cursor:default}.___SDropdownMenuItem_1rlfp_gg_.__notInteractive_1rlfp_gg_:hover{background:none}.___SDropdownMenuItem_1rlfp_gg_._variant_hint_1rlfp_gg_{color:#6c6e79;cursor:default}.___SDropdownMenuItem_1rlfp_gg_._variant_hint_1rlfp_gg_:hover{background:none}.___SDropdownMenuItem_1rlfp_gg_._variant_title_1rlfp_gg_{font-weight:700;cursor:default}.___SDropdownMenuItem_1rlfp_gg_._variant_title_1rlfp_gg_:hover{background:none}.___SDropdownMenuItemAddon_1rlfp_gg_{display:inline-flex;margin-left:8px;margin-right:8px}.___SDropdownMenuItemAddon_1rlfp_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_1rlfp_gg_:last-child{margin-right:0}.___SPopper_1rlfp_gg_:focus{box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2)}"
|
|
43
43
|
/*__inner_css_end__*/
|
|
44
|
-
, "
|
|
44
|
+
, "1rlfp_gg_")
|
|
45
45
|
/*__reshadow_css_end__*/
|
|
46
46
|
, {
|
|
47
|
-
"__SDropdownMenuList": "
|
|
48
|
-
"__SDropdownMenuItem": "
|
|
49
|
-
"_highlighted": "
|
|
50
|
-
"_selected": "
|
|
51
|
-
"_disabled": "
|
|
52
|
-
"_size_l": "
|
|
53
|
-
"_size_m": "
|
|
54
|
-
"_notInteractive": "
|
|
55
|
-
"_variant_hint": "
|
|
56
|
-
"_variant_title": "
|
|
57
|
-
"__SDropdownMenuItemAddon": "
|
|
58
|
-
"__SPopper": "
|
|
47
|
+
"__SDropdownMenuList": "___SDropdownMenuList_1rlfp_gg_",
|
|
48
|
+
"__SDropdownMenuItem": "___SDropdownMenuItem_1rlfp_gg_",
|
|
49
|
+
"_highlighted": "__highlighted_1rlfp_gg_",
|
|
50
|
+
"_selected": "__selected_1rlfp_gg_",
|
|
51
|
+
"_disabled": "__disabled_1rlfp_gg_",
|
|
52
|
+
"_size_l": "_size_l_1rlfp_gg_",
|
|
53
|
+
"_size_m": "_size_m_1rlfp_gg_",
|
|
54
|
+
"_notInteractive": "__notInteractive_1rlfp_gg_",
|
|
55
|
+
"_variant_hint": "_variant_hint_1rlfp_gg_",
|
|
56
|
+
"_variant_title": "_variant_title_1rlfp_gg_",
|
|
57
|
+
"__SDropdownMenuItemAddon": "___SDropdownMenuItemAddon_1rlfp_gg_",
|
|
58
|
+
"__SPopper": "___SPopper_1rlfp_gg_"
|
|
59
59
|
});
|
|
60
60
|
var KEYS = ['ArrowDown', 'ArrowUp', 'Enter', ' '];
|
|
61
61
|
var INTERACTION_TAGS = ['INPUT', 'TEXTAREA'];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { CProps, PropGetterFn, ReturnEl } from '@semcore/core';\nimport Dropdown, { IDropdownContext, IDropdownProps, IDropdownHandlers } from '@semcore/dropdown';\nimport { Box, IBoxProps, IFlexProps } from '@semcore/flex-box';\nimport { IScrollAreaProps } from '@semcore/scroll-area';\n\nexport type DropdownMenuSize = 'm' | 'l';\n\nexport interface IDropdownMenuProps extends IDropdownProps {\n /**\n * Size of the menu\n * @default m\n */\n size?: DropdownMenuSize;\n /**\n * Index of the element selected by default\n */\n defaultHighlightedIndex?: number;\n /**\n * Index of the selected item\n */\n highlightedIndex?: number;\n /**\n * Callback for highlightedIndex change\n * highlightedIndex - Index of the selected item\n */\n onHighlightedIndexChange?: (highlightedIndex: number) => void;\n}\n\nexport interface IDropdownMenuListProps extends IBoxProps, IScrollAreaProps {\n /**\n * Size of the menu\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuMenuProps extends IDropdownMenuListProps {}\n\nexport interface IDropdownMenuItemProps extends IFlexProps {\n /**\n * Enables selected state\n */\n selected?: boolean;\n /**\n * Disables the component\n */\n disabled?: boolean;\n /**\n * Adds focus styles around\n */\n highlighted?: boolean;\n /**\n * Makes the element non-interactive\n */\n notInteractive?: boolean;\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuItemHintProps extends IFlexProps {\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuItemTitleProps extends IFlexProps {\n /**\n * Size of the component\n * @default m\n */\n size?: DropdownMenuSize;\n}\n\nexport interface IDropdownMenuContext extends IDropdownContext {\n getListProps: PropGetterFn;\n getItemProps: PropGetterFn;\n getItemHintProps: PropGetterFn;\n getItemTitleProps: PropGetterFn;\n}\n\nexport interface IDropdownMenuHandlers extends IDropdownHandlers {\n highlightedIndex: (index: number) => void;\n}\n\ndeclare const DropdownMenu: (<T>(\n props: CProps<IDropdownMenuProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n) => ReturnEl) & {\n Trigger: typeof Dropdown.Trigger;\n Popper: typeof Dropdown.Popper;\n List: <T>(\n props: CProps<IDropdownMenuListProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl;\n Menu: <T>(\n props: CProps<IDropdownMenuMenuProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl;\n Item: (<T>(\n props: CProps<IDropdownMenuItemProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,\n ) => ReturnEl) & {\n Addon: typeof Box;\n };\n ItemTitle: <T>(props: IDropdownMenuItemTitleProps & T) => ReturnEl;\n ItemHint: <T>(props: IDropdownMenuItemHintProps & T) => ReturnEl;\n};\n\nexport default DropdownMenu;\n"],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/dropdown-menu",
|
|
3
3
|
"description": "Semrush DropdownMenu Component",
|
|
4
|
-
"version": "3.1.
|
|
4
|
+
"version": "3.1.1",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"author": "UI-kit team <ui-kit-team@semrush.com>",
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"scripts": {
|
|
12
|
-
"build": "
|
|
12
|
+
"build": "pnpm semcore-builder --source=js",
|
|
13
13
|
"test": "jest"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"directory": "semcore/dropdown-menu"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
+
"@types/react": "16.8 - 17",
|
|
35
36
|
"@guidepup/playwright": "0.6.1",
|
|
36
37
|
"@playwright/test": "1.25.1",
|
|
37
38
|
"@semcore/jest-preset-ui": "1.0.0"
|
package/lib/cjs/index.d.ts
DELETED
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { CProps, PropGetterFn, ReturnEl } from '@semcore/core';
|
|
2
|
-
import Dropdown, { IDropdownContext, IDropdownProps, IDropdownHandlers } from '@semcore/dropdown';
|
|
3
|
-
import { Box, IBoxProps, IFlexProps } from '@semcore/flex-box';
|
|
4
|
-
import { IScrollAreaProps } from '@semcore/scroll-area';
|
|
5
|
-
|
|
6
|
-
export type DropdownMenuSize = 'm' | 'l';
|
|
7
|
-
|
|
8
|
-
export interface IDropdownMenuProps extends IDropdownProps {
|
|
9
|
-
/**
|
|
10
|
-
* Size of the menu
|
|
11
|
-
* @default m
|
|
12
|
-
*/
|
|
13
|
-
size?: DropdownMenuSize;
|
|
14
|
-
/**
|
|
15
|
-
* Index of the element selected by default
|
|
16
|
-
*/
|
|
17
|
-
defaultHighlightedIndex?: number;
|
|
18
|
-
/**
|
|
19
|
-
* Index of the selected item
|
|
20
|
-
*/
|
|
21
|
-
highlightedIndex?: number;
|
|
22
|
-
/**
|
|
23
|
-
* Callback for highlightedIndex change
|
|
24
|
-
* highlightedIndex - Index of the selected item
|
|
25
|
-
*/
|
|
26
|
-
onHighlightedIndexChange?: (highlightedIndex: number) => void;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export interface IDropdownMenuListProps extends IBoxProps, IScrollAreaProps {
|
|
30
|
-
/**
|
|
31
|
-
* Size of the menu
|
|
32
|
-
* @default m
|
|
33
|
-
*/
|
|
34
|
-
size?: DropdownMenuSize;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export interface IDropdownMenuMenuProps extends IDropdownMenuListProps {}
|
|
38
|
-
|
|
39
|
-
export interface IDropdownMenuItemProps extends IFlexProps {
|
|
40
|
-
/**
|
|
41
|
-
* Enables selected state
|
|
42
|
-
*/
|
|
43
|
-
selected?: boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Disables the component
|
|
46
|
-
*/
|
|
47
|
-
disabled?: boolean;
|
|
48
|
-
/**
|
|
49
|
-
* Adds focus styles around
|
|
50
|
-
*/
|
|
51
|
-
highlighted?: boolean;
|
|
52
|
-
/**
|
|
53
|
-
* Makes the element non-interactive
|
|
54
|
-
*/
|
|
55
|
-
notInteractive?: boolean;
|
|
56
|
-
/**
|
|
57
|
-
* Size of the component
|
|
58
|
-
* @default m
|
|
59
|
-
*/
|
|
60
|
-
size?: DropdownMenuSize;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export interface IDropdownMenuItemHintProps extends IFlexProps {
|
|
64
|
-
/**
|
|
65
|
-
* Size of the component
|
|
66
|
-
* @default m
|
|
67
|
-
*/
|
|
68
|
-
size?: DropdownMenuSize;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
export interface IDropdownMenuItemTitleProps extends IFlexProps {
|
|
72
|
-
/**
|
|
73
|
-
* Size of the component
|
|
74
|
-
* @default m
|
|
75
|
-
*/
|
|
76
|
-
size?: DropdownMenuSize;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export interface IDropdownMenuContext extends IDropdownContext {
|
|
80
|
-
getListProps: PropGetterFn;
|
|
81
|
-
getItemProps: PropGetterFn;
|
|
82
|
-
getItemHintProps: PropGetterFn;
|
|
83
|
-
getItemTitleProps: PropGetterFn;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
export interface IDropdownMenuHandlers extends IDropdownHandlers {
|
|
87
|
-
highlightedIndex: (index: number) => void;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
declare const DropdownMenu: (<T>(
|
|
91
|
-
props: CProps<IDropdownMenuProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,
|
|
92
|
-
) => ReturnEl) & {
|
|
93
|
-
Trigger: typeof Dropdown.Trigger;
|
|
94
|
-
Popper: typeof Dropdown.Popper;
|
|
95
|
-
List: <T>(
|
|
96
|
-
props: CProps<IDropdownMenuListProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,
|
|
97
|
-
) => ReturnEl;
|
|
98
|
-
Menu: <T>(
|
|
99
|
-
props: CProps<IDropdownMenuMenuProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,
|
|
100
|
-
) => ReturnEl;
|
|
101
|
-
Item: (<T>(
|
|
102
|
-
props: CProps<IDropdownMenuItemProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,
|
|
103
|
-
) => ReturnEl) & {
|
|
104
|
-
Addon: typeof Box;
|
|
105
|
-
};
|
|
106
|
-
ItemTitle: <T>(props: IDropdownMenuItemTitleProps & T) => ReturnEl;
|
|
107
|
-
ItemHint: <T>(props: IDropdownMenuItemHintProps & T) => ReturnEl;
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
export default DropdownMenu;
|
package/lib/es6/index.d.ts
DELETED
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { CProps, PropGetterFn, ReturnEl } from '@semcore/core';
|
|
2
|
-
import Dropdown, { IDropdownContext, IDropdownProps, IDropdownHandlers } from '@semcore/dropdown';
|
|
3
|
-
import { Box, IBoxProps, IFlexProps } from '@semcore/flex-box';
|
|
4
|
-
import { IScrollAreaProps } from '@semcore/scroll-area';
|
|
5
|
-
|
|
6
|
-
export type DropdownMenuSize = 'm' | 'l';
|
|
7
|
-
|
|
8
|
-
export interface IDropdownMenuProps extends IDropdownProps {
|
|
9
|
-
/**
|
|
10
|
-
* Size of the menu
|
|
11
|
-
* @default m
|
|
12
|
-
*/
|
|
13
|
-
size?: DropdownMenuSize;
|
|
14
|
-
/**
|
|
15
|
-
* Index of the element selected by default
|
|
16
|
-
*/
|
|
17
|
-
defaultHighlightedIndex?: number;
|
|
18
|
-
/**
|
|
19
|
-
* Index of the selected item
|
|
20
|
-
*/
|
|
21
|
-
highlightedIndex?: number;
|
|
22
|
-
/**
|
|
23
|
-
* Callback for highlightedIndex change
|
|
24
|
-
* highlightedIndex - Index of the selected item
|
|
25
|
-
*/
|
|
26
|
-
onHighlightedIndexChange?: (highlightedIndex: number) => void;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export interface IDropdownMenuListProps extends IBoxProps, IScrollAreaProps {
|
|
30
|
-
/**
|
|
31
|
-
* Size of the menu
|
|
32
|
-
* @default m
|
|
33
|
-
*/
|
|
34
|
-
size?: DropdownMenuSize;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export interface IDropdownMenuMenuProps extends IDropdownMenuListProps {}
|
|
38
|
-
|
|
39
|
-
export interface IDropdownMenuItemProps extends IFlexProps {
|
|
40
|
-
/**
|
|
41
|
-
* Enables selected state
|
|
42
|
-
*/
|
|
43
|
-
selected?: boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Disables the component
|
|
46
|
-
*/
|
|
47
|
-
disabled?: boolean;
|
|
48
|
-
/**
|
|
49
|
-
* Adds focus styles around
|
|
50
|
-
*/
|
|
51
|
-
highlighted?: boolean;
|
|
52
|
-
/**
|
|
53
|
-
* Makes the element non-interactive
|
|
54
|
-
*/
|
|
55
|
-
notInteractive?: boolean;
|
|
56
|
-
/**
|
|
57
|
-
* Size of the component
|
|
58
|
-
* @default m
|
|
59
|
-
*/
|
|
60
|
-
size?: DropdownMenuSize;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export interface IDropdownMenuItemHintProps extends IFlexProps {
|
|
64
|
-
/**
|
|
65
|
-
* Size of the component
|
|
66
|
-
* @default m
|
|
67
|
-
*/
|
|
68
|
-
size?: DropdownMenuSize;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
export interface IDropdownMenuItemTitleProps extends IFlexProps {
|
|
72
|
-
/**
|
|
73
|
-
* Size of the component
|
|
74
|
-
* @default m
|
|
75
|
-
*/
|
|
76
|
-
size?: DropdownMenuSize;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export interface IDropdownMenuContext extends IDropdownContext {
|
|
80
|
-
getListProps: PropGetterFn;
|
|
81
|
-
getItemProps: PropGetterFn;
|
|
82
|
-
getItemHintProps: PropGetterFn;
|
|
83
|
-
getItemTitleProps: PropGetterFn;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
export interface IDropdownMenuHandlers extends IDropdownHandlers {
|
|
87
|
-
highlightedIndex: (index: number) => void;
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
declare const DropdownMenu: (<T>(
|
|
91
|
-
props: CProps<IDropdownMenuProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,
|
|
92
|
-
) => ReturnEl) & {
|
|
93
|
-
Trigger: typeof Dropdown.Trigger;
|
|
94
|
-
Popper: typeof Dropdown.Popper;
|
|
95
|
-
List: <T>(
|
|
96
|
-
props: CProps<IDropdownMenuListProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,
|
|
97
|
-
) => ReturnEl;
|
|
98
|
-
Menu: <T>(
|
|
99
|
-
props: CProps<IDropdownMenuMenuProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,
|
|
100
|
-
) => ReturnEl;
|
|
101
|
-
Item: (<T>(
|
|
102
|
-
props: CProps<IDropdownMenuItemProps & T, IDropdownMenuContext, IDropdownMenuHandlers>,
|
|
103
|
-
) => ReturnEl) & {
|
|
104
|
-
Addon: typeof Box;
|
|
105
|
-
};
|
|
106
|
-
ItemTitle: <T>(props: IDropdownMenuItemTitleProps & T) => ReturnEl;
|
|
107
|
-
ItemHint: <T>(props: IDropdownMenuItemHintProps & T) => ReturnEl;
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
export default DropdownMenu;
|