@codecademy/brand 3.28.0-alpha.e4c902328e.0 → 3.29.0-alpha.034f48155f.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/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/MarketingBanner.d.ts +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/MarketingBanner.js +3 -3
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/NavPanels.d.ts +1 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/NavPanels.js +8 -5
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/consts.d.ts +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/consts.js +52 -2
- package/dist/AppHeader/AppHeaderElements/AppHeaderCatalogDropdown/index.js +5 -4
- package/dist/AppHeader/AppHeaderElements/AppHeaderDietCard/index.js +7 -5
- package/dist/AppHeader/AppHeaderElements/AppHeaderLinkSections/index.js +0 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/AppHeaderSection.test.js +193 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/MobileBackButton.d.ts +25 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/MobileBackButton.js +13 -2
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/MobileNavMenu.js +12 -3
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/NavSection.d.ts +21 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/NavSection.js +206 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/PanelLayout.d.ts +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/PanelLayout.js +8 -0
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/elements.d.ts +2 -55
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/elements.js +18 -69
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/index.d.ts +10 -15
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/index.js +28 -89
- package/dist/AppHeaderMobile/AppHeaderSubMenuMobile/index.js +8 -6
- package/dist/DropdownButton/index.d.ts +1 -3
- package/dist/GlobalHeader/context.d.ts +3 -1
- package/dist/GlobalHeader/context.js +19 -15
- package/dist/GlobalHeader/index.js +50 -47
- package/dist/GlobalHeader/types.d.ts +1 -0
- package/dist/stories/Atoms/BetaSticker.stories.js +0 -1
- package/dist/stories/Molecules/AppBar.stories.d.ts +0 -1
- package/dist/stories/Molecules/AppBar.stories.js +1 -2
- package/dist/stories/Molecules/AppHeader/AppHeaderLink.stories.js +0 -2
- package/dist/stories/Molecules/AppHeader/AppHeaderLogo.stories.js +1 -2
- package/dist/stories/Molecules/Banner.stories.js +0 -3
- package/dist/stories/Molecules/CurriculumCard.stories.js +0 -7
- package/dist/stories/Molecules/EmptySection.stories.js +1 -2
- package/dist/stories/Molecules/EnhancedBanner.stories.js +1 -1
- package/dist/stories/Molecules/HubCard.stories.js +0 -1
- package/dist/stories/Molecules/NotificationList.stories.js +1 -2
- package/dist/stories/Molecules/Testimonial.stories.js +4 -8
- package/dist/stories/Organisms/GlobalFooter.stories.js +1 -2
- package/dist/stories/Organisms/GlobalHeader/About.stories.js +1 -2
- package/dist/stories/Organisms/GlobalHeader/Bootcamp.stories.js +1 -2
- package/dist/stories/Organisms/GlobalHeader/Enterprise.stories.js +1 -2
- package/dist/stories/Organisms/GlobalHeader/Simple.stories.js +1 -2
- package/dist/stories/Organisms/GlobalPage.stories.js +0 -2
- package/dist/stories/Organisms/LayoutMenu.stories.js +3 -6
- package/dist/stories/Organisms/LayoutMenuVariant.stories.js +2 -4
- package/dist/stories/Organisms/PageFeatures.stories.js +1 -9
- package/dist/stories/Organisms/PageHero.stories.js +10 -20
- package/dist/stories/Organisms/PagePrefooter.stories.js +4 -8
- package/dist/stories/Organisms/PageSingleFeature.stories.js +10 -20
- package/dist/stories/Organisms/PageVideoGallery.stories.js +5 -10
- package/dist/stories/Organisms/ScoreSummary.stories.js +4 -8
- package/dist/svg.d.ts +0 -1
- package/package.json +2 -1
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/NavTabs.d.ts +0 -20
- package/dist/AppHeader/AppHeaderElements/AppHeaderSection/NavTabs.js +0 -126
|
@@ -33,22 +33,19 @@ export const RegularButton = {
|
|
|
33
33
|
...ctaArgs,
|
|
34
34
|
buttonType: 'fill'
|
|
35
35
|
}
|
|
36
|
-
})
|
|
37
|
-
name: 'Regular Button'
|
|
36
|
+
})
|
|
38
37
|
};
|
|
39
38
|
export const WithoutButton = {
|
|
40
39
|
render: args => /*#__PURE__*/_jsx(PagePrefooter, {
|
|
41
40
|
...args,
|
|
42
41
|
cta: undefined
|
|
43
|
-
})
|
|
44
|
-
name: 'Without Button'
|
|
42
|
+
})
|
|
45
43
|
};
|
|
46
44
|
export const WithoutDescription = {
|
|
47
45
|
render: args => /*#__PURE__*/_jsx(PagePrefooter, {
|
|
48
46
|
...args,
|
|
49
47
|
desc: undefined
|
|
50
|
-
})
|
|
51
|
-
name: 'Without Description'
|
|
48
|
+
})
|
|
52
49
|
};
|
|
53
50
|
export const DarkMode = {
|
|
54
51
|
render: args => /*#__PURE__*/_jsx(Background, {
|
|
@@ -57,6 +54,5 @@ export const DarkMode = {
|
|
|
57
54
|
children: /*#__PURE__*/_jsx(PagePrefooter, {
|
|
58
55
|
...args
|
|
59
56
|
})
|
|
60
|
-
})
|
|
61
|
-
name: 'Dark Mode'
|
|
57
|
+
})
|
|
62
58
|
};
|
|
@@ -28,8 +28,7 @@ export default meta;
|
|
|
28
28
|
export const SingleFeature = {
|
|
29
29
|
render: args => /*#__PURE__*/_jsx(PageSingleFeature, {
|
|
30
30
|
...args
|
|
31
|
-
})
|
|
32
|
-
name: 'Single Feature'
|
|
31
|
+
})
|
|
33
32
|
};
|
|
34
33
|
export const Video = {
|
|
35
34
|
render: args => /*#__PURE__*/_jsx(PageSingleFeature, {
|
|
@@ -42,8 +41,7 @@ export const Video = {
|
|
|
42
41
|
autoplay: true
|
|
43
42
|
},
|
|
44
43
|
title: "What's it like to be a Software Engineer"
|
|
45
|
-
})
|
|
46
|
-
name: 'Video'
|
|
44
|
+
})
|
|
47
45
|
};
|
|
48
46
|
export const AdjustTheMediaWidth = {
|
|
49
47
|
render: args => /*#__PURE__*/_jsx(PageSingleFeature, {
|
|
@@ -61,24 +59,21 @@ export const RegularButton = {
|
|
|
61
59
|
buttonType: 'fill'
|
|
62
60
|
},
|
|
63
61
|
mediaWidth: 4
|
|
64
|
-
})
|
|
65
|
-
name: 'Regular Button'
|
|
62
|
+
})
|
|
66
63
|
};
|
|
67
64
|
export const WithoutButton = {
|
|
68
65
|
render: args => /*#__PURE__*/_jsx(PageSingleFeature, {
|
|
69
66
|
...args,
|
|
70
67
|
cta: undefined,
|
|
71
68
|
mediaWidth: 3
|
|
72
|
-
})
|
|
73
|
-
name: 'Without Button'
|
|
69
|
+
})
|
|
74
70
|
};
|
|
75
71
|
export const WithoutDescription = {
|
|
76
72
|
render: args => /*#__PURE__*/_jsx(PageSingleFeature, {
|
|
77
73
|
...args,
|
|
78
74
|
desc: undefined,
|
|
79
75
|
mediaWidth: 4
|
|
80
|
-
})
|
|
81
|
-
name: 'Without Description'
|
|
76
|
+
})
|
|
82
77
|
};
|
|
83
78
|
export const Eyebrow = {
|
|
84
79
|
render: args => /*#__PURE__*/_jsx(PageSingleFeature, {
|
|
@@ -86,8 +81,7 @@ export const Eyebrow = {
|
|
|
86
81
|
eyebrow: {
|
|
87
82
|
text: 'Codecademy'
|
|
88
83
|
}
|
|
89
|
-
})
|
|
90
|
-
name: 'Eyebrow'
|
|
84
|
+
})
|
|
91
85
|
};
|
|
92
86
|
export const AccentEyebrow = {
|
|
93
87
|
render: args => /*#__PURE__*/_jsx(PageSingleFeature, {
|
|
@@ -96,8 +90,7 @@ export const AccentEyebrow = {
|
|
|
96
90
|
text: 'Codecademy',
|
|
97
91
|
accent: true
|
|
98
92
|
}
|
|
99
|
-
})
|
|
100
|
-
name: 'Accent Eyebrow'
|
|
93
|
+
})
|
|
101
94
|
};
|
|
102
95
|
export const HideImageOnMobile = {
|
|
103
96
|
render: args => /*#__PURE__*/_jsx(PageSingleFeature, {
|
|
@@ -111,8 +104,7 @@ export const WithoutMedia = {
|
|
|
111
104
|
render: args => /*#__PURE__*/_jsx(PageSingleFeature, {
|
|
112
105
|
...args,
|
|
113
106
|
media: undefined
|
|
114
|
-
})
|
|
115
|
-
name: 'Without Media'
|
|
107
|
+
})
|
|
116
108
|
};
|
|
117
109
|
export const DarkMode = {
|
|
118
110
|
render: args => /*#__PURE__*/_jsx(Background, {
|
|
@@ -124,8 +116,7 @@ export const DarkMode = {
|
|
|
124
116
|
text: 'Codecademy'
|
|
125
117
|
}
|
|
126
118
|
})
|
|
127
|
-
})
|
|
128
|
-
name: 'Dark Mode'
|
|
119
|
+
})
|
|
129
120
|
};
|
|
130
121
|
export const PausableImage = {
|
|
131
122
|
render: args => /*#__PURE__*/_jsx(PageSingleFeature, {
|
|
@@ -153,6 +144,5 @@ export const LinkableImage = {
|
|
|
153
144
|
eyebrow: {
|
|
154
145
|
text: 'Codecademy'
|
|
155
146
|
}
|
|
156
|
-
})
|
|
157
|
-
name: 'Linkable Image'
|
|
147
|
+
})
|
|
158
148
|
};
|
|
@@ -32,8 +32,7 @@ export default meta;
|
|
|
32
32
|
export const VideoGallery = {
|
|
33
33
|
render: args => /*#__PURE__*/_jsx(PageVideoGallery, {
|
|
34
34
|
...args
|
|
35
|
-
})
|
|
36
|
-
name: 'Video Gallery'
|
|
35
|
+
})
|
|
37
36
|
};
|
|
38
37
|
export const RegularButton = {
|
|
39
38
|
render: args => /*#__PURE__*/_jsx(PageVideoGallery, {
|
|
@@ -42,21 +41,18 @@ export const RegularButton = {
|
|
|
42
41
|
...ctaArgs,
|
|
43
42
|
buttonType: 'fill'
|
|
44
43
|
}
|
|
45
|
-
})
|
|
46
|
-
name: 'Regular Button'
|
|
44
|
+
})
|
|
47
45
|
};
|
|
48
46
|
export const WithoutDescription = {
|
|
49
47
|
render: args => /*#__PURE__*/_jsx(PageVideoGallery, {
|
|
50
48
|
...args,
|
|
51
49
|
desc: undefined
|
|
52
|
-
})
|
|
53
|
-
name: 'Without Description'
|
|
50
|
+
})
|
|
54
51
|
};
|
|
55
52
|
export const GalleryOnly = {
|
|
56
53
|
render: args => /*#__PURE__*/_jsx(PageVideoGallery, {
|
|
57
54
|
videos: args.videos
|
|
58
|
-
})
|
|
59
|
-
name: 'Gallery Only'
|
|
55
|
+
})
|
|
60
56
|
};
|
|
61
57
|
export const DarkMode = {
|
|
62
58
|
render: args => /*#__PURE__*/_jsx(Background, {
|
|
@@ -65,6 +61,5 @@ export const DarkMode = {
|
|
|
65
61
|
children: /*#__PURE__*/_jsx(PageVideoGallery, {
|
|
66
62
|
...args
|
|
67
63
|
})
|
|
68
|
-
})
|
|
69
|
-
name: 'Dark Mode'
|
|
64
|
+
})
|
|
70
65
|
};
|
|
@@ -79,8 +79,7 @@ export const RowLayout = {
|
|
|
79
79
|
slug: 'becp-22-going-off-platform-with-html-and-css',
|
|
80
80
|
title: 'Going off-platform with HTML and CSS'
|
|
81
81
|
}]
|
|
82
|
-
})
|
|
83
|
-
name: 'Row Layout'
|
|
82
|
+
})
|
|
84
83
|
};
|
|
85
84
|
export const ColumnLayout = {
|
|
86
85
|
render: args => /*#__PURE__*/_jsx(ScoreSummary, {
|
|
@@ -126,8 +125,7 @@ export const ColumnLayout = {
|
|
|
126
125
|
slug: 'wdcp-22-practice-javascript-syntax-arrays-loops-objects-iterators',
|
|
127
126
|
title: 'Practice JavaScript Syntax: Arrays, Loops, Objects, Iterators'
|
|
128
127
|
}]
|
|
129
|
-
})
|
|
130
|
-
name: 'Column Layout'
|
|
128
|
+
})
|
|
131
129
|
};
|
|
132
130
|
export const RowLayoutNoMaxWidth = {
|
|
133
131
|
render: args => /*#__PURE__*/_jsx(ScoreSummary, {
|
|
@@ -214,8 +212,7 @@ export const Description = {
|
|
|
214
212
|
slug: 'wdcp-22-practice-javascript-syntax-arrays-loops-objects-iterators',
|
|
215
213
|
title: 'Practice JavaScript Syntax: Arrays, Loops, Objects, Iterators'
|
|
216
214
|
}]
|
|
217
|
-
})
|
|
218
|
-
name: 'Description'
|
|
215
|
+
})
|
|
219
216
|
};
|
|
220
217
|
export const DescriptionInColumnLayout = {
|
|
221
218
|
render: args => /*#__PURE__*/_jsx(ScoreSummary, {
|
|
@@ -294,6 +291,5 @@ export const ColorfulIcons = {
|
|
|
294
291
|
},
|
|
295
292
|
trackSlug: undefined,
|
|
296
293
|
untestedSubContent: []
|
|
297
|
-
})
|
|
298
|
-
name: 'Colorful Icons'
|
|
294
|
+
})
|
|
299
295
|
};
|
package/dist/svg.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codecademy/brand",
|
|
3
3
|
"description": "Brand component library for Codecademy",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.29.0-alpha.034f48155f.0",
|
|
5
5
|
"author": "Codecademy Engineering <dev@codecademy.com>",
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@emotion/is-prop-valid": "^1.2.1",
|
|
8
8
|
"@splidejs/react-splide": "^0.7.12",
|
|
9
9
|
"@splidejs/splide": "4.1.3",
|
|
10
|
+
"@types/recurly__recurly-js": "4.22.0",
|
|
10
11
|
"classnames": "^2.3.2",
|
|
11
12
|
"date-fns": "^2.30.0",
|
|
12
13
|
"emojisplosion": "^2.6.1",
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import React, { PropsWithChildren } from 'react';
|
|
2
|
-
import { AppHeaderCatalogDropdownItem, AppHeaderResourcesDropdownItem } from '../../shared';
|
|
3
|
-
interface NavTabPanelProps extends PropsWithChildren {
|
|
4
|
-
isActiveTab: boolean;
|
|
5
|
-
index: number;
|
|
6
|
-
id: string;
|
|
7
|
-
}
|
|
8
|
-
declare const NavTabPanel: ({ children, isActiveTab, index, id, }: NavTabPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
declare const NavTabList: React.ForwardRefExoticComponent<{
|
|
10
|
-
children: React.ReactNode;
|
|
11
|
-
type: string;
|
|
12
|
-
} & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
-
declare const NavTab: ({ item, onSelect, isActive, onKeyDown, index, }: {
|
|
14
|
-
item: AppHeaderCatalogDropdownItem | AppHeaderResourcesDropdownItem;
|
|
15
|
-
onSelect: (id: string, event?: React.MouseEvent, item?: AppHeaderCatalogDropdownItem | AppHeaderResourcesDropdownItem) => void;
|
|
16
|
-
isActive: boolean;
|
|
17
|
-
onKeyDown: (event: React.KeyboardEvent) => void;
|
|
18
|
-
index: number;
|
|
19
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
-
export { NavTabPanel, NavTabList, NavTab };
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { Box, FlexBox } from '@codecademy/gamut';
|
|
2
|
-
import { ArrowChevronRightIcon } from '@codecademy/gamut-icons';
|
|
3
|
-
import React, { useContext, useEffect, useRef } from 'react';
|
|
4
|
-
import { AppHeaderDropdownContext } from '../AppHeaderDropdownProvider';
|
|
5
|
-
import { NavIconButton, NavIconButtonContainer, NavigationButton, OverflowText, StyledNavTabPanel } from './elements';
|
|
6
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
7
|
-
// Tab content, only one should be visible at a time
|
|
8
|
-
const NavTabPanel = ({
|
|
9
|
-
children,
|
|
10
|
-
isActiveTab,
|
|
11
|
-
index,
|
|
12
|
-
id
|
|
13
|
-
}) => {
|
|
14
|
-
return /*#__PURE__*/_jsx(StyledNavTabPanel, {
|
|
15
|
-
isFirst: index === 0,
|
|
16
|
-
role: "tabpanel",
|
|
17
|
-
id: `${id}-panel`,
|
|
18
|
-
"aria-labelledby": `${id}-tab`,
|
|
19
|
-
display: isActiveTab ? 'block' : 'none',
|
|
20
|
-
gridColumn: "2 / span 12",
|
|
21
|
-
gridRow: "1 / span 8",
|
|
22
|
-
bg: "background",
|
|
23
|
-
px: 32,
|
|
24
|
-
pt: 16,
|
|
25
|
-
pb: 24,
|
|
26
|
-
children: children
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
// Holds all of the tab buttons
|
|
31
|
-
const NavTabList = /*#__PURE__*/React.forwardRef(({
|
|
32
|
-
children,
|
|
33
|
-
type
|
|
34
|
-
}, ref) => {
|
|
35
|
-
return /*#__PURE__*/_jsx(FlexBox, {
|
|
36
|
-
role: "tablist",
|
|
37
|
-
"aria-label": `${type.replace('-dropdown', '')} navigation`,
|
|
38
|
-
"aria-orientation": "vertical",
|
|
39
|
-
flexDirection: "column",
|
|
40
|
-
gap: 8,
|
|
41
|
-
ref: ref,
|
|
42
|
-
children: children
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
// Tab button, lets you switch between tabs
|
|
47
|
-
// at larger breakpoints we use a normal button, at smaller
|
|
48
|
-
// breakpoints we use an IconButton.
|
|
49
|
-
const NavTab = ({
|
|
50
|
-
item,
|
|
51
|
-
onSelect,
|
|
52
|
-
isActive,
|
|
53
|
-
onKeyDown,
|
|
54
|
-
index
|
|
55
|
-
}) => {
|
|
56
|
-
const sharedButtonProps = {
|
|
57
|
-
role: 'tab',
|
|
58
|
-
'aria-selected': isActive,
|
|
59
|
-
'aria-controls': `${item.id}-panel`,
|
|
60
|
-
onClick: event => onSelect(item.id, event, item),
|
|
61
|
-
onKeyDown,
|
|
62
|
-
tabIndex: isActive ? 0 : -1,
|
|
63
|
-
isActive,
|
|
64
|
-
id: `${item.id}-tab`
|
|
65
|
-
};
|
|
66
|
-
const buttonRef = useRef(null);
|
|
67
|
-
const {
|
|
68
|
-
setFirstItemRef
|
|
69
|
-
} = useContext(AppHeaderDropdownContext);
|
|
70
|
-
useEffect(() => {
|
|
71
|
-
if (index === 0 && buttonRef.current) {
|
|
72
|
-
setFirstItemRef?.(buttonRef.current);
|
|
73
|
-
}
|
|
74
|
-
}, [index, setFirstItemRef]);
|
|
75
|
-
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
76
|
-
children: [/*#__PURE__*/_jsxs(NavigationButton, {
|
|
77
|
-
ref: buttonRef,
|
|
78
|
-
...sharedButtonProps,
|
|
79
|
-
children: [/*#__PURE__*/_jsxs(FlexBox, {
|
|
80
|
-
gap: 8,
|
|
81
|
-
alignItems: "center",
|
|
82
|
-
children: [item.icon && /*#__PURE__*/_jsx(Box, {
|
|
83
|
-
height: 24,
|
|
84
|
-
width: 24,
|
|
85
|
-
children: /*#__PURE__*/_jsx(item.icon, {
|
|
86
|
-
size: 24
|
|
87
|
-
})
|
|
88
|
-
}), /*#__PURE__*/_jsx(OverflowText, {
|
|
89
|
-
variant: "p-large",
|
|
90
|
-
maxWidth: {
|
|
91
|
-
_: '110px',
|
|
92
|
-
md: 'none'
|
|
93
|
-
},
|
|
94
|
-
children: item.text
|
|
95
|
-
})]
|
|
96
|
-
}), isActive && /*#__PURE__*/_jsx(Box, {
|
|
97
|
-
display: {
|
|
98
|
-
_: 'none',
|
|
99
|
-
sm: 'block'
|
|
100
|
-
},
|
|
101
|
-
mt: 4,
|
|
102
|
-
children: /*#__PURE__*/_jsx(ArrowChevronRightIcon, {
|
|
103
|
-
"data-testid": "chevron-right-icon"
|
|
104
|
-
})
|
|
105
|
-
})]
|
|
106
|
-
}), item.icon && /*#__PURE__*/_jsx(NavIconButtonContainer, {
|
|
107
|
-
display: {
|
|
108
|
-
_: 'none',
|
|
109
|
-
xs: 'grid',
|
|
110
|
-
sm: 'none'
|
|
111
|
-
},
|
|
112
|
-
...sharedButtonProps,
|
|
113
|
-
children: /*#__PURE__*/_jsx(NavIconButton, {
|
|
114
|
-
icon: item.icon,
|
|
115
|
-
tip: item.text,
|
|
116
|
-
tipProps: {
|
|
117
|
-
alignment: 'right-center',
|
|
118
|
-
narrow: false,
|
|
119
|
-
placement: 'floating'
|
|
120
|
-
},
|
|
121
|
-
"aria-label": item.text
|
|
122
|
-
})
|
|
123
|
-
})]
|
|
124
|
-
});
|
|
125
|
-
};
|
|
126
|
-
export { NavTabPanel, NavTabList, NavTab };
|