@docusaurus/theme-classic 2.0.0-beta.16 → 2.0.0-beta.19

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.
Files changed (319) hide show
  1. package/lib/admonitions.css +4 -0
  2. package/lib/default.css +3038 -0
  3. package/lib/getSwizzleConfig.js +177 -36
  4. package/lib/index.js +10 -15
  5. package/lib/nprogress.css +41 -0
  6. package/lib/nprogress.js +46 -0
  7. package/lib/theme-classic.d.ts +600 -76
  8. package/lib/translations.js +12 -2
  9. package/lib/validateThemeConfig.js +77 -28
  10. package/lib-next/theme/BackToTopButton/index.js +6 -104
  11. package/lib-next/theme/BlogArchivePage/index.js +14 -10
  12. package/lib-next/theme/BlogLayout/index.js +1 -5
  13. package/lib-next/theme/BlogListPage/index.js +34 -13
  14. package/lib-next/theme/BlogListPaginator/index.js +25 -28
  15. package/lib-next/theme/BlogPostAuthor/index.js +16 -7
  16. package/lib-next/theme/BlogPostItem/index.js +6 -6
  17. package/lib-next/theme/BlogPostItem/styles.module.css +9 -0
  18. package/lib-next/theme/BlogPostPage/index.js +56 -45
  19. package/lib-next/theme/BlogPostPaginator/index.js +25 -28
  20. package/lib-next/theme/BlogSidebar/Desktop/index.js +41 -0
  21. package/lib-next/theme/BlogSidebar/{styles.module.css → Desktop/styles.module.css} +1 -2
  22. package/lib-next/theme/BlogSidebar/Mobile/index.js +36 -0
  23. package/lib-next/theme/BlogSidebar/index.js +11 -31
  24. package/lib-next/theme/BlogTagsListPage/index.js +17 -14
  25. package/lib-next/theme/BlogTagsPostsPage/index.js +43 -38
  26. package/lib-next/theme/CodeBlock/Container/index.js +29 -0
  27. package/lib-next/theme/CodeBlock/Container/styles.module.css +14 -0
  28. package/lib-next/theme/CodeBlock/Content/Element.js +23 -0
  29. package/lib-next/theme/CodeBlock/Content/String.js +104 -0
  30. package/lib-next/theme/CodeBlock/{styles.module.css → Content/styles.module.css} +39 -29
  31. package/lib-next/theme/CodeBlock/CopyButton/index.js +61 -0
  32. package/lib-next/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  33. package/lib-next/theme/CodeBlock/Line/index.js +49 -0
  34. package/lib-next/theme/CodeBlock/Line/styles.module.css +51 -0
  35. package/lib-next/theme/CodeBlock/WordWrapButton/index.js +40 -0
  36. package/lib-next/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
  37. package/lib-next/theme/CodeBlock/index.js +26 -164
  38. package/lib-next/theme/ColorModeToggle/index.js +62 -0
  39. package/lib-next/theme/ColorModeToggle/styles.module.css +35 -0
  40. package/lib-next/theme/Details/index.js +1 -1
  41. package/lib-next/theme/DocBreadcrumbs/index.js +63 -19
  42. package/lib-next/theme/DocBreadcrumbs/styles.module.css +8 -15
  43. package/lib-next/theme/DocCard/index.js +17 -15
  44. package/lib-next/theme/DocCard/styles.module.css +8 -17
  45. package/lib-next/theme/DocCardList/index.js +20 -6
  46. package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +30 -9
  47. package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +8 -0
  48. package/lib-next/theme/DocItem/index.js +85 -67
  49. package/lib-next/theme/DocItem/styles.module.css +6 -0
  50. package/lib-next/theme/DocPage/Layout/Main/index.js +29 -0
  51. package/lib-next/theme/DocPage/Layout/Main/styles.module.css +28 -0
  52. package/lib-next/theme/DocPage/Layout/Sidebar/ExpandButton/index.js +34 -0
  53. package/lib-next/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  54. package/lib-next/theme/DocPage/Layout/Sidebar/index.js +68 -0
  55. package/lib-next/theme/DocPage/Layout/Sidebar/index.module.css +32 -0
  56. package/lib-next/theme/DocPage/Layout/index.js +34 -0
  57. package/lib-next/theme/{BlogPostAuthor/styles.module.css → DocPage/Layout/index.module.css} +6 -3
  58. package/lib-next/theme/DocPage/index.js +30 -149
  59. package/lib-next/theme/DocPaginator/index.js +25 -28
  60. package/lib-next/theme/DocSidebar/Desktop/CollapseButton/index.js +34 -0
  61. package/lib-next/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  62. package/lib-next/theme/DocSidebar/Desktop/Content/index.js +46 -0
  63. package/lib-next/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  64. package/lib-next/theme/DocSidebar/Desktop/index.js +36 -0
  65. package/lib-next/theme/DocSidebar/Desktop/styles.module.css +50 -0
  66. package/lib-next/theme/DocSidebar/Mobile/index.js +49 -0
  67. package/lib-next/theme/DocSidebar/index.js +6 -113
  68. package/lib-next/theme/DocSidebarItem/Category.js +197 -0
  69. package/lib-next/theme/DocSidebarItem/Html.js +27 -0
  70. package/lib-next/theme/DocSidebarItem/{styles.module.css → Html.module.css} +0 -0
  71. package/lib-next/theme/DocSidebarItem/Link.js +53 -0
  72. package/lib-next/theme/DocSidebarItem/Link.module.css +10 -0
  73. package/lib-next/theme/DocSidebarItem/index.js +4 -245
  74. package/lib-next/theme/DocSidebarItems/index.js +1 -6
  75. package/lib-next/theme/DocTagDocListPage/index.js +40 -33
  76. package/lib-next/theme/DocTagsListPage/index.js +21 -16
  77. package/lib-next/theme/DocVersionBanner/index.js +2 -2
  78. package/lib-next/theme/Footer/Copyright/index.js +18 -0
  79. package/lib-next/theme/Footer/Layout/index.js +26 -0
  80. package/lib-next/theme/Footer/LinkItem/index.js +33 -0
  81. package/lib-next/theme/Footer/Links/MultiColumn/index.js +47 -0
  82. package/lib-next/theme/Footer/Links/Simple/index.js +41 -0
  83. package/lib-next/theme/Footer/Links/index.js +17 -0
  84. package/lib-next/theme/Footer/Logo/index.js +38 -0
  85. package/lib-next/theme/Footer/{styles.module.css → Logo/styles.module.css} +0 -0
  86. package/lib-next/theme/Footer/index.js +11 -163
  87. package/lib-next/theme/Heading/index.js +10 -24
  88. package/lib-next/theme/IconDarkMode/index.js +17 -0
  89. package/lib-next/theme/IconExternalLink/styles.module.css +0 -2
  90. package/lib-next/theme/IconHome/index.js +17 -0
  91. package/lib-next/theme/IconLanguage/index.js +3 -3
  92. package/lib-next/theme/IconLightMode/index.js +17 -0
  93. package/lib-next/theme/LastUpdated/index.js +1 -0
  94. package/lib-next/theme/Layout/index.js +15 -10
  95. package/lib-next/theme/LayoutProviders/index.js +5 -4
  96. package/lib-next/theme/MDXComponents/A.js +11 -0
  97. package/lib-next/theme/MDXComponents/Code.js +28 -0
  98. package/lib-next/theme/MDXComponents/Details.js +20 -0
  99. package/lib-next/theme/MDXComponents/Head.js +26 -0
  100. package/lib-next/theme/MDXComponents/Heading.js +11 -0
  101. package/lib-next/theme/MDXComponents/Img.js +24 -0
  102. package/{src/theme/MDXComponents/styles.css → lib-next/theme/MDXComponents/Img.module.css} +1 -6
  103. package/lib-next/theme/MDXComponents/Pre.js +18 -0
  104. package/lib-next/theme/MDXComponents/Ul.js +21 -0
  105. package/lib-next/theme/MDXComponents/index.js +22 -57
  106. package/lib-next/theme/MDXContent/index.js +12 -0
  107. package/lib-next/theme/MDXPage/index.js +33 -28
  108. package/lib-next/theme/Navbar/ColorModeToggle/index.js +25 -0
  109. package/lib-next/theme/Navbar/Content/index.js +75 -0
  110. package/lib-next/theme/Navbar/Content/styles.module.css +15 -0
  111. package/lib-next/theme/Navbar/Layout/index.js +54 -0
  112. package/{src/theme/Navbar → lib-next/theme/Navbar/Layout}/styles.module.css +0 -13
  113. package/lib-next/theme/Navbar/Logo/index.js +17 -0
  114. package/lib-next/theme/Navbar/MobileSidebar/Header/index.js +33 -0
  115. package/lib-next/theme/Navbar/MobileSidebar/Layout/index.js +28 -0
  116. package/lib-next/theme/Navbar/MobileSidebar/PrimaryMenu/index.js +33 -0
  117. package/lib-next/theme/Navbar/MobileSidebar/SecondaryMenu/index.js +36 -0
  118. package/lib-next/theme/Navbar/MobileSidebar/Toggle/index.js +23 -0
  119. package/lib-next/theme/Navbar/MobileSidebar/index.js +31 -0
  120. package/lib-next/theme/Navbar/Search/index.js +11 -0
  121. package/lib-next/theme/Navbar/Search/styles.module.css +20 -0
  122. package/lib-next/theme/Navbar/index.js +6 -271
  123. package/lib-next/theme/NavbarItem/ComponentTypes.js +27 -0
  124. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +2 -6
  125. package/lib-next/theme/NavbarItem/DocNavbarItem.js +11 -28
  126. package/lib-next/theme/NavbarItem/DocSidebarNavbarItem.js +10 -42
  127. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +25 -29
  128. package/lib-next/theme/NavbarItem/DocsVersionNavbarItem.js +2 -9
  129. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +14 -3
  130. package/lib-next/theme/NavbarItem/HtmlNavbarItem.js +30 -0
  131. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/index.js +5 -10
  132. package/lib-next/theme/NavbarItem/NavbarNavLink.js +49 -35
  133. package/lib-next/theme/NavbarItem/SearchNavbarItem.js +6 -1
  134. package/lib-next/theme/NavbarItem/index.js +4 -23
  135. package/lib-next/theme/NavbarItem/utils.js +2 -1
  136. package/lib-next/theme/NotFound.js +38 -33
  137. package/lib-next/theme/PaginatorNavLink/index.js +8 -2
  138. package/lib-next/theme/SearchMetadata/index.js +9 -0
  139. package/lib-next/theme/{LayoutHead → SiteMetadata}/index.js +19 -33
  140. package/lib-next/theme/SkipToContent/index.js +3 -29
  141. package/lib-next/theme/TOCCollapsible/CollapseButton.js +29 -0
  142. package/{src/theme/TOCCollapsible/styles.module.css → lib-next/theme/TOCCollapsible/CollapseButton.module.css} +1 -22
  143. package/lib-next/theme/TOCCollapsible/index.js +4 -16
  144. package/lib-next/theme/TOCCollapsible/index.module.css +31 -0
  145. package/lib-next/theme/TOCItems/Tree.js +40 -0
  146. package/lib-next/theme/TOCItems/index.js +3 -34
  147. package/lib-next/theme/TabItem/index.js +3 -1
  148. package/lib-next/theme/TabItem/styles.module.css +10 -0
  149. package/lib-next/theme/Tabs/__tests__/index.test.js +8 -8
  150. package/lib-next/theme/Tabs/index.js +5 -5
  151. package/lib-next/theme/Tabs/styles.module.css +4 -0
  152. package/lib-next/theme/Tag/index.js +6 -7
  153. package/lib-next/theme/TagsListInline/index.js +1 -1
  154. package/lib-next/theme/ThemedImage/index.js +3 -3
  155. package/package.json +25 -20
  156. package/src/admonitions.css +4 -0
  157. package/src/getSwizzleConfig.ts +173 -22
  158. package/src/index.ts +14 -15
  159. package/src/nprogress.css +41 -0
  160. package/src/nprogress.ts +31 -0
  161. package/src/theme/BackToTopButton/index.tsx +5 -114
  162. package/src/theme/BlogArchivePage/index.tsx +18 -17
  163. package/src/theme/BlogLayout/index.tsx +1 -5
  164. package/src/theme/BlogListPage/index.tsx +32 -13
  165. package/src/theme/BlogListPaginator/index.tsx +25 -28
  166. package/src/theme/BlogPostAuthor/index.tsx +14 -8
  167. package/src/theme/BlogPostItem/index.tsx +6 -6
  168. package/src/theme/BlogPostItem/styles.module.css +9 -0
  169. package/src/theme/BlogPostPage/index.tsx +55 -48
  170. package/src/theme/BlogPostPaginator/index.tsx +25 -28
  171. package/src/theme/BlogSidebar/Desktop/index.tsx +45 -0
  172. package/src/theme/BlogSidebar/{styles.module.css → Desktop/styles.module.css} +1 -2
  173. package/src/theme/BlogSidebar/Mobile/index.tsx +38 -0
  174. package/src/theme/BlogSidebar/index.tsx +10 -31
  175. package/src/theme/BlogTagsListPage/index.tsx +17 -14
  176. package/src/theme/BlogTagsPostsPage/index.tsx +46 -36
  177. package/src/theme/CodeBlock/Container/index.tsx +35 -0
  178. package/src/theme/CodeBlock/Container/styles.module.css +14 -0
  179. package/src/theme/CodeBlock/Content/Element.tsx +30 -0
  180. package/src/theme/CodeBlock/Content/String.tsx +111 -0
  181. package/src/theme/CodeBlock/{styles.module.css → Content/styles.module.css} +39 -29
  182. package/src/theme/CodeBlock/CopyButton/index.tsx +67 -0
  183. package/src/theme/CodeBlock/CopyButton/styles.module.css +47 -0
  184. package/src/theme/CodeBlock/Line/index.tsx +48 -0
  185. package/src/theme/CodeBlock/Line/styles.module.css +51 -0
  186. package/src/theme/CodeBlock/WordWrapButton/index.tsx +49 -0
  187. package/src/theme/CodeBlock/WordWrapButton/styles.module.css +15 -0
  188. package/src/theme/CodeBlock/index.tsx +29 -165
  189. package/src/theme/ColorModeToggle/index.tsx +67 -0
  190. package/src/theme/ColorModeToggle/styles.module.css +35 -0
  191. package/src/theme/Details/index.tsx +1 -1
  192. package/src/theme/DocBreadcrumbs/index.tsx +65 -16
  193. package/src/theme/DocBreadcrumbs/styles.module.css +8 -15
  194. package/src/theme/DocCard/index.tsx +24 -17
  195. package/src/theme/DocCard/styles.module.css +8 -17
  196. package/src/theme/DocCardList/index.tsx +19 -10
  197. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +34 -7
  198. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +8 -0
  199. package/src/theme/DocItem/index.tsx +72 -56
  200. package/src/theme/DocItem/styles.module.css +6 -0
  201. package/src/theme/DocPage/Layout/Main/index.tsx +37 -0
  202. package/src/theme/DocPage/Layout/Main/styles.module.css +28 -0
  203. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/index.tsx +40 -0
  204. package/src/theme/DocPage/Layout/Sidebar/ExpandButton/styles.module.css +33 -0
  205. package/src/theme/DocPage/Layout/Sidebar/index.module.css +32 -0
  206. package/src/theme/DocPage/Layout/Sidebar/index.tsx +74 -0
  207. package/src/theme/{BlogPostAuthor/styles.module.css → DocPage/Layout/index.module.css} +6 -3
  208. package/src/theme/DocPage/Layout/index.tsx +39 -0
  209. package/src/theme/DocPage/index.tsx +30 -160
  210. package/src/theme/DocPaginator/index.tsx +25 -28
  211. package/src/theme/DocSidebar/Desktop/CollapseButton/index.tsx +38 -0
  212. package/src/theme/DocSidebar/Desktop/CollapseButton/styles.module.css +46 -0
  213. package/src/theme/DocSidebar/Desktop/Content/index.tsx +55 -0
  214. package/src/theme/DocSidebar/Desktop/Content/styles.module.css +23 -0
  215. package/src/theme/DocSidebar/Desktop/index.tsx +40 -0
  216. package/src/theme/DocSidebar/Desktop/styles.module.css +50 -0
  217. package/src/theme/DocSidebar/Mobile/index.tsx +54 -0
  218. package/src/theme/DocSidebar/index.tsx +6 -121
  219. package/src/theme/DocSidebarItem/Category.tsx +210 -0
  220. package/src/theme/DocSidebarItem/{styles.module.css → Html.module.css} +0 -0
  221. package/src/theme/DocSidebarItem/Html.tsx +34 -0
  222. package/src/theme/DocSidebarItem/Link.module.css +10 -0
  223. package/src/theme/DocSidebarItem/Link.tsx +58 -0
  224. package/src/theme/DocSidebarItem/index.tsx +4 -260
  225. package/src/theme/DocSidebarItems/index.tsx +1 -6
  226. package/src/theme/DocTagDocListPage/index.tsx +40 -33
  227. package/src/theme/DocTagsListPage/index.tsx +21 -16
  228. package/src/theme/DocVersionBanner/index.tsx +5 -6
  229. package/src/theme/Footer/Copyright/index.tsx +20 -0
  230. package/src/theme/Footer/Layout/index.tsx +34 -0
  231. package/src/theme/Footer/LinkItem/index.tsx +36 -0
  232. package/src/theme/Footer/Links/MultiColumn/index.tsx +51 -0
  233. package/src/theme/Footer/Links/Simple/index.tsx +42 -0
  234. package/src/theme/Footer/Links/index.tsx +21 -0
  235. package/src/theme/Footer/Logo/index.tsx +41 -0
  236. package/src/theme/Footer/{styles.module.css → Logo/styles.module.css} +0 -0
  237. package/src/theme/Footer/index.tsx +12 -186
  238. package/src/theme/Heading/index.tsx +10 -22
  239. package/src/theme/IconDarkMode/index.tsx +20 -0
  240. package/src/theme/IconExternalLink/styles.module.css +0 -2
  241. package/src/theme/IconHome/index.tsx +20 -0
  242. package/src/theme/IconLanguage/index.tsx +3 -3
  243. package/src/theme/IconLightMode/index.tsx +20 -0
  244. package/src/theme/LastUpdated/index.tsx +1 -0
  245. package/src/theme/Layout/index.tsx +15 -10
  246. package/src/theme/LayoutProviders/index.tsx +5 -4
  247. package/src/theme/MDXComponents/A.tsx +14 -0
  248. package/src/theme/MDXComponents/Code.tsx +37 -0
  249. package/src/theme/MDXComponents/Details.tsx +25 -0
  250. package/src/theme/MDXComponents/Head.tsx +29 -0
  251. package/src/theme/MDXComponents/Heading.tsx +14 -0
  252. package/{lib-next/theme/MDXComponents/styles.css → src/theme/MDXComponents/Img.module.css} +1 -6
  253. package/src/theme/MDXComponents/Img.tsx +26 -0
  254. package/src/theme/MDXComponents/Pre.tsx +22 -0
  255. package/src/theme/MDXComponents/Ul.tsx +24 -0
  256. package/src/theme/MDXComponents/index.tsx +23 -66
  257. package/src/theme/MDXContent/index.tsx +15 -0
  258. package/src/theme/MDXPage/index.tsx +33 -28
  259. package/src/theme/Navbar/ColorModeToggle/index.tsx +30 -0
  260. package/src/theme/Navbar/Content/index.tsx +86 -0
  261. package/src/theme/Navbar/Content/styles.module.css +15 -0
  262. package/src/theme/Navbar/Layout/index.tsx +57 -0
  263. package/{lib-next/theme/Navbar → src/theme/Navbar/Layout}/styles.module.css +0 -13
  264. package/src/theme/Navbar/Logo/index.tsx +19 -0
  265. package/src/theme/Navbar/MobileSidebar/Header/index.tsx +34 -0
  266. package/src/theme/Navbar/MobileSidebar/Layout/index.tsx +31 -0
  267. package/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.tsx +38 -0
  268. package/src/theme/Navbar/MobileSidebar/SecondaryMenu/index.tsx +38 -0
  269. package/src/theme/Navbar/MobileSidebar/Toggle/index.tsx +25 -0
  270. package/src/theme/Navbar/MobileSidebar/index.tsx +33 -0
  271. package/src/theme/Navbar/Search/index.tsx +15 -0
  272. package/src/theme/Navbar/Search/styles.module.css +20 -0
  273. package/src/theme/Navbar/index.tsx +6 -286
  274. package/src/theme/NavbarItem/ComponentTypes.tsx +32 -0
  275. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +2 -2
  276. package/src/theme/NavbarItem/DocNavbarItem.tsx +13 -32
  277. package/src/theme/NavbarItem/DocSidebarNavbarItem.tsx +9 -49
  278. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +26 -33
  279. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +3 -10
  280. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +15 -3
  281. package/src/theme/NavbarItem/HtmlNavbarItem.tsx +32 -0
  282. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/index.tsx +5 -9
  283. package/src/theme/NavbarItem/NavbarNavLink.tsx +41 -29
  284. package/src/theme/NavbarItem/SearchNavbarItem.tsx +6 -1
  285. package/src/theme/NavbarItem/index.tsx +9 -39
  286. package/src/theme/NavbarItem/utils.ts +5 -2
  287. package/src/theme/NotFound.tsx +38 -33
  288. package/src/theme/PaginatorNavLink/index.tsx +8 -2
  289. package/src/theme/SearchMetadata/index.tsx +9 -0
  290. package/src/theme/{LayoutHead → SiteMetadata}/index.tsx +19 -33
  291. package/src/theme/SkipToContent/index.tsx +3 -29
  292. package/{lib-next/theme/TOCCollapsible/styles.module.css → src/theme/TOCCollapsible/CollapseButton.module.css} +1 -22
  293. package/src/theme/TOCCollapsible/CollapseButton.tsx +35 -0
  294. package/src/theme/TOCCollapsible/index.module.css +31 -0
  295. package/src/theme/TOCCollapsible/index.tsx +4 -17
  296. package/src/theme/TOCItems/Tree.tsx +46 -0
  297. package/src/theme/TOCItems/index.tsx +2 -41
  298. package/src/theme/TabItem/index.tsx +7 -1
  299. package/src/theme/TabItem/styles.module.css +10 -0
  300. package/src/theme/Tabs/index.tsx +8 -9
  301. package/src/theme/Tabs/styles.module.css +4 -0
  302. package/src/theme/Tag/index.tsx +6 -8
  303. package/src/theme/TagsListInline/index.tsx +1 -1
  304. package/src/theme/ThemedImage/index.tsx +4 -3
  305. package/src/theme-classic.d.ts +600 -76
  306. package/src/translations.ts +12 -6
  307. package/src/validateThemeConfig.ts +90 -39
  308. package/lib/types.d.ts +0 -11
  309. package/lib-next/theme/DocPage/styles.module.css +0 -86
  310. package/lib-next/theme/DocSidebar/styles.module.css +0 -107
  311. package/lib-next/theme/Seo/index.js +0 -40
  312. package/lib-next/theme/Toggle/index.js +0 -100
  313. package/lib-next/theme/Toggle/styles.module.css +0 -106
  314. package/src/theme/DocPage/styles.module.css +0 -86
  315. package/src/theme/DocSidebar/styles.module.css +0 -107
  316. package/src/theme/Seo/index.tsx +0 -49
  317. package/src/theme/Toggle/index.tsx +0 -117
  318. package/src/theme/Toggle/styles.module.css +0 -106
  319. package/src/types.d.ts +0 -11
@@ -50,8 +50,11 @@ function getNavbarTranslationFile(navbar: Navbar): TranslationFileContent {
50
50
  }
51
51
  function translateNavbar(
52
52
  navbar: Navbar,
53
- navbarTranslations: TranslationFileContent,
53
+ navbarTranslations: TranslationFileContent | undefined,
54
54
  ): Navbar {
55
+ if (!navbarTranslations) {
56
+ return navbar;
57
+ }
55
58
  return {
56
59
  ...navbar,
57
60
  title: navbarTranslations.title?.message ?? navbar.title,
@@ -76,7 +79,7 @@ function translateNavbar(
76
79
  function isMultiColumnFooterLinks(
77
80
  links: MultiColumnFooter['links'] | SimpleFooter['links'],
78
81
  ): links is MultiColumnFooter['links'] {
79
- return links.length > 0 && 'title' in links[0];
82
+ return links.length > 0 && 'title' in links[0]!;
80
83
  }
81
84
 
82
85
  function getFooterTranslationFile(footer: Footer): TranslationFileContent {
@@ -121,8 +124,11 @@ function getFooterTranslationFile(footer: Footer): TranslationFileContent {
121
124
  }
122
125
  function translateFooter(
123
126
  footer: Footer,
124
- footerTranslations: TranslationFileContent,
127
+ footerTranslations: TranslationFileContent | undefined,
125
128
  ): Footer {
129
+ if (!footerTranslations) {
130
+ return footer;
131
+ }
126
132
  const links = isMultiColumnFooterLinks(footer.links)
127
133
  ? footer.links.map((link) => ({
128
134
  ...link,
@@ -178,7 +184,7 @@ export function translateThemeConfig({
178
184
  themeConfig: ThemeConfig;
179
185
  translationFiles: TranslationFile[];
180
186
  }): ThemeConfig {
181
- const translationFilesMap: Record<string, TranslationFile> = _.keyBy(
187
+ const translationFilesMap: {[fileName: string]: TranslationFile} = _.keyBy(
182
188
  translationFiles,
183
189
  (f) => f.path,
184
190
  );
@@ -187,10 +193,10 @@ export function translateThemeConfig({
187
193
  ...themeConfig,
188
194
  navbar: translateNavbar(
189
195
  themeConfig.navbar,
190
- translationFilesMap.navbar.content,
196
+ translationFilesMap.navbar?.content,
191
197
  ),
192
198
  footer: themeConfig.footer
193
- ? translateFooter(themeConfig.footer, translationFilesMap.footer.content)
199
+ ? translateFooter(themeConfig.footer, translationFilesMap.footer?.content)
194
200
  : undefined,
195
201
  };
196
202
  }
@@ -5,28 +5,36 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
+ import defaultPrismTheme from 'prism-react-renderer/themes/palenight';
8
9
  import {Joi, URISchema} from '@docusaurus/utils-validation';
9
- import type {ThemeConfig, Validate, ValidationResult} from '@docusaurus/types';
10
+ import type {
11
+ ThemeConfig,
12
+ ThemeConfigValidationContext,
13
+ } from '@docusaurus/types';
10
14
 
11
15
  const DEFAULT_DOCS_CONFIG = {
12
16
  versionPersistence: 'localStorage',
17
+ sidebar: {
18
+ hideable: false,
19
+ autoCollapseCategories: false,
20
+ },
13
21
  };
14
22
  const DocsSchema = Joi.object({
15
23
  versionPersistence: Joi.string()
16
24
  .equal('localStorage', 'none')
17
25
  .default(DEFAULT_DOCS_CONFIG.versionPersistence),
26
+ sidebar: Joi.object({
27
+ hideable: Joi.bool().default(DEFAULT_DOCS_CONFIG.sidebar.hideable),
28
+ autoCollapseCategories: Joi.bool().default(
29
+ DEFAULT_DOCS_CONFIG.sidebar.autoCollapseCategories,
30
+ ),
31
+ }).default(DEFAULT_DOCS_CONFIG.sidebar),
18
32
  }).default(DEFAULT_DOCS_CONFIG);
19
33
 
20
34
  const DEFAULT_COLOR_MODE_CONFIG = {
21
35
  defaultMode: 'light',
22
36
  disableSwitch: false,
23
37
  respectPrefersColorScheme: false,
24
- switchConfig: {
25
- darkIcon: '🌜',
26
- darkIconStyle: {},
27
- lightIcon: '🌞',
28
- lightIconStyle: {},
29
- },
30
38
  };
31
39
 
32
40
  export const DEFAULT_CONFIG = {
@@ -35,13 +43,19 @@ export const DEFAULT_CONFIG = {
35
43
  metadata: [],
36
44
  prism: {
37
45
  additionalLanguages: [],
46
+ theme: defaultPrismTheme,
47
+ magicComments: [
48
+ {
49
+ className: 'theme-code-block-highlighted-line',
50
+ line: 'highlight-next-line',
51
+ block: {start: 'highlight-start', end: 'highlight-end'},
52
+ },
53
+ ],
38
54
  },
39
55
  navbar: {
40
56
  hideOnScroll: false,
41
57
  items: [],
42
58
  },
43
- hideableSidebar: false,
44
- autoCollapseSidebarCategories: false,
45
59
  tableOfContents: {
46
60
  minHeadingLevel: 2,
47
61
  maxHeadingLevel: 3,
@@ -52,8 +66,10 @@ const NavbarItemPosition = Joi.string().equal('left', 'right').default('left');
52
66
 
53
67
  const NavbarItemBaseSchema = Joi.object({
54
68
  label: Joi.string(),
69
+ html: Joi.string(),
55
70
  className: Joi.string(),
56
71
  })
72
+ .nand('html', 'label')
57
73
  // We allow any unknown attributes on the links (users may need additional
58
74
  // attributes like target, aria-role, data-customAttribute...)
59
75
  .unknown();
@@ -92,11 +108,28 @@ const DocSidebarItemSchema = NavbarItemBaseSchema.append({
92
108
  docsPluginId: Joi.string(),
93
109
  });
94
110
 
95
- const itemWithType = (type: string | undefined) => {
96
- // because equal(undefined) is not supported :/
97
- const typeSchema = type
98
- ? Joi.string().required().equal(type)
99
- : Joi.string().forbidden();
111
+ const HtmlNavbarItemSchema = Joi.object({
112
+ className: Joi.string(),
113
+ type: Joi.string().equal('html').required(),
114
+ value: Joi.string().required(),
115
+ });
116
+
117
+ // A temporary workaround to allow users to add custom navbar items
118
+ // See https://github.com/facebook/docusaurus/issues/7227
119
+ const CustomNavbarItemRegexp = /custom-.*/;
120
+ const CustomNavbarItemSchema = Joi.object({
121
+ type: Joi.string().regex(CustomNavbarItemRegexp).required(),
122
+ }).unknown();
123
+
124
+ const itemWithType = (type: string | RegExp | undefined) => {
125
+ // Because equal(undefined) is not supported :/
126
+ const typeSchema =
127
+ // eslint-disable-next-line no-nested-ternary
128
+ type instanceof RegExp
129
+ ? Joi.string().required().regex(type)
130
+ : type
131
+ ? Joi.string().required().equal(type)
132
+ : Joi.string().forbidden();
100
133
  return Joi.object({
101
134
  type: typeSchema,
102
135
  })
@@ -124,6 +157,14 @@ const DropdownSubitemSchema = Joi.object({
124
157
  is: itemWithType(undefined),
125
158
  then: DefaultNavbarItemSchema,
126
159
  },
160
+ {
161
+ is: itemWithType('html'),
162
+ then: HtmlNavbarItemSchema,
163
+ },
164
+ {
165
+ is: itemWithType(CustomNavbarItemRegexp),
166
+ then: CustomNavbarItemSchema,
167
+ },
127
168
  {
128
169
  is: Joi.alternatives().try(
129
170
  itemWithType('dropdown'),
@@ -195,6 +236,14 @@ const NavbarItemSchema = Joi.object({
195
236
  is: itemWithType('search'),
196
237
  then: SearchItemSchema,
197
238
  },
239
+ {
240
+ is: itemWithType('html'),
241
+ then: HtmlNavbarItemSchema,
242
+ },
243
+ {
244
+ is: itemWithType(CustomNavbarItemRegexp),
245
+ then: CustomNavbarItemSchema,
246
+ },
198
247
  {
199
248
  is: itemWithType(undefined),
200
249
  then: Joi.object().when('.', {
@@ -220,23 +269,12 @@ const ColorModeSchema = Joi.object({
220
269
  respectPrefersColorScheme: Joi.bool().default(
221
270
  DEFAULT_COLOR_MODE_CONFIG.respectPrefersColorScheme,
222
271
  ),
223
- switchConfig: Joi.object({
224
- darkIcon: Joi.string().default(
225
- DEFAULT_COLOR_MODE_CONFIG.switchConfig.darkIcon,
226
- ),
227
- darkIconStyle: Joi.object().default(
228
- DEFAULT_COLOR_MODE_CONFIG.switchConfig.darkIconStyle,
229
- ),
230
- lightIcon: Joi.string().default(
231
- DEFAULT_COLOR_MODE_CONFIG.switchConfig.lightIcon,
232
- ),
233
- lightIconStyle: Joi.object().default(
234
- DEFAULT_COLOR_MODE_CONFIG.switchConfig.lightIconStyle,
235
- ),
236
- }).default(DEFAULT_COLOR_MODE_CONFIG.switchConfig),
272
+ switchConfig: Joi.any().forbidden().messages({
273
+ 'any.unknown':
274
+ 'colorMode.switchConfig is deprecated. If you want to customize the icons for light and dark mode, swizzle IconLightMode, IconDarkMode, or ColorModeToggle instead.',
275
+ }),
237
276
  }).default(DEFAULT_COLOR_MODE_CONFIG);
238
277
 
239
- // schema can probably be improved
240
278
  const HtmlMetadataSchema = Joi.object({
241
279
  id: Joi.string(),
242
280
  name: Joi.string(),
@@ -320,7 +358,7 @@ export const ThemeConfigSchema = Joi.object({
320
358
  style: Joi.string().equal('dark', 'light').default('light'),
321
359
  logo: Joi.object({
322
360
  alt: Joi.string().allow(''),
323
- src: Joi.string(),
361
+ src: Joi.string().required(),
324
362
  srcDark: Joi.string(),
325
363
  // TODO infer this from reading the image
326
364
  width: Joi.alternatives().try(Joi.string(), Joi.number()),
@@ -346,7 +384,7 @@ export const ThemeConfigSchema = Joi.object({
346
384
  theme: Joi.object({
347
385
  plain: Joi.alternatives().try(Joi.array(), Joi.object()).required(),
348
386
  styles: Joi.alternatives().try(Joi.array(), Joi.object()).required(),
349
- }),
387
+ }).default(DEFAULT_CONFIG.prism.theme),
350
388
  darkTheme: Joi.object({
351
389
  plain: Joi.alternatives().try(Joi.array(), Joi.object()).required(),
352
390
  styles: Joi.alternatives().try(Joi.array(), Joi.object()).required(),
@@ -355,13 +393,29 @@ export const ThemeConfigSchema = Joi.object({
355
393
  additionalLanguages: Joi.array()
356
394
  .items(Joi.string())
357
395
  .default(DEFAULT_CONFIG.prism.additionalLanguages),
396
+ magicComments: Joi.array()
397
+ .items(
398
+ Joi.object({
399
+ className: Joi.string().required(),
400
+ line: Joi.string(),
401
+ block: Joi.object({
402
+ start: Joi.string().required(),
403
+ end: Joi.string().required(),
404
+ }),
405
+ }).or('line', 'block'),
406
+ )
407
+ .default(DEFAULT_CONFIG.prism.magicComments),
358
408
  })
359
409
  .default(DEFAULT_CONFIG.prism)
360
410
  .unknown(),
361
- hideableSidebar: Joi.bool().default(DEFAULT_CONFIG.hideableSidebar),
362
- autoCollapseSidebarCategories: Joi.bool().default(
363
- DEFAULT_CONFIG.autoCollapseSidebarCategories,
364
- ),
411
+ hideableSidebar: Joi.forbidden().messages({
412
+ 'any.unknown':
413
+ 'themeConfig.hideableSidebar has been moved to themeConfig.docs.sidebar.hideable.',
414
+ }),
415
+ autoCollapseSidebarCategories: Joi.forbidden().messages({
416
+ 'any.unknown':
417
+ 'themeConfig.autoCollapseSidebarCategories has been moved to themeConfig.docs.sidebar.autoCollapseCategories.',
418
+ }),
365
419
  sidebarCollapsible: Joi.forbidden().messages({
366
420
  'any.unknown':
367
421
  'The themeConfig.sidebarCollapsible has been moved to docs plugin options. See: https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-docs',
@@ -389,9 +443,6 @@ export const ThemeConfigSchema = Joi.object({
389
443
  export function validateThemeConfig({
390
444
  validate,
391
445
  themeConfig,
392
- }: {
393
- validate: Validate<ThemeConfig>;
394
- themeConfig: ThemeConfig;
395
- }): ValidationResult<ThemeConfig> {
446
+ }: ThemeConfigValidationContext<ThemeConfig>): ThemeConfig {
396
447
  return validate(ThemeConfigSchema, themeConfig);
397
448
  }
package/lib/types.d.ts DELETED
@@ -1,11 +0,0 @@
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
-
8
- /// <reference types="@docusaurus/module-type-aliases" />
9
- /// <reference types="@docusaurus/plugin-content-blog" />
10
- /// <reference types="@docusaurus/plugin-content-docs" />
11
- /// <reference types="@docusaurus/plugin-content-pages" />
@@ -1,86 +0,0 @@
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
-
8
- :root {
9
- --doc-sidebar-width: 300px;
10
- --doc-sidebar-hidden-width: 30px;
11
- }
12
-
13
- :global(.docs-wrapper) {
14
- display: flex;
15
- }
16
-
17
- .docPage,
18
- .docMainContainer {
19
- display: flex;
20
- width: 100%;
21
- }
22
-
23
- .docSidebarContainer {
24
- display: none;
25
- }
26
-
27
- @media (min-width: 997px) {
28
- .docMainContainer {
29
- flex-grow: 1;
30
- max-width: calc(100% - var(--doc-sidebar-width));
31
- }
32
-
33
- .docMainContainerEnhanced {
34
- max-width: calc(100% - var(--doc-sidebar-hidden-width));
35
- }
36
-
37
- .docSidebarContainer {
38
- display: block;
39
- width: var(--doc-sidebar-width);
40
- margin-top: calc(-1 * var(--ifm-navbar-height));
41
- border-right: 1px solid var(--ifm-toc-border-color);
42
- will-change: width;
43
- transition: width var(--ifm-transition-fast) ease;
44
- clip-path: inset(0);
45
- }
46
-
47
- .docSidebarContainerHidden {
48
- width: var(--doc-sidebar-hidden-width);
49
- cursor: pointer;
50
- }
51
-
52
- .collapsedDocSidebar {
53
- position: sticky;
54
- top: 0;
55
- height: 100%;
56
- max-height: 100vh;
57
- display: flex;
58
- align-items: center;
59
- justify-content: center;
60
- transition: background-color var(--ifm-transition-fast) ease;
61
- }
62
-
63
- .collapsedDocSidebar:hover,
64
- .collapsedDocSidebar:focus {
65
- background-color: var(--ifm-color-emphasis-200);
66
- }
67
-
68
- .expandSidebarButtonIcon {
69
- transform: rotate(0);
70
- }
71
-
72
- [dir='rtl'] .expandSidebarButtonIcon {
73
- transform: rotate(180deg);
74
- }
75
-
76
- [data-theme='dark'] .collapsedDocSidebar:hover,
77
- [data-theme='dark'] .collapsedDocSidebar:focus {
78
- background-color: var(--collapse-button-bg-color-dark);
79
- }
80
-
81
- .docItemWrapperEnhanced {
82
- max-width: calc(
83
- var(--ifm-container-width) + var(--doc-sidebar-width)
84
- ) !important;
85
- }
86
- }
@@ -1,107 +0,0 @@
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
-
8
- :root {
9
- --collapse-button-bg-color-dark: #2e333a;
10
- }
11
-
12
- @media (min-width: 997px) {
13
- .sidebar {
14
- display: flex;
15
- flex-direction: column;
16
- max-height: 100vh;
17
- height: 100%;
18
- position: sticky;
19
- top: 0;
20
- padding-top: var(--ifm-navbar-height);
21
- width: var(--doc-sidebar-width);
22
- transition: opacity 50ms ease;
23
- }
24
-
25
- .sidebarWithHideableNavbar {
26
- padding-top: 0;
27
- }
28
-
29
- .sidebarHidden {
30
- opacity: 0;
31
- height: 0;
32
- overflow: hidden;
33
- visibility: hidden;
34
- }
35
-
36
- .sidebarLogo {
37
- display: flex !important;
38
- align-items: center;
39
- margin: 0 var(--ifm-navbar-padding-horizontal);
40
- min-height: var(--ifm-navbar-height);
41
- max-height: var(--ifm-navbar-height);
42
- color: inherit !important;
43
- text-decoration: none !important;
44
- }
45
-
46
- .sidebarLogo img {
47
- margin-right: 0.5rem;
48
- height: 2rem;
49
- }
50
-
51
- .menu {
52
- flex-grow: 1;
53
- padding: 0.5rem;
54
- }
55
-
56
- .menuWithAnnouncementBar {
57
- margin-bottom: var(--docusaurus-announcement-bar-height);
58
- }
59
-
60
- .collapseSidebarButton {
61
- display: block !important;
62
- background-color: var(--ifm-button-background-color);
63
- height: 40px;
64
- position: sticky;
65
- bottom: 0;
66
- border-radius: 0;
67
- border: 1px solid var(--ifm-toc-border-color);
68
- }
69
-
70
- .collapseSidebarButtonIcon {
71
- transform: rotate(180deg);
72
- margin-top: 4px;
73
- }
74
-
75
- [dir='rtl'] .collapseSidebarButtonIcon {
76
- transform: rotate(0);
77
- }
78
-
79
- [data-theme='dark'] .collapseSidebarButton {
80
- background-color: var(--collapse-button-bg-color-dark);
81
- }
82
-
83
- [data-theme='dark'] .collapseSidebarButton:hover,
84
- [data-theme='dark'] .collapseSidebarButton:focus {
85
- background-color: var(--ifm-color-emphasis-200);
86
- }
87
- }
88
-
89
- .sidebarLogo,
90
- .collapseSidebarButton {
91
- display: none;
92
- }
93
-
94
- .sidebarMenuIcon {
95
- vertical-align: middle;
96
- }
97
-
98
- .sidebarMenuCloseIcon {
99
- display: inline-flex;
100
- justify-content: center;
101
- align-items: center;
102
- height: 24px;
103
- font-size: 1.5rem;
104
- font-weight: var(--ifm-font-weight-bold);
105
- line-height: 0.9;
106
- width: 24px;
107
- }
@@ -1,40 +0,0 @@
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 Head from '@docusaurus/Head';
9
- import {useTitleFormatter} from '@docusaurus/theme-common';
10
- import {useBaseUrlUtils} from '@docusaurus/useBaseUrl';
11
- export default function Seo({title, description, keywords, image, children}) {
12
- const pageTitle = useTitleFormatter(title);
13
- const {withBaseUrl} = useBaseUrlUtils();
14
- const pageImage = image
15
- ? withBaseUrl(image, {
16
- absolute: true,
17
- })
18
- : undefined;
19
- return (
20
- <Head>
21
- {title && <title>{pageTitle}</title>}
22
- {title && <meta property="og:title" content={pageTitle} />}
23
-
24
- {description && <meta name="description" content={description} />}
25
- {description && <meta property="og:description" content={description} />}
26
-
27
- {keywords && (
28
- <meta
29
- name="keywords"
30
- content={Array.isArray(keywords) ? keywords.join(',') : keywords}
31
- />
32
- )}
33
-
34
- {pageImage && <meta property="og:image" content={pageImage} />}
35
- {pageImage && <meta name="twitter:image" content={pageImage} />}
36
-
37
- {children}
38
- </Head>
39
- );
40
- }
@@ -1,100 +0,0 @@
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, {useState, useRef, useEffect, memo} from 'react';
8
- import {useThemeConfig} from '@docusaurus/theme-common';
9
- import useIsBrowser from '@docusaurus/useIsBrowser';
10
- import {translate} from '@docusaurus/Translate';
11
- import clsx from 'clsx';
12
- import styles from './styles.module.css'; // Based on react-toggle (https://github.com/aaronshaf/react-toggle/).
13
-
14
- const ToggleComponent = memo(
15
- ({className, switchConfig, checked: defaultChecked, disabled, onChange}) => {
16
- const {darkIcon, darkIconStyle, lightIcon, lightIconStyle} = switchConfig;
17
- const [checked, setChecked] = useState(defaultChecked);
18
- const [focused, setFocused] = useState(false);
19
- const inputRef = useRef(null);
20
- useEffect(() => {
21
- setChecked(defaultChecked);
22
- }, [defaultChecked]);
23
- return (
24
- <div
25
- className={clsx(styles.toggle, className, {
26
- [styles.toggleChecked]: checked,
27
- [styles.toggleFocused]: focused,
28
- [styles.toggleDisabled]: disabled,
29
- })}>
30
- {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}
31
- <div
32
- className={styles.toggleTrack}
33
- role="button"
34
- tabIndex={-1}
35
- onClick={() => inputRef.current?.click()}>
36
- <div className={styles.toggleTrackCheck}>
37
- <span className={styles.toggleIcon} style={darkIconStyle}>
38
- {darkIcon}
39
- </span>
40
- </div>
41
- <div className={styles.toggleTrackX}>
42
- <span className={styles.toggleIcon} style={lightIconStyle}>
43
- {lightIcon}
44
- </span>
45
- </div>
46
- <div className={styles.toggleTrackThumb} />
47
- </div>
48
-
49
- <input
50
- ref={inputRef}
51
- checked={checked}
52
- type="checkbox"
53
- className={styles.toggleScreenReader}
54
- aria-label={translate(
55
- {
56
- message: 'Switch between dark and light mode (currently {mode})',
57
- id: 'theme.colorToggle.ariaLabel',
58
- description: 'The ARIA label for the navbar color mode toggle',
59
- },
60
- {
61
- mode: checked
62
- ? translate({
63
- message: 'dark mode',
64
- id: 'theme.colorToggle.ariaLabel.mode.dark',
65
- description: 'The name for the dark color mode',
66
- })
67
- : translate({
68
- message: 'light mode',
69
- id: 'theme.colorToggle.ariaLabel.mode.light',
70
- description: 'The name for the light color mode',
71
- }),
72
- },
73
- )}
74
- onChange={onChange}
75
- onClick={() => setChecked(!checked)}
76
- onFocus={() => setFocused(true)}
77
- onBlur={() => setFocused(false)}
78
- onKeyDown={(e) => {
79
- if (e.key === 'Enter') {
80
- inputRef.current?.click();
81
- }
82
- }}
83
- />
84
- </div>
85
- );
86
- },
87
- );
88
- export default function Toggle(props) {
89
- const {
90
- colorMode: {switchConfig},
91
- } = useThemeConfig();
92
- const isBrowser = useIsBrowser();
93
- return (
94
- <ToggleComponent
95
- switchConfig={switchConfig}
96
- disabled={!isBrowser}
97
- {...props}
98
- />
99
- );
100
- }