@docusaurus/theme-classic 0.0.0-4771 → 0.0.0-4774
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/lib-next/theme/CodeBlock/CopyButton/index.js +1 -1
- package/lib-next/theme/CodeBlock/index.js +1 -3
- package/lib-next/theme/CodeBlock/styles.module.css +1 -3
- package/lib-next/theme/DocCard/index.js +17 -15
- package/lib-next/theme/DocCard/styles.module.css +8 -17
- package/lib-next/theme/DocCardList/index.js +15 -3
- package/lib-next/theme/DocSidebarItem/index.js +10 -5
- package/lib-next/theme/DocSidebarItem/styles.module.css +4 -0
- package/lib-next/theme/IconExternalLink/styles.module.css +0 -2
- package/package.json +13 -13
- package/src/theme/CodeBlock/CopyButton/index.tsx +0 -1
- package/src/theme/CodeBlock/index.tsx +1 -3
- package/src/theme/CodeBlock/styles.module.css +1 -3
- package/src/theme/DocCard/index.tsx +24 -17
- package/src/theme/DocCard/styles.module.css +8 -17
- package/src/theme/DocCardList/index.tsx +14 -3
- package/src/theme/DocSidebarItem/index.tsx +10 -5
- package/src/theme/DocSidebarItem/styles.module.css +4 -0
- package/src/theme/IconExternalLink/styles.module.css +0 -2
|
@@ -35,7 +35,7 @@ export default function CopyButton({code}) {
|
|
|
35
35
|
message: 'Copy code to clipboard',
|
|
36
36
|
description: 'The ARIA label for copy code blocks button',
|
|
37
37
|
})
|
|
38
|
-
}
|
|
38
|
+
}
|
|
39
39
|
title={translate({
|
|
40
40
|
id: 'theme.CodeBlock.copy',
|
|
41
41
|
message: 'Copy',
|
|
@@ -99,9 +99,7 @@ export default function CodeBlock({
|
|
|
99
99
|
{codeBlockTitle}
|
|
100
100
|
</div>
|
|
101
101
|
)}
|
|
102
|
-
<div
|
|
103
|
-
className={clsx(styles.codeBlockContent, language)}
|
|
104
|
-
style={style}>
|
|
102
|
+
<div className={styles.codeBlockContent} style={style}>
|
|
105
103
|
<pre
|
|
106
104
|
/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */
|
|
107
105
|
tabIndex={0}
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
|
|
8
8
|
.codeBlockContainer {
|
|
9
9
|
margin-bottom: var(--ifm-leading);
|
|
10
|
-
border-radius: var(--ifm-global-radius);
|
|
11
10
|
box-shadow: var(--ifm-global-shadow-lw);
|
|
12
11
|
}
|
|
13
12
|
|
|
@@ -15,6 +14,7 @@
|
|
|
15
14
|
position: relative;
|
|
16
15
|
/* rtl:ignore */
|
|
17
16
|
direction: ltr;
|
|
17
|
+
border-radius: var(--ifm-global-radius);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
.codeBlockTitle {
|
|
@@ -29,7 +29,6 @@
|
|
|
29
29
|
.codeBlock {
|
|
30
30
|
margin: 0;
|
|
31
31
|
padding: 0;
|
|
32
|
-
border-radius: var(--ifm-global-radius);
|
|
33
32
|
background-color: inherit;
|
|
34
33
|
}
|
|
35
34
|
|
|
@@ -40,7 +39,6 @@
|
|
|
40
39
|
|
|
41
40
|
.codeBlockStandalone {
|
|
42
41
|
padding: 0;
|
|
43
|
-
border-radius: var(--ifm-global-radius);
|
|
44
42
|
}
|
|
45
43
|
|
|
46
44
|
.codeBlockLines {
|
|
@@ -13,17 +13,12 @@ import isInternalUrl from '@docusaurus/isInternalUrl';
|
|
|
13
13
|
import {translate} from '@docusaurus/Translate';
|
|
14
14
|
|
|
15
15
|
function CardContainer({href, children}) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
);
|
|
21
|
-
return href ? (
|
|
22
|
-
<Link href={href} className={className}>
|
|
16
|
+
return (
|
|
17
|
+
<Link
|
|
18
|
+
href={href}
|
|
19
|
+
className={clsx('card padding--lg', styles.cardContainer)}>
|
|
23
20
|
{children}
|
|
24
21
|
</Link>
|
|
25
|
-
) : (
|
|
26
|
-
<div className={className}>{children}</div>
|
|
27
22
|
);
|
|
28
23
|
}
|
|
29
24
|
|
|
@@ -33,17 +28,24 @@ function CardLayout({href, icon, title, description}) {
|
|
|
33
28
|
<h2 className={clsx('text--truncate', styles.cardTitle)} title={title}>
|
|
34
29
|
{icon} {title}
|
|
35
30
|
</h2>
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
31
|
+
{description && (
|
|
32
|
+
<p
|
|
33
|
+
className={clsx('text--truncate', styles.cardDescription)}
|
|
34
|
+
title={description}>
|
|
35
|
+
{description}
|
|
36
|
+
</p>
|
|
37
|
+
)}
|
|
41
38
|
</CardContainer>
|
|
42
39
|
);
|
|
43
40
|
}
|
|
44
41
|
|
|
45
42
|
function CardCategory({item}) {
|
|
46
|
-
const href = findFirstCategoryLink(item);
|
|
43
|
+
const href = findFirstCategoryLink(item); // Unexpected: categories that don't have a link have been filtered upfront
|
|
44
|
+
|
|
45
|
+
if (!href) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
|
|
47
49
|
return (
|
|
48
50
|
<CardLayout
|
|
49
51
|
href={href}
|
|
@@ -6,38 +6,29 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
.cardContainer {
|
|
9
|
-
height: 8rem;
|
|
10
|
-
color: var(--ifm-color-emphasis-800);
|
|
11
9
|
--ifm-link-color: var(--ifm-color-emphasis-800);
|
|
12
|
-
--ifm-link-hover-color: var(--ifm-color-emphasis-
|
|
10
|
+
--ifm-link-hover-color: var(--ifm-color-emphasis-700);
|
|
13
11
|
--ifm-link-hover-decoration: none;
|
|
14
12
|
|
|
15
|
-
/* box-shadow: var(--ifm-global-shadow-lw); */
|
|
16
13
|
box-shadow: 0 1.5px 3px 0 rgb(0 0 0 / 15%);
|
|
17
14
|
border: 1px solid var(--ifm-color-emphasis-200);
|
|
18
|
-
transition:
|
|
19
|
-
|
|
15
|
+
transition: all var(--ifm-transition-fast) ease;
|
|
16
|
+
transition-property: border, box-shadow;
|
|
20
17
|
}
|
|
21
18
|
|
|
22
|
-
.cardContainer
|
|
23
|
-
|
|
24
|
-
box-shadow: 0
|
|
19
|
+
.cardContainer:hover {
|
|
20
|
+
border-color: var(--ifm-color-primary);
|
|
21
|
+
box-shadow: 0 3px 6px 0 rgb(0 0 0 / 20%);
|
|
25
22
|
}
|
|
26
23
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.cardContainer:not(.cardContainerLink) {
|
|
32
|
-
cursor: not-allowed;
|
|
24
|
+
.cardContainer *:last-child {
|
|
25
|
+
margin-bottom: 0;
|
|
33
26
|
}
|
|
34
27
|
|
|
35
28
|
.cardTitle {
|
|
36
29
|
font-size: 1.2rem;
|
|
37
|
-
min-height: 1.2rem;
|
|
38
30
|
}
|
|
39
31
|
|
|
40
32
|
.cardDescription {
|
|
41
33
|
font-size: 0.8rem;
|
|
42
|
-
min-height: 0.8rem;
|
|
43
34
|
}
|
|
@@ -6,12 +6,24 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import DocCard from '@theme/DocCard';
|
|
9
|
+
import {findFirstCategoryLink} from '@docusaurus/theme-common'; // Filter categories that don't have a link.
|
|
10
|
+
|
|
11
|
+
function filterItems(items) {
|
|
12
|
+
return items.filter((item) => {
|
|
13
|
+
if (item.type === 'category') {
|
|
14
|
+
return !!findFirstCategoryLink(item);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return true;
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
9
21
|
export default function DocCardList({items}) {
|
|
10
22
|
return (
|
|
11
23
|
<div className="row">
|
|
12
|
-
{items.map((item, index) => (
|
|
13
|
-
<article key={index} className="col col--6">
|
|
14
|
-
<DocCard item={item} />
|
|
24
|
+
{filterItems(items).map((item, index) => (
|
|
25
|
+
<article key={index} className="col col--6 margin-bottom--lg">
|
|
26
|
+
<DocCard key={index} item={item} />
|
|
15
27
|
</article>
|
|
16
28
|
))}
|
|
17
29
|
</div>
|
|
@@ -233,6 +233,7 @@ function DocSidebarItemLink({
|
|
|
233
233
|
}) {
|
|
234
234
|
const {href, label, className} = item;
|
|
235
235
|
const isActive = isActiveSidebarItem(item, activePath);
|
|
236
|
+
const isInternalLink = isInternalUrl(href);
|
|
236
237
|
return (
|
|
237
238
|
<li
|
|
238
239
|
className={clsx(
|
|
@@ -243,17 +244,21 @@ function DocSidebarItemLink({
|
|
|
243
244
|
)}
|
|
244
245
|
key={label}>
|
|
245
246
|
<Link
|
|
246
|
-
className={clsx(
|
|
247
|
-
'menu__link
|
|
248
|
-
|
|
247
|
+
className={clsx(
|
|
248
|
+
'menu__link',
|
|
249
|
+
!isInternalLink && styles.menuExternalLink,
|
|
250
|
+
{
|
|
251
|
+
'menu__link--active': isActive,
|
|
252
|
+
},
|
|
253
|
+
)}
|
|
249
254
|
aria-current={isActive ? 'page' : undefined}
|
|
250
255
|
to={href}
|
|
251
|
-
{...(
|
|
256
|
+
{...(isInternalLink && {
|
|
252
257
|
onClick: onItemClick ? () => onItemClick(item) : undefined,
|
|
253
258
|
})}
|
|
254
259
|
{...props}>
|
|
255
260
|
{label}
|
|
256
|
-
{!
|
|
261
|
+
{!isInternalLink && <IconExternalLink />}
|
|
257
262
|
</Link>
|
|
258
263
|
</li>
|
|
259
264
|
);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/theme-classic",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-4774",
|
|
4
4
|
"description": "Classic theme for Docusaurus",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"types": "src/theme-classic.d.ts",
|
|
@@ -21,15 +21,15 @@
|
|
|
21
21
|
"format:lib-next": "prettier --config ../../.prettierrc --write \"lib-next/**/*.{js,ts,jsx,tsc}\""
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@docusaurus/core": "0.0.0-
|
|
25
|
-
"@docusaurus/plugin-content-blog": "0.0.0-
|
|
26
|
-
"@docusaurus/plugin-content-docs": "0.0.0-
|
|
27
|
-
"@docusaurus/plugin-content-pages": "0.0.0-
|
|
28
|
-
"@docusaurus/theme-common": "0.0.0-
|
|
29
|
-
"@docusaurus/theme-translations": "0.0.0-
|
|
30
|
-
"@docusaurus/utils": "0.0.0-
|
|
31
|
-
"@docusaurus/utils-common": "0.0.0-
|
|
32
|
-
"@docusaurus/utils-validation": "0.0.0-
|
|
24
|
+
"@docusaurus/core": "0.0.0-4774",
|
|
25
|
+
"@docusaurus/plugin-content-blog": "0.0.0-4774",
|
|
26
|
+
"@docusaurus/plugin-content-docs": "0.0.0-4774",
|
|
27
|
+
"@docusaurus/plugin-content-pages": "0.0.0-4774",
|
|
28
|
+
"@docusaurus/theme-common": "0.0.0-4774",
|
|
29
|
+
"@docusaurus/theme-translations": "0.0.0-4774",
|
|
30
|
+
"@docusaurus/utils": "0.0.0-4774",
|
|
31
|
+
"@docusaurus/utils-common": "0.0.0-4774",
|
|
32
|
+
"@docusaurus/utils-validation": "0.0.0-4774",
|
|
33
33
|
"@mdx-js/react": "^1.6.22",
|
|
34
34
|
"clsx": "^1.1.1",
|
|
35
35
|
"copy-text-to-clipboard": "^3.0.1",
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
"rtlcss": "^3.5.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@docusaurus/module-type-aliases": "0.0.0-
|
|
46
|
-
"@docusaurus/types": "0.0.0-
|
|
45
|
+
"@docusaurus/module-type-aliases": "0.0.0-4774",
|
|
46
|
+
"@docusaurus/types": "0.0.0-4774",
|
|
47
47
|
"@types/mdx-js__react": "^1.5.5",
|
|
48
48
|
"@types/prismjs": "^1.26.0",
|
|
49
49
|
"@types/rtlcss": "^3.1.2",
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"engines": {
|
|
60
60
|
"node": ">=14"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "1ecf4ff2577c5bbe0afb608e01ae76590cb00af3"
|
|
63
63
|
}
|
|
@@ -111,9 +111,7 @@ export default function CodeBlock({
|
|
|
111
111
|
{codeBlockTitle}
|
|
112
112
|
</div>
|
|
113
113
|
)}
|
|
114
|
-
<div
|
|
115
|
-
className={clsx(styles.codeBlockContent, language)}
|
|
116
|
-
style={style}>
|
|
114
|
+
<div className={styles.codeBlockContent} style={style}>
|
|
117
115
|
<pre
|
|
118
116
|
/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */
|
|
119
117
|
tabIndex={0}
|
|
@@ -7,7 +7,6 @@
|
|
|
7
7
|
|
|
8
8
|
.codeBlockContainer {
|
|
9
9
|
margin-bottom: var(--ifm-leading);
|
|
10
|
-
border-radius: var(--ifm-global-radius);
|
|
11
10
|
box-shadow: var(--ifm-global-shadow-lw);
|
|
12
11
|
}
|
|
13
12
|
|
|
@@ -15,6 +14,7 @@
|
|
|
15
14
|
position: relative;
|
|
16
15
|
/* rtl:ignore */
|
|
17
16
|
direction: ltr;
|
|
17
|
+
border-radius: var(--ifm-global-radius);
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
.codeBlockTitle {
|
|
@@ -29,7 +29,6 @@
|
|
|
29
29
|
.codeBlock {
|
|
30
30
|
margin: 0;
|
|
31
31
|
padding: 0;
|
|
32
|
-
border-radius: var(--ifm-global-radius);
|
|
33
32
|
background-color: inherit;
|
|
34
33
|
}
|
|
35
34
|
|
|
@@ -40,7 +39,6 @@
|
|
|
40
39
|
|
|
41
40
|
.codeBlockStandalone {
|
|
42
41
|
padding: 0;
|
|
43
|
-
border-radius: var(--ifm-global-radius);
|
|
44
42
|
}
|
|
45
43
|
|
|
46
44
|
.codeBlockLines {
|
|
@@ -22,20 +22,15 @@ function CardContainer({
|
|
|
22
22
|
href,
|
|
23
23
|
children,
|
|
24
24
|
}: {
|
|
25
|
-
href
|
|
25
|
+
href: string;
|
|
26
26
|
children: ReactNode;
|
|
27
27
|
}): JSX.Element {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
);
|
|
33
|
-
return href ? (
|
|
34
|
-
<Link href={href} className={className}>
|
|
28
|
+
return (
|
|
29
|
+
<Link
|
|
30
|
+
href={href}
|
|
31
|
+
className={clsx('card padding--lg', styles.cardContainer)}>
|
|
35
32
|
{children}
|
|
36
33
|
</Link>
|
|
37
|
-
) : (
|
|
38
|
-
<div className={className}>{children}</div>
|
|
39
34
|
);
|
|
40
35
|
}
|
|
41
36
|
|
|
@@ -45,7 +40,7 @@ function CardLayout({
|
|
|
45
40
|
title,
|
|
46
41
|
description,
|
|
47
42
|
}: {
|
|
48
|
-
href
|
|
43
|
+
href: string;
|
|
49
44
|
icon: ReactNode;
|
|
50
45
|
title: string;
|
|
51
46
|
description?: string;
|
|
@@ -55,17 +50,29 @@ function CardLayout({
|
|
|
55
50
|
<h2 className={clsx('text--truncate', styles.cardTitle)} title={title}>
|
|
56
51
|
{icon} {title}
|
|
57
52
|
</h2>
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
53
|
+
{description && (
|
|
54
|
+
<p
|
|
55
|
+
className={clsx('text--truncate', styles.cardDescription)}
|
|
56
|
+
title={description}>
|
|
57
|
+
{description}
|
|
58
|
+
</p>
|
|
59
|
+
)}
|
|
63
60
|
</CardContainer>
|
|
64
61
|
);
|
|
65
62
|
}
|
|
66
63
|
|
|
67
|
-
function CardCategory({
|
|
64
|
+
function CardCategory({
|
|
65
|
+
item,
|
|
66
|
+
}: {
|
|
67
|
+
item: PropSidebarItemCategory;
|
|
68
|
+
}): JSX.Element | null {
|
|
68
69
|
const href = findFirstCategoryLink(item);
|
|
70
|
+
|
|
71
|
+
// Unexpected: categories that don't have a link have been filtered upfront
|
|
72
|
+
if (!href) {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
|
|
69
76
|
return (
|
|
70
77
|
<CardLayout
|
|
71
78
|
href={href}
|
|
@@ -6,38 +6,29 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
.cardContainer {
|
|
9
|
-
height: 8rem;
|
|
10
|
-
color: var(--ifm-color-emphasis-800);
|
|
11
9
|
--ifm-link-color: var(--ifm-color-emphasis-800);
|
|
12
|
-
--ifm-link-hover-color: var(--ifm-color-emphasis-
|
|
10
|
+
--ifm-link-hover-color: var(--ifm-color-emphasis-700);
|
|
13
11
|
--ifm-link-hover-decoration: none;
|
|
14
12
|
|
|
15
|
-
/* box-shadow: var(--ifm-global-shadow-lw); */
|
|
16
13
|
box-shadow: 0 1.5px 3px 0 rgb(0 0 0 / 15%);
|
|
17
14
|
border: 1px solid var(--ifm-color-emphasis-200);
|
|
18
|
-
transition:
|
|
19
|
-
|
|
15
|
+
transition: all var(--ifm-transition-fast) ease;
|
|
16
|
+
transition-property: border, box-shadow;
|
|
20
17
|
}
|
|
21
18
|
|
|
22
|
-
.cardContainer
|
|
23
|
-
|
|
24
|
-
box-shadow: 0
|
|
19
|
+
.cardContainer:hover {
|
|
20
|
+
border-color: var(--ifm-color-primary);
|
|
21
|
+
box-shadow: 0 3px 6px 0 rgb(0 0 0 / 20%);
|
|
25
22
|
}
|
|
26
23
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.cardContainer:not(.cardContainerLink) {
|
|
32
|
-
cursor: not-allowed;
|
|
24
|
+
.cardContainer *:last-child {
|
|
25
|
+
margin-bottom: 0;
|
|
33
26
|
}
|
|
34
27
|
|
|
35
28
|
.cardTitle {
|
|
36
29
|
font-size: 1.2rem;
|
|
37
|
-
min-height: 1.2rem;
|
|
38
30
|
}
|
|
39
31
|
|
|
40
32
|
.cardDescription {
|
|
41
33
|
font-size: 0.8rem;
|
|
42
|
-
min-height: 0.8rem;
|
|
43
34
|
}
|
|
@@ -9,6 +9,17 @@ import React from 'react';
|
|
|
9
9
|
|
|
10
10
|
import DocCard from '@theme/DocCard';
|
|
11
11
|
import type {PropSidebarItem} from '@docusaurus/plugin-content-docs';
|
|
12
|
+
import {findFirstCategoryLink} from '@docusaurus/theme-common';
|
|
13
|
+
|
|
14
|
+
// Filter categories that don't have a link.
|
|
15
|
+
function filterItems(items: PropSidebarItem[]): PropSidebarItem[] {
|
|
16
|
+
return items.filter((item) => {
|
|
17
|
+
if (item.type === 'category') {
|
|
18
|
+
return !!findFirstCategoryLink(item);
|
|
19
|
+
}
|
|
20
|
+
return true;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
12
23
|
|
|
13
24
|
export default function DocCardList({
|
|
14
25
|
items,
|
|
@@ -17,9 +28,9 @@ export default function DocCardList({
|
|
|
17
28
|
}): JSX.Element {
|
|
18
29
|
return (
|
|
19
30
|
<div className="row">
|
|
20
|
-
{items.map((item, index) => (
|
|
21
|
-
<article key={index} className="col col--6">
|
|
22
|
-
<DocCard item={item} />
|
|
31
|
+
{filterItems(items).map((item, index) => (
|
|
32
|
+
<article key={index} className="col col--6 margin-bottom--lg">
|
|
33
|
+
<DocCard key={index} item={item} />
|
|
23
34
|
</article>
|
|
24
35
|
))}
|
|
25
36
|
</div>
|
|
@@ -250,6 +250,7 @@ function DocSidebarItemLink({
|
|
|
250
250
|
}: Props & {item: PropSidebarItemLink}) {
|
|
251
251
|
const {href, label, className} = item;
|
|
252
252
|
const isActive = isActiveSidebarItem(item, activePath);
|
|
253
|
+
const isInternalLink = isInternalUrl(href);
|
|
253
254
|
return (
|
|
254
255
|
<li
|
|
255
256
|
className={clsx(
|
|
@@ -260,17 +261,21 @@ function DocSidebarItemLink({
|
|
|
260
261
|
)}
|
|
261
262
|
key={label}>
|
|
262
263
|
<Link
|
|
263
|
-
className={clsx(
|
|
264
|
-
'menu__link
|
|
265
|
-
|
|
264
|
+
className={clsx(
|
|
265
|
+
'menu__link',
|
|
266
|
+
!isInternalLink && styles.menuExternalLink,
|
|
267
|
+
{
|
|
268
|
+
'menu__link--active': isActive,
|
|
269
|
+
},
|
|
270
|
+
)}
|
|
266
271
|
aria-current={isActive ? 'page' : undefined}
|
|
267
272
|
to={href}
|
|
268
|
-
{...(
|
|
273
|
+
{...(isInternalLink && {
|
|
269
274
|
onClick: onItemClick ? () => onItemClick(item) : undefined,
|
|
270
275
|
})}
|
|
271
276
|
{...props}>
|
|
272
277
|
{label}
|
|
273
|
-
{!
|
|
278
|
+
{!isInternalLink && <IconExternalLink />}
|
|
274
279
|
</Link>
|
|
275
280
|
</li>
|
|
276
281
|
);
|