@docusaurus/theme-classic 2.4.0 → 3.0.0-alpha.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/lib/getSwizzleConfig.js +99 -7
- package/lib/index.js +20 -6
- package/lib/nprogress.d.ts +1 -1
- package/lib/options.js +1 -0
- package/lib/theme/Admonition/Icon/Caution.d.ts +9 -0
- package/lib/theme/Admonition/Icon/Caution.js +17 -0
- package/lib/theme/Admonition/Icon/Danger.d.ts +9 -0
- package/lib/theme/Admonition/Icon/Danger.js +17 -0
- package/lib/theme/Admonition/Icon/Info.d.ts +9 -0
- package/lib/theme/Admonition/Icon/Info.js +17 -0
- package/lib/theme/Admonition/Icon/Note.d.ts +9 -0
- package/lib/theme/Admonition/Icon/Note.js +17 -0
- package/lib/theme/Admonition/Icon/Tip.d.ts +9 -0
- package/lib/theme/Admonition/Icon/Tip.js +17 -0
- package/lib/theme/Admonition/Layout/index.d.ts +9 -0
- package/lib/theme/Admonition/Layout/index.js +45 -0
- package/lib/theme/Admonition/{styles.module.css → Layout/styles.module.css} +4 -0
- package/lib/theme/Admonition/Type/Caution.d.ts +9 -0
- package/lib/theme/Admonition/Type/Caution.js +32 -0
- package/lib/theme/Admonition/Type/Danger.d.ts +9 -0
- package/lib/theme/Admonition/Type/Danger.js +32 -0
- package/lib/theme/Admonition/Type/Info.d.ts +9 -0
- package/lib/theme/Admonition/Type/Info.js +32 -0
- package/lib/theme/Admonition/Type/Note.d.ts +9 -0
- package/lib/theme/Admonition/Type/Note.js +32 -0
- package/lib/theme/Admonition/Type/Tip.d.ts +9 -0
- package/lib/theme/Admonition/Type/Tip.js +32 -0
- package/lib/theme/Admonition/Types.d.ts +12 -0
- package/lib/theme/Admonition/Types.js +33 -0
- package/lib/theme/Admonition/index.d.ts +1 -1
- package/lib/theme/Admonition/index.js +12 -171
- package/lib/theme/BlogArchivePage/index.js +7 -2
- package/lib/theme/BlogPostPage/index.js +3 -1
- package/lib/theme/BlogSidebar/Desktop/index.js +3 -1
- package/lib/theme/BlogSidebar/Mobile/index.js +3 -1
- package/lib/theme/BlogTagsListPage/index.js +2 -1
- package/lib/theme/BlogTagsPostsPage/index.js +4 -2
- package/lib/theme/CodeBlock/CopyButton/index.js +4 -6
- package/lib/theme/CodeBlock/WordWrapButton/index.js +2 -9
- package/lib/theme/DocBreadcrumbs/index.js +6 -2
- package/lib/theme/DocCard/index.js +8 -4
- package/lib/theme/DocItem/Layout/index.js +5 -0
- package/lib/theme/DocPaginator/index.js +1 -1
- package/lib/theme/{DocPage → DocRoot}/Layout/Main/index.d.ts +2 -2
- package/lib/theme/{DocPage → DocRoot}/Layout/Main/index.js +1 -1
- package/lib/theme/{DocPage → DocRoot}/Layout/Sidebar/ExpandButton/index.d.ts +2 -2
- package/lib/theme/{DocPage → DocRoot}/Layout/Sidebar/ExpandButton/index.js +1 -1
- package/lib/theme/{DocPage → DocRoot}/Layout/Sidebar/index.d.ts +2 -2
- package/lib/theme/{DocPage → DocRoot}/Layout/Sidebar/index.js +8 -3
- package/lib/theme/{DocPage → DocRoot}/Layout/index.d.ts +2 -2
- package/lib/theme/{DocPage → DocRoot}/Layout/index.js +9 -10
- package/lib/theme/{DocPage → DocRoot}/Layout/styles.module.css +1 -2
- package/lib/theme/{DocPage → DocRoot}/index.d.ts +2 -2
- package/lib/theme/DocRoot/index.js +31 -0
- package/lib/theme/DocSidebarItem/Category/index.js +3 -3
- package/lib/theme/DocSidebarItems/index.js +6 -4
- package/lib/theme/DocTagDocListPage/index.d.ts +1 -1
- package/lib/theme/DocTagDocListPage/index.js +53 -39
- package/lib/theme/DocTagsListPage/index.d.ts +1 -1
- package/lib/theme/DocTagsListPage/index.js +26 -17
- package/lib/theme/DocVersionRoot/index.d.ts +10 -0
- package/lib/theme/DocVersionRoot/index.js +46 -0
- package/lib/theme/DocsRoot/index.d.ts +10 -0
- package/lib/theme/DocsRoot/index.js +18 -0
- package/lib/theme/EditThisPage/index.js +3 -6
- package/lib/theme/ErrorPageContent.js +3 -2
- package/lib/theme/{MDXComponents/Head.d.ts → Icon/Copy/index.d.ts} +2 -2
- package/lib/theme/Icon/Copy/index.js +17 -0
- package/lib/theme/Icon/Success/index.d.ts +9 -0
- package/lib/theme/Icon/Success/index.js +17 -0
- package/lib/theme/Icon/WordWrap/index.d.ts +9 -0
- package/lib/theme/Icon/WordWrap/index.js +17 -0
- package/lib/theme/MDXComponents/Code.js +2 -36
- package/lib/theme/MDXComponents/Details.js +1 -1
- package/lib/theme/MDXComponents/Pre.d.ts +2 -2
- package/lib/theme/MDXComponents/Pre.js +4 -11
- package/lib/theme/MDXComponents/index.js +3 -3
- package/lib/theme/MDXContent/index.js +1 -0
- package/lib/theme/MDXPage/index.js +16 -4
- package/lib/theme/NavbarItem/DocNavbarItem.js +4 -3
- package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.d.ts +1 -1
- package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/index.js +2 -1
- package/lib/theme/NotFound/Content/index.d.ts +9 -0
- package/lib/theme/NotFound/Content/index.js +42 -0
- package/lib/theme/{NotFound.d.ts → NotFound/index.d.ts} +1 -1
- package/lib/theme/NotFound/index.js +25 -0
- package/lib/theme/TOCItems/Tree.js +3 -4
- package/lib/theme/Tabs/index.js +4 -2
- package/lib/theme/TagsListByLetter/index.js +4 -1
- package/lib/theme/ThemedImage/index.js +8 -24
- package/lib/theme/Unlisted/index.d.ts +9 -0
- package/lib/theme/Unlisted/index.js +38 -0
- package/package.json +24 -24
- package/src/getSwizzleConfig.ts +107 -8
- package/src/index.ts +21 -6
- package/src/nprogress.ts +2 -1
- package/src/options.ts +1 -0
- package/src/theme/Admonition/Icon/Caution.tsx +20 -0
- package/src/theme/Admonition/Icon/Danger.tsx +20 -0
- package/src/theme/Admonition/Icon/Info.tsx +20 -0
- package/src/theme/Admonition/Icon/Note.tsx +20 -0
- package/src/theme/Admonition/Icon/Tip.tsx +20 -0
- package/src/theme/Admonition/Layout/index.tsx +57 -0
- package/src/theme/Admonition/{styles.module.css → Layout/styles.module.css} +4 -0
- package/src/theme/Admonition/Type/Caution.tsx +37 -0
- package/src/theme/Admonition/Type/Danger.tsx +37 -0
- package/src/theme/Admonition/Type/Info.tsx +37 -0
- package/src/theme/Admonition/Type/Note.tsx +37 -0
- package/src/theme/Admonition/Type/Tip.tsx +37 -0
- package/src/theme/Admonition/Types.tsx +38 -0
- package/src/theme/Admonition/index.tsx +13 -194
- package/src/theme/BlogArchivePage/index.tsx +7 -2
- package/src/theme/BlogPostPage/index.tsx +3 -1
- package/src/theme/BlogSidebar/Desktop/index.tsx +3 -1
- package/src/theme/BlogSidebar/Mobile/index.tsx +3 -1
- package/src/theme/BlogTagsListPage/index.tsx +2 -1
- package/src/theme/BlogTagsPostsPage/index.tsx +4 -2
- package/src/theme/CodeBlock/CopyButton/index.tsx +4 -6
- package/src/theme/CodeBlock/WordWrapButton/index.tsx +2 -9
- package/src/theme/DocBreadcrumbs/index.tsx +6 -2
- package/src/theme/DocCard/index.tsx +11 -6
- package/src/theme/DocItem/Layout/index.tsx +5 -0
- package/src/theme/DocPaginator/index.tsx +1 -1
- package/src/theme/{DocPage → DocRoot}/Layout/Main/index.tsx +2 -2
- package/src/theme/{DocPage → DocRoot}/Layout/Sidebar/ExpandButton/index.tsx +2 -2
- package/src/theme/{DocPage → DocRoot}/Layout/Sidebar/index.tsx +9 -4
- package/src/theme/{DocPage → DocRoot}/Layout/index.tsx +10 -11
- package/src/theme/{DocPage → DocRoot}/Layout/styles.module.css +1 -2
- package/src/theme/DocRoot/index.tsx +34 -0
- package/src/theme/DocSidebarItem/Category/index.tsx +3 -3
- package/src/theme/DocSidebarItems/index.tsx +6 -4
- package/src/theme/DocTagDocListPage/index.tsx +60 -39
- package/src/theme/DocTagsListPage/index.tsx +33 -17
- package/src/theme/DocVersionRoot/index.tsx +51 -0
- package/src/theme/DocsRoot/index.tsx +22 -0
- package/src/theme/EditThisPage/index.tsx +3 -6
- package/src/theme/ErrorPageContent.tsx +3 -2
- package/src/theme/Icon/Copy/index.tsx +20 -0
- package/src/theme/Icon/Success/index.tsx +20 -0
- package/src/theme/Icon/WordWrap/index.tsx +20 -0
- package/src/theme/MDXComponents/Code.tsx +2 -39
- package/src/theme/MDXComponents/Details.tsx +1 -2
- package/src/theme/MDXComponents/Pre.tsx +5 -13
- package/src/theme/MDXComponents/index.tsx +3 -3
- package/src/theme/MDXContent/index.tsx +1 -0
- package/src/theme/MDXPage/index.tsx +16 -4
- package/src/theme/NavbarItem/DocNavbarItem.tsx +4 -3
- package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +2 -1
- package/src/theme/NotFound/Content/index.tsx +45 -0
- package/src/theme/NotFound/index.tsx +27 -0
- package/src/theme/SkipToContent/index.tsx +0 -1
- package/src/theme/TOCItems/Tree.tsx +3 -4
- package/src/theme/Tabs/index.tsx +4 -2
- package/src/theme/TagsListByLetter/index.tsx +4 -2
- package/src/theme/ThemedImage/index.tsx +8 -31
- package/src/theme/Unlisted/index.tsx +42 -0
- package/src/theme/prism-include-languages.ts +2 -1
- package/src/theme-classic.d.ts +154 -20
- package/lib/theme/DocPage/index.js +0 -67
- package/lib/theme/MDXComponents/Head.js +0 -23
- package/lib/theme/NotFound.js +0 -52
- package/src/theme/DocPage/index.tsx +0 -71
- package/src/theme/MDXComponents/Head.tsx +0 -29
- package/src/theme/NotFound.tsx +0 -54
- /package/lib/theme/{DocPage → DocRoot}/Layout/Main/styles.module.css +0 -0
- /package/lib/theme/{DocPage → DocRoot}/Layout/Sidebar/ExpandButton/styles.module.css +0 -0
- /package/lib/theme/{DocPage → DocRoot}/Layout/Sidebar/styles.module.css +0 -0
- /package/src/theme/{DocPage → DocRoot}/Layout/Main/styles.module.css +0 -0
- /package/src/theme/{DocPage → DocRoot}/Layout/Sidebar/ExpandButton/styles.module.css +0 -0
- /package/src/theme/{DocPage → DocRoot}/Layout/Sidebar/styles.module.css +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import AdmonitionTypeNote from '@theme/Admonition/Type/Note';
|
|
9
|
+
import AdmonitionTypeTip from '@theme/Admonition/Type/Tip';
|
|
10
|
+
import AdmonitionTypeInfo from '@theme/Admonition/Type/Info';
|
|
11
|
+
import AdmonitionTypeCaution from '@theme/Admonition/Type/Caution';
|
|
12
|
+
import AdmonitionTypeDanger from '@theme/Admonition/Type/Danger';
|
|
13
|
+
const admonitionTypes = {
|
|
14
|
+
note: AdmonitionTypeNote,
|
|
15
|
+
tip: AdmonitionTypeTip,
|
|
16
|
+
info: AdmonitionTypeInfo,
|
|
17
|
+
caution: AdmonitionTypeCaution,
|
|
18
|
+
danger: AdmonitionTypeDanger,
|
|
19
|
+
};
|
|
20
|
+
// Undocumented legacy admonition type aliases
|
|
21
|
+
// Provide hardcoded/untranslated retrocompatible label
|
|
22
|
+
// See also https://github.com/facebook/docusaurus/issues/7767
|
|
23
|
+
const admonitionAliases = {
|
|
24
|
+
secondary: (props) => <AdmonitionTypeNote title="secondary" {...props} />,
|
|
25
|
+
important: (props) => <AdmonitionTypeInfo title="important" {...props} />,
|
|
26
|
+
success: (props) => <AdmonitionTypeTip title="success" {...props} />,
|
|
27
|
+
// TODO bad legacy mapping, warning is usually yellow, not red...
|
|
28
|
+
warning: (props) => <AdmonitionTypeDanger title="warning" {...props} />,
|
|
29
|
+
};
|
|
30
|
+
export default {
|
|
31
|
+
...admonitionTypes,
|
|
32
|
+
...admonitionAliases,
|
|
33
|
+
};
|
|
@@ -5,179 +5,20 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import React from 'react';
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
<svg viewBox="0 0 14 16">
|
|
15
|
-
<path
|
|
16
|
-
fillRule="evenodd"
|
|
17
|
-
d="M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"
|
|
18
|
-
/>
|
|
19
|
-
</svg>
|
|
20
|
-
);
|
|
21
|
-
}
|
|
22
|
-
function TipIcon() {
|
|
23
|
-
return (
|
|
24
|
-
<svg viewBox="0 0 12 16">
|
|
25
|
-
<path
|
|
26
|
-
fillRule="evenodd"
|
|
27
|
-
d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"
|
|
28
|
-
/>
|
|
29
|
-
</svg>
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
function DangerIcon() {
|
|
33
|
-
return (
|
|
34
|
-
<svg viewBox="0 0 12 16">
|
|
35
|
-
<path
|
|
36
|
-
fillRule="evenodd"
|
|
37
|
-
d="M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"
|
|
38
|
-
/>
|
|
39
|
-
</svg>
|
|
40
|
-
);
|
|
41
|
-
}
|
|
42
|
-
function InfoIcon() {
|
|
43
|
-
return (
|
|
44
|
-
<svg viewBox="0 0 14 16">
|
|
45
|
-
<path
|
|
46
|
-
fillRule="evenodd"
|
|
47
|
-
d="M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"
|
|
48
|
-
/>
|
|
49
|
-
</svg>
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
function CautionIcon() {
|
|
53
|
-
return (
|
|
54
|
-
<svg viewBox="0 0 16 16">
|
|
55
|
-
<path
|
|
56
|
-
fillRule="evenodd"
|
|
57
|
-
d="M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"
|
|
58
|
-
/>
|
|
59
|
-
</svg>
|
|
60
|
-
);
|
|
61
|
-
}
|
|
62
|
-
// eslint-disable-next-line @typescript-eslint/consistent-indexed-object-style
|
|
63
|
-
const AdmonitionConfigs = {
|
|
64
|
-
note: {
|
|
65
|
-
infimaClassName: 'secondary',
|
|
66
|
-
iconComponent: NoteIcon,
|
|
67
|
-
label: (
|
|
68
|
-
<Translate
|
|
69
|
-
id="theme.admonition.note"
|
|
70
|
-
description="The default label used for the Note admonition (:::note)">
|
|
71
|
-
note
|
|
72
|
-
</Translate>
|
|
73
|
-
),
|
|
74
|
-
},
|
|
75
|
-
tip: {
|
|
76
|
-
infimaClassName: 'success',
|
|
77
|
-
iconComponent: TipIcon,
|
|
78
|
-
label: (
|
|
79
|
-
<Translate
|
|
80
|
-
id="theme.admonition.tip"
|
|
81
|
-
description="The default label used for the Tip admonition (:::tip)">
|
|
82
|
-
tip
|
|
83
|
-
</Translate>
|
|
84
|
-
),
|
|
85
|
-
},
|
|
86
|
-
danger: {
|
|
87
|
-
infimaClassName: 'danger',
|
|
88
|
-
iconComponent: DangerIcon,
|
|
89
|
-
label: (
|
|
90
|
-
<Translate
|
|
91
|
-
id="theme.admonition.danger"
|
|
92
|
-
description="The default label used for the Danger admonition (:::danger)">
|
|
93
|
-
danger
|
|
94
|
-
</Translate>
|
|
95
|
-
),
|
|
96
|
-
},
|
|
97
|
-
info: {
|
|
98
|
-
infimaClassName: 'info',
|
|
99
|
-
iconComponent: InfoIcon,
|
|
100
|
-
label: (
|
|
101
|
-
<Translate
|
|
102
|
-
id="theme.admonition.info"
|
|
103
|
-
description="The default label used for the Info admonition (:::info)">
|
|
104
|
-
info
|
|
105
|
-
</Translate>
|
|
106
|
-
),
|
|
107
|
-
},
|
|
108
|
-
caution: {
|
|
109
|
-
infimaClassName: 'warning',
|
|
110
|
-
iconComponent: CautionIcon,
|
|
111
|
-
label: (
|
|
112
|
-
<Translate
|
|
113
|
-
id="theme.admonition.caution"
|
|
114
|
-
description="The default label used for the Caution admonition (:::caution)">
|
|
115
|
-
caution
|
|
116
|
-
</Translate>
|
|
117
|
-
),
|
|
118
|
-
},
|
|
119
|
-
};
|
|
120
|
-
// Legacy aliases, undocumented but kept for retro-compatibility
|
|
121
|
-
const aliases = {
|
|
122
|
-
secondary: 'note',
|
|
123
|
-
important: 'info',
|
|
124
|
-
success: 'tip',
|
|
125
|
-
warning: 'danger',
|
|
126
|
-
};
|
|
127
|
-
function getAdmonitionConfig(unsafeType) {
|
|
128
|
-
const type = aliases[unsafeType] ?? unsafeType;
|
|
129
|
-
const config = AdmonitionConfigs[type];
|
|
130
|
-
if (config) {
|
|
131
|
-
return config;
|
|
8
|
+
import {processAdmonitionProps} from '@docusaurus/theme-common';
|
|
9
|
+
import AdmonitionTypes from '@theme/Admonition/Types';
|
|
10
|
+
function getAdmonitionTypeComponent(type) {
|
|
11
|
+
const component = AdmonitionTypes[type];
|
|
12
|
+
if (component) {
|
|
13
|
+
return component;
|
|
132
14
|
}
|
|
133
15
|
console.warn(
|
|
134
|
-
`No admonition
|
|
16
|
+
`No admonition component found for admonition type "${type}". Using Info as fallback.`,
|
|
135
17
|
);
|
|
136
|
-
return
|
|
18
|
+
return AdmonitionTypes.info;
|
|
137
19
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
const mdxAdmonitionTitle = items.find(
|
|
143
|
-
(item) =>
|
|
144
|
-
React.isValidElement(item) &&
|
|
145
|
-
item.props?.mdxType === 'mdxAdmonitionTitle',
|
|
146
|
-
);
|
|
147
|
-
const rest = <>{items.filter((item) => item !== mdxAdmonitionTitle)}</>;
|
|
148
|
-
return {
|
|
149
|
-
mdxAdmonitionTitle,
|
|
150
|
-
rest,
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
function processAdmonitionProps(props) {
|
|
154
|
-
const {mdxAdmonitionTitle, rest} = extractMDXAdmonitionTitle(props.children);
|
|
155
|
-
return {
|
|
156
|
-
...props,
|
|
157
|
-
title: props.title ?? mdxAdmonitionTitle,
|
|
158
|
-
children: rest,
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
export default function Admonition(props) {
|
|
162
|
-
const {children, type, title, icon: iconProp} = processAdmonitionProps(props);
|
|
163
|
-
const typeConfig = getAdmonitionConfig(type);
|
|
164
|
-
const titleLabel = title ?? typeConfig.label;
|
|
165
|
-
const {iconComponent: IconComponent} = typeConfig;
|
|
166
|
-
const icon = iconProp ?? <IconComponent />;
|
|
167
|
-
return (
|
|
168
|
-
<div
|
|
169
|
-
className={clsx(
|
|
170
|
-
ThemeClassNames.common.admonition,
|
|
171
|
-
ThemeClassNames.common.admonitionType(props.type),
|
|
172
|
-
'alert',
|
|
173
|
-
`alert--${typeConfig.infimaClassName}`,
|
|
174
|
-
styles.admonition,
|
|
175
|
-
)}>
|
|
176
|
-
<div className={styles.admonitionHeading}>
|
|
177
|
-
<span className={styles.admonitionIcon}>{icon}</span>
|
|
178
|
-
{titleLabel}
|
|
179
|
-
</div>
|
|
180
|
-
<div className={styles.admonitionContent}>{children}</div>
|
|
181
|
-
</div>
|
|
182
|
-
);
|
|
20
|
+
export default function Admonition(unprocessedProps) {
|
|
21
|
+
const props = processAdmonitionProps(unprocessedProps);
|
|
22
|
+
const AdmonitionTypeComponent = getAdmonitionTypeComponent(props.type);
|
|
23
|
+
return <AdmonitionTypeComponent {...props} />;
|
|
183
24
|
}
|
|
@@ -9,10 +9,13 @@ import Link from '@docusaurus/Link';
|
|
|
9
9
|
import {translate} from '@docusaurus/Translate';
|
|
10
10
|
import {PageMetadata} from '@docusaurus/theme-common';
|
|
11
11
|
import Layout from '@theme/Layout';
|
|
12
|
+
import Heading from '@theme/Heading';
|
|
12
13
|
function Year({year, posts}) {
|
|
13
14
|
return (
|
|
14
15
|
<>
|
|
15
|
-
<h3
|
|
16
|
+
<Heading as="h3" id={year}>
|
|
17
|
+
{year}
|
|
18
|
+
</Heading>
|
|
16
19
|
<ul>
|
|
17
20
|
{posts.map((post) => (
|
|
18
21
|
<li key={post.metadata.date}>
|
|
@@ -69,7 +72,9 @@ export default function BlogArchive({archive}) {
|
|
|
69
72
|
<Layout>
|
|
70
73
|
<header className="hero hero--primary">
|
|
71
74
|
<div className="container">
|
|
72
|
-
<h1 className="hero__title">
|
|
75
|
+
<Heading as="h1" className="hero__title">
|
|
76
|
+
{title}
|
|
77
|
+
</Heading>
|
|
73
78
|
<p className="hero__subtitle">{description}</p>
|
|
74
79
|
</div>
|
|
75
80
|
</header>
|
|
@@ -13,9 +13,10 @@ import BlogPostItem from '@theme/BlogPostItem';
|
|
|
13
13
|
import BlogPostPaginator from '@theme/BlogPostPaginator';
|
|
14
14
|
import BlogPostPageMetadata from '@theme/BlogPostPage/Metadata';
|
|
15
15
|
import TOC from '@theme/TOC';
|
|
16
|
+
import Unlisted from '@theme/Unlisted';
|
|
16
17
|
function BlogPostPageContent({sidebar, children}) {
|
|
17
18
|
const {metadata, toc} = useBlogPost();
|
|
18
|
-
const {nextItem, prevItem, frontMatter} = metadata;
|
|
19
|
+
const {nextItem, prevItem, frontMatter, unlisted} = metadata;
|
|
19
20
|
const {
|
|
20
21
|
hide_table_of_contents: hideTableOfContents,
|
|
21
22
|
toc_min_heading_level: tocMinHeadingLevel,
|
|
@@ -33,6 +34,7 @@ function BlogPostPageContent({sidebar, children}) {
|
|
|
33
34
|
/>
|
|
34
35
|
) : undefined
|
|
35
36
|
}>
|
|
37
|
+
{unlisted && <Unlisted />}
|
|
36
38
|
<BlogPostItem>{children}</BlogPostItem>
|
|
37
39
|
|
|
38
40
|
{(nextItem || prevItem) && (
|
|
@@ -8,8 +8,10 @@ import React from 'react';
|
|
|
8
8
|
import clsx from 'clsx';
|
|
9
9
|
import Link from '@docusaurus/Link';
|
|
10
10
|
import {translate} from '@docusaurus/Translate';
|
|
11
|
+
import {useVisibleBlogSidebarItems} from '@docusaurus/theme-common/internal';
|
|
11
12
|
import styles from './styles.module.css';
|
|
12
13
|
export default function BlogSidebarDesktop({sidebar}) {
|
|
14
|
+
const items = useVisibleBlogSidebarItems(sidebar.items);
|
|
13
15
|
return (
|
|
14
16
|
<aside className="col col--3">
|
|
15
17
|
<nav
|
|
@@ -23,7 +25,7 @@ export default function BlogSidebarDesktop({sidebar}) {
|
|
|
23
25
|
{sidebar.title}
|
|
24
26
|
</div>
|
|
25
27
|
<ul className={clsx(styles.sidebarItemList, 'clean-list')}>
|
|
26
|
-
{
|
|
28
|
+
{items.map((item) => (
|
|
27
29
|
<li key={item.permalink} className={styles.sidebarItem}>
|
|
28
30
|
<Link
|
|
29
31
|
isNavLink
|
|
@@ -6,11 +6,13 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import Link from '@docusaurus/Link';
|
|
9
|
+
import {useVisibleBlogSidebarItems} from '@docusaurus/theme-common/internal';
|
|
9
10
|
import {NavbarSecondaryMenuFiller} from '@docusaurus/theme-common';
|
|
10
11
|
function BlogSidebarMobileSecondaryMenu({sidebar}) {
|
|
12
|
+
const items = useVisibleBlogSidebarItems(sidebar.items);
|
|
11
13
|
return (
|
|
12
14
|
<ul className="menu__list">
|
|
13
|
-
{
|
|
15
|
+
{items.map((item) => (
|
|
14
16
|
<li key={item.permalink} className="menu__list-item">
|
|
15
17
|
<Link
|
|
16
18
|
isNavLink
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
import BlogLayout from '@theme/BlogLayout';
|
|
16
16
|
import TagsListByLetter from '@theme/TagsListByLetter';
|
|
17
17
|
import SearchMetadata from '@theme/SearchMetadata';
|
|
18
|
+
import Heading from '@theme/Heading';
|
|
18
19
|
export default function BlogTagsListPage({tags, sidebar}) {
|
|
19
20
|
const title = translateTagsPageTitle();
|
|
20
21
|
return (
|
|
@@ -26,7 +27,7 @@ export default function BlogTagsListPage({tags, sidebar}) {
|
|
|
26
27
|
<PageMetadata title={title} />
|
|
27
28
|
<SearchMetadata tag="blog_tags_list" />
|
|
28
29
|
<BlogLayout sidebar={sidebar}>
|
|
29
|
-
<h1>{title}</
|
|
30
|
+
<Heading as="h1">{title}</Heading>
|
|
30
31
|
<TagsListByLetter tags={tags} />
|
|
31
32
|
</BlogLayout>
|
|
32
33
|
</HtmlClassNameProvider>
|
|
@@ -18,6 +18,8 @@ import BlogLayout from '@theme/BlogLayout';
|
|
|
18
18
|
import BlogListPaginator from '@theme/BlogListPaginator';
|
|
19
19
|
import SearchMetadata from '@theme/SearchMetadata';
|
|
20
20
|
import BlogPostItems from '@theme/BlogPostItems';
|
|
21
|
+
import Unlisted from '@theme/Unlisted';
|
|
22
|
+
import Heading from '@theme/Heading';
|
|
21
23
|
// Very simple pluralization: probably good enough for now
|
|
22
24
|
function useBlogPostsPlural() {
|
|
23
25
|
const {selectMessage} = usePluralForm();
|
|
@@ -59,9 +61,9 @@ function BlogTagsPostsPageContent({tag, items, sidebar, listMetadata}) {
|
|
|
59
61
|
const title = useBlogTagsPostsPageTitle(tag);
|
|
60
62
|
return (
|
|
61
63
|
<BlogLayout sidebar={sidebar}>
|
|
64
|
+
{tag.unlisted && <Unlisted />}
|
|
62
65
|
<header className="margin-bottom--xl">
|
|
63
|
-
<h1>{title}</
|
|
64
|
-
|
|
66
|
+
<Heading as="h1">{title}</Heading>
|
|
65
67
|
<Link href={tag.allTagsPath}>
|
|
66
68
|
<Translate
|
|
67
69
|
id="theme.tags.tagsPageLink"
|
|
@@ -9,6 +9,8 @@ import clsx from 'clsx';
|
|
|
9
9
|
// @ts-expect-error: TODO, we need to make theme-classic have type: module
|
|
10
10
|
import copy from 'copy-text-to-clipboard';
|
|
11
11
|
import {translate} from '@docusaurus/Translate';
|
|
12
|
+
import IconCopy from '@theme/Icon/Copy';
|
|
13
|
+
import IconSuccess from '@theme/Icon/Success';
|
|
12
14
|
import styles from './styles.module.css';
|
|
13
15
|
export default function CopyButton({code, className}) {
|
|
14
16
|
const [isCopied, setIsCopied] = useState(false);
|
|
@@ -50,12 +52,8 @@ export default function CopyButton({code, className}) {
|
|
|
50
52
|
)}
|
|
51
53
|
onClick={handleCopyCode}>
|
|
52
54
|
<span className={styles.copyButtonIcons} aria-hidden="true">
|
|
53
|
-
<
|
|
54
|
-
|
|
55
|
-
</svg>
|
|
56
|
-
<svg className={styles.copyButtonSuccessIcon} viewBox="0 0 24 24">
|
|
57
|
-
<path d="M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z" />
|
|
58
|
-
</svg>
|
|
55
|
+
<IconCopy className={styles.copyButtonIcon} />
|
|
56
|
+
<IconSuccess className={styles.copyButtonSuccessIcon} />
|
|
59
57
|
</span>
|
|
60
58
|
</button>
|
|
61
59
|
);
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import React from 'react';
|
|
8
8
|
import clsx from 'clsx';
|
|
9
9
|
import {translate} from '@docusaurus/Translate';
|
|
10
|
+
import IconWordWrap from '@theme/Icon/WordWrap';
|
|
10
11
|
import styles from './styles.module.css';
|
|
11
12
|
export default function WordWrapButton({className, onClick, isEnabled}) {
|
|
12
13
|
const title = translate({
|
|
@@ -26,15 +27,7 @@ export default function WordWrapButton({className, onClick, isEnabled}) {
|
|
|
26
27
|
)}
|
|
27
28
|
aria-label={title}
|
|
28
29
|
title={title}>
|
|
29
|
-
<
|
|
30
|
-
className={styles.wordWrapButtonIcon}
|
|
31
|
-
viewBox="0 0 24 24"
|
|
32
|
-
aria-hidden="true">
|
|
33
|
-
<path
|
|
34
|
-
fill="currentColor"
|
|
35
|
-
d="M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"
|
|
36
|
-
/>
|
|
37
|
-
</svg>
|
|
30
|
+
<IconWordWrap className={styles.wordWrapButtonIcon} aria-hidden="true" />
|
|
38
31
|
</button>
|
|
39
32
|
);
|
|
40
33
|
}
|
|
@@ -79,13 +79,17 @@ export default function DocBreadcrumbs() {
|
|
|
79
79
|
{homePageRoute && <HomeBreadcrumbItem />}
|
|
80
80
|
{breadcrumbs.map((item, idx) => {
|
|
81
81
|
const isLast = idx === breadcrumbs.length - 1;
|
|
82
|
+
const href =
|
|
83
|
+
item.type === 'category' && item.linkUnlisted
|
|
84
|
+
? undefined
|
|
85
|
+
: item.href;
|
|
82
86
|
return (
|
|
83
87
|
<BreadcrumbsItem
|
|
84
88
|
key={idx}
|
|
85
89
|
active={isLast}
|
|
86
90
|
index={idx}
|
|
87
|
-
addMicrodata={!!
|
|
88
|
-
<BreadcrumbsItemLink href={
|
|
91
|
+
addMicrodata={!!href}>
|
|
92
|
+
<BreadcrumbsItemLink href={href} isLast={isLast}>
|
|
89
93
|
{item.label}
|
|
90
94
|
</BreadcrumbsItemLink>
|
|
91
95
|
</BreadcrumbsItem>
|
|
@@ -8,11 +8,12 @@ import React from 'react';
|
|
|
8
8
|
import clsx from 'clsx';
|
|
9
9
|
import Link from '@docusaurus/Link';
|
|
10
10
|
import {
|
|
11
|
-
|
|
11
|
+
findFirstSidebarItemLink,
|
|
12
12
|
useDocById,
|
|
13
13
|
} from '@docusaurus/theme-common/internal';
|
|
14
14
|
import isInternalUrl from '@docusaurus/isInternalUrl';
|
|
15
15
|
import {translate} from '@docusaurus/Translate';
|
|
16
|
+
import Heading from '@theme/Heading';
|
|
16
17
|
import styles from './styles.module.css';
|
|
17
18
|
function CardContainer({href, children}) {
|
|
18
19
|
return (
|
|
@@ -26,9 +27,12 @@ function CardContainer({href, children}) {
|
|
|
26
27
|
function CardLayout({href, icon, title, description}) {
|
|
27
28
|
return (
|
|
28
29
|
<CardContainer href={href}>
|
|
29
|
-
<
|
|
30
|
+
<Heading
|
|
31
|
+
as="h2"
|
|
32
|
+
className={clsx('text--truncate', styles.cardTitle)}
|
|
33
|
+
title={title}>
|
|
30
34
|
{icon} {title}
|
|
31
|
-
</
|
|
35
|
+
</Heading>
|
|
32
36
|
{description && (
|
|
33
37
|
<p
|
|
34
38
|
className={clsx('text--truncate', styles.cardDescription)}
|
|
@@ -40,7 +44,7 @@ function CardLayout({href, icon, title, description}) {
|
|
|
40
44
|
);
|
|
41
45
|
}
|
|
42
46
|
function CardCategory({item}) {
|
|
43
|
-
const href =
|
|
47
|
+
const href = findFirstSidebarItemLink(item);
|
|
44
48
|
// Unexpected: categories that don't have a link have been filtered upfront
|
|
45
49
|
if (!href) {
|
|
46
50
|
return null;
|
|
@@ -16,6 +16,7 @@ import DocItemTOCMobile from '@theme/DocItem/TOC/Mobile';
|
|
|
16
16
|
import DocItemTOCDesktop from '@theme/DocItem/TOC/Desktop';
|
|
17
17
|
import DocItemContent from '@theme/DocItem/Content';
|
|
18
18
|
import DocBreadcrumbs from '@theme/DocBreadcrumbs';
|
|
19
|
+
import Unlisted from '@theme/Unlisted';
|
|
19
20
|
import styles from './styles.module.css';
|
|
20
21
|
/**
|
|
21
22
|
* Decide if the toc should be rendered, on mobile or desktop viewports
|
|
@@ -38,9 +39,13 @@ function useDocTOC() {
|
|
|
38
39
|
}
|
|
39
40
|
export default function DocItemLayout({children}) {
|
|
40
41
|
const docTOC = useDocTOC();
|
|
42
|
+
const {
|
|
43
|
+
metadata: {unlisted},
|
|
44
|
+
} = useDoc();
|
|
41
45
|
return (
|
|
42
46
|
<div className="row">
|
|
43
47
|
<div className={clsx('col', !docTOC.hidden && styles.docItemCol)}>
|
|
48
|
+
{unlisted && <Unlisted />}
|
|
44
49
|
<DocVersionBanner />
|
|
45
50
|
<div className={styles.docItemContainer}>
|
|
46
51
|
<article>
|
|
@@ -14,7 +14,7 @@ export default function DocPaginator(props) {
|
|
|
14
14
|
className="pagination-nav docusaurus-mt-lg"
|
|
15
15
|
aria-label={translate({
|
|
16
16
|
id: 'theme.docs.paginator.navAriaLabel',
|
|
17
|
-
message: 'Docs pages
|
|
17
|
+
message: 'Docs pages',
|
|
18
18
|
description: 'The ARIA label for the docs pagination',
|
|
19
19
|
})}>
|
|
20
20
|
{previous && (
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
/// <reference types="react" />
|
|
8
|
-
import type { Props } from '@theme/
|
|
9
|
-
export default function
|
|
8
|
+
import type { Props } from '@theme/DocRoot/Layout/Main';
|
|
9
|
+
export default function DocRootLayoutMain({ hiddenSidebarContainer, children, }: Props): JSX.Element;
|
|
@@ -8,7 +8,7 @@ import React from 'react';
|
|
|
8
8
|
import clsx from 'clsx';
|
|
9
9
|
import {useDocsSidebar} from '@docusaurus/theme-common/internal';
|
|
10
10
|
import styles from './styles.module.css';
|
|
11
|
-
export default function
|
|
11
|
+
export default function DocRootLayoutMain({hiddenSidebarContainer, children}) {
|
|
12
12
|
const sidebar = useDocsSidebar();
|
|
13
13
|
return (
|
|
14
14
|
<main
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
/// <reference types="react" />
|
|
8
|
-
import type { Props } from '@theme/
|
|
9
|
-
export default function
|
|
8
|
+
import type { Props } from '@theme/DocRoot/Layout/Sidebar/ExpandButton';
|
|
9
|
+
export default function DocRootLayoutSidebarExpandButton({ toggleSidebar, }: Props): JSX.Element;
|
|
@@ -8,7 +8,7 @@ import React from 'react';
|
|
|
8
8
|
import {translate} from '@docusaurus/Translate';
|
|
9
9
|
import IconArrow from '@theme/Icon/Arrow';
|
|
10
10
|
import styles from './styles.module.css';
|
|
11
|
-
export default function
|
|
11
|
+
export default function DocRootLayoutSidebarExpandButton({toggleSidebar}) {
|
|
12
12
|
return (
|
|
13
13
|
<div
|
|
14
14
|
className={styles.expandButton}
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
/// <reference types="react" />
|
|
8
|
-
import type { Props } from '@theme/
|
|
9
|
-
export default function
|
|
8
|
+
import type { Props } from '@theme/DocRoot/Layout/Sidebar';
|
|
9
|
+
export default function DocRootLayoutSidebar({ sidebar, hiddenSidebarContainer, setHiddenSidebarContainer, }: Props): JSX.Element;
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import React, {useState, useCallback} from 'react';
|
|
8
8
|
import clsx from 'clsx';
|
|
9
|
-
import {ThemeClassNames} from '@docusaurus/theme-common';
|
|
9
|
+
import {prefersReducedMotion, ThemeClassNames} from '@docusaurus/theme-common';
|
|
10
10
|
import {useDocsSidebar} from '@docusaurus/theme-common/internal';
|
|
11
11
|
import {useLocation} from '@docusaurus/router';
|
|
12
12
|
import DocSidebar from '@theme/DocSidebar';
|
|
13
|
-
import ExpandButton from '@theme/
|
|
13
|
+
import ExpandButton from '@theme/DocRoot/Layout/Sidebar/ExpandButton';
|
|
14
14
|
import styles from './styles.module.css';
|
|
15
15
|
// Reset sidebar state when sidebar changes
|
|
16
16
|
// Use React key to unmount/remount the children
|
|
@@ -23,7 +23,7 @@ function ResetOnSidebarChange({children}) {
|
|
|
23
23
|
</React.Fragment>
|
|
24
24
|
);
|
|
25
25
|
}
|
|
26
|
-
export default function
|
|
26
|
+
export default function DocRootLayoutSidebar({
|
|
27
27
|
sidebar,
|
|
28
28
|
hiddenSidebarContainer,
|
|
29
29
|
setHiddenSidebarContainer,
|
|
@@ -34,6 +34,11 @@ export default function DocPageLayoutSidebar({
|
|
|
34
34
|
if (hiddenSidebar) {
|
|
35
35
|
setHiddenSidebar(false);
|
|
36
36
|
}
|
|
37
|
+
// onTransitionEnd won't fire when sidebar animation is disabled
|
|
38
|
+
// fixes https://github.com/facebook/docusaurus/issues/8918
|
|
39
|
+
if (!hiddenSidebar && prefersReducedMotion()) {
|
|
40
|
+
setHiddenSidebar(true);
|
|
41
|
+
}
|
|
37
42
|
setHiddenSidebarContainer((value) => !value);
|
|
38
43
|
}, [setHiddenSidebarContainer, hiddenSidebar]);
|
|
39
44
|
return (
|
|
@@ -5,5 +5,5 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
/// <reference types="react" />
|
|
8
|
-
import type { Props } from '@theme/
|
|
9
|
-
export default function
|
|
8
|
+
import type { Props } from '@theme/DocRoot/Layout';
|
|
9
|
+
export default function DocRootLayout({ children }: Props): JSX.Element;
|
|
@@ -6,29 +6,28 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import React, {useState} from 'react';
|
|
8
8
|
import {useDocsSidebar} from '@docusaurus/theme-common/internal';
|
|
9
|
-
import Layout from '@theme/Layout';
|
|
10
9
|
import BackToTopButton from '@theme/BackToTopButton';
|
|
11
|
-
import
|
|
12
|
-
import
|
|
10
|
+
import DocRootLayoutSidebar from '@theme/DocRoot/Layout/Sidebar';
|
|
11
|
+
import DocRootLayoutMain from '@theme/DocRoot/Layout/Main';
|
|
13
12
|
import styles from './styles.module.css';
|
|
14
|
-
export default function
|
|
13
|
+
export default function DocRootLayout({children}) {
|
|
15
14
|
const sidebar = useDocsSidebar();
|
|
16
15
|
const [hiddenSidebarContainer, setHiddenSidebarContainer] = useState(false);
|
|
17
16
|
return (
|
|
18
|
-
<
|
|
17
|
+
<div className={styles.docsWrapper}>
|
|
19
18
|
<BackToTopButton />
|
|
20
|
-
<div className={styles.
|
|
19
|
+
<div className={styles.docRoot}>
|
|
21
20
|
{sidebar && (
|
|
22
|
-
<
|
|
21
|
+
<DocRootLayoutSidebar
|
|
23
22
|
sidebar={sidebar.items}
|
|
24
23
|
hiddenSidebarContainer={hiddenSidebarContainer}
|
|
25
24
|
setHiddenSidebarContainer={setHiddenSidebarContainer}
|
|
26
25
|
/>
|
|
27
26
|
)}
|
|
28
|
-
<
|
|
27
|
+
<DocRootLayoutMain hiddenSidebarContainer={hiddenSidebarContainer}>
|
|
29
28
|
{children}
|
|
30
|
-
</
|
|
29
|
+
</DocRootLayoutMain>
|
|
31
30
|
</div>
|
|
32
|
-
</
|
|
31
|
+
</div>
|
|
33
32
|
);
|
|
34
33
|
}
|
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
*/
|
|
7
7
|
/// <reference types="@docusaurus/plugin-content-docs" />
|
|
8
8
|
/// <reference types="react" />
|
|
9
|
-
import type { Props } from '@theme/
|
|
10
|
-
export default function
|
|
9
|
+
import type { Props } from '@theme/DocRoot';
|
|
10
|
+
export default function DocRoot(props: Props): JSX.Element;
|