@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 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
@@ -63,23 +63,23 @@ var style = (
63
63
  /*__reshadow_css_start__*/
64
64
  _core.sstyled.insert(
65
65
  /*__inner_css_start__*/
66
- ".___SDropdownMenuList_1tre5_gg_{max-height:240px;margin:4px 0;padding:0;position:relative;min-height:26px;min-width:32px}.___SDropdownMenuItem_1tre5_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_1tre5_gg_:hover{background-color:#f4f5f9}.___SDropdownMenuItem_1tre5_gg_:focus{outline:none}.___SDropdownMenuItem_1tre5_gg_.__highlighted_1tre5_gg_{z-index:1;box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2) inset}.___SDropdownMenuItem_1tre5_gg_.__selected_1tre5_gg_{background-color:rgba(196,229,254,.7)}.___SDropdownMenuItem_1tre5_gg_.__selected_1tre5_gg_:hover{background-color:#c4e5fe}.___SDropdownMenuItem_1tre5_gg_.__disabled_1tre5_gg_{opacity:0.3;cursor:default;pointer-events:none}.___SDropdownMenuItem_1tre5_gg_._size_l_1tre5_gg_{font-size:16px;line-height:1.5;padding:8px 12px;min-height:40px}.___SDropdownMenuItem_1tre5_gg_._size_m_1tre5_gg_{font-size:14px;line-height:1.42;padding:6px 8px;min-height:32px}.___SDropdownMenuItem_1tre5_gg_.__notInteractive_1tre5_gg_{cursor:default}.___SDropdownMenuItem_1tre5_gg_.__notInteractive_1tre5_gg_:hover{background:none}.___SDropdownMenuItem_1tre5_gg_._variant_hint_1tre5_gg_{color:#6c6e79;cursor:default}.___SDropdownMenuItem_1tre5_gg_._variant_hint_1tre5_gg_:hover{background:none}.___SDropdownMenuItem_1tre5_gg_._variant_title_1tre5_gg_{font-weight:700;cursor:default}.___SDropdownMenuItem_1tre5_gg_._variant_title_1tre5_gg_:hover{background:none}.___SDropdownMenuItemAddon_1tre5_gg_{display:inline-flex;margin-left:8px;margin-right:8px}.___SDropdownMenuItemAddon_1tre5_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_1tre5_gg_:last-child{margin-right:0}.___SPopper_1tre5_gg_:focus{box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2)}"
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
- , "1tre5_gg_")
68
+ , "1rlfp_gg_")
69
69
  /*__reshadow_css_end__*/
70
70
  , {
71
- "__SDropdownMenuList": "___SDropdownMenuList_1tre5_gg_",
72
- "__SDropdownMenuItem": "___SDropdownMenuItem_1tre5_gg_",
73
- "_highlighted": "__highlighted_1tre5_gg_",
74
- "_selected": "__selected_1tre5_gg_",
75
- "_disabled": "__disabled_1tre5_gg_",
76
- "_size_l": "_size_l_1tre5_gg_",
77
- "_size_m": "_size_m_1tre5_gg_",
78
- "_notInteractive": "__notInteractive_1tre5_gg_",
79
- "_variant_hint": "_variant_hint_1tre5_gg_",
80
- "_variant_title": "_variant_title_1tre5_gg_",
81
- "__SDropdownMenuItemAddon": "___SDropdownMenuItemAddon_1tre5_gg_",
82
- "__SPopper": "___SPopper_1tre5_gg_"
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,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=index.d.js.map
@@ -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":""}
@@ -39,23 +39,23 @@ var style = (
39
39
  /*__reshadow_css_start__*/
40
40
  _sstyled.insert(
41
41
  /*__inner_css_start__*/
42
- ".___SDropdownMenuList_1tre5_gg_{max-height:240px;margin:4px 0;padding:0;position:relative;min-height:26px;min-width:32px}.___SDropdownMenuItem_1tre5_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_1tre5_gg_:hover{background-color:#f4f5f9}.___SDropdownMenuItem_1tre5_gg_:focus{outline:none}.___SDropdownMenuItem_1tre5_gg_.__highlighted_1tre5_gg_{z-index:1;box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2) inset}.___SDropdownMenuItem_1tre5_gg_.__selected_1tre5_gg_{background-color:rgba(196,229,254,.7)}.___SDropdownMenuItem_1tre5_gg_.__selected_1tre5_gg_:hover{background-color:#c4e5fe}.___SDropdownMenuItem_1tre5_gg_.__disabled_1tre5_gg_{opacity:0.3;cursor:default;pointer-events:none}.___SDropdownMenuItem_1tre5_gg_._size_l_1tre5_gg_{font-size:16px;line-height:1.5;padding:8px 12px;min-height:40px}.___SDropdownMenuItem_1tre5_gg_._size_m_1tre5_gg_{font-size:14px;line-height:1.42;padding:6px 8px;min-height:32px}.___SDropdownMenuItem_1tre5_gg_.__notInteractive_1tre5_gg_{cursor:default}.___SDropdownMenuItem_1tre5_gg_.__notInteractive_1tre5_gg_:hover{background:none}.___SDropdownMenuItem_1tre5_gg_._variant_hint_1tre5_gg_{color:#6c6e79;cursor:default}.___SDropdownMenuItem_1tre5_gg_._variant_hint_1tre5_gg_:hover{background:none}.___SDropdownMenuItem_1tre5_gg_._variant_title_1tre5_gg_{font-weight:700;cursor:default}.___SDropdownMenuItem_1tre5_gg_._variant_title_1tre5_gg_:hover{background:none}.___SDropdownMenuItemAddon_1tre5_gg_{display:inline-flex;margin-left:8px;margin-right:8px}.___SDropdownMenuItemAddon_1tre5_gg_:first-child{margin-left:0}.___SDropdownMenuItemAddon_1tre5_gg_:last-child{margin-right:0}.___SPopper_1tre5_gg_:focus{box-shadow:0 0 0 3px rgba(0, 143, 248, 0.2)}"
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
- , "1tre5_gg_")
44
+ , "1rlfp_gg_")
45
45
  /*__reshadow_css_end__*/
46
46
  , {
47
- "__SDropdownMenuList": "___SDropdownMenuList_1tre5_gg_",
48
- "__SDropdownMenuItem": "___SDropdownMenuItem_1tre5_gg_",
49
- "_highlighted": "__highlighted_1tre5_gg_",
50
- "_selected": "__selected_1tre5_gg_",
51
- "_disabled": "__disabled_1tre5_gg_",
52
- "_size_l": "_size_l_1tre5_gg_",
53
- "_size_m": "_size_m_1tre5_gg_",
54
- "_notInteractive": "__notInteractive_1tre5_gg_",
55
- "_variant_hint": "_variant_hint_1tre5_gg_",
56
- "_variant_title": "_variant_title_1tre5_gg_",
57
- "__SDropdownMenuItemAddon": "___SDropdownMenuItemAddon_1tre5_gg_",
58
- "__SPopper": "___SPopper_1tre5_gg_"
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.js.map
@@ -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.0",
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": "build --source=js",
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"
@@ -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;
@@ -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;