@consta/header 3.0.1 → 3.1.0
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/__internal__/src/components/ButtonMenu/helpers.d.ts +10 -11
- package/__internal__/src/components/ButtonMenu/types.d.ts +2 -3
- package/__internal__/src/components/ButtonMenu/types.js.map +1 -1
- package/__internal__/src/components/Layout/Layout.d.ts +1 -1
- package/__internal__/src/components/Layout/LayoutRow/LayoutRow.d.ts +1 -1
- package/__internal__/src/components/Layout/LayoutRow/LayoutRow.js.map +1 -1
- package/__internal__/src/components/Layout/types.d.ts +1 -1
- package/__internal__/src/components/Layout/types.js.map +1 -1
- package/__internal__/src/components/MegaMenu/MegaMenu.d.ts +1 -1
- package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/helpers.d.ts +103 -97
- package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/types.d.ts +3 -3
- package/__internal__/src/components/MegaMenu/MegaMenuBannerBar/types.js.map +1 -1
- package/__internal__/src/components/MegaMenu/MegaMenuBox/MegaMenuBox.d.ts +1 -1
- package/__internal__/src/components/MegaMenu/MegaMenuBox/MegaMenuBox.js.map +1 -1
- package/__internal__/src/components/MegaMenu/MegaMenuBox/types.d.ts +1 -2
- package/__internal__/src/components/MegaMenu/MegaMenuBox/types.js.map +1 -1
- package/__internal__/src/components/MegaMenu/MegaMenuGlobal/helper.d.ts +106 -100
- package/__internal__/src/components/MegaMenu/MegaMenuGlobal/types.d.ts +4 -4
- package/__internal__/src/components/MegaMenu/MegaMenuGlobal/types.js.map +1 -1
- package/__internal__/src/components/MegaMenu/MegaMenuNavBar/helper.d.ts +14 -5
- package/__internal__/src/components/MegaMenu/MegaMenuNavBar/types.d.ts +3 -3
- package/__internal__/src/components/MegaMenu/MegaMenuNavBar/types.js.map +1 -1
- package/__internal__/src/components/MegaMenu/helper.d.ts +108 -102
- package/__internal__/src/components/MegaMenu/types.d.ts +2 -2
- package/__internal__/src/components/MegaMenu/types.js.map +1 -1
- package/__internal__/src/components/Menu/Menu.js +1 -1
- package/__internal__/src/components/Menu/Menu.js.map +1 -1
- package/__internal__/src/components/Menu/helpers.d.ts +10 -10
- package/__internal__/src/components/Menu/types.d.ts +3 -3
- package/__internal__/src/components/Menu/types.js.map +1 -1
- package/__internal__/src/components/MobileMenu/types.d.ts +3 -3
- package/__internal__/src/components/MobileMenu/types.js.map +1 -1
- package/__internal__/src/components/Navbar/Navbar.d.ts +1 -0
- package/__internal__/src/components/Navbar/Navbar.js +1 -1
- package/__internal__/src/components/Navbar/Navbar.js.map +1 -1
- package/__internal__/src/components/Navbar/NavbarArrow/NavbarArrow.d.ts +1 -1
- package/__internal__/src/components/Navbar/NavbarItem/NavbarItem.d.ts +21 -0
- package/__internal__/src/components/Navbar/NavbarItem/NavbarItem.js +1 -1
- package/__internal__/src/components/Navbar/NavbarItem/NavbarItem.js.map +1 -1
- package/__internal__/src/components/Navbar/NavbarRail/NavbarRail.js +1 -1
- package/__internal__/src/components/Navbar/NavbarRail/NavbarRail.js.map +1 -1
- package/__internal__/src/components/Navbar/NavbarRailItem/NavbarRailItem.d.ts +14 -1
- package/__internal__/src/components/Navbar/NavbarRailItem/NavbarRailItem.js +1 -1
- package/__internal__/src/components/Navbar/NavbarRailItem/NavbarRailItem.js.map +1 -1
- package/__internal__/src/components/Navbar/helpers.d.ts +11 -10
- package/__internal__/src/components/Navbar/types.d.ts +13 -4
- package/__internal__/src/components/Navbar/types.js.map +1 -1
- package/__internal__/src/components/Notifications/NotificationsActions/helpers.d.ts +4 -5
- package/__internal__/src/components/Notifications/NotificationsActions/types.d.ts +2 -3
- package/__internal__/src/components/Notifications/NotificationsActions/types.js.map +1 -1
- package/__internal__/src/components/Notifications/NotificationsItem/NotificationsItem.d.ts +1 -1
- package/__internal__/src/components/Notifications/NotificationsItem/types.d.ts +1 -1
- package/__internal__/src/components/Notifications/NotificationsItem/types.js.map +1 -1
- package/__internal__/src/components/Notifications/NotificationsItemFooter/types.d.ts +1 -1
- package/__internal__/src/components/Notifications/NotificationsItemFooter/types.js.map +1 -1
- package/__internal__/src/components/Notifications/NotificationsList/helpers.d.ts +3 -60
- package/__internal__/src/components/Notifications/NotificationsList/types.d.ts +2 -3
- package/__internal__/src/components/Notifications/NotificationsList/types.js.map +1 -1
- package/__internal__/src/components/Notifications/types.d.ts +2 -3
- package/__internal__/src/components/Notifications/types.js.map +1 -1
- package/__internal__/src/components/PopoverButton/PopoverButton.d.ts +1 -1
- package/__internal__/src/components/SelectMenu/helpers.d.ts +6 -7
- package/__internal__/src/components/SelectMenu/types.d.ts +2 -3
- package/__internal__/src/components/SelectMenu/types.js.map +1 -1
- package/__internal__/src/components/Sidebar/Sidebar.d.ts +1 -1
- package/__internal__/src/components/TileMenu/TileMenuItem/types.d.ts +0 -1
- package/__internal__/src/components/TileMenu/TileMenuList/helpers.d.ts +1 -2
- package/__internal__/src/components/TileMenu/TileMenuList/types.d.ts +2 -3
- package/__internal__/src/components/TileMenu/TileMenuList/types.js.map +1 -1
- package/__internal__/src/components/TileMenu/types.d.ts +2 -3
- package/__internal__/src/components/TileMenu/types.js.map +1 -1
- package/__internal__/src/components/VerticalMenu/helpers.d.ts +3 -4
- package/__internal__/src/components/VerticalMenu/types.d.ts +4 -4
- package/__internal__/src/components/VerticalMenu/types.js.map +1 -1
- package/__internal__/src/helpers/getItemClick.d.ts +1 -2
- package/package.json +6 -3
- package/__internal__/src/components/Navbar/NavbarItem/NavbarDrawer.d.ts +0 -2
- package/__internal__/src/components/Navbar/NavbarItem/NavbarDrawer.js +0 -2
- package/__internal__/src/components/Navbar/NavbarItem/NavbarDrawer.js.map +0 -1
- package/__internal__/src/utils/types/PropsWithHTMLAttributes.d.ts +0 -3
- package/__internal__/src/utils/types/PropsWithHTMLAttributes.js +0 -2
- package/__internal__/src/utils/types/PropsWithHTMLAttributes.js.map +0 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { MegaMenuBannerBarDefaultItem, MegaMenuBannerBarPropGetItemAs, MegaMenuBannerBarPropGetItemAttributes, MegaMenuBannerBarPropGetItemDescription, MegaMenuBannerBarPropGetItemImage, MegaMenuBannerBarPropGetItemLabel, MegaMenuBannerBarPropGetItemOnClick } from './MegaMenuBannerBar';
|
|
3
2
|
import { MegaMenuDefaultItem, MegaMenuPropGetItemAs, MegaMenuPropGetItemAttributes, MegaMenuPropGetItemIconLeft, MegaMenuPropGetItemKey, MegaMenuPropGetItemLabel, MegaMenuPropGetItemOnClick, MegaMenuPropGetItemSubMenu, MegaMenuProps } from './types';
|
|
4
3
|
export declare const withDefaultGetters: (props: MegaMenuProps) => {
|
|
@@ -17,110 +16,121 @@ export declare const withDefaultGetters: (props: MegaMenuProps) => {
|
|
|
17
16
|
getBannerDescription: MegaMenuBannerBarPropGetItemDescription<MegaMenuBannerBarDefaultItem>;
|
|
18
17
|
banners?: MegaMenuBannerBarDefaultItem[] | undefined;
|
|
19
18
|
items: MegaMenuDefaultItem[];
|
|
20
|
-
menuTitle?: string
|
|
21
|
-
menuShowButtonText?: string
|
|
22
|
-
menuHideButtonText?: string
|
|
23
|
-
menuMaxElements?: number
|
|
24
|
-
bannerPosition?: "right" | "bottom"
|
|
19
|
+
menuTitle?: string;
|
|
20
|
+
menuShowButtonText?: string;
|
|
21
|
+
menuHideButtonText?: string;
|
|
22
|
+
menuMaxElements?: number;
|
|
23
|
+
bannerPosition?: "right" | "bottom";
|
|
25
24
|
onItemClick?: import("./types").MegaMenuPropOnItemClick<MegaMenuDefaultItem> | undefined;
|
|
26
25
|
onBannerClick?: import("./types").MegaMenuPropOnItemClick<MegaMenuBannerBarDefaultItem> | undefined;
|
|
27
|
-
defaultChecked?: boolean | undefined;
|
|
26
|
+
defaultChecked?: boolean | undefined | undefined;
|
|
28
27
|
defaultValue?: string | number | readonly string[] | undefined;
|
|
29
|
-
suppressContentEditableWarning?: boolean | undefined;
|
|
30
|
-
suppressHydrationWarning?: boolean | undefined;
|
|
31
|
-
accessKey?: string | undefined;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
28
|
+
suppressContentEditableWarning?: boolean | undefined | undefined;
|
|
29
|
+
suppressHydrationWarning?: boolean | undefined | undefined;
|
|
30
|
+
accessKey?: string | undefined | undefined;
|
|
31
|
+
autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
|
|
32
|
+
autoFocus?: boolean | undefined | undefined;
|
|
33
|
+
className?: string | undefined | undefined;
|
|
34
|
+
contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
|
|
35
|
+
contextMenu?: string | undefined | undefined;
|
|
36
|
+
dir?: string | undefined | undefined;
|
|
36
37
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
slot?: string | undefined;
|
|
38
|
+
enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
|
|
39
|
+
hidden?: boolean | undefined | undefined;
|
|
40
|
+
id?: string | undefined | undefined;
|
|
41
|
+
lang?: string | undefined | undefined;
|
|
42
|
+
nonce?: string | undefined | undefined;
|
|
43
|
+
slot?: string | undefined | undefined;
|
|
43
44
|
spellCheck?: (boolean | "true" | "false") | undefined;
|
|
44
45
|
style?: import("react").CSSProperties | undefined;
|
|
45
|
-
tabIndex?: number | undefined;
|
|
46
|
-
title?: string | undefined;
|
|
47
|
-
translate?: "yes" | "no" | undefined;
|
|
48
|
-
radioGroup?: string | undefined;
|
|
46
|
+
tabIndex?: number | undefined | undefined;
|
|
47
|
+
title?: string | undefined | undefined;
|
|
48
|
+
translate?: "yes" | "no" | undefined | undefined;
|
|
49
|
+
radioGroup?: string | undefined | undefined;
|
|
49
50
|
role?: import("react").AriaRole | undefined;
|
|
50
|
-
about?: string | undefined;
|
|
51
|
-
|
|
51
|
+
about?: string | undefined | undefined;
|
|
52
|
+
content?: string | undefined | undefined;
|
|
53
|
+
datatype?: string | undefined | undefined;
|
|
52
54
|
inlist?: any;
|
|
53
|
-
prefix?: string | undefined;
|
|
54
|
-
property?: string | undefined;
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
55
|
+
prefix?: string | undefined | undefined;
|
|
56
|
+
property?: string | undefined | undefined;
|
|
57
|
+
rel?: string | undefined | undefined;
|
|
58
|
+
resource?: string | undefined | undefined;
|
|
59
|
+
rev?: string | undefined | undefined;
|
|
60
|
+
typeof?: string | undefined | undefined;
|
|
61
|
+
vocab?: string | undefined | undefined;
|
|
62
|
+
autoCorrect?: string | undefined | undefined;
|
|
63
|
+
autoSave?: string | undefined | undefined;
|
|
64
|
+
color?: string | undefined | undefined;
|
|
65
|
+
itemProp?: string | undefined | undefined;
|
|
66
|
+
itemScope?: boolean | undefined | undefined;
|
|
67
|
+
itemType?: string | undefined | undefined;
|
|
68
|
+
itemID?: string | undefined | undefined;
|
|
69
|
+
itemRef?: string | undefined | undefined;
|
|
70
|
+
results?: number | undefined | undefined;
|
|
71
|
+
security?: string | undefined | undefined;
|
|
72
|
+
unselectable?: "on" | "off" | undefined | undefined;
|
|
73
|
+
inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
|
|
74
|
+
is?: string | undefined | undefined;
|
|
75
|
+
exportparts?: string | undefined | undefined;
|
|
76
|
+
part?: string | undefined | undefined;
|
|
77
|
+
"aria-activedescendant"?: string | undefined | undefined;
|
|
78
|
+
"aria-atomic"?: (boolean | "true" | "false") | undefined;
|
|
79
|
+
"aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
|
|
80
|
+
"aria-braillelabel"?: string | undefined | undefined;
|
|
81
|
+
"aria-brailleroledescription"?: string | undefined | undefined;
|
|
82
|
+
"aria-busy"?: (boolean | "true" | "false") | undefined;
|
|
83
|
+
"aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
|
|
84
|
+
"aria-colcount"?: number | undefined | undefined;
|
|
85
|
+
"aria-colindex"?: number | undefined | undefined;
|
|
86
|
+
"aria-colindextext"?: string | undefined | undefined;
|
|
87
|
+
"aria-colspan"?: number | undefined | undefined;
|
|
88
|
+
"aria-controls"?: string | undefined | undefined;
|
|
89
|
+
"aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
|
|
90
|
+
"aria-describedby"?: string | undefined | undefined;
|
|
91
|
+
"aria-description"?: string | undefined | undefined;
|
|
92
|
+
"aria-details"?: string | undefined | undefined;
|
|
93
|
+
"aria-disabled"?: (boolean | "true" | "false") | undefined;
|
|
94
|
+
"aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
|
|
95
|
+
"aria-errormessage"?: string | undefined | undefined;
|
|
96
|
+
"aria-expanded"?: (boolean | "true" | "false") | undefined;
|
|
97
|
+
"aria-flowto"?: string | undefined | undefined;
|
|
98
|
+
"aria-grabbed"?: (boolean | "true" | "false") | undefined;
|
|
99
|
+
"aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
|
|
100
|
+
"aria-hidden"?: (boolean | "true" | "false") | undefined;
|
|
101
|
+
"aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
|
|
102
|
+
"aria-keyshortcuts"?: string | undefined | undefined;
|
|
103
|
+
"aria-label"?: string | undefined | undefined;
|
|
104
|
+
"aria-labelledby"?: string | undefined | undefined;
|
|
105
|
+
"aria-level"?: number | undefined | undefined;
|
|
106
|
+
"aria-live"?: "off" | "assertive" | "polite" | undefined | undefined;
|
|
107
|
+
"aria-modal"?: (boolean | "true" | "false") | undefined;
|
|
108
|
+
"aria-multiline"?: (boolean | "true" | "false") | undefined;
|
|
109
|
+
"aria-multiselectable"?: (boolean | "true" | "false") | undefined;
|
|
110
|
+
"aria-orientation"?: "horizontal" | "vertical" | undefined | undefined;
|
|
111
|
+
"aria-owns"?: string | undefined | undefined;
|
|
112
|
+
"aria-placeholder"?: string | undefined | undefined;
|
|
113
|
+
"aria-posinset"?: number | undefined | undefined;
|
|
114
|
+
"aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
|
|
115
|
+
"aria-readonly"?: (boolean | "true" | "false") | undefined;
|
|
116
|
+
"aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
|
|
117
|
+
"aria-required"?: (boolean | "true" | "false") | undefined;
|
|
118
|
+
"aria-roledescription"?: string | undefined | undefined;
|
|
119
|
+
"aria-rowcount"?: number | undefined | undefined;
|
|
120
|
+
"aria-rowindex"?: number | undefined | undefined;
|
|
121
|
+
"aria-rowindextext"?: string | undefined | undefined;
|
|
122
|
+
"aria-rowspan"?: number | undefined | undefined;
|
|
123
|
+
"aria-selected"?: (boolean | "true" | "false") | undefined;
|
|
124
|
+
"aria-setsize"?: number | undefined | undefined;
|
|
125
|
+
"aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
|
|
126
|
+
"aria-valuemax"?: number | undefined | undefined;
|
|
127
|
+
"aria-valuemin"?: number | undefined | undefined;
|
|
128
|
+
"aria-valuenow"?: number | undefined | undefined;
|
|
129
|
+
"aria-valuetext"?: string | undefined | undefined;
|
|
120
130
|
children?: import("react").ReactNode;
|
|
121
131
|
dangerouslySetInnerHTML?: {
|
|
122
|
-
__html: string;
|
|
123
|
-
} | undefined;
|
|
132
|
+
__html: string | TrustedHTML;
|
|
133
|
+
} | undefined | undefined;
|
|
124
134
|
onCopy?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
|
|
125
135
|
onCopyCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
|
|
126
136
|
onCut?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
|
|
@@ -139,7 +149,7 @@ export declare const withDefaultGetters: (props: MegaMenuProps) => {
|
|
|
139
149
|
onBlurCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
|
|
140
150
|
onChange?: import("react").FormEventHandler<HTMLDivElement> | undefined;
|
|
141
151
|
onChangeCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
|
|
142
|
-
onBeforeInput?: import("react").
|
|
152
|
+
onBeforeInput?: import("react").InputEventHandler<HTMLDivElement> | undefined;
|
|
143
153
|
onBeforeInputCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
|
|
144
154
|
onInput?: import("react").FormEventHandler<HTMLDivElement> | undefined;
|
|
145
155
|
onInputCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
|
|
@@ -189,8 +199,6 @@ export declare const withDefaultGetters: (props: MegaMenuProps) => {
|
|
|
189
199
|
onProgressCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
190
200
|
onRateChange?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
191
201
|
onRateChangeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
192
|
-
onResize?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
193
|
-
onResizeCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
194
202
|
onSeeked?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
195
203
|
onSeekedCapture?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
196
204
|
onSeeking?: import("react").ReactEventHandler<HTMLDivElement> | undefined;
|
|
@@ -260,9 +268,7 @@ export declare const withDefaultGetters: (props: MegaMenuProps) => {
|
|
|
260
268
|
onPointerCancel?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
261
269
|
onPointerCancelCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
262
270
|
onPointerEnter?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
263
|
-
onPointerEnterCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
264
271
|
onPointerLeave?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
265
|
-
onPointerLeaveCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
266
272
|
onPointerOver?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
267
273
|
onPointerOverCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
268
274
|
onPointerOut?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
|
|
@@ -283,7 +289,7 @@ export declare const withDefaultGetters: (props: MegaMenuProps) => {
|
|
|
283
289
|
onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
|
|
284
290
|
onTransitionEnd?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
|
|
285
291
|
onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
|
|
286
|
-
ref?: import("react").
|
|
292
|
+
ref?: import("react").LegacyRef<HTMLDivElement> | undefined;
|
|
287
293
|
key?: import("react").Key | null | undefined;
|
|
288
294
|
};
|
|
289
295
|
type Level<ITEM> = Array<{
|
|
@@ -296,6 +302,6 @@ export declare const separateItemsByDepth: <ITEM>(params: {
|
|
|
296
302
|
items: ITEM[];
|
|
297
303
|
getItemSubMenu: MegaMenuPropGetItemSubMenu<ITEM>;
|
|
298
304
|
getItemActive: (item: ITEM) => boolean;
|
|
299
|
-
depth?: number
|
|
305
|
+
depth?: number;
|
|
300
306
|
}) => [Level<ITEM>, Level<ITEM>, Level<ITEM>];
|
|
301
307
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IconComponent } from '@consta/icons/Icon';
|
|
2
2
|
import { AsAttributes, AsTags } from '@consta/uikit/__internal__/src/utils/types/AsTags';
|
|
3
|
+
import { PropsWithHTMLAttributesAndRef } from '@consta/uikit/__internal__/src/utils/types/PropsWithHTMLAttributes';
|
|
3
4
|
import React from 'react';
|
|
4
|
-
import { PropsWithHTMLAttributesAndRef } from "../../utils/types/PropsWithHTMLAttributes";
|
|
5
5
|
import { MegaMenuBannerBarDefaultItem, MegaMenuBannerBarPropGetItemAs, MegaMenuBannerBarPropGetItemAttributes, MegaMenuBannerBarPropGetItemDescription, MegaMenuBannerBarPropGetItemImage, MegaMenuBannerBarPropGetItemLabel, MegaMenuBannerBarPropGetItemOnClick } from './MegaMenuBannerBar';
|
|
6
6
|
export type MegaMenuPropOnItemClick<ITEM> = (item: ITEM, props: {
|
|
7
7
|
e: React.MouseEvent;
|
|
@@ -62,4 +62,4 @@ export type MegaMenuProps<ITEM = MegaMenuDefaultItem, BANNER = MegaMenuBannerBar
|
|
|
62
62
|
} ? {} : {
|
|
63
63
|
getBannerLabel: MegaMenuBannerBarPropGetItemLabel<ITEM>;
|
|
64
64
|
}), HTMLDivElement>;
|
|
65
|
-
export type MegaMenuComponent = <ITEM = MegaMenuDefaultItem, BANNER = MegaMenuBannerBarDefaultItem>(props: MegaMenuProps<ITEM, BANNER>, ref: React.Ref<HTMLDivElement>) => React.
|
|
65
|
+
export type MegaMenuComponent = <ITEM = MegaMenuDefaultItem, BANNER = MegaMenuBannerBarDefaultItem>(props: MegaMenuProps<ITEM, BANNER>, ref: React.Ref<HTMLDivElement>) => React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/MegaMenu/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport {\n AsAttributes,\n AsTags,\n} from '@consta/uikit/__internal__/src/utils/types/AsTags';\nimport
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/MegaMenu/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport {\n AsAttributes,\n AsTags,\n} from '@consta/uikit/__internal__/src/utils/types/AsTags';\nimport { PropsWithHTMLAttributesAndRef } from '@consta/uikit/__internal__/src/utils/types/PropsWithHTMLAttributes';\nimport React from 'react';\n\nimport {\n MegaMenuBannerBarDefaultItem,\n MegaMenuBannerBarPropGetItemAs,\n MegaMenuBannerBarPropGetItemAttributes,\n MegaMenuBannerBarPropGetItemDescription,\n MegaMenuBannerBarPropGetItemImage,\n MegaMenuBannerBarPropGetItemLabel,\n MegaMenuBannerBarPropGetItemOnClick,\n} from './MegaMenuBannerBar';\n\nexport type MegaMenuPropOnItemClick<ITEM> = (\n item: ITEM,\n props: {\n e: React.MouseEvent;\n },\n) => void;\n\nexport type MegaMenuDefaultItem = {\n key: string | number;\n label: string;\n iconLeft?: IconComponent;\n as?: AsTags;\n attributes?: AsAttributes;\n subMenu?: MegaMenuDefaultItem[];\n onClick?: React.MouseEventHandler;\n};\n\nexport type MegaMenuPropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type MegaMenuPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type MegaMenuPropGetItemIconLeft<ITEM> = (\n item: ITEM,\n) => IconComponent | undefined;\nexport type MegaMenuPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.MouseEventHandler | undefined;\nexport type MegaMenuPropGetItemAs<ITEM> = (item: ITEM) => AsTags | undefined;\nexport type MegaMenuPropGetItemAttributes<ITEM> = (\n item: ITEM,\n) => AsAttributes | undefined;\nexport type MegaMenuPropGetItemSubMenu<ITEM> = (\n item: ITEM,\n) => ITEM[] | undefined;\n\nexport type ItemMappers<ITEM = MegaMenuDefaultItem> = {\n getItemKey?: MegaMenuPropGetItemKey<ITEM>;\n getItemLabel?: MegaMenuPropGetItemLabel<ITEM>;\n getItemIconLeft?: MegaMenuPropGetItemIconLeft<ITEM>;\n getItemOnClick?: MegaMenuPropGetItemOnClick<ITEM>;\n getItemAs?: MegaMenuPropGetItemAs<ITEM>;\n getItemAttributes?: MegaMenuPropGetItemAttributes<ITEM>;\n getItemSubMenu?: MegaMenuPropGetItemSubMenu<ITEM>;\n};\n\nexport type BannerMappers<ITEM = MegaMenuBannerBarDefaultItem> = {\n getBannerLabel?: MegaMenuBannerBarPropGetItemLabel<ITEM>;\n getBannerOnClick?: MegaMenuBannerBarPropGetItemOnClick<ITEM>;\n getBannerDescription?: MegaMenuBannerBarPropGetItemDescription<ITEM>;\n getBannerImage?: MegaMenuBannerBarPropGetItemImage<ITEM>;\n getBannerAs?: MegaMenuBannerBarPropGetItemAs<ITEM>;\n getBannerAttributes?: MegaMenuBannerBarPropGetItemAttributes<ITEM>;\n};\n\nexport type MegaMenuProps<\n ITEM = MegaMenuDefaultItem,\n BANNER = MegaMenuBannerBarDefaultItem,\n> = PropsWithHTMLAttributesAndRef<\n {\n banners?: BANNER[];\n items: ITEM[];\n menuTitle?: string;\n menuShowButtonText?: string;\n menuHideButtonText?: string;\n menuMaxElements?: number;\n bannerPosition?: 'right' | 'bottom';\n onItemClick?: MegaMenuPropOnItemClick<ITEM>;\n onBannerClick?: MegaMenuPropOnItemClick<BANNER>;\n } & BannerMappers<BANNER> &\n ItemMappers<ITEM> &\n (ITEM extends { key: MegaMenuDefaultItem['key'] }\n ? {}\n : { getItemKey: MegaMenuPropGetItemKey<ITEM> }) &\n (ITEM extends { label: MegaMenuDefaultItem['label'] }\n ? {}\n : { getItemLabel: MegaMenuPropGetItemLabel<ITEM> }) &\n (BANNER extends { label: MegaMenuBannerBarDefaultItem['label'] | unknown }\n ? {}\n : { getBannerLabel: MegaMenuBannerBarPropGetItemLabel<ITEM> }),\n HTMLDivElement\n>;\n\nexport type MegaMenuComponent = <\n ITEM = MegaMenuDefaultItem,\n BANNER = MegaMenuBannerBarDefaultItem,\n>(\n props: MegaMenuProps<ITEM, BANNER>,\n ref: React.Ref<HTMLDivElement>,\n) => React.ReactNode;\n"],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";const _excluded=["items","className","width","getItemActive","getItemHref","getItemLabel","getItemOnClick","getItemTarget","getItemSubMenu","onItemClick"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./Menu.css";import{IconMeatball}from"@consta/icons/IconMeatball";import{IconSelect}from"@consta/icons/IconSelect";import{Button}from"@consta/uikit/Button";import{ContextMenu}from"@consta/uikit/ContextMenu";import{animateTimeout}from"@consta/uikit/MixPopoverAnimate";import{useDebounce}from"@consta/uikit/useDebounce";import{useFlag}from"@consta/uikit/useFlag";import{useHideElementsInLine}from"@consta/uikit/useHideElementsInLineDepricated";import{useMutableRef}from"@consta/uikit/useMutableRef";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{getItemClick}from"../../helpers/getItemClick";import{cn}from"../../utils/bem";import{withDefaultGetters}from"./helpers";export const cnMenu=cn("Menu");const MenuRender=(a,b)=>{var c;const d=withDefaultGetters(a),{items:e,className:f,width:g,getItemActive:h,getItemHref:i,getItemLabel:j,getItemOnClick:k,getItemTarget:l,getItemSubMenu:m,onItemClick:n}=d,
|
|
1
|
+
import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";const _excluded=["items","className","width","getItemActive","getItemHref","getItemLabel","getItemOnClick","getItemTarget","getItemSubMenu","onItemClick","subMenuClassName"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./Menu.css";import{IconMeatball}from"@consta/icons/IconMeatball";import{IconSelect}from"@consta/icons/IconSelect";import{Button}from"@consta/uikit/Button";import{ContextMenu}from"@consta/uikit/ContextMenu";import{animateTimeout}from"@consta/uikit/MixPopoverAnimate";import{useDebounce}from"@consta/uikit/useDebounce";import{useFlag}from"@consta/uikit/useFlag";import{useHideElementsInLine}from"@consta/uikit/useHideElementsInLineDepricated";import{useMutableRef}from"@consta/uikit/useMutableRef";import React,{forwardRef,useCallback,useEffect,useRef,useState}from"react";import{getItemClick}from"../../helpers/getItemClick";import{cn}from"../../utils/bem";import{withDefaultGetters}from"./helpers";export const cnMenu=cn("Menu");const MenuRender=(a,b)=>{var c;const d=withDefaultGetters(a),{items:e,className:f,width:g,getItemActive:h,getItemHref:i,getItemLabel:j,getItemOnClick:k,getItemTarget:l,getItemSubMenu:m,onItemClick:n,subMenuClassName:o}=d,p=_objectWithoutProperties(d,_excluded),[q,r]=useState(),[s,t]=useFlag(),{visibleItems:u,itemsRefs:v,wrapperRef:w,hiddenItems:x,moreRef:y}=useHideElementsInLine(e),z=useRef(null),A=useMutableRef(i),B=useMutableRef(l),C=useCallback(a=>A.current(a)?"a":"span",[]),D=useCallback(a=>{const b=A.current(a),c=B.current(a);return _objectSpread(_objectSpread({},b&&{href:A.current(a)}),c&&{href:B.current(a)})},[]),E="number"==typeof(null===(c=a.style)||void 0===c?void 0:c.zIndex)?a.style.zIndex+1:void 0;return useEffect(useDebounce(()=>{s||r(void 0)},animateTimeout),[s]),React.createElement("nav",Object.assign({},p,{className:cnMenu({width:g},[f]),onMouseLeave:t.off,onMouseEnter:t.on,ref:b}),React.createElement("ul",{className:cnMenu("List"),ref:w},e.map((a,b)=>{const c=j(a),d=i(a),e=d?l(a):void 0,f=h(a),g=d?"a":"span",p=m(a),s=q===b,t=!u[b];return React.createElement("li",{className:cnMenu("Item",{hidden:t,active:f,opened:s}),key:cnMenu("Item",{index:b}),ref:v[b],onMouseEnter:()=>r(b)},React.createElement(g,{className:cnMenu("Link"),href:d,target:e,onClick:getItemClick(a,k,n)},c),p&&React.createElement(IconSelect,{size:"s",className:cnMenu("Arrow")}),React.createElement(ContextMenu,{className:cnMenu("SubMenu",{index:b.toString()},[o]),isOpen:p&&0<p.length&&s,items:p||[],getItemLabel:j,getItemSubMenu:m,anchorRef:v[b],onItemClick:(a,{e:b})=>getItemClick(a,k,n)(b),direction:"downStartLeft",possibleDirections:["upStartLeft","downStartRight","downStartLeft","upStartRight"],spareDirection:"downStartLeft",getItemAs:C,getItemAttributes:D,style:{zIndex:E}}))}),0<x.length&&React.createElement("li",{className:cnMenu("Item"),key:cnMenu("Item",{more:!0}),ref:y,onMouseEnter:()=>r("more")},React.createElement(Button,{iconLeft:IconMeatball,ref:z,size:"xs",view:"clear"}),React.createElement(ContextMenu,{isOpen:"more"===q,items:x,getItemLabel:j,getItemSubMenu:m,anchorRef:z,onItemClick:(a,{e:b})=>getItemClick(a,k,n)(b),direction:"downStartLeft",possibleDirections:["upStartLeft","downStartRight","downStartLeft","upStartRight"],spareDirection:"downStartRight",getItemAs:C,getItemAttributes:D,style:{zIndex:E},offset:8}))))};export const Menu=forwardRef(MenuRender);export*from"./types";
|
|
2
2
|
//# sourceMappingURL=Menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","names":["IconMeatball","IconSelect","Button","ContextMenu","animateTimeout","useDebounce","useFlag","useHideElementsInLine","useMutableRef","React","forwardRef","useCallback","useEffect","useRef","useState","getItemClick","cn","withDefaultGetters","cnMenu","MenuRender","props","ref","c","d","items","className","width","getItemActive","getItemHref","getItemLabel","getItemOnClick","getItemTarget","getItemSubMenu","onItemClick","otherProps","_objectWithoutProperties","_excluded","openedSubMenu","setOpenedSubMenu","mouseOnMenu","setMouseOnMenu","visibleItems","itemsRefs","wrapperRef","hiddenItems","moreRef","moreButtonRef","getItemHrefRef","getItemTargetRef","getItemAs","item","current","getItemHTMLAttributes","href","target","_objectSpread","elementZIndex","style","zIndex","createElement","Object","assign","onMouseLeave","off","onMouseEnter","on","map","index","label","active","Tag","subItems","opened","hidden","key","g","onClick","size","isOpen","length","anchorRef","e","direction","possibleDirections","spareDirection","getItemAttributes","more","iconLeft","view","offset","Menu"],"sources":["../../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import './Menu.css';\n\nimport { IconMeatball } from '@consta/icons/IconMeatball';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport { Button } from '@consta/uikit/Button';\nimport { ContextMenu } from '@consta/uikit/ContextMenu';\nimport { animateTimeout } from '@consta/uikit/MixPopoverAnimate';\nimport { useDebounce } from '@consta/uikit/useDebounce';\nimport { useFlag } from '@consta/uikit/useFlag';\nimport { useHideElementsInLine } from '@consta/uikit/useHideElementsInLineDepricated';\nimport { useMutableRef } from '@consta/uikit/useMutableRef';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { getItemClick } from '##/helpers/getItemClick';\nimport { cn } from '##/utils/bem';\n\nimport { withDefaultGetters } from './helpers';\nimport { MenuComponent, MenuProps } from './types';\n\nexport const cnMenu = cn('Menu');\n\nconst MenuRender = (props: MenuProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n items,\n className,\n width,\n getItemActive,\n getItemHref,\n getItemLabel,\n getItemOnClick,\n getItemTarget,\n getItemSubMenu,\n onItemClick,\n ...otherProps\n } = withDefaultGetters(props);\n\n const [openedSubMenu, setOpenedSubMenu] = useState<\n number | 'more' | undefined\n >();\n const [mouseOnMenu, setMouseOnMenu] = useFlag();\n\n const { visibleItems, itemsRefs, wrapperRef, hiddenItems, moreRef } =\n useHideElementsInLine<\n (typeof items)[number],\n HTMLLIElement,\n HTMLUListElement\n >(items);\n\n const moreButtonRef = useRef<HTMLButtonElement>(null);\n\n const getItemHrefRef = useMutableRef(getItemHref);\n const getItemTargetRef = useMutableRef(getItemTarget);\n\n const getItemAs = useCallback((item: (typeof items)[number]) => {\n if (getItemHrefRef.current(item)) {\n return 'a';\n }\n return 'span';\n }, []);\n\n const getItemHTMLAttributes = useCallback((item: (typeof items)[number]) => {\n const href = getItemHrefRef.current(item);\n const target = getItemTargetRef.current(item);\n\n return {\n ...(href && { href: getItemHrefRef.current(item) }),\n ...(target && { href: getItemTargetRef.current(item) }),\n };\n }, []);\n\n const elementZIndex =\n typeof props.style?.zIndex === 'number'\n ? props.style.zIndex + 1\n : undefined;\n\n useEffect(\n useDebounce(() => {\n if (!mouseOnMenu) {\n setOpenedSubMenu(undefined);\n }\n }, animateTimeout),\n [mouseOnMenu],\n );\n\n return (\n <nav\n {...otherProps}\n className={cnMenu({ width }, [className])}\n onMouseLeave={setMouseOnMenu.off}\n onMouseEnter={setMouseOnMenu.on}\n ref={ref}\n >\n <ul className={cnMenu('List')} ref={wrapperRef}>\n {items.map((item, index) => {\n const label = getItemLabel(item);\n const href = getItemHref(item);\n const target = href ? getItemTarget(item) : undefined;\n const active = getItemActive(item);\n const Tag = href ? 'a' : 'span';\n const subItems = getItemSubMenu(item);\n const opened = openedSubMenu === index;\n const hidden = !visibleItems[index];\n return (\n <li\n className={cnMenu('Item', { hidden, active, opened })}\n key={cnMenu('Item', { index })}\n ref={itemsRefs[index]}\n onMouseEnter={() => setOpenedSubMenu(index)}\n >\n <Tag\n className={cnMenu('Link')}\n href={href}\n target={target}\n onClick={getItemClick(item, getItemOnClick, onItemClick)}\n >\n {label}\n </Tag>\n {subItems && <IconSelect size=\"s\" className={cnMenu('Arrow')} />}\n <ContextMenu\n isOpen={subItems && subItems.length > 0 && opened}\n items={subItems || []}\n getItemLabel={getItemLabel}\n getItemSubMenu={getItemSubMenu}\n anchorRef={itemsRefs[index]}\n onItemClick={(item, { e }) =>\n getItemClick(item, getItemOnClick, onItemClick)(e)\n }\n direction=\"downStartLeft\"\n possibleDirections={[\n 'upStartLeft',\n 'downStartRight',\n 'downStartLeft',\n 'upStartRight',\n ]}\n spareDirection=\"downStartLeft\"\n getItemAs={getItemAs}\n getItemAttributes={getItemHTMLAttributes}\n style={{ zIndex: elementZIndex }}\n />\n </li>\n );\n })}\n {hiddenItems.length > 0 && (\n <li\n className={cnMenu('Item')}\n key={cnMenu('Item', { more: true })}\n ref={moreRef}\n onMouseEnter={() => setOpenedSubMenu('more')}\n >\n <Button\n iconLeft={IconMeatball}\n ref={moreButtonRef}\n size=\"xs\"\n view=\"clear\"\n />\n <ContextMenu\n isOpen={openedSubMenu === 'more'}\n items={hiddenItems}\n getItemLabel={getItemLabel}\n getItemSubMenu={getItemSubMenu}\n anchorRef={moreButtonRef}\n onItemClick={(item, { e }) =>\n getItemClick(item, getItemOnClick, onItemClick)(e)\n }\n direction=\"downStartLeft\"\n possibleDirections={[\n 'upStartLeft',\n 'downStartRight',\n 'downStartLeft',\n 'upStartRight',\n ]}\n spareDirection=\"downStartRight\"\n getItemAs={getItemAs}\n getItemAttributes={getItemHTMLAttributes}\n style={{ zIndex: elementZIndex }}\n offset={8}\n />\n </li>\n )}\n </ul>\n </nav>\n );\n};\n\nexport const Menu = forwardRef(MenuRender) as MenuComponent;\n\nexport * from './types';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.js","names":["IconMeatball","IconSelect","Button","ContextMenu","animateTimeout","useDebounce","useFlag","useHideElementsInLine","useMutableRef","React","forwardRef","useCallback","useEffect","useRef","useState","getItemClick","cn","withDefaultGetters","cnMenu","MenuRender","props","ref","c","d","items","className","width","getItemActive","getItemHref","getItemLabel","getItemOnClick","getItemTarget","getItemSubMenu","onItemClick","subMenuClassName","otherProps","_objectWithoutProperties","_excluded","openedSubMenu","setOpenedSubMenu","mouseOnMenu","setMouseOnMenu","visibleItems","itemsRefs","wrapperRef","hiddenItems","moreRef","moreButtonRef","getItemHrefRef","getItemTargetRef","getItemAs","item","current","getItemHTMLAttributes","href","target","_objectSpread","elementZIndex","style","zIndex","createElement","Object","assign","onMouseLeave","off","onMouseEnter","on","map","index","label","active","Tag","subItems","opened","hidden","key","g","onClick","size","toString","isOpen","length","anchorRef","e","direction","possibleDirections","spareDirection","getItemAttributes","more","iconLeft","view","offset","Menu"],"sources":["../../../../../src/components/Menu/Menu.tsx"],"sourcesContent":["import './Menu.css';\n\nimport { IconMeatball } from '@consta/icons/IconMeatball';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport { Button } from '@consta/uikit/Button';\nimport { ContextMenu } from '@consta/uikit/ContextMenu';\nimport { animateTimeout } from '@consta/uikit/MixPopoverAnimate';\nimport { useDebounce } from '@consta/uikit/useDebounce';\nimport { useFlag } from '@consta/uikit/useFlag';\nimport { useHideElementsInLine } from '@consta/uikit/useHideElementsInLineDepricated';\nimport { useMutableRef } from '@consta/uikit/useMutableRef';\nimport React, {\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { getItemClick } from '##/helpers/getItemClick';\nimport { cn } from '##/utils/bem';\n\nimport { withDefaultGetters } from './helpers';\nimport { MenuComponent, MenuProps } from './types';\n\nexport const cnMenu = cn('Menu');\n\nconst MenuRender = (props: MenuProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n items,\n className,\n width,\n getItemActive,\n getItemHref,\n getItemLabel,\n getItemOnClick,\n getItemTarget,\n getItemSubMenu,\n onItemClick,\n subMenuClassName,\n ...otherProps\n } = withDefaultGetters(props);\n\n const [openedSubMenu, setOpenedSubMenu] = useState<\n number | 'more' | undefined\n >();\n const [mouseOnMenu, setMouseOnMenu] = useFlag();\n\n const { visibleItems, itemsRefs, wrapperRef, hiddenItems, moreRef } =\n useHideElementsInLine<\n (typeof items)[number],\n HTMLLIElement,\n HTMLUListElement\n >(items);\n\n const moreButtonRef = useRef<HTMLButtonElement>(null);\n\n const getItemHrefRef = useMutableRef(getItemHref);\n const getItemTargetRef = useMutableRef(getItemTarget);\n\n const getItemAs = useCallback((item: (typeof items)[number]) => {\n if (getItemHrefRef.current(item)) {\n return 'a';\n }\n return 'span';\n }, []);\n\n const getItemHTMLAttributes = useCallback((item: (typeof items)[number]) => {\n const href = getItemHrefRef.current(item);\n const target = getItemTargetRef.current(item);\n\n return {\n ...(href && { href: getItemHrefRef.current(item) }),\n ...(target && { href: getItemTargetRef.current(item) }),\n };\n }, []);\n\n const elementZIndex =\n typeof props.style?.zIndex === 'number'\n ? props.style.zIndex + 1\n : undefined;\n\n useEffect(\n useDebounce(() => {\n if (!mouseOnMenu) {\n setOpenedSubMenu(undefined);\n }\n }, animateTimeout),\n [mouseOnMenu],\n );\n\n return (\n <nav\n {...otherProps}\n className={cnMenu({ width }, [className])}\n onMouseLeave={setMouseOnMenu.off}\n onMouseEnter={setMouseOnMenu.on}\n ref={ref}\n >\n <ul className={cnMenu('List')} ref={wrapperRef}>\n {items.map((item, index) => {\n const label = getItemLabel(item);\n const href = getItemHref(item);\n const target = href ? getItemTarget(item) : undefined;\n const active = getItemActive(item);\n const Tag = href ? 'a' : 'span';\n const subItems = getItemSubMenu(item);\n const opened = openedSubMenu === index;\n const hidden = !visibleItems[index];\n return (\n <li\n className={cnMenu('Item', { hidden, active, opened })}\n key={cnMenu('Item', { index })}\n ref={itemsRefs[index]}\n onMouseEnter={() => setOpenedSubMenu(index)}\n >\n <Tag\n className={cnMenu('Link')}\n href={href}\n target={target}\n onClick={getItemClick(item, getItemOnClick, onItemClick)}\n >\n {label}\n </Tag>\n {subItems && <IconSelect size=\"s\" className={cnMenu('Arrow')} />}\n <ContextMenu\n className={cnMenu('SubMenu', { index: index.toString() }, [\n subMenuClassName,\n ])}\n isOpen={subItems && subItems.length > 0 && opened}\n items={subItems || []}\n getItemLabel={getItemLabel}\n getItemSubMenu={getItemSubMenu}\n anchorRef={itemsRefs[index]}\n onItemClick={(item, { e }) =>\n getItemClick(item, getItemOnClick, onItemClick)(e)\n }\n direction=\"downStartLeft\"\n possibleDirections={[\n 'upStartLeft',\n 'downStartRight',\n 'downStartLeft',\n 'upStartRight',\n ]}\n spareDirection=\"downStartLeft\"\n getItemAs={getItemAs}\n getItemAttributes={getItemHTMLAttributes}\n style={{ zIndex: elementZIndex }}\n />\n </li>\n );\n })}\n {hiddenItems.length > 0 && (\n <li\n className={cnMenu('Item')}\n key={cnMenu('Item', { more: true })}\n ref={moreRef}\n onMouseEnter={() => setOpenedSubMenu('more')}\n >\n <Button\n iconLeft={IconMeatball}\n ref={moreButtonRef}\n size=\"xs\"\n view=\"clear\"\n />\n <ContextMenu\n isOpen={openedSubMenu === 'more'}\n items={hiddenItems}\n getItemLabel={getItemLabel}\n getItemSubMenu={getItemSubMenu}\n anchorRef={moreButtonRef}\n onItemClick={(item, { e }) =>\n getItemClick(item, getItemOnClick, onItemClick)(e)\n }\n direction=\"downStartLeft\"\n possibleDirections={[\n 'upStartLeft',\n 'downStartRight',\n 'downStartLeft',\n 'upStartRight',\n ]}\n spareDirection=\"downStartRight\"\n getItemAs={getItemAs}\n getItemAttributes={getItemHTMLAttributes}\n style={{ zIndex: elementZIndex }}\n offset={8}\n />\n </li>\n )}\n </ul>\n </nav>\n );\n};\n\nexport const Menu = forwardRef(MenuRender) as MenuComponent;\n\nexport * from './types';\n"],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { MenuDefaultItem, MenuPropGetItemActive, MenuPropGetItemHref, MenuPropGetItemLabel, MenuPropGetItemOnClick, MenuPropGetItemSubMenu, MenuPropGetItemTarget, MenuProps } from './types';
|
|
3
2
|
export declare const defaultGetItemLabel: MenuPropGetItemLabel<MenuDefaultItem>;
|
|
4
3
|
export declare const defaultGetItemActive: MenuPropGetItemActive<MenuDefaultItem>;
|
|
@@ -7,12 +6,12 @@ export declare const defaultGetItemOnClick: MenuPropGetItemOnClick<MenuDefaultIt
|
|
|
7
6
|
export declare const defaultGetItemTarget: MenuPropGetItemTarget<MenuDefaultItem>;
|
|
8
7
|
export declare const defaultGetItemSubMenu: MenuPropGetItemSubMenu<MenuDefaultItem>;
|
|
9
8
|
export declare const getGetters: <ITEM>(props: {
|
|
10
|
-
getItemLabel?: MenuPropGetItemLabel<ITEM
|
|
11
|
-
getItemActive?: MenuPropGetItemActive<ITEM
|
|
12
|
-
getItemHref?: MenuPropGetItemHref<ITEM
|
|
13
|
-
getItemOnClick?: MenuPropGetItemOnClick<ITEM
|
|
14
|
-
getItemTarget?: MenuPropGetItemTarget<ITEM
|
|
15
|
-
getItemSubMenu?: MenuPropGetItemSubMenu<ITEM
|
|
9
|
+
getItemLabel?: MenuPropGetItemLabel<ITEM>;
|
|
10
|
+
getItemActive?: MenuPropGetItemActive<ITEM>;
|
|
11
|
+
getItemHref?: MenuPropGetItemHref<ITEM>;
|
|
12
|
+
getItemOnClick?: MenuPropGetItemOnClick<ITEM>;
|
|
13
|
+
getItemTarget?: MenuPropGetItemTarget<ITEM>;
|
|
14
|
+
getItemSubMenu?: MenuPropGetItemSubMenu<ITEM>;
|
|
16
15
|
}) => {
|
|
17
16
|
getItemLabel: MenuPropGetItemLabel<MenuDefaultItem> | MenuPropGetItemLabel<ITEM>;
|
|
18
17
|
getItemActive: MenuPropGetItemActive<MenuDefaultItem> | MenuPropGetItemActive<ITEM>;
|
|
@@ -23,7 +22,7 @@ export declare const getGetters: <ITEM>(props: {
|
|
|
23
22
|
};
|
|
24
23
|
export declare function withDefaultGetters<ITEM>(props: MenuProps<ITEM>): {
|
|
25
24
|
items: ITEM[];
|
|
26
|
-
width?: "full"
|
|
25
|
+
width?: "full";
|
|
27
26
|
onItemClick?: import("./types").MenuPropOnItemClick<ITEM> | undefined;
|
|
28
27
|
getItemHref?: MenuPropGetItemHref<ITEM> | undefined;
|
|
29
28
|
getItemLabel?: MenuPropGetItemLabel<ITEM> | undefined;
|
|
@@ -31,8 +30,9 @@ export declare function withDefaultGetters<ITEM>(props: MenuProps<ITEM>): {
|
|
|
31
30
|
getItemActive?: MenuPropGetItemActive<ITEM> | undefined;
|
|
32
31
|
getItemOnClick?: MenuPropGetItemOnClick<ITEM> | undefined;
|
|
33
32
|
getItemSubMenu?: MenuPropGetItemSubMenu<ITEM> | undefined;
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
subMenuClassName?: string;
|
|
34
|
+
} & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "items" | "onItemClick" | "getItemHref" | "getItemLabel" | "getItemTarget" | "getItemOnClick" | "width" | "getItemSubMenu" | "getItemActive" | "subMenuClassName"> & import("react").RefAttributes<HTMLDivElement> & (ITEM extends {
|
|
35
|
+
label: MenuDefaultItem["label"];
|
|
36
36
|
} ? {} : {
|
|
37
37
|
getItemLabel: MenuPropGetItemLabel<ITEM>;
|
|
38
38
|
}) & {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import { PropsWithHTMLAttributesAndRef } from "../../utils/types/PropsWithHTMLAttributes";
|
|
1
|
+
import { PropsWithHTMLAttributesAndRef } from '@consta/uikit/__internal__/src/utils/types/PropsWithHTMLAttributes';
|
|
3
2
|
export type MenuDefaultItem = {
|
|
4
3
|
label: string;
|
|
5
4
|
href?: string;
|
|
@@ -27,9 +26,10 @@ export type MenuProps<ITEM = MenuDefaultItem> = PropsWithHTMLAttributesAndRef<{
|
|
|
27
26
|
getItemActive?: MenuPropGetItemActive<ITEM>;
|
|
28
27
|
getItemOnClick?: MenuPropGetItemOnClick<ITEM>;
|
|
29
28
|
getItemSubMenu?: MenuPropGetItemSubMenu<ITEM>;
|
|
29
|
+
subMenuClassName?: string;
|
|
30
30
|
}, HTMLDivElement> & (ITEM extends {
|
|
31
31
|
label: MenuDefaultItem['label'];
|
|
32
32
|
} ? {} : {
|
|
33
33
|
getItemLabel: MenuPropGetItemLabel<ITEM>;
|
|
34
34
|
});
|
|
35
|
-
export type MenuComponent = <ITEM = MenuDefaultItem>(props: MenuProps<ITEM>) => React.
|
|
35
|
+
export type MenuComponent = <ITEM = MenuDefaultItem>(props: MenuProps<ITEM>) => React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/Menu/types.ts"],"sourcesContent":["import { PropsWithHTMLAttributesAndRef } from '
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/Menu/types.ts"],"sourcesContent":["import { PropsWithHTMLAttributesAndRef } from '@consta/uikit/__internal__/src/utils/types/PropsWithHTMLAttributes';\n\nexport type MenuDefaultItem = {\n label: string;\n href?: string;\n target?: string;\n active?: boolean;\n onClick?: React.EventHandler<React.MouseEvent>;\n subMenu?: MenuDefaultItem[];\n};\n\nexport type MenuPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type MenuPropGetItemHref<ITEM> = (item: ITEM) => string | undefined;\nexport type MenuPropGetItemTarget<ITEM> = (item: ITEM) => string | undefined;\nexport type MenuPropGetItemActive<ITEM> = (item: ITEM) => boolean | undefined;\nexport type MenuPropGetItemSubMenu<ITEM> = (item: ITEM) => ITEM[] | undefined;\nexport type MenuPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.EventHandler<React.MouseEvent> | undefined;\nexport type MenuPropOnItemClick<ITEM> = (\n item: ITEM,\n props: {\n e: React.MouseEvent;\n },\n) => void;\n\nexport type MenuProps<ITEM = MenuDefaultItem> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n width?: 'full';\n onItemClick?: MenuPropOnItemClick<ITEM>;\n getItemHref?: MenuPropGetItemHref<ITEM>;\n getItemLabel?: MenuPropGetItemLabel<ITEM>;\n getItemTarget?: MenuPropGetItemTarget<ITEM>;\n getItemActive?: MenuPropGetItemActive<ITEM>;\n getItemOnClick?: MenuPropGetItemOnClick<ITEM>;\n getItemSubMenu?: MenuPropGetItemSubMenu<ITEM>;\n subMenuClassName?: string;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: MenuDefaultItem['label'] }\n ? {}\n : { getItemLabel: MenuPropGetItemLabel<ITEM> });\n\nexport type MenuComponent = <ITEM = MenuDefaultItem>(\n props: MenuProps<ITEM>,\n) => React.ReactNode;\n"],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { PropsWithHTMLAttributesAndRef } from '@consta/uikit/__internal__/src/utils/types/PropsWithHTMLAttributes';
|
|
1
2
|
import React from 'react';
|
|
2
|
-
import { VerticalMenuDefaultItem, VerticalMenuPropGetItemActive, VerticalMenuPropGetItemGroup, VerticalMenuPropGetItemHref, VerticalMenuPropGetItemLabel, VerticalMenuPropGetItemOnClick, VerticalMenuPropGetItemSubMenu, VerticalMenuPropGetItemTarget, VerticalMenuPropOnItemClick } from
|
|
3
|
-
import { PropsWithHTMLAttributesAndRef } from "../../utils/types/PropsWithHTMLAttributes";
|
|
3
|
+
import { VerticalMenuDefaultItem, VerticalMenuPropGetItemActive, VerticalMenuPropGetItemGroup, VerticalMenuPropGetItemHref, VerticalMenuPropGetItemLabel, VerticalMenuPropGetItemOnClick, VerticalMenuPropGetItemSubMenu, VerticalMenuPropGetItemTarget, VerticalMenuPropOnItemClick } from '../VerticalMenu';
|
|
4
4
|
export type MobileMenuProps<ITEM = VerticalMenuDefaultItem> = PropsWithHTMLAttributesAndRef<{
|
|
5
5
|
items: ITEM[];
|
|
6
6
|
getItemHref?: VerticalMenuPropGetItemHref<ITEM>;
|
|
@@ -20,5 +20,5 @@ export type MobileMenuProps<ITEM = VerticalMenuDefaultItem> = PropsWithHTMLAttri
|
|
|
20
20
|
} ? {} : {
|
|
21
21
|
getItemLabel: VerticalMenuPropGetItemLabel<ITEM>;
|
|
22
22
|
});
|
|
23
|
-
export type MobileMenuComponent = <ITEM = VerticalMenuDefaultItem>(props: MobileMenuProps<ITEM>) => React.
|
|
23
|
+
export type MobileMenuComponent = <ITEM = VerticalMenuDefaultItem>(props: MobileMenuProps<ITEM>) => React.ReactNode;
|
|
24
24
|
export type { VerticalMenuDefaultItem };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/MobileMenu/types.ts"],"sourcesContent":["import React from 'react';\n\nimport {\n VerticalMenuDefaultItem,\n VerticalMenuPropGetItemActive,\n VerticalMenuPropGetItemGroup,\n VerticalMenuPropGetItemHref,\n VerticalMenuPropGetItemLabel,\n VerticalMenuPropGetItemOnClick,\n VerticalMenuPropGetItemSubMenu,\n VerticalMenuPropGetItemTarget,\n VerticalMenuPropOnItemClick,\n} from '##/components/VerticalMenu';\
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/MobileMenu/types.ts"],"sourcesContent":["import { PropsWithHTMLAttributesAndRef } from '@consta/uikit/__internal__/src/utils/types/PropsWithHTMLAttributes';\nimport React from 'react';\n\nimport {\n VerticalMenuDefaultItem,\n VerticalMenuPropGetItemActive,\n VerticalMenuPropGetItemGroup,\n VerticalMenuPropGetItemHref,\n VerticalMenuPropGetItemLabel,\n VerticalMenuPropGetItemOnClick,\n VerticalMenuPropGetItemSubMenu,\n VerticalMenuPropGetItemTarget,\n VerticalMenuPropOnItemClick,\n} from '##/components/VerticalMenu';\n\nexport type MobileMenuProps<ITEM = VerticalMenuDefaultItem> =\n PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n getItemHref?: VerticalMenuPropGetItemHref<ITEM>;\n getItemLabel?: VerticalMenuPropGetItemLabel<ITEM>;\n getItemTarget?: VerticalMenuPropGetItemTarget<ITEM>;\n getItemActive?: VerticalMenuPropGetItemActive<ITEM>;\n getItemOnClick?: VerticalMenuPropGetItemOnClick<ITEM>;\n getItemSubMenu?: VerticalMenuPropGetItemSubMenu<ITEM>;\n getItemGroup?: VerticalMenuPropGetItemGroup<ITEM>;\n onItemClick?: VerticalMenuPropOnItemClick<ITEM>;\n header?: React.ReactNode;\n sidebarClassName?: string;\n children?: never;\n footer?: React.ReactNode;\n },\n HTMLButtonElement\n > &\n (ITEM extends { label: VerticalMenuDefaultItem['label'] }\n ? {}\n : { getItemLabel: VerticalMenuPropGetItemLabel<ITEM> });\n\nexport type MobileMenuComponent = <ITEM = VerticalMenuDefaultItem>(\n props: MobileMenuProps<ITEM>,\n) => React.ReactNode;\n\nexport type { VerticalMenuDefaultItem };\n"],"mappings":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";const _excluded=["items","onItemClick","groups","getItemLabel","getItemIcon","getItemRightSide","getItemAs","getItemAttributes","getItemGroupKey","getItemActive","getItemRef","getItemAdditionalClassName","getGroupKey","getGroupLabel","getGroupRightSide","getGroupAdditionalClassName","size","form","getItemSubMenu","getItemStatus","sortGroup","className"];import{getGroups}from"@consta/uikit/__internal__/src/utils/getGroups";import{renderHeader}from"@consta/uikit/ListCanary";import React,{forwardRef,useMemo}from"react";import{cnCanary}from"../../utils/bem";import{withDefaultGetters}from"./helpers";import{NavbarItem}from"./NavbarItem";import{defaultNavbarPropForm,defaultNavbarPropSize}from"./types";const cnNavbar=cnCanary("Navbar")
|
|
1
|
+
import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";const _excluded=["items","onItemClick","groups","getItemLabel","getItemIcon","getItemRightSide","getItemAs","getItemAttributes","getItemGroupKey","getItemActive","getItemRef","getItemAdditionalClassName","getGroupKey","getGroupLabel","getGroupRightSide","getGroupAdditionalClassName","size","form","getItemSubMenu","getItemStatus","getItemSubMenuOpen","onSubMenuToggle","sortGroup","className"];import{getGroups}from"@consta/uikit/__internal__/src/utils/getGroups";import{renderHeader}from"@consta/uikit/ListCanary";import React,{forwardRef,useMemo}from"react";import{cnCanary}from"../../utils/bem";import{withDefaultGetters}from"./helpers";import{NavbarItem}from"./NavbarItem";import{defaultNavbarPropForm,defaultNavbarPropSize}from"./types";export const cnNavbar=cnCanary("Navbar");const NavbarRender=(a,b)=>{const c=withDefaultGetters(a),{items:d,onItemClick:e,groups:f,getItemLabel:g,getItemIcon:h,getItemRightSide:i,getItemAs:j,getItemAttributes:k,getItemGroupKey:l,getItemActive:m,getItemRef:n,getItemAdditionalClassName:o,getGroupKey:p,getGroupLabel:q,getGroupRightSide:r,getGroupAdditionalClassName:s,size:z=defaultNavbarPropSize,form:A=defaultNavbarPropForm,getItemSubMenu:t,getItemStatus:u,getItemSubMenuOpen:v,onSubMenuToggle:w,sortGroup:x,className:y}=c,B=_objectWithoutProperties(c,_excluded),C=useMemo(()=>getGroups(d,l,f,p,x),[f,d]);return React.createElement("div",Object.assign({},B,{ref:b,className:cnNavbar(null,[y])}),C.map((a,b)=>React.createElement(React.Fragment,{key:a.key},renderHeader(a.group&&q(a.group),0===b,z,a.group&&r(a.group),{pV:"xs",mH:"m",mB:"2xs"},void 0,s&&a.group&&s(a.group)),a.items.map((b,c)=>React.createElement(React.Fragment,{key:`${a.key}-${c}`},React.createElement(NavbarItem,{size:z,item:b,level:0,onItemClick:e,getItemLabel:g,getItemActive:m,getItemAdditionalClassName:o,getItemAs:j,getItemAttributes:k,getItemIcon:h,getItemRef:n,getItemRightSide:i,getItemSubMenu:t,getItemStatus:u,getItemSubMenuOpen:v,onSubMenuToggle:w,form:A}))))))};export const Navbar=forwardRef(NavbarRender);
|
|
2
2
|
//# sourceMappingURL=Navbar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navbar.js","names":["getGroups","renderHeader","React","forwardRef","useMemo","cnCanary","withDefaultGetters","NavbarItem","defaultNavbarPropForm","defaultNavbarPropSize","cnNavbar","NavbarRender","props","ref","c","items","onItemClick","groups","groupsProp","getItemLabel","getItemIcon","getItemRightSide","getItemAs","getItemAttributes","getItemGroupKey","getItemActive","getItemRef","getItemAdditionalClassName","getGroupKey","getGroupLabel","getGroupRightSide","getGroupAdditionalClassName","size","form","getItemSubMenu","getItemStatus","sortGroup","className","otherProps","_objectWithoutProperties","_excluded","createElement","Object","assign","map","group","groupIndex","Fragment","key","pV","mH","mB","item","index","level","Navbar"],"sources":["../../../../../src/components/Navbar/Navbar.tsx"],"sourcesContent":["import { getGroups } from '@consta/uikit/__internal__/src/utils/getGroups';\nimport { renderHeader } from '@consta/uikit/ListCanary';\nimport React, { forwardRef, useMemo } from 'react';\n\nimport { cnCanary } from '##/utils/bem';\n\nimport { withDefaultGetters } from './helpers';\nimport { NavbarItem } from './NavbarItem';\nimport {\n defaultNavbarPropForm,\n defaultNavbarPropSize,\n NavbarComponent,\n NavbarProps,\n} from './types';\n\
|
|
1
|
+
{"version":3,"file":"Navbar.js","names":["getGroups","renderHeader","React","forwardRef","useMemo","cnCanary","withDefaultGetters","NavbarItem","defaultNavbarPropForm","defaultNavbarPropSize","cnNavbar","NavbarRender","props","ref","c","items","onItemClick","groups","groupsProp","getItemLabel","getItemIcon","getItemRightSide","getItemAs","getItemAttributes","getItemGroupKey","getItemActive","getItemRef","getItemAdditionalClassName","getGroupKey","getGroupLabel","getGroupRightSide","getGroupAdditionalClassName","size","form","getItemSubMenu","getItemStatus","getItemSubMenuOpen","onSubMenuToggle","sortGroup","className","otherProps","_objectWithoutProperties","_excluded","createElement","Object","assign","map","group","groupIndex","Fragment","key","pV","mH","mB","item","index","level","Navbar"],"sources":["../../../../../src/components/Navbar/Navbar.tsx"],"sourcesContent":["import { getGroups } from '@consta/uikit/__internal__/src/utils/getGroups';\nimport { renderHeader } from '@consta/uikit/ListCanary';\nimport React, { forwardRef, useMemo } from 'react';\n\nimport { cnCanary } from '##/utils/bem';\n\nimport { withDefaultGetters } from './helpers';\nimport { NavbarItem } from './NavbarItem';\nimport {\n defaultNavbarPropForm,\n defaultNavbarPropSize,\n NavbarComponent,\n NavbarProps,\n} from './types';\n\nexport const cnNavbar = cnCanary('Navbar');\n\nconst NavbarRender = (props: NavbarProps, ref: React.Ref<HTMLDivElement>) => {\n const {\n items,\n onItemClick,\n groups: groupsProp,\n getItemLabel,\n getItemIcon,\n getItemRightSide,\n getItemAs,\n getItemAttributes,\n getItemGroupKey,\n getItemActive,\n getItemRef,\n getItemAdditionalClassName,\n getGroupKey,\n getGroupLabel,\n getGroupRightSide,\n getGroupAdditionalClassName,\n size = defaultNavbarPropSize,\n form = defaultNavbarPropForm,\n getItemSubMenu,\n getItemStatus,\n getItemSubMenuOpen,\n onSubMenuToggle,\n sortGroup,\n className,\n ...otherProps\n } = withDefaultGetters(props);\n\n const groups = useMemo(\n () => getGroups(items, getItemGroupKey, groupsProp, getGroupKey, sortGroup),\n [groupsProp, items],\n );\n\n return (\n <div {...otherProps} ref={ref} className={cnNavbar(null, [className])}>\n {groups.map((group, groupIndex) => {\n return (\n <React.Fragment key={group.key}>\n {renderHeader(\n group.group && getGroupLabel(group.group),\n groupIndex === 0,\n size,\n group.group && getGroupRightSide(group.group),\n { pV: 'xs', mH: 'm', mB: '2xs' },\n undefined,\n getGroupAdditionalClassName &&\n group.group &&\n getGroupAdditionalClassName(group.group),\n )}\n {group.items.map((item, index) => {\n return (\n <React.Fragment key={`${group.key}-${index}`}>\n <NavbarItem\n size={size}\n item={item}\n level={0}\n onItemClick={onItemClick}\n getItemLabel={getItemLabel}\n getItemActive={getItemActive}\n getItemAdditionalClassName={getItemAdditionalClassName}\n getItemAs={getItemAs}\n getItemAttributes={getItemAttributes}\n getItemIcon={getItemIcon}\n getItemRef={getItemRef}\n getItemRightSide={getItemRightSide}\n getItemSubMenu={getItemSubMenu}\n getItemStatus={getItemStatus}\n getItemSubMenuOpen={getItemSubMenuOpen}\n onSubMenuToggle={onSubMenuToggle}\n form={form}\n />\n </React.Fragment>\n );\n })}\n </React.Fragment>\n );\n })}\n </div>\n );\n};\n\nexport const Navbar = forwardRef(NavbarRender) as NavbarComponent;\n"],"mappings":"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"}
|