@docusaurus/theme-classic 2.0.0-beta.1 → 2.0.0-beta.10

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 (367) hide show
  1. package/README.md +1 -1
  2. package/lib/__tests__/validateThemeConfig.test.js +277 -3
  3. package/lib/admonitions.css +35 -0
  4. package/lib/deps.d.ts +13 -0
  5. package/lib/index.js +41 -16
  6. package/lib/prism-include-languages.js +9 -5
  7. package/lib/theme/AnnouncementBar/index.js +10 -16
  8. package/lib/theme/AnnouncementBar/styles.module.css +25 -30
  9. package/lib/theme/BackToTopButton/index.js +140 -0
  10. package/lib/theme/BackToTopButton/styles.module.css +42 -0
  11. package/lib/theme/BlogArchivePage/index.js +89 -0
  12. package/lib/theme/BlogLayout/index.js +51 -0
  13. package/lib/theme/BlogListPage/index.js +10 -21
  14. package/lib/theme/BlogPostAuthor/index.js +51 -0
  15. package/lib/theme/BlogPostAuthor/styles.module.css +12 -0
  16. package/lib/theme/BlogPostAuthors/index.js +47 -0
  17. package/lib/theme/BlogPostAuthors/styles.module.css +11 -0
  18. package/lib/theme/BlogPostItem/index.js +58 -67
  19. package/lib/theme/BlogPostPage/index.js +37 -24
  20. package/lib/theme/BlogSidebar/index.js +5 -7
  21. package/lib/theme/BlogSidebar/styles.module.css +2 -2
  22. package/lib/theme/BlogTagsListPage/index.js +8 -44
  23. package/lib/theme/BlogTagsPostsPage/index.js +24 -38
  24. package/lib/theme/CodeBlock/index.js +18 -138
  25. package/lib/theme/CodeBlock/styles.module.css +6 -9
  26. package/lib/theme/Details/index.js +30 -0
  27. package/lib/theme/Details/styles.module.css +13 -0
  28. package/lib/theme/DocCard/index.js +84 -0
  29. package/lib/theme/DocCard/styles.module.css +43 -0
  30. package/lib/theme/DocCardList/index.js +28 -0
  31. package/lib/theme/DocCategoryGeneratedIndexPage/index.js +57 -0
  32. package/lib/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  33. package/lib/theme/DocItem/index.js +29 -46
  34. package/lib/theme/DocItem/styles.module.css +5 -9
  35. package/lib/theme/DocItemFooter/index.js +79 -0
  36. package/lib/theme/DocItemFooter/styles.module.css +18 -0
  37. package/lib/theme/DocPage/index.js +35 -52
  38. package/lib/theme/DocPage/styles.module.css +8 -23
  39. package/lib/theme/DocPaginator/index.js +6 -7
  40. package/lib/theme/DocSidebar/index.js +53 -235
  41. package/lib/theme/DocSidebar/styles.module.css +0 -18
  42. package/lib/theme/DocSidebarItem/index.js +209 -0
  43. package/lib/theme/DocSidebarItem/styles.module.css +19 -0
  44. package/lib/theme/DocTagDocListPage/index.js +89 -0
  45. package/lib/theme/DocTagsListPage/index.js +44 -0
  46. package/lib/theme/DocVersionBadge/index.js +34 -0
  47. package/lib/theme/{DocVersionSuggestions → DocVersionBanner}/index.js +39 -20
  48. package/lib/theme/EditThisPage/index.js +3 -1
  49. package/lib/theme/ErrorPageContent.js +43 -0
  50. package/lib/theme/Footer/index.js +16 -5
  51. package/lib/theme/Heading/index.js +17 -22
  52. package/lib/theme/Heading/styles.css +5 -6
  53. package/lib/theme/Heading/styles.module.css +9 -5
  54. package/lib/theme/IconArrow/index.js +2 -2
  55. package/lib/theme/IconClose/index.js +31 -0
  56. package/lib/theme/IconEdit/index.js +3 -3
  57. package/lib/theme/IconExternalLink/index.js +3 -3
  58. package/lib/theme/IconLanguage/index.js +3 -3
  59. package/lib/theme/IconMenu/index.js +3 -3
  60. package/lib/theme/LastUpdated/index.js +4 -2
  61. package/lib/theme/Layout/index.js +5 -1
  62. package/lib/theme/LayoutHead/index.js +22 -17
  63. package/lib/theme/LayoutProviders/index.js +11 -5
  64. package/lib/theme/Logo/index.js +16 -14
  65. package/lib/theme/MDXComponents/index.js +45 -4
  66. package/lib/theme/MDXComponents/styles.css +11 -0
  67. package/lib/theme/MDXPage/index.js +2 -1
  68. package/lib/theme/Navbar/index.js +162 -42
  69. package/lib/theme/Navbar/styles.module.css +10 -3
  70. package/lib/theme/NavbarItem/DefaultNavbarItem.js +27 -123
  71. package/lib/theme/NavbarItem/DocNavbarItem.js +7 -8
  72. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +19 -12
  73. package/lib/theme/NavbarItem/DropdownNavbarItem.js +155 -0
  74. package/lib/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +6 -10
  75. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  76. package/lib/theme/NavbarItem/index.js +31 -11
  77. package/lib/theme/{SearchMetadatas → SearchMetadata}/index.js +2 -2
  78. package/lib/theme/Seo/index.js +10 -7
  79. package/lib/theme/SkipToContent/index.js +12 -4
  80. package/lib/theme/SkipToContent/styles.module.css +1 -0
  81. package/lib/theme/TOC/index.js +9 -29
  82. package/lib/theme/TOC/styles.module.css +1 -1
  83. package/lib/theme/TOCCollapsible/index.js +53 -0
  84. package/lib/theme/TOCCollapsible/styles.module.css +50 -0
  85. package/lib/theme/TOCInline/index.js +7 -27
  86. package/lib/theme/TOCItems/index.js +78 -0
  87. package/lib/theme/Tabs/__tests__/index.test.js +123 -0
  88. package/lib/theme/Tabs/index.js +73 -50
  89. package/lib/theme/Tabs/styles.module.css +0 -13
  90. package/lib/theme/Tag/index.js +40 -0
  91. package/lib/theme/Tag/styles.module.css +70 -0
  92. package/lib/theme/TagsListByLetter/index.js +48 -0
  93. package/lib/theme/TagsListByLetter/styles.module.css +11 -0
  94. package/lib/theme/TagsListInline/index.js +44 -0
  95. package/lib/theme/TagsListInline/styles.module.css +15 -0
  96. package/lib/theme/ThemeProvider/index.js +8 -3
  97. package/lib/theme/ThemedImage/index.js +6 -7
  98. package/lib/theme/Toggle/index.js +41 -44
  99. package/lib/theme/Toggle/styles.module.css +91 -3
  100. package/lib/theme/UserPreferencesProvider/index.js +9 -12
  101. package/lib/theme/hooks/useHideableNavbar.js +14 -32
  102. package/lib/theme/hooks/useTabGroupChoice.js +2 -4
  103. package/lib/theme/hooks/useTheme.js +3 -5
  104. package/lib/theme/hooks/useWindowSize.js +33 -20
  105. package/lib/theme/prism-include-languages.js +4 -3
  106. package/lib/theme-classic.d.ts +806 -0
  107. package/lib/translations.js +4 -4
  108. package/lib/types.d.ts +0 -599
  109. package/lib/validateThemeConfig.js +230 -246
  110. package/lib-next/__tests__/validateThemeConfig.test.js +277 -3
  111. package/lib-next/admonitions.css +35 -0
  112. package/lib-next/deps.d.ts +13 -0
  113. package/lib-next/index.js +45 -13
  114. package/lib-next/prism-include-languages.js +0 -2
  115. package/lib-next/theme/AnnouncementBar/index.js +9 -18
  116. package/lib-next/theme/AnnouncementBar/styles.module.css +25 -30
  117. package/lib-next/theme/BackToTopButton/index.js +131 -0
  118. package/lib-next/theme/BackToTopButton/styles.module.css +42 -0
  119. package/lib-next/theme/BlogArchivePage/index.js +80 -0
  120. package/lib-next/theme/BlogLayout/index.js +40 -0
  121. package/lib-next/theme/BlogListPage/index.js +17 -25
  122. package/lib-next/theme/BlogPostAuthor/index.js +46 -0
  123. package/lib-next/theme/BlogPostAuthor/styles.module.css +12 -0
  124. package/lib-next/theme/BlogPostAuthors/index.js +34 -0
  125. package/lib-next/theme/BlogPostAuthors/styles.module.css +11 -0
  126. package/lib-next/theme/BlogPostItem/index.js +79 -86
  127. package/lib-next/theme/BlogPostPage/index.js +70 -35
  128. package/lib-next/theme/BlogSidebar/index.js +11 -13
  129. package/lib-next/theme/BlogSidebar/styles.module.css +2 -2
  130. package/lib-next/theme/BlogTagsListPage/index.js +14 -55
  131. package/lib-next/theme/BlogTagsPostsPage/index.js +29 -39
  132. package/lib-next/theme/CodeBlock/index.js +17 -149
  133. package/lib-next/theme/CodeBlock/styles.module.css +6 -9
  134. package/lib-next/theme/Details/index.js +20 -0
  135. package/lib-next/theme/Details/styles.module.css +13 -0
  136. package/lib-next/theme/DocCard/index.js +80 -0
  137. package/lib-next/theme/DocCard/styles.module.css +43 -0
  138. package/lib-next/theme/DocCardList/index.js +19 -0
  139. package/lib-next/theme/DocCategoryGeneratedIndexPage/index.js +49 -0
  140. package/lib-next/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  141. package/lib-next/theme/DocItem/index.js +40 -56
  142. package/lib-next/theme/DocItem/styles.module.css +5 -9
  143. package/lib-next/theme/DocItemFooter/index.js +79 -0
  144. package/lib-next/theme/DocItemFooter/styles.module.css +18 -0
  145. package/lib-next/theme/DocPage/index.js +46 -47
  146. package/lib-next/theme/DocPage/styles.module.css +8 -23
  147. package/lib-next/theme/DocPaginator/index.js +7 -11
  148. package/lib-next/theme/DocSidebar/index.js +69 -295
  149. package/lib-next/theme/DocSidebar/styles.module.css +0 -18
  150. package/lib-next/theme/DocSidebarItem/index.js +217 -0
  151. package/lib-next/theme/DocSidebarItem/styles.module.css +19 -0
  152. package/lib-next/theme/DocTagDocListPage/index.js +89 -0
  153. package/lib-next/theme/DocTagsListPage/index.js +38 -0
  154. package/lib-next/theme/DocVersionBadge/index.js +27 -0
  155. package/lib-next/theme/{DocVersionSuggestions → DocVersionBanner}/index.js +51 -36
  156. package/lib-next/theme/EditThisPage/index.js +6 -1
  157. package/lib-next/theme/ErrorPageContent.js +35 -0
  158. package/lib-next/theme/Footer/index.js +27 -5
  159. package/lib-next/theme/Heading/index.js +25 -29
  160. package/lib-next/theme/Heading/styles.css +5 -6
  161. package/lib-next/theme/Heading/styles.module.css +9 -5
  162. package/lib-next/theme/IconArrow/index.js +2 -2
  163. package/lib-next/theme/IconClose/index.js +23 -0
  164. package/lib-next/theme/IconEdit/index.js +2 -2
  165. package/lib-next/theme/IconExternalLink/index.js +2 -2
  166. package/lib-next/theme/IconLanguage/index.js +2 -2
  167. package/lib-next/theme/IconMenu/index.js +2 -2
  168. package/lib-next/theme/LastUpdated/index.js +3 -2
  169. package/lib-next/theme/Layout/index.js +3 -1
  170. package/lib-next/theme/LayoutHead/index.js +18 -23
  171. package/lib-next/theme/LayoutProviders/index.js +17 -6
  172. package/lib-next/theme/Logo/index.js +25 -21
  173. package/lib-next/theme/MDXComponents/index.js +34 -7
  174. package/lib-next/theme/MDXComponents/styles.css +11 -0
  175. package/lib-next/theme/MDXPage/index.js +10 -2
  176. package/lib-next/theme/Navbar/index.js +193 -56
  177. package/lib-next/theme/Navbar/styles.module.css +10 -3
  178. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +45 -147
  179. package/lib-next/theme/NavbarItem/DocNavbarItem.js +7 -7
  180. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +31 -19
  181. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +159 -0
  182. package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +4 -12
  183. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  184. package/lib-next/theme/NavbarItem/index.js +25 -12
  185. package/lib-next/theme/{SearchMetadatas → SearchMetadata}/index.js +1 -1
  186. package/lib-next/theme/Seo/index.js +11 -7
  187. package/lib-next/theme/SkipToContent/index.js +7 -8
  188. package/lib-next/theme/SkipToContent/styles.module.css +1 -0
  189. package/lib-next/theme/TOC/index.js +12 -36
  190. package/lib-next/theme/TOC/styles.module.css +1 -1
  191. package/lib-next/theme/TOCCollapsible/index.js +54 -0
  192. package/lib-next/theme/TOCCollapsible/styles.module.css +50 -0
  193. package/lib-next/theme/TOCInline/index.js +10 -28
  194. package/lib-next/theme/TOCItems/index.js +85 -0
  195. package/lib-next/theme/Tabs/__tests__/index.test.js +142 -0
  196. package/lib-next/theme/Tabs/index.js +91 -43
  197. package/lib-next/theme/Tabs/styles.module.css +0 -13
  198. package/lib-next/theme/Tag/index.js +27 -0
  199. package/lib-next/theme/Tag/styles.module.css +70 -0
  200. package/lib-next/theme/TagsListByLetter/index.js +42 -0
  201. package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
  202. package/lib-next/theme/TagsListInline/index.js +31 -0
  203. package/lib-next/theme/TagsListInline/styles.module.css +15 -0
  204. package/lib-next/theme/ThemeProvider/index.js +10 -7
  205. package/lib-next/theme/ThemedImage/index.js +7 -8
  206. package/lib-next/theme/Toggle/index.js +34 -37
  207. package/lib-next/theme/Toggle/styles.module.css +91 -3
  208. package/lib-next/theme/UserPreferencesProvider/index.js +9 -10
  209. package/lib-next/theme/hooks/useHideableNavbar.js +31 -44
  210. package/lib-next/theme/hooks/useTabGroupChoice.js +2 -4
  211. package/lib-next/theme/hooks/useTheme.js +4 -5
  212. package/lib-next/theme/hooks/useWindowSize.js +34 -20
  213. package/lib-next/theme/prism-include-languages.js +2 -1
  214. package/lib-next/theme-classic.d.ts +806 -0
  215. package/lib-next/translations.js +6 -10
  216. package/lib-next/types.d.ts +0 -599
  217. package/lib-next/validateThemeConfig.js +141 -114
  218. package/package.json +28 -25
  219. package/src/__tests__/validateThemeConfig.test.js +277 -3
  220. package/src/admonitions.css +35 -0
  221. package/src/deps.d.ts +13 -0
  222. package/src/index.ts +55 -22
  223. package/src/{prism-include-languages.js → prism-include-languages.ts} +0 -0
  224. package/src/theme/AnnouncementBar/index.tsx +10 -17
  225. package/src/theme/AnnouncementBar/styles.module.css +25 -30
  226. package/src/theme/BackToTopButton/index.tsx +142 -0
  227. package/src/theme/BackToTopButton/styles.module.css +42 -0
  228. package/src/theme/BlogArchivePage/index.tsx +91 -0
  229. package/src/theme/BlogLayout/index.tsx +44 -0
  230. package/src/theme/BlogListPage/index.tsx +18 -25
  231. package/src/theme/BlogPostAuthor/index.tsx +49 -0
  232. package/src/theme/BlogPostAuthor/styles.module.css +12 -0
  233. package/src/theme/BlogPostAuthors/index.tsx +39 -0
  234. package/src/theme/BlogPostAuthors/styles.module.css +11 -0
  235. package/src/theme/BlogPostItem/index.tsx +70 -80
  236. package/src/theme/BlogPostPage/index.tsx +72 -35
  237. package/src/theme/BlogSidebar/index.tsx +11 -13
  238. package/src/theme/BlogSidebar/styles.module.css +2 -2
  239. package/src/theme/BlogTagsListPage/index.tsx +14 -57
  240. package/src/theme/BlogTagsPostsPage/index.tsx +29 -39
  241. package/src/theme/CodeBlock/index.tsx +21 -151
  242. package/src/theme/CodeBlock/styles.module.css +6 -9
  243. package/src/theme/Details/index.tsx +24 -0
  244. package/src/theme/Details/styles.module.css +13 -0
  245. package/src/theme/DocCard/index.tsx +100 -0
  246. package/src/theme/DocCard/styles.module.css +43 -0
  247. package/src/theme/DocCardList/index.tsx +27 -0
  248. package/src/theme/DocCategoryGeneratedIndexPage/index.tsx +53 -0
  249. package/src/theme/DocCategoryGeneratedIndexPage/styles.module.css +18 -0
  250. package/src/theme/DocItem/index.tsx +43 -56
  251. package/src/theme/DocItem/styles.module.css +5 -9
  252. package/src/theme/DocItemFooter/index.tsx +91 -0
  253. package/src/theme/DocItemFooter/styles.module.css +18 -0
  254. package/src/theme/DocPage/index.tsx +44 -42
  255. package/src/theme/DocPage/styles.module.css +8 -23
  256. package/src/theme/DocPaginator/index.tsx +9 -13
  257. package/src/theme/DocSidebar/index.tsx +80 -307
  258. package/src/theme/DocSidebar/styles.module.css +0 -18
  259. package/src/theme/DocSidebarItem/index.tsx +242 -0
  260. package/src/theme/DocSidebarItem/styles.module.css +19 -0
  261. package/src/theme/DocTagDocListPage/index.tsx +89 -0
  262. package/src/theme/DocTagsListPage/index.tsx +41 -0
  263. package/src/theme/DocVersionBadge/index.tsx +30 -0
  264. package/src/theme/{DocVersionSuggestions → DocVersionBanner}/index.tsx +74 -44
  265. package/src/theme/EditThisPage/index.tsx +6 -1
  266. package/src/theme/ErrorPageContent.tsx +41 -0
  267. package/src/theme/Footer/index.tsx +30 -6
  268. package/src/theme/Heading/index.tsx +25 -31
  269. package/src/theme/Heading/styles.css +5 -6
  270. package/src/theme/Heading/styles.module.css +9 -5
  271. package/src/theme/IconArrow/index.tsx +2 -2
  272. package/src/theme/IconClose/index.tsx +26 -0
  273. package/src/theme/IconEdit/index.tsx +2 -2
  274. package/src/theme/IconExternalLink/index.tsx +2 -5
  275. package/src/theme/IconLanguage/index.tsx +2 -6
  276. package/src/theme/IconMenu/index.tsx +3 -3
  277. package/src/theme/LastUpdated/index.tsx +3 -2
  278. package/src/theme/Layout/index.tsx +3 -1
  279. package/src/theme/LayoutHead/index.tsx +18 -17
  280. package/src/theme/LayoutProviders/index.tsx +17 -6
  281. package/src/theme/Logo/index.tsx +21 -17
  282. package/src/theme/MDXComponents/index.tsx +39 -5
  283. package/src/theme/MDXComponents/styles.css +11 -0
  284. package/src/theme/MDXPage/index.tsx +10 -2
  285. package/src/theme/Navbar/index.tsx +203 -61
  286. package/src/theme/Navbar/styles.module.css +10 -3
  287. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +42 -154
  288. package/src/theme/NavbarItem/DocNavbarItem.tsx +12 -16
  289. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +33 -21
  290. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
  291. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +181 -0
  292. package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +8 -9
  293. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  294. package/src/theme/NavbarItem/index.tsx +41 -16
  295. package/src/theme/{SearchMetadatas → SearchMetadata}/index.tsx +2 -2
  296. package/src/theme/Seo/index.tsx +7 -4
  297. package/src/theme/SkipToContent/index.tsx +7 -8
  298. package/src/theme/SkipToContent/styles.module.css +1 -0
  299. package/src/theme/TOC/index.tsx +12 -41
  300. package/src/theme/TOC/styles.module.css +1 -1
  301. package/src/theme/TOCCollapsible/index.tsx +58 -0
  302. package/src/theme/TOCCollapsible/styles.module.css +50 -0
  303. package/src/theme/TOCInline/index.tsx +13 -32
  304. package/src/theme/TOCItems/index.tsx +96 -0
  305. package/src/theme/Tabs/__tests__/index.test.tsx +129 -0
  306. package/src/theme/Tabs/index.tsx +93 -49
  307. package/src/theme/Tabs/styles.module.css +0 -13
  308. package/src/theme/Tag/index.tsx +31 -0
  309. package/src/theme/Tag/styles.module.css +70 -0
  310. package/src/theme/TagsListByLetter/index.tsx +45 -0
  311. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  312. package/src/theme/TagsListInline/index.tsx +35 -0
  313. package/src/theme/TagsListInline/styles.module.css +15 -0
  314. package/src/theme/ThemeProvider/index.tsx +6 -2
  315. package/src/theme/ThemedImage/index.tsx +8 -8
  316. package/src/theme/Toggle/index.tsx +36 -43
  317. package/src/theme/Toggle/styles.module.css +91 -3
  318. package/src/theme/UserPreferencesProvider/index.tsx +9 -11
  319. package/src/theme/hooks/useHideableNavbar.ts +32 -45
  320. package/src/theme/hooks/useTabGroupChoice.ts +4 -4
  321. package/src/theme/hooks/useTheme.ts +4 -5
  322. package/src/theme/hooks/useWindowSize.ts +38 -20
  323. package/src/theme/prism-include-languages.ts +3 -2
  324. package/src/theme-classic.d.ts +806 -0
  325. package/src/translations.ts +8 -10
  326. package/src/types.d.ts +0 -599
  327. package/src/{validateThemeConfig.js → validateThemeConfig.ts} +151 -94
  328. package/tsconfig.json +1 -2
  329. package/codeTranslations/README.md +0 -20
  330. package/codeTranslations/ar.json +0 -57
  331. package/codeTranslations/base.json +0 -112
  332. package/codeTranslations/bn.json +0 -56
  333. package/codeTranslations/da.json +0 -57
  334. package/codeTranslations/de.json +0 -57
  335. package/codeTranslations/es.json +0 -57
  336. package/codeTranslations/fa.json +0 -57
  337. package/codeTranslations/fil.json +0 -57
  338. package/codeTranslations/fr.json +0 -57
  339. package/codeTranslations/he.json +0 -57
  340. package/codeTranslations/hi.json +0 -57
  341. package/codeTranslations/ja.json +0 -57
  342. package/codeTranslations/ko.json +0 -57
  343. package/codeTranslations/pl.json +0 -57
  344. package/codeTranslations/pt-BR.json +0 -57
  345. package/codeTranslations/pt-PT.json +0 -57
  346. package/codeTranslations/ru.json +0 -57
  347. package/codeTranslations/tr.json +0 -57
  348. package/codeTranslations/vi.json +0 -57
  349. package/codeTranslations/zh-Hans.json +0 -57
  350. package/codeTranslations/zh-Hant.json +0 -57
  351. package/lib/theme/Toggle/styles.css +0 -103
  352. package/lib/theme/hooks/useAnnouncementBar.js +0 -63
  353. package/lib/theme/hooks/useContextualSearchFilters.js +0 -47
  354. package/lib/theme/hooks/useScrollPosition.js +0 -49
  355. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  356. package/lib-next/theme/Toggle/styles.css +0 -103
  357. package/lib-next/theme/hooks/useAnnouncementBar.js +0 -49
  358. package/lib-next/theme/hooks/useContextualSearchFilters.js +0 -41
  359. package/lib-next/theme/hooks/useScrollPosition.js +0 -38
  360. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  361. package/src/theme/Toggle/styles.css +0 -103
  362. package/src/theme/hooks/useAnnouncementBar.ts +0 -58
  363. package/src/theme/hooks/useContextualSearchFilters.ts +0 -52
  364. package/src/theme/hooks/useScrollPosition.ts +0 -45
  365. package/src/theme/hooks/useTOCHighlight.ts +0 -98
  366. package/update-code-translations.js +0 -239
  367. package/update-code-translations.test.js +0 -33
@@ -3,9 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.NavLink = NavLink;
6
7
  exports.default = void 0;
7
8
 
8
- var _react = _interopRequireWildcard(require("react"));
9
+ var _react = _interopRequireDefault(require("react"));
9
10
 
10
11
  var _clsx = _interopRequireDefault(require("clsx"));
11
12
 
@@ -13,19 +14,15 @@ var _Link = _interopRequireDefault(require("@docusaurus/Link"));
13
14
 
14
15
  var _useBaseUrl = _interopRequireDefault(require("@docusaurus/useBaseUrl"));
15
16
 
16
- var _router = require("@docusaurus/router");
17
-
18
- var _themeCommon = require("@docusaurus/theme-common");
19
-
20
17
  var _IconExternalLink = _interopRequireDefault(require("@theme/IconExternalLink"));
21
18
 
22
19
  var _isInternalUrl = _interopRequireDefault(require("@docusaurus/isInternalUrl"));
23
20
 
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+ var _themeCommon = require("@docusaurus/theme-common");
25
22
 
26
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+ var _index = require("./index");
27
24
 
28
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
26
 
30
27
  /**
31
28
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -41,10 +38,12 @@ function NavLink({
41
38
  to,
42
39
  href,
43
40
  label,
44
- activeClassName = 'navbar__link--active',
41
+ activeClassName = '',
45
42
  prependBaseUrlToHref,
46
43
  ...props
47
44
  }) {
45
+ var _props$className;
46
+
48
47
  // TODO all this seems hacky
49
48
  // {to: 'version'} should probably be forbidden, in favor of {to: '/version'}
50
49
  const toUrl = (0, _useBaseUrl.default)(to);
@@ -58,10 +57,10 @@ function NavLink({
58
57
  href: prependBaseUrlToHref ? normalizedHref : href
59
58
  } : {
60
59
  isNavLink: true,
61
- activeClassName,
60
+ activeClassName: !((_props$className = props.className) !== null && _props$className !== void 0 && _props$className.includes(activeClassName)) ? activeClassName : '',
62
61
  to: toUrl,
63
62
  ...(activeBasePath || activeBaseRegex ? {
64
- isActive: (_match, location) => activeBaseRegex ? new RegExp(activeBaseRegex).test(location.pathname) : location.pathname.startsWith(activeBaseUrl)
63
+ isActive: (_match, location) => activeBaseRegex ? (0, _themeCommon.isRegexpStringMatch)(activeBaseRegex, location.pathname) : location.pathname.startsWith(activeBaseUrl)
65
64
  } : null)
66
65
  }} {...props}>
67
66
  {isExternalLink ? <span>
@@ -74,135 +73,40 @@ function NavLink({
74
73
  </_Link.default>;
75
74
  }
76
75
 
77
- function NavItemDesktop({
78
- items,
79
- position,
76
+ function DefaultNavbarItemDesktop({
80
77
  className,
78
+ isDropdownItem = false,
81
79
  ...props
82
80
  }) {
83
- var _props$children;
84
-
85
- const dropdownRef = (0, _react.useRef)(null);
86
- const dropdownMenuRef = (0, _react.useRef)(null);
87
- const [showDropdown, setShowDropdown] = (0, _react.useState)(false);
88
- (0, _react.useEffect)(() => {
89
- const handleClickOutside = event => {
90
- if (!dropdownRef.current || dropdownRef.current.contains(event.target)) {
91
- return;
92
- }
93
-
94
- setShowDropdown(false);
95
- };
96
-
97
- document.addEventListener('mousedown', handleClickOutside);
98
- document.addEventListener('touchstart', handleClickOutside);
99
- return () => {
100
- document.removeEventListener('mousedown', handleClickOutside);
101
- document.removeEventListener('touchstart', handleClickOutside);
102
- };
103
- }, [dropdownRef]);
104
-
105
- const navLinkClassNames = (extraClassName, isDropdownItem = false) => (0, _clsx.default)({
106
- 'navbar__item navbar__link': !isDropdownItem,
107
- dropdown__link: isDropdownItem
108
- }, extraClassName);
109
-
110
- if (!items) {
111
- return <NavLink className={navLinkClassNames(className)} {...props} />;
81
+ const element = <NavLink className={(0, _clsx.default)(isDropdownItem ? 'dropdown__link' : 'navbar__item navbar__link', className)} {...props} />;
82
+
83
+ if (isDropdownItem) {
84
+ return <li>{element}</li>;
112
85
  }
113
86
 
114
- return <div ref={dropdownRef} className={(0, _clsx.default)('navbar__item', 'dropdown', 'dropdown--hoverable', {
115
- 'dropdown--left': position === 'left',
116
- 'dropdown--right': position === 'right',
117
- 'dropdown--show': showDropdown
118
- })}>
119
- <NavLink className={navLinkClassNames(className)} {...props} onClick={props.to ? undefined : e => e.preventDefault()} onKeyDown={e => {
120
- if (e.key === 'Enter') {
121
- e.preventDefault();
122
- setShowDropdown(!showDropdown);
123
- }
124
- }}>
125
- {(_props$children = props.children) !== null && _props$children !== void 0 ? _props$children : props.label}
126
- </NavLink>
127
- <ul ref={dropdownMenuRef} className="dropdown__menu">
128
- {items.map(({
129
- className: childItemClassName,
130
- ...childItemProps
131
- }, i) => <li key={i}>
132
- <NavLink onKeyDown={e => {
133
- if (i === items.length - 1 && e.key === 'Tab') {
134
- e.preventDefault();
135
- setShowDropdown(false);
136
- const nextNavbarItem = dropdownRef.current.nextElementSibling;
137
-
138
- if (nextNavbarItem) {
139
- nextNavbarItem.focus();
140
- }
141
- }
142
- }} activeClassName={dropdownLinkActiveClass} className={navLinkClassNames(childItemClassName, true)} {...childItemProps} />
143
- </li>)}
144
- </ul>
145
- </div>;
87
+ return element;
146
88
  }
147
89
 
148
- function NavItemMobile({
149
- items,
90
+ function DefaultNavbarItemMobile({
150
91
  className,
151
- position: _position,
152
- // Need to destructure position from props so that it doesn't get passed on.
92
+ isDropdownItem: _isDropdownItem,
153
93
  ...props
154
94
  }) {
155
- var _menuListRef$current, _menuListRef$current2, _props$children2;
156
-
157
- const menuListRef = (0, _react.useRef)(null);
158
- const {
159
- pathname
160
- } = (0, _router.useLocation)();
161
- const [collapsed, setCollapsed] = (0, _react.useState)(() => {
162
- var _items$some;
163
-
164
- return (_items$some = !(items !== null && items !== void 0 && items.some(item => (0, _themeCommon.isSamePath)(item.to, pathname)))) !== null && _items$some !== void 0 ? _items$some : true;
165
- });
166
-
167
- const navLinkClassNames = (extraClassName, isSubList = false) => (0, _clsx.default)('menu__link', {
168
- 'menu__link--sublist': isSubList
169
- }, extraClassName);
170
-
171
- if (!items) {
172
- return <li className="menu__list-item">
173
- <NavLink className={navLinkClassNames(className)} {...props} />
174
- </li>;
175
- }
176
-
177
- const menuListHeight = (_menuListRef$current = menuListRef.current) !== null && _menuListRef$current !== void 0 && _menuListRef$current.scrollHeight ? `${(_menuListRef$current2 = menuListRef.current) === null || _menuListRef$current2 === void 0 ? void 0 : _menuListRef$current2.scrollHeight}px` : undefined;
178
- return <li className={(0, _clsx.default)('menu__list-item', {
179
- 'menu__list-item--collapsed': collapsed
180
- })}>
181
- <NavLink role="button" className={navLinkClassNames(className, true)} {...props} onClick={e => {
182
- e.preventDefault();
183
- setCollapsed(state => !state);
184
- }}>
185
- {(_props$children2 = props.children) !== null && _props$children2 !== void 0 ? _props$children2 : props.label}
186
- </NavLink>
187
- <ul className="menu__list" ref={menuListRef} style={{
188
- height: !collapsed ? menuListHeight : undefined
189
- }}>
190
- {items.map(({
191
- className: childItemClassName,
192
- ...childItemProps
193
- }, i) => <li className="menu__list-item" key={i}>
194
- <NavLink activeClassName="menu__link--active" className={navLinkClassNames(childItemClassName)} {...childItemProps} onClick={props.onClick} />
195
- </li>)}
196
- </ul>
95
+ return <li className="menu__list-item">
96
+ <NavLink className={(0, _clsx.default)('menu__link', className)} {...props} />
197
97
  </li>;
198
98
  }
199
99
 
200
100
  function DefaultNavbarItem({
201
101
  mobile = false,
102
+ position: _position,
103
+ // Need to destructure position from props so that it doesn't get passed on.
202
104
  ...props
203
105
  }) {
204
- const Comp = mobile ? NavItemMobile : NavItemDesktop;
205
- return <Comp {...props} />;
106
+ var _props$activeClassNam;
107
+
108
+ const Comp = mobile ? DefaultNavbarItemMobile : DefaultNavbarItemDesktop;
109
+ return <Comp {...props} activeClassName={(_props$activeClassNam = props.activeClassName) !== null && _props$activeClassNam !== void 0 ? _props$activeClassNam : (0, _index.getInfimaActiveClassName)(mobile)} />;
206
110
  }
207
111
 
208
112
  var _default = DefaultNavbarItem;
@@ -13,9 +13,9 @@ var _useDocs = require("@theme/hooks/useDocs");
13
13
 
14
14
  var _clsx = _interopRequireDefault(require("clsx"));
15
15
 
16
- var _themeCommon = require("@docusaurus/theme-common");
16
+ var _index = require("./index");
17
17
 
18
- var _utilsCommon = require("@docusaurus/utils-common");
18
+ var _themeCommon = require("@docusaurus/theme-common");
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
 
@@ -26,8 +26,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
26
26
  * LICENSE file in the root directory of this source tree.
27
27
  */
28
28
  function getDocInVersions(versions, docId) {
29
- // vanilla-js flatten, TODO replace soon by ES flat() / flatMap()
30
- const allDocs = [].concat(...versions.map(version => version.docs));
29
+ const allDocs = versions.flatMap(version => version.docs);
31
30
  const doc = allDocs.find(versionDoc => versionDoc.id === docId);
32
31
 
33
32
  if (!doc) {
@@ -41,7 +40,6 @@ Available doc ids are:\n- ${docIds}`);
41
40
 
42
41
  function DocNavbarItem({
43
42
  docId,
44
- activeSidebarClassName,
45
43
  label: staticLabel,
46
44
  docsPluginId,
47
45
  ...props
@@ -55,9 +53,10 @@ function DocNavbarItem({
55
53
  } = (0, _themeCommon.useDocsPreferredVersion)(docsPluginId);
56
54
  const latestVersion = (0, _useDocs.useLatestVersion)(docsPluginId); // Versions used to look for the doc to link to, ordered + no duplicate
57
55
 
58
- const versions = (0, _utilsCommon.uniq)([activeVersion, preferredVersion, latestVersion].filter(Boolean));
56
+ const versions = (0, _themeCommon.uniq)([activeVersion, preferredVersion, latestVersion].filter(Boolean));
59
57
  const doc = getDocInVersions(versions, docId);
58
+ const activeDocInfimaClassName = (0, _index.getInfimaActiveClassName)(props.mobile);
60
59
  return <_DefaultNavbarItem.default exact {...props} className={(0, _clsx.default)(props.className, {
61
- [activeSidebarClassName]: activeDoc && activeDoc.sidebar === doc.sidebar
62
- })} label={staticLabel !== null && staticLabel !== void 0 ? staticLabel : doc.id} to={doc.path} />;
60
+ [activeDocInfimaClassName]: (activeDoc === null || activeDoc === void 0 ? void 0 : activeDoc.sidebar) && activeDoc.sidebar === doc.sidebar
61
+ })} activeClassName={activeDocInfimaClassName} label={staticLabel !== null && staticLabel !== void 0 ? staticLabel : doc.id} to={doc.path} />;
63
62
  }
@@ -9,10 +9,14 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _DefaultNavbarItem = _interopRequireDefault(require("@theme/NavbarItem/DefaultNavbarItem"));
11
11
 
12
+ var _DropdownNavbarItem = _interopRequireDefault(require("@theme/NavbarItem/DropdownNavbarItem"));
13
+
12
14
  var _useDocs = require("@theme/hooks/useDocs");
13
15
 
14
16
  var _themeCommon = require("@docusaurus/theme-common");
15
17
 
18
+ var _Translate = require("@docusaurus/Translate");
19
+
16
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
21
 
18
22
  /**
@@ -56,21 +60,24 @@ function DocsVersionDropdownNavbarItem({
56
60
  }
57
61
  };
58
62
  });
59
- const items = [...dropdownItemsBefore, ...versionLinks, ...dropdownItemsAfter]; // We don't want to render a version dropdown with 0 or 1 item
60
- // If we build the site with a single docs version (onlyIncludeVersions: ['1.0.0'])
61
- // We'd rather render a button instead of a dropdown
62
-
63
- if (items.length <= 1) {
64
- return undefined;
65
- }
66
-
67
- return items;
63
+ return [...dropdownItemsBefore, ...versionLinks, ...dropdownItemsAfter];
68
64
  }
69
65
 
70
66
  const items = getItems();
71
67
  const dropdownVersion = (_ref = (_activeDocContext$act = activeDocContext.activeVersion) !== null && _activeDocContext$act !== void 0 ? _activeDocContext$act : preferredVersion) !== null && _ref !== void 0 ? _ref : latestVersion; // Mobile dropdown is handled a bit differently
72
68
 
73
- const dropdownLabel = mobile && items ? 'Versions' : dropdownVersion.label;
74
- const dropdownTo = mobile && items ? undefined : getVersionMainDoc(dropdownVersion).path;
75
- return <_DefaultNavbarItem.default {...props} mobile={mobile} label={dropdownLabel} to={dropdownTo} items={items} isActive={dropdownActiveClassDisabled ? () => false : undefined} />;
69
+ const dropdownLabel = mobile && items ? (0, _Translate.translate)({
70
+ id: 'theme.navbar.mobileVersionsDropdown.label',
71
+ message: 'Versions',
72
+ description: 'The label for the navbar versions dropdown on mobile view'
73
+ }) : dropdownVersion.label;
74
+ const dropdownTo = mobile && items ? undefined : getVersionMainDoc(dropdownVersion).path; // We don't want to render a version dropdown with 0 or 1 item
75
+ // If we build the site with a single docs version (onlyIncludeVersions: ['1.0.0'])
76
+ // We'd rather render a button instead of a dropdown
77
+
78
+ if (items.length <= 1) {
79
+ return <_DefaultNavbarItem.default {...props} mobile={mobile} label={dropdownLabel} to={dropdownTo} isActive={dropdownActiveClassDisabled ? () => false : undefined} />;
80
+ }
81
+
82
+ return <_DropdownNavbarItem.default {...props} mobile={mobile} label={dropdownLabel} to={dropdownTo} items={items} isActive={dropdownActiveClassDisabled ? () => false : undefined} />;
76
83
  }
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _clsx = _interopRequireDefault(require("clsx"));
11
+
12
+ var _themeCommon = require("@docusaurus/theme-common");
13
+
14
+ var _DefaultNavbarItem = require("@theme/NavbarItem/DefaultNavbarItem");
15
+
16
+ var _NavbarItem = _interopRequireDefault(require("@theme/NavbarItem"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
23
+
24
+ /**
25
+ * Copyright (c) Facebook, Inc. and its affiliates.
26
+ *
27
+ * This source code is licensed under the MIT license found in the
28
+ * LICENSE file in the root directory of this source tree.
29
+ */
30
+ const dropdownLinkActiveClass = 'dropdown__link--active';
31
+
32
+ function isItemActive(item, localPathname) {
33
+ if ((0, _themeCommon.isSamePath)(item.to, localPathname)) {
34
+ return true;
35
+ }
36
+
37
+ if ((0, _themeCommon.isRegexpStringMatch)(item.activeBaseRegex, localPathname)) {
38
+ return true;
39
+ }
40
+
41
+ if (item.activeBasePath && localPathname.startsWith(item.activeBasePath)) {
42
+ return true;
43
+ }
44
+
45
+ return false;
46
+ }
47
+
48
+ function containsActiveItems(items, localPathname) {
49
+ return items.some(item => isItemActive(item, localPathname));
50
+ }
51
+
52
+ function DropdownNavbarItemDesktop({
53
+ items,
54
+ position,
55
+ className,
56
+ ...props
57
+ }) {
58
+ var _props$children;
59
+
60
+ const dropdownRef = (0, _react.useRef)(null);
61
+ const dropdownMenuRef = (0, _react.useRef)(null);
62
+ const [showDropdown, setShowDropdown] = (0, _react.useState)(false);
63
+ (0, _react.useEffect)(() => {
64
+ const handleClickOutside = event => {
65
+ if (!dropdownRef.current || dropdownRef.current.contains(event.target)) {
66
+ return;
67
+ }
68
+
69
+ setShowDropdown(false);
70
+ };
71
+
72
+ document.addEventListener('mousedown', handleClickOutside);
73
+ document.addEventListener('touchstart', handleClickOutside);
74
+ return () => {
75
+ document.removeEventListener('mousedown', handleClickOutside);
76
+ document.removeEventListener('touchstart', handleClickOutside);
77
+ };
78
+ }, [dropdownRef]);
79
+ return <div ref={dropdownRef} className={(0, _clsx.default)('navbar__item', 'dropdown', 'dropdown--hoverable', {
80
+ 'dropdown--right': position === 'right',
81
+ 'dropdown--show': showDropdown
82
+ })}>
83
+ <_DefaultNavbarItem.NavLink href={props.to ? undefined : '#'} className={(0, _clsx.default)('navbar__link', className)} {...props} onClick={props.to ? undefined : e => e.preventDefault()} onKeyDown={e => {
84
+ if (e.key === 'Enter') {
85
+ e.preventDefault();
86
+ setShowDropdown(!showDropdown);
87
+ }
88
+ }}>
89
+ {(_props$children = props.children) !== null && _props$children !== void 0 ? _props$children : props.label}
90
+ </_DefaultNavbarItem.NavLink>
91
+ <ul ref={dropdownMenuRef} className="dropdown__menu">
92
+ {items.map((childItemProps, i) => <_NavbarItem.default isDropdownItem onKeyDown={e => {
93
+ if (i === items.length - 1 && e.key === 'Tab') {
94
+ e.preventDefault();
95
+ setShowDropdown(false);
96
+ const nextNavbarItem = dropdownRef.current.nextElementSibling;
97
+
98
+ if (nextNavbarItem) {
99
+ nextNavbarItem.focus();
100
+ }
101
+ }
102
+ }} activeClassName={dropdownLinkActiveClass} {...childItemProps} key={i} />)}
103
+ </ul>
104
+ </div>;
105
+ }
106
+
107
+ function DropdownNavbarItemMobile({
108
+ items,
109
+ className,
110
+ position: _position,
111
+ // Need to destructure position from props so that it doesn't get passed on.
112
+ ...props
113
+ }) {
114
+ var _props$children2;
115
+
116
+ const localPathname = (0, _themeCommon.useLocalPathname)();
117
+ const containsActive = containsActiveItems(items, localPathname);
118
+ const {
119
+ collapsed,
120
+ toggleCollapsed,
121
+ setCollapsed
122
+ } = (0, _themeCommon.useCollapsible)({
123
+ initialState: () => !containsActive
124
+ }); // Expand/collapse if any item active after a navigation
125
+
126
+ (0, _react.useEffect)(() => {
127
+ if (containsActive) {
128
+ setCollapsed(!containsActive);
129
+ }
130
+ }, [localPathname, containsActive, setCollapsed]);
131
+ return <li className={(0, _clsx.default)('menu__list-item', {
132
+ 'menu__list-item--collapsed': collapsed
133
+ })}>
134
+ <_DefaultNavbarItem.NavLink role="button" className={(0, _clsx.default)('menu__link menu__link--sublist', className)} {...props} onClick={e => {
135
+ e.preventDefault();
136
+ toggleCollapsed();
137
+ }}>
138
+ {(_props$children2 = props.children) !== null && _props$children2 !== void 0 ? _props$children2 : props.label}
139
+ </_DefaultNavbarItem.NavLink>
140
+ <_themeCommon.Collapsible lazy as="ul" className="menu__list" collapsed={collapsed}>
141
+ {items.map((childItemProps, i) => <_NavbarItem.default mobile isDropdownItem onClick={props.onClick} activeClassName="menu__link--active" {...childItemProps} key={i} />)}
142
+ </_themeCommon.Collapsible>
143
+ </li>;
144
+ }
145
+
146
+ function DropdownNavbarItem({
147
+ mobile = false,
148
+ ...props
149
+ }) {
150
+ const Comp = mobile ? DropdownNavbarItemMobile : DropdownNavbarItemDesktop;
151
+ return <Comp {...props} />;
152
+ }
153
+
154
+ var _default = DropdownNavbarItem;
155
+ exports.default = _default;
@@ -7,7 +7,7 @@ exports.default = LocaleDropdownNavbarItem;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _DefaultNavbarItem = _interopRequireDefault(require("@theme/NavbarItem/DefaultNavbarItem"));
10
+ var _DropdownNavbarItem = _interopRequireDefault(require("@theme/NavbarItem/DropdownNavbarItem"));
11
11
 
12
12
  var _IconLanguage = _interopRequireDefault(require("@theme/IconLanguage"));
13
13
 
@@ -15,6 +15,8 @@ var _useDocusaurusContext = _interopRequireDefault(require("@docusaurus/useDocus
15
15
 
16
16
  var _themeCommon = require("@docusaurus/theme-common");
17
17
 
18
+ var _stylesModule = _interopRequireDefault(require("./styles.module.css"));
19
+
18
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
21
 
20
22
  /**
@@ -53,20 +55,14 @@ function LocaleDropdownNavbarItem({
53
55
  to,
54
56
  target: '_self',
55
57
  autoAddBaseUrl: false,
56
- className: locale === currentLocale ? 'dropdown__link--active' : '',
57
- style: {
58
- textTransform: 'capitalize'
59
- }
58
+ className: locale === currentLocale ? 'dropdown__link--active' : ''
60
59
  };
61
60
  });
62
61
  const items = [...dropdownItemsBefore, ...localeItems, ...dropdownItemsAfter]; // Mobile is handled a bit differently
63
62
 
64
63
  const dropdownLabel = mobile ? 'Languages' : getLocaleLabel(currentLocale);
65
- return <_DefaultNavbarItem.default {...props} href="#" mobile={mobile} label={<span>
66
- <_IconLanguage.default style={{
67
- verticalAlign: 'text-bottom',
68
- marginRight: 5
69
- }} />
64
+ return <_DropdownNavbarItem.default {...props} mobile={mobile} label={<span>
65
+ <_IconLanguage.default className={_stylesModule.default.iconLanguage} />
70
66
  <span>{dropdownLabel}</span>
71
67
  </span>} items={items} />;
72
68
  }
@@ -0,0 +1,11 @@
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
+ .iconLanguage {
9
+ vertical-align: text-bottom;
10
+ margin-right: 5px;
11
+ }
@@ -4,11 +4,14 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = NavbarItem;
7
+ exports.getInfimaActiveClassName = void 0;
7
8
 
8
9
  var _react = _interopRequireDefault(require("react"));
9
10
 
10
11
  var _DefaultNavbarItem = _interopRequireDefault(require("@theme/NavbarItem/DefaultNavbarItem"));
11
12
 
13
+ var _DropdownNavbarItem = _interopRequireDefault(require("@theme/NavbarItem/DropdownNavbarItem"));
14
+
12
15
  var _LocaleDropdownNavbarItem = _interopRequireDefault(require("@theme/NavbarItem/LocaleDropdownNavbarItem"));
13
16
 
14
17
  var _SearchNavbarItem = _interopRequireDefault(require("@theme/NavbarItem/SearchNavbarItem"));
@@ -25,30 +28,47 @@ const NavbarItemComponents = {
25
28
  default: () => _DefaultNavbarItem.default,
26
29
  localeDropdown: () => _LocaleDropdownNavbarItem.default,
27
30
  search: () => _SearchNavbarItem.default,
31
+ dropdown: () => _DropdownNavbarItem.default,
28
32
  // Need to lazy load these items as we don't know for sure the docs plugin is loaded
29
33
  // See https://github.com/facebook/docusaurus/issues/3360
30
- docsVersion: () => // eslint-disable-next-line @typescript-eslint/no-var-requires, global-require
31
- require('@theme/NavbarItem/DocsVersionNavbarItem').default,
32
- docsVersionDropdown: () => // eslint-disable-next-line @typescript-eslint/no-var-requires, global-require
33
- require('@theme/NavbarItem/DocsVersionDropdownNavbarItem').default,
34
- doc: () => // eslint-disable-next-line @typescript-eslint/no-var-requires, global-require
35
- require('@theme/NavbarItem/DocNavbarItem').default
34
+
35
+ /* eslint-disable @typescript-eslint/no-var-requires, global-require */
36
+ docsVersion: () => require('@theme/NavbarItem/DocsVersionNavbarItem').default,
37
+ docsVersionDropdown: () => require('@theme/NavbarItem/DocsVersionDropdownNavbarItem').default,
38
+ doc: () => require('@theme/NavbarItem/DocNavbarItem').default
39
+ /* eslint-enable @typescript-eslint/no-var-requires, global-require */
40
+
36
41
  };
37
42
 
38
- const getNavbarItemComponent = (type = 'default') => {
39
- const navbarItemComponent = NavbarItemComponents[type];
43
+ const getNavbarItemComponent = type => {
44
+ const navbarItemComponentFn = NavbarItemComponents[type];
40
45
 
41
- if (!navbarItemComponent) {
46
+ if (!navbarItemComponentFn) {
42
47
  throw new Error(`No NavbarItem component found for type "${type}".`);
43
48
  }
44
49
 
45
- return navbarItemComponent();
50
+ return navbarItemComponentFn();
46
51
  };
47
52
 
53
+ function getComponentType(type, isDropdown) {
54
+ // Backward compatibility: navbar item with no type set
55
+ // but containing dropdown items should use the type "dropdown"
56
+ if (!type || type === 'default') {
57
+ return isDropdown ? 'dropdown' : 'default';
58
+ }
59
+
60
+ return type;
61
+ }
62
+
63
+ const getInfimaActiveClassName = mobile => mobile ? 'menu__link--active' : 'navbar__link--active';
64
+
65
+ exports.getInfimaActiveClassName = getInfimaActiveClassName;
66
+
48
67
  function NavbarItem({
49
68
  type,
50
69
  ...props
51
70
  }) {
52
- const NavbarItemComponent = getNavbarItemComponent(type);
71
+ const componentType = getComponentType(type, props.items !== undefined);
72
+ const NavbarItemComponent = getNavbarItemComponent(componentType);
53
73
  return <NavbarItemComponent {...props} />;
54
74
  }
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = SearchMetadatas;
6
+ exports.default = SearchMetadata;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
@@ -20,7 +20,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
20
20
  // Note: we don't couple this to Algolia/DocSearch on purpose
21
21
  // We may want to support other search engine plugins too
22
22
  // Search plugins should swizzle/override this comp to add their behavior
23
- function SearchMetadatas({
23
+ function SearchMetadata({
24
24
  locale,
25
25
  version,
26
26
  tag
@@ -11,7 +11,7 @@ var _Head = _interopRequireDefault(require("@docusaurus/Head"));
11
11
 
12
12
  var _themeCommon = require("@docusaurus/theme-common");
13
13
 
14
- var _useBaseUrl = _interopRequireDefault(require("@docusaurus/useBaseUrl"));
14
+ var _useBaseUrl = require("@docusaurus/useBaseUrl");
15
15
 
16
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
17
 
@@ -25,15 +25,16 @@ function Seo({
25
25
  title,
26
26
  description,
27
27
  keywords,
28
- image
28
+ image,
29
+ children
29
30
  }) {
30
- const {
31
- image: defaultImage
32
- } = (0, _themeCommon.useThemeConfig)();
33
31
  const pageTitle = (0, _themeCommon.useTitleFormatter)(title);
34
- const pageImage = (0, _useBaseUrl.default)(image || defaultImage, {
32
+ const {
33
+ withBaseUrl
34
+ } = (0, _useBaseUrl.useBaseUrlUtils)();
35
+ const pageImage = image ? withBaseUrl(image, {
35
36
  absolute: true
36
- });
37
+ }) : undefined;
37
38
  return <_Head.default>
38
39
  {title && <title>{pageTitle}</title>}
39
40
  {title && <meta property="og:title" content={pageTitle} />}
@@ -45,5 +46,7 @@ function Seo({
45
46
 
46
47
  {pageImage && <meta property="og:image" content={pageImage} />}
47
48
  {pageImage && <meta name="twitter:image" content={pageImage} />}
49
+
50
+ {children}
48
51
  </_Head.default>;
49
52
  }