@docusaurus/theme-classic 2.0.0-beta.8e9b829d9 → 2.0.0-beta.9

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 (275) hide show
  1. package/README.md +1 -1
  2. package/codeTranslations/ar.json +12 -6
  3. package/codeTranslations/base.json +12 -0
  4. package/codeTranslations/bn.json +6 -0
  5. package/codeTranslations/cs.json +62 -0
  6. package/codeTranslations/da.json +6 -0
  7. package/codeTranslations/de.json +8 -2
  8. package/codeTranslations/es.json +10 -4
  9. package/codeTranslations/fa.json +9 -3
  10. package/codeTranslations/fil.json +6 -0
  11. package/codeTranslations/fr.json +6 -0
  12. package/codeTranslations/he.json +6 -0
  13. package/codeTranslations/hi.json +6 -0
  14. package/codeTranslations/ja.json +6 -0
  15. package/codeTranslations/ko.json +6 -0
  16. package/codeTranslations/pl.json +6 -0
  17. package/codeTranslations/pt-BR.json +8 -2
  18. package/codeTranslations/pt-PT.json +6 -0
  19. package/codeTranslations/ru.json +6 -0
  20. package/codeTranslations/sr.json +62 -0
  21. package/codeTranslations/tr.json +9 -3
  22. package/codeTranslations/vi.json +10 -4
  23. package/codeTranslations/zh-Hans.json +6 -0
  24. package/codeTranslations/zh-Hant.json +6 -0
  25. package/lib/__tests__/validateThemeConfig.test.js +154 -4
  26. package/lib/index.js +2 -3
  27. package/lib/prism-include-languages.js +9 -5
  28. package/lib/theme/AnnouncementBar/index.js +8 -12
  29. package/lib/theme/AnnouncementBar/styles.module.css +23 -32
  30. package/lib/theme/BackToTopButton/index.js +27 -13
  31. package/lib/theme/BackToTopButton/styles.module.css +17 -14
  32. package/lib/theme/BlogArchivePage/index.js +89 -0
  33. package/lib/theme/BlogLayout/index.js +2 -6
  34. package/lib/theme/BlogListPage/index.js +1 -1
  35. package/lib/theme/BlogPostAuthor/index.js +51 -0
  36. package/lib/theme/BlogPostAuthor/styles.module.css +12 -0
  37. package/lib/theme/BlogPostAuthors/index.js +47 -0
  38. package/lib/theme/BlogPostAuthors/styles.module.css +11 -0
  39. package/lib/theme/BlogPostItem/index.js +58 -67
  40. package/lib/theme/BlogPostPage/index.js +33 -4
  41. package/lib/theme/BlogSidebar/styles.module.css +2 -2
  42. package/lib/theme/BlogTagsListPage/index.js +3 -28
  43. package/lib/theme/BlogTagsPostsPage/index.js +5 -8
  44. package/lib/theme/CodeBlock/index.js +44 -37
  45. package/lib/theme/CodeBlock/styles.module.css +1 -2
  46. package/lib/theme/DocItem/index.js +15 -40
  47. package/lib/theme/DocItem/styles.module.css +2 -12
  48. package/lib/theme/DocItemFooter/index.js +79 -0
  49. package/lib/theme/DocItemFooter/styles.module.css +18 -0
  50. package/lib/theme/DocPage/index.js +18 -13
  51. package/lib/theme/DocSidebar/index.js +11 -16
  52. package/lib/theme/DocSidebarItem/index.js +12 -10
  53. package/lib/theme/DocTagDocListPage/index.js +89 -0
  54. package/lib/theme/DocTagsListPage/index.js +44 -0
  55. package/lib/theme/DocVersionBanner/index.js +6 -4
  56. package/lib/theme/EditThisPage/index.js +3 -1
  57. package/lib/theme/Footer/index.js +5 -3
  58. package/lib/theme/Heading/index.js +7 -9
  59. package/lib/theme/Heading/styles.css +4 -6
  60. package/lib/theme/Heading/styles.module.css +9 -5
  61. package/lib/theme/IconClose/index.js +31 -0
  62. package/lib/theme/LastUpdated/index.js +4 -2
  63. package/lib/theme/LayoutHead/index.js +13 -11
  64. package/lib/theme/LayoutProviders/index.js +7 -5
  65. package/lib/theme/Logo/index.js +14 -12
  66. package/lib/theme/MDXComponents/index.js +27 -1
  67. package/lib/theme/MDXComponents/styles.css +11 -0
  68. package/lib/theme/MDXPage/index.js +2 -1
  69. package/lib/theme/Navbar/index.js +20 -3
  70. package/lib/theme/Navbar/styles.module.css +5 -1
  71. package/lib/theme/NavbarItem/DefaultNavbarItem.js +12 -4
  72. package/lib/theme/NavbarItem/DocNavbarItem.js +5 -3
  73. package/lib/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +7 -1
  74. package/lib/theme/NavbarItem/DropdownNavbarItem.js +3 -3
  75. package/lib/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +3 -4
  76. package/lib/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  77. package/lib/theme/NavbarItem/index.js +5 -0
  78. package/lib/theme/Seo/index.js +10 -7
  79. package/lib/theme/TOC/index.js +9 -30
  80. package/lib/theme/TOC/styles.module.css +1 -1
  81. package/lib/theme/TOCCollapsible/index.js +5 -3
  82. package/lib/theme/TOCInline/index.js +7 -27
  83. package/lib/theme/TOCItems/index.js +78 -0
  84. package/lib/theme/Tabs/__tests__/index.test.js +123 -0
  85. package/lib/theme/Tabs/index.js +73 -50
  86. package/lib/theme/Tabs/styles.module.css +0 -13
  87. package/lib/theme/Tag/index.js +40 -0
  88. package/lib/theme/Tag/styles.module.css +70 -0
  89. package/lib/theme/TagsListByLetter/index.js +48 -0
  90. package/lib/theme/TagsListByLetter/styles.module.css +11 -0
  91. package/lib/theme/TagsListInline/index.js +44 -0
  92. package/lib/theme/TagsListInline/styles.module.css +15 -0
  93. package/lib/theme/ThemedImage/index.js +3 -5
  94. package/lib/theme/Toggle/index.js +23 -18
  95. package/lib/theme/Toggle/styles.module.css +91 -0
  96. package/lib/theme/hooks/useHideableNavbar.js +14 -31
  97. package/lib/theme/hooks/useTheme.js +2 -2
  98. package/lib/theme/hooks/useWindowSize.js +2 -7
  99. package/lib/theme/prism-include-languages.js +4 -3
  100. package/lib/translations.js +4 -4
  101. package/lib/types.d.ts +216 -105
  102. package/lib/validateThemeConfig.js +215 -254
  103. package/lib-next/__tests__/validateThemeConfig.test.js +154 -4
  104. package/lib-next/index.js +1 -2
  105. package/lib-next/prism-include-languages.js +0 -2
  106. package/lib-next/theme/AnnouncementBar/index.js +7 -12
  107. package/lib-next/theme/AnnouncementBar/styles.module.css +23 -32
  108. package/lib-next/theme/BackToTopButton/index.js +37 -17
  109. package/lib-next/theme/BackToTopButton/styles.module.css +17 -14
  110. package/lib-next/theme/BlogArchivePage/index.js +80 -0
  111. package/lib-next/theme/BlogLayout/index.js +4 -7
  112. package/lib-next/theme/BlogListPage/index.js +1 -0
  113. package/lib-next/theme/BlogPostAuthor/index.js +46 -0
  114. package/lib-next/theme/BlogPostAuthor/styles.module.css +12 -0
  115. package/lib-next/theme/BlogPostAuthors/index.js +34 -0
  116. package/lib-next/theme/BlogPostAuthors/styles.module.css +11 -0
  117. package/lib-next/theme/BlogPostItem/index.js +79 -86
  118. package/lib-next/theme/BlogPostPage/index.js +55 -8
  119. package/lib-next/theme/BlogSidebar/styles.module.css +2 -2
  120. package/lib-next/theme/BlogTagsListPage/index.js +7 -39
  121. package/lib-next/theme/BlogTagsPostsPage/index.js +3 -4
  122. package/lib-next/theme/CodeBlock/index.js +53 -49
  123. package/lib-next/theme/CodeBlock/styles.module.css +1 -2
  124. package/lib-next/theme/DocItem/index.js +27 -45
  125. package/lib-next/theme/DocItem/styles.module.css +2 -12
  126. package/lib-next/theme/DocItemFooter/index.js +79 -0
  127. package/lib-next/theme/DocItemFooter/styles.module.css +18 -0
  128. package/lib-next/theme/DocPage/index.js +18 -14
  129. package/lib-next/theme/DocSidebar/index.js +18 -15
  130. package/lib-next/theme/DocSidebarItem/index.js +31 -11
  131. package/lib-next/theme/DocTagDocListPage/index.js +89 -0
  132. package/lib-next/theme/DocTagsListPage/index.js +38 -0
  133. package/lib-next/theme/DocVersionBanner/index.js +16 -9
  134. package/lib-next/theme/EditThisPage/index.js +6 -1
  135. package/lib-next/theme/Footer/index.js +14 -3
  136. package/lib-next/theme/Heading/index.js +10 -13
  137. package/lib-next/theme/Heading/styles.css +4 -6
  138. package/lib-next/theme/Heading/styles.module.css +9 -5
  139. package/lib-next/theme/IconClose/index.js +23 -0
  140. package/lib-next/theme/LastUpdated/index.js +3 -2
  141. package/lib-next/theme/LayoutHead/index.js +9 -15
  142. package/lib-next/theme/LayoutProviders/index.js +8 -5
  143. package/lib-next/theme/Logo/index.js +23 -19
  144. package/lib-next/theme/MDXComponents/index.js +20 -1
  145. package/lib-next/theme/MDXComponents/styles.css +11 -0
  146. package/lib-next/theme/MDXPage/index.js +10 -2
  147. package/lib-next/theme/Navbar/index.js +27 -3
  148. package/lib-next/theme/Navbar/styles.module.css +5 -1
  149. package/lib-next/theme/NavbarItem/DefaultNavbarItem.js +15 -4
  150. package/lib-next/theme/NavbarItem/DocNavbarItem.js +5 -3
  151. package/lib-next/theme/NavbarItem/DocsVersionDropdownNavbarItem.js +12 -4
  152. package/lib-next/theme/NavbarItem/DropdownNavbarItem.js +4 -6
  153. package/lib-next/theme/NavbarItem/{LocaleDropdownNavbarItem.js → LocaleDropdownNavbarItem/index.js} +2 -6
  154. package/lib-next/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  155. package/lib-next/theme/NavbarItem/index.js +2 -0
  156. package/lib-next/theme/Seo/index.js +11 -7
  157. package/lib-next/theme/TOC/index.js +12 -36
  158. package/lib-next/theme/TOC/styles.module.css +1 -1
  159. package/lib-next/theme/TOCCollapsible/index.js +12 -3
  160. package/lib-next/theme/TOCInline/index.js +10 -28
  161. package/lib-next/theme/TOCItems/index.js +85 -0
  162. package/lib-next/theme/Tabs/__tests__/index.test.js +142 -0
  163. package/lib-next/theme/Tabs/index.js +91 -43
  164. package/lib-next/theme/Tabs/styles.module.css +0 -13
  165. package/lib-next/theme/Tag/index.js +27 -0
  166. package/lib-next/theme/Tag/styles.module.css +70 -0
  167. package/lib-next/theme/TagsListByLetter/index.js +42 -0
  168. package/lib-next/theme/TagsListByLetter/styles.module.css +11 -0
  169. package/lib-next/theme/TagsListInline/index.js +31 -0
  170. package/lib-next/theme/TagsListInline/styles.module.css +15 -0
  171. package/lib-next/theme/ThemedImage/index.js +3 -3
  172. package/lib-next/theme/Toggle/index.js +20 -15
  173. package/lib-next/theme/Toggle/styles.module.css +91 -0
  174. package/lib-next/theme/hooks/useHideableNavbar.js +31 -47
  175. package/lib-next/theme/hooks/useTheme.js +2 -2
  176. package/lib-next/theme/hooks/useWindowSize.js +2 -6
  177. package/lib-next/theme/prism-include-languages.js +2 -1
  178. package/lib-next/translations.js +6 -10
  179. package/lib-next/types.d.ts +216 -105
  180. package/lib-next/validateThemeConfig.js +40 -36
  181. package/package.json +23 -19
  182. package/src/__tests__/validateThemeConfig.test.js +154 -4
  183. package/src/index.ts +11 -9
  184. package/src/{prism-include-languages.js → prism-include-languages.ts} +0 -0
  185. package/src/theme/AnnouncementBar/index.tsx +8 -12
  186. package/src/theme/AnnouncementBar/styles.module.css +23 -32
  187. package/src/theme/BackToTopButton/index.tsx +39 -17
  188. package/src/theme/BackToTopButton/styles.module.css +17 -14
  189. package/src/theme/BlogArchivePage/index.tsx +91 -0
  190. package/src/theme/BlogLayout/index.tsx +4 -8
  191. package/src/theme/BlogListPage/index.tsx +1 -0
  192. package/src/theme/BlogPostAuthor/index.tsx +49 -0
  193. package/src/theme/BlogPostAuthor/styles.module.css +12 -0
  194. package/src/theme/BlogPostAuthors/index.tsx +36 -0
  195. package/src/theme/BlogPostAuthors/styles.module.css +11 -0
  196. package/src/theme/BlogPostItem/index.tsx +70 -80
  197. package/src/theme/BlogPostPage/index.tsx +57 -8
  198. package/src/theme/BlogSidebar/styles.module.css +2 -2
  199. package/src/theme/BlogTagsListPage/index.tsx +7 -41
  200. package/src/theme/BlogTagsPostsPage/index.tsx +3 -4
  201. package/src/theme/CodeBlock/index.tsx +63 -47
  202. package/src/theme/CodeBlock/styles.module.css +1 -2
  203. package/src/theme/DocItem/index.tsx +27 -46
  204. package/src/theme/DocItem/styles.module.css +2 -12
  205. package/src/theme/DocItemFooter/index.tsx +91 -0
  206. package/src/theme/DocItemFooter/styles.module.css +18 -0
  207. package/src/theme/DocPage/index.tsx +16 -12
  208. package/src/theme/DocSidebar/index.tsx +20 -16
  209. package/src/theme/DocSidebarItem/index.tsx +29 -10
  210. package/src/theme/DocTagDocListPage/index.tsx +89 -0
  211. package/src/theme/DocTagsListPage/index.tsx +41 -0
  212. package/src/theme/DocVersionBanner/index.tsx +26 -15
  213. package/src/theme/EditThisPage/index.tsx +6 -1
  214. package/src/theme/Footer/index.tsx +16 -3
  215. package/src/theme/Heading/index.tsx +10 -13
  216. package/src/theme/Heading/styles.css +4 -6
  217. package/src/theme/Heading/styles.module.css +9 -5
  218. package/src/theme/IconClose/index.tsx +26 -0
  219. package/src/theme/LastUpdated/index.tsx +3 -2
  220. package/src/theme/LayoutHead/index.tsx +9 -9
  221. package/src/theme/LayoutProviders/index.tsx +8 -5
  222. package/src/theme/Logo/index.tsx +19 -15
  223. package/src/theme/MDXComponents/index.tsx +20 -1
  224. package/src/theme/MDXComponents/styles.css +11 -0
  225. package/src/theme/MDXPage/index.tsx +10 -2
  226. package/src/theme/Navbar/index.tsx +26 -2
  227. package/src/theme/Navbar/styles.module.css +5 -1
  228. package/src/theme/NavbarItem/DefaultNavbarItem.tsx +15 -4
  229. package/src/theme/NavbarItem/DocNavbarItem.tsx +9 -5
  230. package/src/theme/NavbarItem/DocsVersionDropdownNavbarItem.tsx +15 -6
  231. package/src/theme/NavbarItem/DocsVersionNavbarItem.tsx +7 -3
  232. package/src/theme/NavbarItem/DropdownNavbarItem.tsx +4 -6
  233. package/src/theme/NavbarItem/{LocaleDropdownNavbarItem.tsx → LocaleDropdownNavbarItem/index.tsx} +6 -5
  234. package/src/theme/NavbarItem/LocaleDropdownNavbarItem/styles.module.css +11 -0
  235. package/src/theme/NavbarItem/index.tsx +6 -1
  236. package/src/theme/Seo/index.tsx +7 -4
  237. package/src/theme/TOC/index.tsx +13 -38
  238. package/src/theme/TOC/styles.module.css +1 -1
  239. package/src/theme/TOCCollapsible/index.tsx +8 -2
  240. package/src/theme/TOCInline/index.tsx +13 -32
  241. package/src/theme/TOCItems/index.tsx +96 -0
  242. package/src/theme/Tabs/__tests__/index.test.tsx +129 -0
  243. package/src/theme/Tabs/index.tsx +93 -49
  244. package/src/theme/Tabs/styles.module.css +0 -13
  245. package/src/theme/Tag/index.tsx +31 -0
  246. package/src/theme/Tag/styles.module.css +70 -0
  247. package/src/theme/TagsListByLetter/index.tsx +45 -0
  248. package/src/theme/TagsListByLetter/styles.module.css +11 -0
  249. package/src/theme/TagsListInline/index.tsx +35 -0
  250. package/src/theme/TagsListInline/styles.module.css +15 -0
  251. package/src/theme/ThemedImage/index.tsx +3 -3
  252. package/src/theme/Toggle/index.tsx +20 -15
  253. package/src/theme/Toggle/styles.module.css +91 -0
  254. package/src/theme/hooks/useContextualSearchFilters.ts +1 -1
  255. package/src/theme/hooks/useHideableNavbar.ts +32 -47
  256. package/src/theme/hooks/useTabGroupChoice.ts +2 -2
  257. package/src/theme/hooks/useTheme.ts +2 -2
  258. package/src/theme/hooks/useWindowSize.ts +2 -7
  259. package/src/theme/prism-include-languages.ts +3 -2
  260. package/src/translations.ts +6 -10
  261. package/src/types.d.ts +216 -105
  262. package/src/{validateThemeConfig.js → validateThemeConfig.ts} +46 -12
  263. package/tsconfig.json +0 -1
  264. package/update-code-translations.js +5 -4
  265. package/update-code-translations.test.js +1 -1
  266. package/update.js +151 -0
  267. package/lib/theme/Toggle/styles.css +0 -103
  268. package/lib/theme/hooks/useScrollPosition.js +0 -51
  269. package/lib/theme/hooks/useTOCHighlight.js +0 -87
  270. package/lib-next/theme/Toggle/styles.css +0 -103
  271. package/lib-next/theme/hooks/useScrollPosition.js +0 -42
  272. package/lib-next/theme/hooks/useTOCHighlight.js +0 -84
  273. package/src/theme/Toggle/styles.css +0 -103
  274. package/src/theme/hooks/useScrollPosition.ts +0 -52
  275. package/src/theme/hooks/useTOCHighlight.ts +0 -98
@@ -13,8 +13,6 @@ var _themeCommon = require("@docusaurus/theme-common");
13
13
 
14
14
  var _useWindowSize = _interopRequireDefault(require("@theme/hooks/useWindowSize"));
15
15
 
16
- var _useScrollPosition = _interopRequireDefault(require("@theme/hooks/useScrollPosition"));
17
-
18
16
  var _Logo = _interopRequireDefault(require("@theme/Logo"));
19
17
 
20
18
  var _IconArrow = _interopRequireDefault(require("@theme/IconArrow"));
@@ -39,17 +37,17 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
39
37
  */
40
38
  function useShowAnnouncementBar() {
41
39
  const {
42
- isClosed
40
+ isActive
43
41
  } = (0, _themeCommon.useAnnouncementBar)();
44
- const [showAnnouncementBar, setShowAnnouncementBar] = (0, _react.useState)(!isClosed);
45
- (0, _useScrollPosition.default)(({
42
+ const [showAnnouncementBar, setShowAnnouncementBar] = (0, _react.useState)(isActive);
43
+ (0, _themeCommon.useScrollPosition)(({
46
44
  scrollY
47
45
  }) => {
48
- if (!isClosed) {
46
+ if (isActive) {
49
47
  setShowAnnouncementBar(scrollY === 0);
50
48
  }
51
- });
52
- return showAnnouncementBar;
49
+ }, [isActive]);
50
+ return isActive && showAnnouncementBar;
53
51
  }
54
52
 
55
53
  function HideableSidebarButton({
@@ -81,19 +79,16 @@ function DocSidebarDesktop({
81
79
  },
82
80
  hideableSidebar
83
81
  } = (0, _themeCommon.useThemeConfig)();
84
- const {
85
- isClosed: isAnnouncementBarClosed
86
- } = (0, _themeCommon.useAnnouncementBar)();
87
82
  return <div className={(0, _clsx.default)(_stylesModule.default.sidebar, {
88
83
  [_stylesModule.default.sidebarWithHideableNavbar]: hideOnScroll,
89
84
  [_stylesModule.default.sidebarHidden]: isHidden
90
85
  })}>
91
86
  {hideOnScroll && <_Logo.default tabIndex={-1} className={_stylesModule.default.sidebarLogo} />}
92
87
  <nav className={(0, _clsx.default)('menu thin-scrollbar', _stylesModule.default.menu, {
93
- [_stylesModule.default.menuWithAnnouncementBar]: !isAnnouncementBarClosed && showAnnouncementBar
88
+ [_stylesModule.default.menuWithAnnouncementBar]: showAnnouncementBar
94
89
  })}>
95
- <ul className="menu__list">
96
- <_DocSidebarItem.DocSidebarItems items={sidebar} activePath={path} />
90
+ <ul className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docSidebarMenu, 'menu__list')}>
91
+ <_DocSidebarItem.DocSidebarItems items={sidebar} activePath={path} level={1} />
97
92
  </ul>
98
93
  </nav>
99
94
  {hideableSidebar && <HideableSidebarButton onClick={onCollapse} />}
@@ -105,8 +100,8 @@ const DocSidebarMobileSecondaryMenu = ({
105
100
  sidebar,
106
101
  path
107
102
  }) => {
108
- return <ul className="menu__list">
109
- <_DocSidebarItem.DocSidebarItems items={sidebar} activePath={path} onItemClick={() => toggleSidebar()} />
103
+ return <ul className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docSidebarMenu, 'menu__list')}>
104
+ <_DocSidebarItem.DocSidebarItems items={sidebar} activePath={path} onItemClick={() => toggleSidebar()} level={1} />
110
105
  </ul>;
111
106
  };
112
107
 
@@ -89,19 +89,21 @@ function useAutoExpandActiveCategory({
89
89
  if (justBecameActive && collapsed) {
90
90
  setCollapsed(false);
91
91
  }
92
- }, [isActive, wasActive, collapsed]);
92
+ }, [isActive, wasActive, collapsed, setCollapsed]);
93
93
  }
94
94
 
95
95
  function DocSidebarItemCategory({
96
96
  item,
97
97
  onItemClick,
98
98
  activePath,
99
+ level,
99
100
  ...props
100
101
  }) {
101
102
  const {
102
103
  items,
103
104
  label,
104
- collapsible
105
+ collapsible,
106
+ className
105
107
  } = item;
106
108
  const isActive = isActiveSidebarItem(item, activePath);
107
109
  const {
@@ -124,9 +126,9 @@ function DocSidebarItemCategory({
124
126
  collapsed,
125
127
  setCollapsed
126
128
  });
127
- return <li className={(0, _clsx.default)('menu__list-item', {
129
+ return <li className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docSidebarItemCategory, _themeCommon.ThemeClassNames.docs.docSidebarItemCategoryLevel(level), 'menu__list-item', {
128
130
  'menu__list-item--collapsed': collapsed
129
- })}>
131
+ }, className)}>
130
132
  {
131
133
  /* eslint-disable-next-line jsx-a11y/anchor-is-valid */
132
134
  }
@@ -142,7 +144,7 @@ function DocSidebarItemCategory({
142
144
  </a>
143
145
 
144
146
  <_themeCommon.Collapsible lazy as="ul" className="menu__list" collapsed={collapsed}>
145
- <DocSidebarItems items={items} tabIndex={collapsed ? -1 : 0} onItemClick={onItemClick} activePath={activePath} />
147
+ <DocSidebarItems items={items} tabIndex={collapsed ? -1 : 0} onItemClick={onItemClick} activePath={activePath} level={level + 1} />
146
148
  </_themeCommon.Collapsible>
147
149
  </li>;
148
150
  }
@@ -151,19 +153,19 @@ function DocSidebarItemLink({
151
153
  item,
152
154
  onItemClick,
153
155
  activePath,
156
+ level,
154
157
  ...props
155
158
  }) {
156
159
  const {
157
160
  href,
158
- label
161
+ label,
162
+ className
159
163
  } = item;
160
164
  const isActive = isActiveSidebarItem(item, activePath);
161
- return <li className="menu__list-item" key={label}>
165
+ return <li className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docSidebarItemLink, _themeCommon.ThemeClassNames.docs.docSidebarItemLinkLevel(level), 'menu__list-item', className)} key={label}>
162
166
  <_Link.default className={(0, _clsx.default)('menu__link', {
163
167
  'menu__link--active': isActive
164
- })} to={href} {...(0, _isInternalUrl.default)(href) && {
165
- isNavLink: true,
166
- exact: true,
168
+ })} aria-current={isActive ? 'page' : undefined} to={href} {...(0, _isInternalUrl.default)(href) && {
167
169
  onClick: onItemClick
168
170
  }} {...props}>
169
171
  {(0, _isInternalUrl.default)(href) ? label : <span>
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = DocTagDocListPage;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _Layout = _interopRequireDefault(require("@theme/Layout"));
11
+
12
+ var _Link = _interopRequireDefault(require("@docusaurus/Link"));
13
+
14
+ var _themeCommon = require("@docusaurus/theme-common");
15
+
16
+ var _Translate = _interopRequireWildcard(require("@docusaurus/Translate"));
17
+
18
+ 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); }
19
+
20
+ 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; }
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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
+ // Very simple pluralization: probably good enough for now
31
+ function useNDocsTaggedPlural() {
32
+ const {
33
+ selectMessage
34
+ } = (0, _themeCommon.usePluralForm)();
35
+ return count => selectMessage(count, (0, _Translate.translate)({
36
+ id: 'theme.docs.tagDocListPageTitle.nDocsTagged',
37
+ description: 'Pluralized label for "{count} docs tagged". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',
38
+ message: 'One doc tagged|{count} docs tagged'
39
+ }, {
40
+ count
41
+ }));
42
+ }
43
+
44
+ function DocItem({
45
+ doc
46
+ }) {
47
+ return <article className="margin-vert--lg">
48
+ <_Link.default to={doc.permalink}>
49
+ <h2>{doc.title}</h2>
50
+ </_Link.default>
51
+ {doc.description && <p>{doc.description}</p>}
52
+ </article>;
53
+ }
54
+
55
+ function DocTagDocListPage({
56
+ tag
57
+ }) {
58
+ const nDocsTaggedPlural = useNDocsTaggedPlural();
59
+ const title = (0, _Translate.translate)({
60
+ id: 'theme.docs.tagDocListPageTitle',
61
+ description: 'The title of the page for a docs tag',
62
+ message: '{nDocsTagged} with "{tagName}"'
63
+ }, {
64
+ nDocsTagged: nDocsTaggedPlural(tag.docs.length),
65
+ tagName: tag.name
66
+ });
67
+ return <_Layout.default title={title} wrapperClassName={_themeCommon.ThemeClassNames.wrapper.docsPages} pageClassName={_themeCommon.ThemeClassNames.page.docsTagDocListPage} searchMetadatas={{
68
+ // assign unique search tag to exclude this page from search results!
69
+ tag: 'doc_tag_doc_list'
70
+ }}>
71
+ <div className="container margin-vert--lg">
72
+ <div className="row">
73
+ <main className="col col--8 col--offset-2">
74
+ <header className="margin-bottom--xl">
75
+ <h1>{title}</h1>
76
+ <_Link.default href={tag.allTagsPath}>
77
+ <_Translate.default id="theme.tags.tagsPageLink" description="The label of the link targeting the tag list page">
78
+ View All Tags
79
+ </_Translate.default>
80
+ </_Link.default>
81
+ </header>
82
+ <section className="margin-vert--lg">
83
+ {tag.docs.map(doc => <DocItem key={doc.id} doc={doc} />)}
84
+ </section>
85
+ </main>
86
+ </div>
87
+ </div>
88
+ </_Layout.default>;
89
+ }
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _Layout = _interopRequireDefault(require("@theme/Layout"));
11
+
12
+ var _themeCommon = require("@docusaurus/theme-common");
13
+
14
+ var _TagsListByLetter = _interopRequireDefault(require("@theme/TagsListByLetter"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ /**
19
+ * Copyright (c) Facebook, Inc. and its affiliates.
20
+ *
21
+ * This source code is licensed under the MIT license found in the
22
+ * LICENSE file in the root directory of this source tree.
23
+ */
24
+ function DocTagsListPage({
25
+ tags
26
+ }) {
27
+ const title = (0, _themeCommon.translateTagsPageTitle)();
28
+ return <_Layout.default title={title} wrapperClassName={_themeCommon.ThemeClassNames.wrapper.docsPages} pageClassName={_themeCommon.ThemeClassNames.page.docsTagsListPage} searchMetadatas={{
29
+ // assign unique search tag to exclude this page from search results!
30
+ tag: 'doc_tags_list'
31
+ }}>
32
+ <div className="container margin-vert--lg">
33
+ <div className="row">
34
+ <main className="col col--8 col--offset-2">
35
+ <h1>{title}</h1>
36
+ <_TagsListByLetter.default tags={tags} />
37
+ </main>
38
+ </div>
39
+ </div>
40
+ </_Layout.default>;
41
+ }
42
+
43
+ var _default = DocTagsListPage;
44
+ exports.default = _default;
@@ -17,6 +17,8 @@ var _useDocs = require("@theme/hooks/useDocs");
17
17
 
18
18
  var _themeCommon = require("@docusaurus/theme-common");
19
19
 
20
+ var _clsx = _interopRequireDefault(require("clsx"));
21
+
20
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
23
 
22
24
  /**
@@ -104,7 +106,7 @@ function DocVersionBannerEnabled({
104
106
  // fallback to main doc of latest version
105
107
 
106
108
  const latestVersionSuggestedDoc = latestDocSuggestion !== null && latestDocSuggestion !== void 0 ? latestDocSuggestion : getVersionMainDoc(latestVersionSuggestion);
107
- return <div className="alert alert--warning margin-bottom--md" role="alert">
109
+ return <div className={(0, _clsx.default)(_themeCommon.ThemeClassNames.docs.docVersionBanner, 'alert alert--warning margin-bottom--md')} role="alert">
108
110
  <div>
109
111
  <BannerLabel siteTitle={siteTitle} versionMetadata={versionMetadata} />
110
112
  </div>
@@ -117,11 +119,11 @@ function DocVersionBannerEnabled({
117
119
  function DocVersionBanner({
118
120
  versionMetadata
119
121
  }) {
120
- if (versionMetadata.banner === 'none') {
121
- return <></>;
122
- } else {
122
+ if (versionMetadata.banner) {
123
123
  return <DocVersionBannerEnabled versionMetadata={versionMetadata} />;
124
124
  }
125
+
126
+ return <></>;
125
127
  }
126
128
 
127
129
  var _default = DocVersionBanner;
@@ -11,6 +11,8 @@ var _Translate = _interopRequireDefault(require("@docusaurus/Translate"));
11
11
 
12
12
  var _IconEdit = _interopRequireDefault(require("@theme/IconEdit"));
13
13
 
14
+ var _themeCommon = require("@docusaurus/theme-common");
15
+
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
17
 
16
18
  /**
@@ -22,7 +24,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
22
24
  function EditThisPage({
23
25
  editUrl
24
26
  }) {
25
- return <a href={editUrl} target="_blank" rel="noreferrer noopener">
27
+ return <a href={editUrl} target="_blank" rel="noreferrer noopener" className={_themeCommon.ThemeClassNames.common.editThisPage}>
26
28
  <_IconEdit.default />
27
29
  <_Translate.default id="theme.common.editThisPage" description="The link label to edit the current page">
28
30
  Edit this page
@@ -56,8 +56,10 @@ function FooterLink({
56
56
 
57
57
  const FooterLogo = ({
58
58
  sources,
59
- alt
60
- }) => <_ThemedImage.default className="footer__logo" alt={alt} sources={sources} />;
59
+ alt,
60
+ width,
61
+ height
62
+ }) => <_ThemedImage.default className="footer__logo" alt={alt} sources={sources} width={width} height={height} />;
61
63
 
62
64
  function Footer() {
63
65
  const {
@@ -98,7 +100,7 @@ function Footer() {
98
100
  {(logo || copyright) && <div className="footer__bottom text--center">
99
101
  {logo && (logo.src || logo.srcDark) && <div className="margin-bottom--sm">
100
102
  {logo.href ? <_Link.default href={logo.href} className={_stylesModule.default.footerLogoLink}>
101
- <FooterLogo alt={logo.alt} sources={sources} />
103
+ <FooterLogo alt={logo.alt} sources={sources} width={logo.width} height={logo.height} />
102
104
  </_Link.default> : <FooterLogo alt={logo.alt} sources={sources} />}
103
105
  </div>}
104
106
  {copyright ? <div className="footer__copyright" // Developer provided the HTML, so assume it's safe.
@@ -25,13 +25,11 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
25
25
  * This source code is licensed under the MIT license found in the
26
26
  * LICENSE file in the root directory of this source tree.
27
27
  */
28
-
29
- /* eslint-disable jsx-a11y/anchor-has-content, jsx-a11y/anchor-is-valid */
30
28
  const MainHeading = function MainHeading({ ...props
31
29
  }) {
32
30
  return <header>
33
31
  <h1 {...props} id={undefined} // h1 headings do not need an id because they don't appear in the TOC
34
- className={_stylesModule.default.h1Heading}>
32
+ >
35
33
  {props.children}
36
34
  </h1>
37
35
  </header>;
@@ -53,17 +51,17 @@ const createAnchorHeading = Tag => function TargetComponent({
53
51
  return <Tag {...props} />;
54
52
  }
55
53
 
56
- return <Tag {...props}>
57
- <a aria-hidden="true" tabIndex={-1} className={(0, _clsx.default)('anchor', {
58
- [_stylesModule.default.enhancedAnchor]: !hideOnScroll
59
- })} id={id} />
54
+ return <Tag {...props} className={(0, _clsx.default)('anchor', {
55
+ [_stylesModule.default.anchorWithHideOnScrollNavbar]: hideOnScroll,
56
+ [_stylesModule.default.anchorWithStickyNavbar]: !hideOnScroll
57
+ })} id={id}>
60
58
  {props.children}
61
- <a className="hash-link" href={`#${id}`} title={(0, _Translate.translate)({
59
+ <a aria-hidden="true" className="hash-link" href={`#${id}`} title={(0, _Translate.translate)({
62
60
  id: 'theme.common.headingLinkTitle',
63
61
  message: 'Direct link to heading',
64
62
  description: 'Title for link to heading'
65
63
  })}>
66
- #
64
+ &#8203;
67
65
  </a>
68
66
  </Tag>;
69
67
  };
@@ -5,18 +5,16 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- .anchor {
9
- display: block;
10
- position: relative;
11
- top: -0.5rem;
12
- }
13
-
14
8
  .hash-link {
15
9
  opacity: 0;
16
10
  padding-left: 0.5rem;
17
11
  transition: opacity var(--ifm-transition-fast);
18
12
  }
19
13
 
14
+ .hash-link:before {
15
+ content: '#';
16
+ }
17
+
20
18
  .hash-link:focus,
21
19
  *:hover > .hash-link {
22
20
  opacity: 1;
@@ -5,11 +5,15 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- .enhancedAnchor {
9
- top: calc(var(--ifm-navbar-height) * -1 - 0.5rem);
8
+ /*
9
+ When the navbar is sticky, ensure that on anchor click,
10
+ the browser does not scroll that anchor behind the navbar
11
+ See https://twitter.com/JoshWComeau/status/1332015868725891076
12
+ */
13
+ .anchorWithStickyNavbar {
14
+ scroll-margin-top: calc(var(--ifm-navbar-height) + 0.5rem);
10
15
  }
11
16
 
12
- .h1Heading {
13
- font-size: 3rem;
14
- margin-bottom: calc(var(--ifm-leading-desktop) * var(--ifm-leading));
17
+ .anchorWithHideOnScrollNavbar {
18
+ scroll-margin-top: 0.5rem;
15
19
  }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = IconClose;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ /**
13
+ * Copyright (c) Facebook, Inc. and its affiliates.
14
+ *
15
+ * This source code is licensed under the MIT license found in the
16
+ * LICENSE file in the root directory of this source tree.
17
+ */
18
+ function IconClose({
19
+ width = 21,
20
+ height = 21,
21
+ color = 'currentColor',
22
+ strokeWidth = 1.2,
23
+ className,
24
+ ...restProps
25
+ }) {
26
+ return <svg viewBox="0 0 15 15" width={width} height={height} {...restProps}>
27
+ <g stroke={color} strokeWidth={strokeWidth}>
28
+ <path d="M.75.75l13.5 13.5M14.25.75L.75 14.25" />
29
+ </g>
30
+ </svg>;
31
+ }
@@ -9,6 +9,8 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _Translate = _interopRequireDefault(require("@docusaurus/Translate"));
11
11
 
12
+ var _themeCommon = require("@docusaurus/theme-common");
13
+
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
15
 
14
16
  /**
@@ -47,7 +49,7 @@ function LastUpdated({
47
49
  formattedLastUpdatedAt,
48
50
  lastUpdatedBy
49
51
  }) {
50
- return <>
52
+ return <span className={_themeCommon.ThemeClassNames.common.lastUpdated}>
51
53
  <_Translate.default id="theme.lastUpdated.lastUpdatedAtBy" description="The sentence used to display when a page has been last updated, and by who" values={{
52
54
  atDate: lastUpdatedAt && formattedLastUpdatedAt ? <LastUpdatedAtDate lastUpdatedAt={lastUpdatedAt} formattedLastUpdatedAt={formattedLastUpdatedAt} /> : '',
53
55
  byUser: lastUpdatedBy ? <LastUpdatedByUser lastUpdatedBy={lastUpdatedBy} /> : ''
@@ -57,5 +59,5 @@ function LastUpdated({
57
59
  {process.env.NODE_ENV === 'development' && <div>
58
60
  <small> (Simulated during dev for better perf)</small>
59
61
  </div>}
60
- </>;
62
+ </span>;
61
63
  }
@@ -86,17 +86,17 @@ function CanonicalUrlHeaders({
86
86
  function LayoutHead(props) {
87
87
  const {
88
88
  siteConfig: {
89
- favicon,
90
- themeConfig: {
91
- metadatas,
92
- image: defaultImage
93
- }
89
+ favicon
94
90
  },
95
91
  i18n: {
96
92
  currentLocale,
97
93
  localeConfigs
98
94
  }
99
95
  } = (0, _useDocusaurusContext.default)();
96
+ const {
97
+ metadatas,
98
+ image: defaultImage
99
+ } = (0, _themeCommon.useThemeConfig)();
100
100
  const {
101
101
  title,
102
102
  description,
@@ -117,14 +117,16 @@ function LayoutHead(props) {
117
117
  {favicon && <link rel="shortcut icon" href={faviconUrl} />}
118
118
  <title>{pageTitle}</title>
119
119
  <meta property="og:title" content={pageTitle} />
120
- {image || defaultImage && <meta name="twitter:card" content="summary_large_image" />}
120
+ <meta name="twitter:card" content="summary_large_image" />
121
121
  </_Head.default>
122
122
 
123
- <_Seo.default {...{
124
- description,
125
- keywords,
126
- image
127
- }} />
123
+ {
124
+ /* image can override the default image */
125
+ }
126
+ {defaultImage && <_Seo.default image={defaultImage} />}
127
+ {image && <_Seo.default image={image} />}
128
+
129
+ <_Seo.default description={description} keywords={keywords} />
128
130
 
129
131
  <CanonicalUrlHeaders />
130
132
 
@@ -27,11 +27,13 @@ function LayoutProviders({
27
27
  return <_ThemeProvider.default>
28
28
  <_themeCommon.AnnouncementBarProvider>
29
29
  <_UserPreferencesProvider.default>
30
- <_themeCommon.DocsPreferredVersionContextProvider>
31
- <_themeCommon.MobileSecondaryMenuProvider>
32
- {children}
33
- </_themeCommon.MobileSecondaryMenuProvider>
34
- </_themeCommon.DocsPreferredVersionContextProvider>
30
+ <_themeCommon.ScrollControllerProvider>
31
+ <_themeCommon.DocsPreferredVersionContextProvider>
32
+ <_themeCommon.MobileSecondaryMenuProvider>
33
+ {children}
34
+ </_themeCommon.MobileSecondaryMenuProvider>
35
+ </_themeCommon.DocsPreferredVersionContextProvider>
36
+ </_themeCommon.ScrollControllerProvider>
35
37
  </_UserPreferencesProvider.default>
36
38
  </_themeCommon.AnnouncementBarProvider>
37
39
  </_ThemeProvider.default>;
@@ -15,6 +15,8 @@ var _useBaseUrl = _interopRequireDefault(require("@docusaurus/useBaseUrl"));
15
15
 
16
16
  var _useDocusaurusContext = _interopRequireDefault(require("@docusaurus/useDocusaurusContext"));
17
17
 
18
+ var _themeCommon = require("@docusaurus/theme-common");
19
+
18
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
21
 
20
22
  /**
@@ -26,18 +28,17 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
26
28
  const Logo = props => {
27
29
  const {
28
30
  siteConfig: {
29
- title,
30
- themeConfig: {
31
- navbar: {
32
- title: navbarTitle,
33
- logo = {
34
- src: ''
35
- }
36
- }
37
- }
38
- },
39
- isClient
31
+ title
32
+ }
40
33
  } = (0, _useDocusaurusContext.default)();
34
+ const {
35
+ navbar: {
36
+ title: navbarTitle,
37
+ logo = {
38
+ src: ''
39
+ }
40
+ }
41
+ } = (0, _themeCommon.useThemeConfig)();
41
42
  const {
42
43
  imageClassName,
43
44
  titleClassName,
@@ -48,10 +49,11 @@ const Logo = props => {
48
49
  light: (0, _useBaseUrl.default)(logo.src),
49
50
  dark: (0, _useBaseUrl.default)(logo.srcDark || logo.src)
50
51
  };
52
+ const themedImage = <_ThemedImage.default sources={sources} height={logo.height} width={logo.width} alt={logo.alt || navbarTitle || title} />;
51
53
  return <_Link.default to={logoLink} {...propsRest} {...logo.target && {
52
54
  target: logo.target
53
55
  }}>
54
- {logo.src && <_ThemedImage.default key={isClient} className={imageClassName} sources={sources} alt={logo.alt || navbarTitle || title} />}
56
+ {logo.src && (imageClassName ? <div className={imageClassName}>{themedImage}</div> : <>{themedImage}</>)}
55
57
  {navbarTitle != null && <b className={titleClassName}>{navbarTitle}</b>}
56
58
  </_Link.default>;
57
59
  };
@@ -7,6 +7,8 @@ exports.default = void 0;
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
10
+ var _Head = _interopRequireDefault(require("@docusaurus/Head"));
11
+
10
12
  var _Link = _interopRequireDefault(require("@docusaurus/Link"));
11
13
 
12
14
  var _CodeBlock = _interopRequireDefault(require("@theme/CodeBlock"));
@@ -15,6 +17,8 @@ var _Heading = _interopRequireDefault(require("@theme/Heading"));
15
17
 
16
18
  var _Details = _interopRequireDefault(require("@theme/Details"));
17
19
 
20
+ require("./styles.css");
21
+
18
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
23
 
20
24
  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); }
@@ -27,7 +31,29 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
27
31
  * This source code is licensed under the MIT license found in the
28
32
  * LICENSE file in the root directory of this source tree.
29
33
  */
34
+ // MDX elements are wrapped through the MDX pragma
35
+ // In some cases (notably usage with Head/Helmet) we need to unwrap those elements.
36
+ function unwrapMDXElement(element) {
37
+ var _element$props, _element$props2;
38
+
39
+ if (element !== null && element !== void 0 && (_element$props = element.props) !== null && _element$props !== void 0 && _element$props.mdxType && element !== null && element !== void 0 && (_element$props2 = element.props) !== null && _element$props2 !== void 0 && _element$props2.originalType) {
40
+ const {
41
+ mdxType,
42
+ originalType,
43
+ ...newProps
44
+ } = element.props;
45
+ return _react.default.createElement(element.props.originalType, newProps);
46
+ }
47
+
48
+ return element;
49
+ }
50
+
30
51
  const MDXComponents = {
52
+ head: props => {
53
+ const unwrappedChildren = _react.default.Children.map(props.children, child => unwrapMDXElement(child));
54
+
55
+ return <_Head.default {...props}>{unwrappedChildren}</_Head.default>;
56
+ },
31
57
  code: props => {
32
58
  const {
33
59
  children
@@ -49,7 +75,7 @@ const MDXComponents = {
49
75
  } = props; // See comment for `code` above
50
76
 
51
77
  if ((0, _react.isValidElement)(children) && (0, _react.isValidElement)(children === null || children === void 0 ? void 0 : (_children$props = children.props) === null || _children$props === void 0 ? void 0 : _children$props.children)) {
52
- return children === null || children === void 0 ? void 0 : children.props.children;
78
+ return children.props.children;
53
79
  }
54
80
 
55
81
  return <_CodeBlock.default {...(0, _react.isValidElement)(children) ? children === null || children === void 0 ? void 0 : children.props : { ...props