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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (279) hide show
  1. package/Details.d.ts +14 -0
  2. package/lib/components/Collapsible/index.d.ts +32 -4
  3. package/lib/components/Collapsible/index.d.ts.map +1 -1
  4. package/lib/components/Collapsible/index.js +18 -10
  5. package/lib/components/Collapsible/index.js.map +1 -1
  6. package/lib/components/Details/index.d.ts +6 -1
  7. package/lib/components/Details/index.d.ts.map +1 -1
  8. package/lib/components/Details/index.js +11 -6
  9. package/lib/components/Details/index.js.map +1 -1
  10. package/lib/components/Details/styles.module.css +4 -0
  11. package/lib/{utils/announcementBarUtils.d.ts → contexts/announcementBar.d.ts} +7 -3
  12. package/lib/contexts/announcementBar.d.ts.map +1 -0
  13. package/lib/{utils/announcementBarUtils.js → contexts/announcementBar.js} +15 -14
  14. package/lib/contexts/announcementBar.js.map +1 -0
  15. package/lib/contexts/colorMode.d.ts +27 -0
  16. package/lib/contexts/colorMode.d.ts.map +1 -0
  17. package/lib/contexts/colorMode.js +132 -0
  18. package/lib/contexts/colorMode.js.map +1 -0
  19. package/lib/contexts/docSidebarItemsExpandedState.d.ts +31 -0
  20. package/lib/contexts/docSidebarItemsExpandedState.d.ts.map +1 -0
  21. package/lib/{utils → contexts}/docSidebarItemsExpandedState.js +10 -4
  22. package/lib/contexts/docSidebarItemsExpandedState.js.map +1 -0
  23. package/lib/contexts/docsPreferredVersion.d.ts +31 -0
  24. package/lib/contexts/docsPreferredVersion.d.ts.map +1 -0
  25. package/lib/contexts/docsPreferredVersion.js +128 -0
  26. package/lib/contexts/docsPreferredVersion.js.map +1 -0
  27. package/lib/contexts/docsSidebar.d.ts +26 -0
  28. package/lib/contexts/docsSidebar.d.ts.map +1 -0
  29. package/lib/contexts/docsSidebar.js +30 -0
  30. package/lib/contexts/docsSidebar.js.map +1 -0
  31. package/lib/contexts/docsVersion.d.ts +20 -0
  32. package/lib/contexts/docsVersion.d.ts.map +1 -0
  33. package/lib/contexts/docsVersion.js +26 -0
  34. package/lib/contexts/docsVersion.js.map +1 -0
  35. package/lib/contexts/navbarMobileSidebar.d.ts +31 -0
  36. package/lib/contexts/navbarMobileSidebar.d.ts.map +1 -0
  37. package/lib/contexts/navbarMobileSidebar.js +56 -0
  38. package/lib/contexts/navbarMobileSidebar.js.map +1 -0
  39. package/lib/contexts/navbarSecondaryMenu/content.d.ts +37 -0
  40. package/lib/contexts/navbarSecondaryMenu/content.d.ts.map +1 -0
  41. package/lib/contexts/navbarSecondaryMenu/content.js +56 -0
  42. package/lib/contexts/navbarSecondaryMenu/content.js.map +1 -0
  43. package/lib/contexts/navbarSecondaryMenu/display.d.ts +24 -0
  44. package/lib/contexts/navbarSecondaryMenu/display.d.ts.map +1 -0
  45. package/lib/contexts/navbarSecondaryMenu/display.js +62 -0
  46. package/lib/contexts/navbarSecondaryMenu/display.js.map +1 -0
  47. package/lib/{utils/tabGroupChoiceUtils.d.ts → contexts/tabGroupChoice.d.ts} +5 -3
  48. package/lib/contexts/tabGroupChoice.d.ts.map +1 -0
  49. package/lib/{utils/tabGroupChoiceUtils.js → contexts/tabGroupChoice.js} +15 -20
  50. package/lib/contexts/tabGroupChoice.js.map +1 -0
  51. package/lib/hooks/useBackToTopButton.d.ts +27 -0
  52. package/lib/hooks/useBackToTopButton.d.ts.map +1 -0
  53. package/lib/hooks/useBackToTopButton.js +50 -0
  54. package/lib/hooks/useBackToTopButton.js.map +1 -0
  55. package/lib/hooks/useCodeWordWrap.d.ts +14 -0
  56. package/lib/hooks/useCodeWordWrap.d.ts.map +1 -0
  57. package/lib/hooks/useCodeWordWrap.js +41 -0
  58. package/lib/hooks/useCodeWordWrap.js.map +1 -0
  59. package/lib/hooks/useHideableNavbar.d.ts +7 -3
  60. package/lib/hooks/useHideableNavbar.d.ts.map +1 -1
  61. package/lib/hooks/useHideableNavbar.js +10 -9
  62. package/lib/hooks/useHideableNavbar.js.map +1 -1
  63. package/lib/hooks/useKeyboardNavigation.d.ts +11 -1
  64. package/lib/hooks/useKeyboardNavigation.d.ts.map +1 -1
  65. package/lib/hooks/useKeyboardNavigation.js +11 -3
  66. package/lib/hooks/useKeyboardNavigation.js.map +1 -1
  67. package/lib/hooks/useLockBodyScroll.d.ts +5 -1
  68. package/lib/hooks/useLockBodyScroll.d.ts.map +1 -1
  69. package/lib/hooks/useLockBodyScroll.js +5 -1
  70. package/lib/hooks/useLockBodyScroll.js.map +1 -1
  71. package/lib/hooks/usePrismTheme.d.ts +6 -2
  72. package/lib/hooks/usePrismTheme.d.ts.map +1 -1
  73. package/lib/hooks/usePrismTheme.js +9 -6
  74. package/lib/hooks/usePrismTheme.js.map +1 -1
  75. package/lib/hooks/useSearchPage.d.ts +15 -4
  76. package/lib/hooks/useSearchPage.d.ts.map +1 -1
  77. package/lib/hooks/useSearchPage.js +4 -4
  78. package/lib/hooks/useSearchPage.js.map +1 -1
  79. package/lib/hooks/useSkipToContent.d.ts +25 -0
  80. package/lib/hooks/useSkipToContent.d.ts.map +1 -0
  81. package/lib/hooks/useSkipToContent.js +35 -0
  82. package/lib/hooks/useSkipToContent.js.map +1 -0
  83. package/lib/hooks/useTOCHighlight.d.ts +25 -0
  84. package/lib/hooks/useTOCHighlight.d.ts.map +1 -0
  85. package/lib/{utils → hooks}/useTOCHighlight.js +18 -16
  86. package/lib/hooks/useTOCHighlight.js.map +1 -0
  87. package/lib/hooks/useWindowSize.d.ts +14 -1
  88. package/lib/hooks/useWindowSize.d.ts.map +1 -1
  89. package/lib/hooks/useWindowSize.js +14 -11
  90. package/lib/hooks/useWindowSize.js.map +1 -1
  91. package/lib/index.d.ts +31 -32
  92. package/lib/index.d.ts.map +1 -1
  93. package/lib/index.js +31 -26
  94. package/lib/index.js.map +1 -1
  95. package/lib/utils/ThemeClassNames.d.ts +7 -0
  96. package/lib/utils/ThemeClassNames.d.ts.map +1 -1
  97. package/lib/utils/ThemeClassNames.js +7 -4
  98. package/lib/utils/ThemeClassNames.js.map +1 -1
  99. package/lib/utils/codeBlockUtils.d.ts +57 -4
  100. package/lib/utils/codeBlockUtils.d.ts.map +1 -1
  101. package/lib/utils/codeBlockUtils.js +111 -80
  102. package/lib/utils/codeBlockUtils.js.map +1 -1
  103. package/lib/utils/docsUtils.d.ts +83 -18
  104. package/lib/utils/docsUtils.d.ts.map +1 -1
  105. package/lib/utils/docsUtils.js +143 -62
  106. package/lib/utils/docsUtils.js.map +1 -1
  107. package/lib/utils/footerUtils.d.ts +13 -0
  108. package/lib/utils/footerUtils.d.ts.map +1 -0
  109. package/lib/utils/footerUtils.js +14 -0
  110. package/lib/utils/footerUtils.js.map +1 -0
  111. package/lib/utils/generalUtils.d.ts +4 -1
  112. package/lib/utils/generalUtils.d.ts.map +1 -1
  113. package/lib/utils/generalUtils.js +6 -3
  114. package/lib/utils/generalUtils.js.map +1 -1
  115. package/lib/utils/historyUtils.d.ts +1 -7
  116. package/lib/utils/historyUtils.d.ts.map +1 -1
  117. package/lib/utils/historyUtils.js +10 -13
  118. package/lib/utils/historyUtils.js.map +1 -1
  119. package/lib/utils/jsUtils.d.ts +1 -1
  120. package/lib/utils/jsUtils.js +1 -1
  121. package/lib/utils/metadataUtils.d.ts +38 -0
  122. package/lib/utils/metadataUtils.d.ts.map +1 -0
  123. package/lib/utils/metadataUtils.js +61 -0
  124. package/lib/utils/metadataUtils.js.map +1 -0
  125. package/lib/utils/navbarUtils.d.ts +21 -0
  126. package/lib/utils/navbarUtils.d.ts.map +1 -0
  127. package/lib/utils/navbarUtils.js +32 -0
  128. package/lib/utils/navbarUtils.js.map +1 -0
  129. package/lib/utils/reactUtils.d.ts +21 -7
  130. package/lib/utils/reactUtils.d.ts.map +1 -1
  131. package/lib/utils/reactUtils.js +34 -6
  132. package/lib/utils/reactUtils.js.map +1 -1
  133. package/lib/utils/regexpUtils.d.ts +2 -1
  134. package/lib/utils/regexpUtils.d.ts.map +1 -1
  135. package/lib/utils/regexpUtils.js +2 -1
  136. package/lib/utils/regexpUtils.js.map +1 -1
  137. package/lib/utils/routesUtils.d.ts +19 -4
  138. package/lib/utils/routesUtils.d.ts.map +1 -1
  139. package/lib/utils/routesUtils.js +40 -19
  140. package/lib/utils/routesUtils.js.map +1 -1
  141. package/lib/utils/scrollUtils.d.ts +55 -25
  142. package/lib/utils/scrollUtils.d.ts.map +1 -1
  143. package/lib/utils/scrollUtils.js +85 -21
  144. package/lib/utils/scrollUtils.js.map +1 -1
  145. package/lib/utils/searchUtils.d.ts +12 -0
  146. package/lib/utils/searchUtils.d.ts.map +1 -1
  147. package/lib/utils/searchUtils.js +36 -0
  148. package/lib/utils/searchUtils.js.map +1 -1
  149. package/lib/utils/storageUtils.d.ts +12 -9
  150. package/lib/utils/storageUtils.d.ts.map +1 -1
  151. package/lib/utils/storageUtils.js +21 -13
  152. package/lib/utils/storageUtils.js.map +1 -1
  153. package/lib/utils/tagsUtils.d.ts +7 -8
  154. package/lib/utils/tagsUtils.d.ts.map +1 -1
  155. package/lib/utils/tagsUtils.js +8 -6
  156. package/lib/utils/tagsUtils.js.map +1 -1
  157. package/lib/utils/tocUtils.d.ts +17 -1
  158. package/lib/utils/tocUtils.d.ts.map +1 -1
  159. package/lib/utils/tocUtils.js +20 -9
  160. package/lib/utils/tocUtils.js.map +1 -1
  161. package/lib/utils/useAlternatePageUtils.d.ts +20 -1
  162. package/lib/utils/useAlternatePageUtils.d.ts.map +1 -1
  163. package/lib/utils/useAlternatePageUtils.js +6 -3
  164. package/lib/utils/useAlternatePageUtils.js.map +1 -1
  165. package/lib/utils/useLocalPathname.d.ts +5 -0
  166. package/lib/utils/useLocalPathname.d.ts.map +1 -1
  167. package/lib/utils/useLocalPathname.js +6 -4
  168. package/lib/utils/useLocalPathname.js.map +1 -1
  169. package/lib/utils/useLocationChange.d.ts +7 -5
  170. package/lib/utils/useLocationChange.d.ts.map +1 -1
  171. package/lib/utils/useLocationChange.js +6 -2
  172. package/lib/utils/useLocationChange.js.map +1 -1
  173. package/lib/utils/usePluralForm.d.ts +11 -0
  174. package/lib/utils/usePluralForm.d.ts.map +1 -1
  175. package/lib/utils/usePluralForm.js +19 -24
  176. package/lib/utils/usePluralForm.js.map +1 -1
  177. package/lib/utils/useThemeConfig.d.ts +28 -22
  178. package/lib/utils/useThemeConfig.d.ts.map +1 -1
  179. package/lib/utils/useThemeConfig.js +3 -0
  180. package/lib/utils/useThemeConfig.js.map +1 -1
  181. package/package.json +18 -11
  182. package/src/components/Collapsible/index.tsx +42 -24
  183. package/src/components/Details/index.tsx +15 -8
  184. package/src/components/Details/styles.module.css +4 -0
  185. package/src/{utils/announcementBarUtils.tsx → contexts/announcementBar.tsx} +20 -22
  186. package/src/contexts/colorMode.tsx +199 -0
  187. package/src/contexts/docSidebarItemsExpandedState.tsx +55 -0
  188. package/src/contexts/docsPreferredVersion.tsx +253 -0
  189. package/src/contexts/docsSidebar.tsx +50 -0
  190. package/src/contexts/docsVersion.tsx +36 -0
  191. package/src/contexts/navbarMobileSidebar.tsx +99 -0
  192. package/src/contexts/navbarSecondaryMenu/content.tsx +110 -0
  193. package/src/contexts/navbarSecondaryMenu/display.tsx +102 -0
  194. package/src/{utils/tabGroupChoiceUtils.tsx → contexts/tabGroupChoice.tsx} +28 -33
  195. package/src/hooks/useBackToTopButton.ts +73 -0
  196. package/src/hooks/useCodeWordWrap.ts +56 -0
  197. package/src/hooks/useHideableNavbar.ts +12 -14
  198. package/src/hooks/useKeyboardNavigation.ts +11 -3
  199. package/src/hooks/useLockBodyScroll.ts +5 -2
  200. package/src/hooks/usePrismTheme.ts +10 -6
  201. package/src/hooks/useSearchPage.ts +18 -5
  202. package/src/hooks/useSkipToContent.ts +58 -0
  203. package/src/{utils → hooks}/useTOCHighlight.ts +24 -15
  204. package/src/hooks/useWindowSize.ts +14 -12
  205. package/src/index.ts +77 -57
  206. package/src/utils/ThemeClassNames.ts +10 -6
  207. package/src/utils/codeBlockUtils.ts +178 -92
  208. package/src/utils/docsUtils.tsx +205 -101
  209. package/src/utils/footerUtils.ts +18 -0
  210. package/src/utils/generalUtils.ts +6 -3
  211. package/src/utils/historyUtils.ts +11 -17
  212. package/src/utils/jsUtils.ts +1 -1
  213. package/src/utils/metadataUtils.tsx +115 -0
  214. package/src/utils/navbarUtils.tsx +45 -0
  215. package/src/utils/reactUtils.tsx +40 -7
  216. package/src/utils/regexpUtils.ts +2 -1
  217. package/src/utils/routesUtils.ts +58 -22
  218. package/src/utils/scrollUtils.tsx +120 -49
  219. package/src/utils/searchUtils.ts +51 -0
  220. package/src/utils/storageUtils.ts +23 -15
  221. package/src/utils/tagsUtils.ts +12 -10
  222. package/src/utils/tocUtils.ts +22 -11
  223. package/src/utils/useAlternatePageUtils.ts +17 -5
  224. package/src/utils/useLocalPathname.ts +6 -4
  225. package/src/utils/useLocationChange.ts +12 -10
  226. package/src/utils/usePluralForm.ts +27 -24
  227. package/src/utils/useThemeConfig.ts +23 -22
  228. package/yarn-error.log +20199 -0
  229. package/lib/utils/announcementBarUtils.d.ts.map +0 -1
  230. package/lib/utils/announcementBarUtils.js.map +0 -1
  231. package/lib/utils/colorModeUtils.d.ts +0 -18
  232. package/lib/utils/colorModeUtils.d.ts.map +0 -1
  233. package/lib/utils/colorModeUtils.js +0 -106
  234. package/lib/utils/colorModeUtils.js.map +0 -1
  235. package/lib/utils/docSidebarItemsExpandedState.d.ts +0 -17
  236. package/lib/utils/docSidebarItemsExpandedState.d.ts.map +0 -1
  237. package/lib/utils/docSidebarItemsExpandedState.js.map +0 -1
  238. package/lib/utils/docsPreferredVersion/DocsPreferredVersionProvider.d.ts +0 -22
  239. package/lib/utils/docsPreferredVersion/DocsPreferredVersionProvider.d.ts.map +0 -1
  240. package/lib/utils/docsPreferredVersion/DocsPreferredVersionProvider.js +0 -91
  241. package/lib/utils/docsPreferredVersion/DocsPreferredVersionProvider.js.map +0 -1
  242. package/lib/utils/docsPreferredVersion/DocsPreferredVersionStorage.d.ts +0 -14
  243. package/lib/utils/docsPreferredVersion/DocsPreferredVersionStorage.d.ts.map +0 -1
  244. package/lib/utils/docsPreferredVersion/DocsPreferredVersionStorage.js +0 -19
  245. package/lib/utils/docsPreferredVersion/DocsPreferredVersionStorage.js.map +0 -1
  246. package/lib/utils/docsPreferredVersion/useDocsPreferredVersion.d.ts +0 -14
  247. package/lib/utils/docsPreferredVersion/useDocsPreferredVersion.d.ts.map +0 -1
  248. package/lib/utils/docsPreferredVersion/useDocsPreferredVersion.js +0 -41
  249. package/lib/utils/docsPreferredVersion/useDocsPreferredVersion.js.map +0 -1
  250. package/lib/utils/mobileSecondaryMenu.d.ts +0 -21
  251. package/lib/utils/mobileSecondaryMenu.d.ts.map +0 -1
  252. package/lib/utils/mobileSecondaryMenu.js +0 -50
  253. package/lib/utils/mobileSecondaryMenu.js.map +0 -1
  254. package/lib/utils/pathUtils.d.ts +0 -8
  255. package/lib/utils/pathUtils.d.ts.map +0 -1
  256. package/lib/utils/pathUtils.js +0 -17
  257. package/lib/utils/pathUtils.js.map +0 -1
  258. package/lib/utils/tabGroupChoiceUtils.d.ts.map +0 -1
  259. package/lib/utils/tabGroupChoiceUtils.js.map +0 -1
  260. package/lib/utils/useContextualSearchFilters.d.ts +0 -12
  261. package/lib/utils/useContextualSearchFilters.d.ts.map +0 -1
  262. package/lib/utils/useContextualSearchFilters.js +0 -37
  263. package/lib/utils/useContextualSearchFilters.js.map +0 -1
  264. package/lib/utils/usePrevious.d.ts +0 -8
  265. package/lib/utils/usePrevious.d.ts.map +0 -1
  266. package/lib/utils/usePrevious.js +0 -16
  267. package/lib/utils/usePrevious.js.map +0 -1
  268. package/lib/utils/useTOCHighlight.d.ts +0 -14
  269. package/lib/utils/useTOCHighlight.d.ts.map +0 -1
  270. package/lib/utils/useTOCHighlight.js.map +0 -1
  271. package/src/utils/colorModeUtils.tsx +0 -156
  272. package/src/utils/docSidebarItemsExpandedState.tsx +0 -41
  273. package/src/utils/docsPreferredVersion/DocsPreferredVersionProvider.tsx +0 -167
  274. package/src/utils/docsPreferredVersion/DocsPreferredVersionStorage.ts +0 -33
  275. package/src/utils/docsPreferredVersion/useDocsPreferredVersion.ts +0 -70
  276. package/src/utils/mobileSecondaryMenu.tsx +0 -115
  277. package/src/utils/pathUtils.ts +0 -19
  278. package/src/utils/useContextualSearchFilters.ts +0 -53
  279. package/src/utils/usePrevious.ts +0 -19
@@ -1 +1 @@
1
- {"version":3,"file":"usePluralForm.js","sourceRoot":"","sources":["../../src/utils/usePluralForm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usePluralForm.js","sourceRoot":"","sources":["../../src/utils/usePluralForm.ts"],"names":[],"mappings":"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"}
@@ -5,15 +5,17 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import type { PrismTheme } from 'prism-react-renderer';
8
- import type { CSSProperties } from 'react';
9
8
  import type { DeepPartial } from 'utility-types';
9
+ import type { MagicCommentConfig } from './codeBlockUtils';
10
10
  export declare type DocsVersionPersistence = 'localStorage' | 'none';
11
11
  export declare type NavbarItem = {
12
12
  type?: string | undefined;
13
13
  items?: NavbarItem[];
14
14
  label?: string;
15
15
  position?: 'left' | 'right';
16
- } & Record<string, unknown>;
16
+ } & {
17
+ [key: string]: unknown;
18
+ };
17
19
  export declare type NavbarLogo = {
18
20
  src: string;
19
21
  srcDark?: string;
@@ -34,12 +36,6 @@ export declare type ColorModeConfig = {
34
36
  defaultMode: 'light' | 'dark';
35
37
  disableSwitch: boolean;
36
38
  respectPrefersColorScheme: boolean;
37
- switchConfig: {
38
- darkIcon: string;
39
- darkIconStyle: CSSProperties;
40
- lightIcon: string;
41
- lightIconStyle: CSSProperties;
42
- };
43
39
  };
44
40
  export declare type AnnouncementBarConfig = {
45
41
  id: string;
@@ -49,10 +45,11 @@ export declare type AnnouncementBarConfig = {
49
45
  isCloseable: boolean;
50
46
  };
51
47
  export declare type PrismConfig = {
52
- theme?: PrismTheme;
48
+ theme: PrismTheme;
53
49
  darkTheme?: PrismTheme;
54
50
  defaultLanguage?: string;
55
- additionalLanguages?: string[];
51
+ additionalLanguages: string[];
52
+ magicComments: MagicCommentConfig[];
56
53
  };
57
54
  export declare type FooterLinkItem = {
58
55
  label?: string;
@@ -60,17 +57,20 @@ export declare type FooterLinkItem = {
60
57
  href?: string;
61
58
  html?: string;
62
59
  prependBaseUrlToHref?: string;
60
+ } & {
61
+ [key: string]: unknown;
62
+ };
63
+ export declare type FooterLogo = {
64
+ alt?: string;
65
+ src: string;
66
+ srcDark?: string;
67
+ width?: string | number;
68
+ height?: string | number;
69
+ href?: string;
63
70
  };
64
71
  export declare type FooterBase = {
65
72
  style: 'light' | 'dark';
66
- logo?: {
67
- alt?: string;
68
- src?: string;
69
- srcDark?: string;
70
- width?: string | number;
71
- height?: string | number;
72
- href?: string;
73
- };
73
+ logo?: FooterLogo;
74
74
  copyright?: string;
75
75
  };
76
76
  export declare type MultiColumnFooter = FooterBase & {
@@ -90,19 +90,25 @@ export declare type TableOfContents = {
90
90
  export declare type ThemeConfig = {
91
91
  docs: {
92
92
  versionPersistence: DocsVersionPersistence;
93
+ sidebar: {
94
+ hideable: boolean;
95
+ autoCollapseCategories: boolean;
96
+ };
93
97
  };
94
98
  navbar: Navbar;
95
99
  colorMode: ColorModeConfig;
96
100
  announcementBar?: AnnouncementBarConfig;
97
101
  prism: PrismConfig;
98
102
  footer?: Footer;
99
- hideableSidebar: boolean;
100
- autoCollapseSidebarCategories: boolean;
101
103
  image?: string;
102
- metadata: Array<Record<string, string>>;
103
- sidebarCollapsible: boolean;
104
+ metadata: Array<{
105
+ [key: string]: string;
106
+ }>;
104
107
  tableOfContents: TableOfContents;
105
108
  };
106
109
  export declare type UserThemeConfig = DeepPartial<ThemeConfig>;
110
+ /**
111
+ * A convenient/more semantic way to get theme config from context.
112
+ */
107
113
  export declare function useThemeConfig(): ThemeConfig;
108
114
  //# sourceMappingURL=useThemeConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useThemeConfig.d.ts","sourceRoot":"","sources":["../../src/utils/useThemeConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useThemeConfig.d.ts","sourceRoot":"","sources":["../../src/utils/useThemeConfig.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
8
+ /**
9
+ * A convenient/more semantic way to get theme config from context.
10
+ */
8
11
  export function useThemeConfig() {
9
12
  return useDocusaurusContext().siteConfig.themeConfig;
10
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useThemeConfig.js","sourceRoot":"","sources":["../../src/utils/useThemeConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AA+HpE,MAAM,UAAU,cAAc;IAC5B,OAAO,oBAAoB,EAAE,CAAC,UAAU,CAAC,WAA0B,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"useThemeConfig.js","sourceRoot":"","sources":["../../src/utils/useThemeConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AA6HpE;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,oBAAoB,EAAE,CAAC,UAAU,CAAC,WAA0B,CAAC;AACtE,CAAC"}
package/package.json CHANGED
@@ -1,9 +1,17 @@
1
1
  {
2
2
  "name": "@docusaurus/theme-common",
3
- "version": "2.0.0-beta.16",
3
+ "version": "2.0.0-beta.19",
4
4
  "description": "Common code for Docusaurus themes.",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
7
+ "sideEffects": [
8
+ "lib/components/Details/*",
9
+ "*.css"
10
+ ],
11
+ "exports": {
12
+ ".": "./lib/index.js",
13
+ "./Details": "./lib/components/Details/index.js"
14
+ },
7
15
  "scripts": {
8
16
  "build": "node copyUntypedFiles.mjs && tsc",
9
17
  "watch": "node copyUntypedFiles.mjs && tsc --watch"
@@ -18,21 +26,20 @@
18
26
  },
19
27
  "license": "MIT",
20
28
  "dependencies": {
21
- "@docusaurus/module-type-aliases": "2.0.0-beta.16",
22
- "@docusaurus/plugin-content-blog": "2.0.0-beta.16",
23
- "@docusaurus/plugin-content-docs": "2.0.0-beta.16",
24
- "@docusaurus/plugin-content-pages": "2.0.0-beta.16",
29
+ "@docusaurus/module-type-aliases": "2.0.0-beta.19",
30
+ "@docusaurus/plugin-content-blog": "2.0.0-beta.19",
31
+ "@docusaurus/plugin-content-docs": "2.0.0-beta.19",
32
+ "@docusaurus/plugin-content-pages": "2.0.0-beta.19",
25
33
  "clsx": "^1.1.1",
26
34
  "parse-numeric-range": "^1.3.0",
27
35
  "prism-react-renderer": "^1.3.1",
28
- "tslib": "^2.3.1",
36
+ "tslib": "^2.4.0",
29
37
  "utility-types": "^3.10.0"
30
38
  },
31
39
  "devDependencies": {
32
- "@docusaurus/core": "2.0.0-beta.16",
33
- "@docusaurus/types": "2.0.0-beta.16",
34
- "@testing-library/react-hooks": "^7.0.2",
35
- "fs-extra": "^10.0.1",
40
+ "@docusaurus/core": "2.0.0-beta.19",
41
+ "@docusaurus/types": "2.0.0-beta.19",
42
+ "fs-extra": "^10.1.0",
36
43
  "lodash": "^4.17.21"
37
44
  },
38
45
  "peerDependencies": {
@@ -42,5 +49,5 @@
42
49
  "engines": {
43
50
  "node": ">=14"
44
51
  },
45
- "gitHead": "eb43c4d4f95a4fb97dc9bb9dc615413e0dc2e1e7"
52
+ "gitHead": "a71e60a49cce93c1006ef10c41ac03187f057102"
46
53
  }
@@ -11,29 +11,28 @@ import React, {
11
11
  useEffect,
12
12
  useRef,
13
13
  useCallback,
14
+ useLayoutEffect,
14
15
  type RefObject,
15
16
  type Dispatch,
16
17
  type SetStateAction,
17
18
  type ReactNode,
18
- useLayoutEffect,
19
19
  } from 'react';
20
20
 
21
21
  const DefaultAnimationEasing = 'ease-in-out';
22
22
 
23
- export type UseCollapsibleConfig = {
23
+ /**
24
+ * This hook is a very thin wrapper around a `useState`.
25
+ */
26
+ export function useCollapsible({
27
+ initialState,
28
+ }: {
29
+ /** The initial state. Will be non-collapsed by default. */
24
30
  initialState: boolean | (() => boolean);
25
- };
26
-
27
- export type UseCollapsibleReturns = {
31
+ }): {
28
32
  collapsed: boolean;
29
33
  setCollapsed: Dispatch<SetStateAction<boolean>>;
30
34
  toggleCollapsed: () => void;
31
- };
32
-
33
- // This hook just define the state
34
- export function useCollapsible({
35
- initialState,
36
- }: UseCollapsibleConfig): UseCollapsibleReturns {
35
+ } {
37
36
  const [collapsed, setCollapsed] = useState(initialState ?? false);
38
37
 
39
38
  const toggleCollapsed = useCallback(() => {
@@ -152,8 +151,10 @@ type CollapsibleElementType = React.ElementType<
152
151
  Pick<React.HTMLAttributes<unknown>, 'className' | 'onTransitionEnd' | 'style'>
153
152
  >;
154
153
 
155
- // Prevent hydration layout shift before animations are handled imperatively
156
- // with JS
154
+ /**
155
+ * Prevent hydration layout shift before animations are handled imperatively
156
+ * with JS
157
+ */
157
158
  function getSSRStyle(collapsed: boolean) {
158
159
  if (ExecutionEnvironment.canUseDOM) {
159
160
  return undefined;
@@ -162,16 +163,27 @@ function getSSRStyle(collapsed: boolean) {
162
163
  }
163
164
 
164
165
  type CollapsibleBaseProps = {
166
+ /** The actual DOM element to be used in the markup. */
165
167
  as?: CollapsibleElementType;
168
+ /** Initial collapsed state. */
166
169
  collapsed: boolean;
167
170
  children: ReactNode;
171
+ /** Configuration of animation, like `duration` and `easing` */
168
172
  animation?: CollapsibleAnimationConfig;
173
+ /**
174
+ * A callback fired when the collapse transition animation ends. Receives
175
+ * the **new** collapsed state: e.g. when
176
+ * expanding, `collapsed` will be `false`. You can use this for some "cleanup"
177
+ * like applying new styles when the container is fully expanded.
178
+ */
169
179
  onCollapseTransitionEnd?: (collapsed: boolean) => void;
180
+ /** Class name for the underlying DOM element. */
170
181
  className?: string;
171
-
172
- // This is mostly useful for details/summary component where ssrStyle is not
173
- // needed (as details are hidden natively) and can mess up with the default
174
- // native behavior of the browser when JS fails to load or is disabled
182
+ /**
183
+ * This is mostly useful for details/summary component where ssrStyle is not
184
+ * needed (as details are hidden natively) and can mess up with the browser's
185
+ * native behavior when JS fails to load or is disabled
186
+ */
175
187
  disableSSRStyle?: boolean;
176
188
  };
177
189
 
@@ -212,6 +224,8 @@ function CollapsibleBase({
212
224
 
213
225
  function CollapsibleLazy({collapsed, ...props}: CollapsibleBaseProps) {
214
226
  const [mounted, setMounted] = useState(!collapsed);
227
+ // Updated in effect so that first expansion transition can work
228
+ const [lazyCollapsed, setLazyCollapsed] = useState(collapsed);
215
229
 
216
230
  useLayoutEffect(() => {
217
231
  if (!collapsed) {
@@ -219,8 +233,6 @@ function CollapsibleLazy({collapsed, ...props}: CollapsibleBaseProps) {
219
233
  }
220
234
  }, [collapsed]);
221
235
 
222
- // lazyCollapsed updated in effect so that first expansion transition can work
223
- const [lazyCollapsed, setLazyCollapsed] = useState(collapsed);
224
236
  useLayoutEffect(() => {
225
237
  if (mounted) {
226
238
  setLazyCollapsed(collapsed);
@@ -233,14 +245,20 @@ function CollapsibleLazy({collapsed, ...props}: CollapsibleBaseProps) {
233
245
  }
234
246
 
235
247
  type CollapsibleProps = CollapsibleBaseProps & {
236
- // Lazy allows to delay the rendering when collapsed => it will render
237
- // children only after hydration, on first expansion
238
- // Required prop: it forces to think if content should be server-rendered
239
- // or not! This has perf impact on the SSR output and html file sizes
240
- // See https://github.com/facebook/docusaurus/issues/4753
248
+ /**
249
+ * Delay rendering of the content till first expansion. Marked as required to
250
+ * force us to think if content should be server-rendered or not. This has
251
+ * perf impact since it reduces html file sizes, but could undermine SEO.
252
+ * @see https://github.com/facebook/docusaurus/issues/4753
253
+ */
241
254
  lazy: boolean;
242
255
  };
243
256
 
257
+ /**
258
+ * A headless component providing smooth and uniform collapsing behavior. The
259
+ * component will be invisible (zero height) when collapsed. Doesn't provide
260
+ * interactivity by itself: collapse state is toggled through props.
261
+ */
244
262
  export function Collapsible({lazy, ...props}: CollapsibleProps): JSX.Element {
245
263
  const Comp = lazy ? CollapsibleLazy : CollapsibleBase;
246
264
  return <Comp {...props} />;
@@ -6,10 +6,10 @@
6
6
  */
7
7
 
8
8
  import React, {
9
- type ComponentProps,
10
- type ReactElement,
11
9
  useRef,
12
10
  useState,
11
+ type ComponentProps,
12
+ type ReactElement,
13
13
  } from 'react';
14
14
  import useIsBrowser from '@docusaurus/useIsBrowser';
15
15
  import clsx from 'clsx';
@@ -31,10 +31,15 @@ function hasParent(node: HTMLElement | null, parent: HTMLElement): boolean {
31
31
  }
32
32
 
33
33
  export type DetailsProps = {
34
+ /** Summary is provided as props, including the wrapping `<summary>` tag */
34
35
  summary?: ReactElement;
35
36
  } & ComponentProps<'details'>;
36
37
 
37
- export default function Details({
38
+ /**
39
+ * A mostly un-styled `<details>` element with smooth collapsing. Provides some
40
+ * very lightweight styles, but you should bring your UI.
41
+ */
42
+ export function Details({
38
43
  summary,
39
44
  children,
40
45
  ...props
@@ -45,8 +50,8 @@ export default function Details({
45
50
  const {collapsed, setCollapsed} = useCollapsible({
46
51
  initialState: !props.open,
47
52
  });
48
- // Use a separate prop because it must be set only after animation completes
49
- // Otherwise close anim won't work
53
+ // Use a separate state for the actual details prop, because it must be set
54
+ // only after animation completes, otherwise close animations won't work
50
55
  const [open, setOpen] = useState(props.open);
51
56
 
52
57
  return (
@@ -58,7 +63,7 @@ export default function Details({
58
63
  data-collapsed={collapsed}
59
64
  className={clsx(
60
65
  styles.details,
61
- {[styles.isBrowser]: isBrowser},
66
+ isBrowser && styles.isBrowser,
62
67
  props.className,
63
68
  )}
64
69
  onMouseDown={(e) => {
@@ -82,10 +87,12 @@ export default function Details({
82
87
  setOpen(true);
83
88
  } else {
84
89
  setCollapsed(true);
85
- // setOpen(false); // Don't do this, it breaks close animation!
90
+ // Don't do this, it breaks close animation!
91
+ // setOpen(false);
86
92
  }
87
93
  }}>
88
- {summary}
94
+ {/* eslint-disable-next-line @docusaurus/no-untranslated-text */}
95
+ {summary || <summary>Details</summary>}
89
96
 
90
97
  <Collapsible
91
98
  lazy={false} // Content might matter for SEO in this case
@@ -56,3 +56,7 @@ CSS variables, meant to be overridden by final theme
56
56
  border-top: 1px solid var(--docusaurus-details-decoration-color);
57
57
  padding-top: 1rem;
58
58
  }
59
+
60
+ .collapsibleContent > *:last-child {
61
+ margin-bottom: 0;
62
+ }
@@ -10,13 +10,13 @@ import React, {
10
10
  useEffect,
11
11
  useCallback,
12
12
  useMemo,
13
- type ReactNode,
14
13
  useContext,
15
- createContext,
14
+ type ReactNode,
16
15
  } from 'react';
17
16
  import useIsBrowser from '@docusaurus/useIsBrowser';
18
- import {createStorageSlot} from './storageUtils';
19
- import {useThemeConfig} from './useThemeConfig';
17
+ import {createStorageSlot} from '../utils/storageUtils';
18
+ import {ReactContextError} from '../utils/reactUtils';
19
+ import {useThemeConfig} from '../utils/useThemeConfig';
20
20
 
21
21
  export const AnnouncementBarDismissStorageKey =
22
22
  'docusaurus.announcement.dismiss';
@@ -32,12 +32,18 @@ const isDismissedInStorage = () =>
32
32
  const setDismissedInStorage = (bool: boolean) =>
33
33
  AnnouncementBarDismissStorage.set(String(bool));
34
34
 
35
- type AnnouncementBarAPI = {
35
+ type ContextValue = {
36
+ /** Whether the announcement bar should be displayed. */
36
37
  readonly isActive: boolean;
38
+ /**
39
+ * Callback fired when the user closes the announcement. Will be saved.
40
+ */
37
41
  readonly close: () => void;
38
42
  };
39
43
 
40
- const useAnnouncementBarContextValue = (): AnnouncementBarAPI => {
44
+ const Context = React.createContext<ContextValue | null>(null);
45
+
46
+ function useContextValue(): ContextValue {
41
47
  const {announcementBar} = useThemeConfig();
42
48
  const isBrowser = useIsBrowser();
43
49
 
@@ -66,7 +72,7 @@ const useAnnouncementBarContextValue = (): AnnouncementBarAPI => {
66
72
 
67
73
  let viewedId = IdStorage.get();
68
74
 
69
- // retrocompatibility due to spelling mistake of default id
75
+ // Retrocompatibility due to spelling mistake of default id
70
76
  // see https://github.com/facebook/docusaurus/issues/3338
71
77
  // cSpell:ignore annoucement
72
78
  if (viewedId === 'annoucement-bar') {
@@ -93,29 +99,21 @@ const useAnnouncementBarContextValue = (): AnnouncementBarAPI => {
93
99
  }),
94
100
  [announcementBar, isClosed, handleClose],
95
101
  );
96
- };
97
-
98
- const AnnouncementBarContext = createContext<AnnouncementBarAPI | null>(null);
102
+ }
99
103
 
100
104
  export function AnnouncementBarProvider({
101
105
  children,
102
106
  }: {
103
107
  children: ReactNode;
104
108
  }): JSX.Element {
105
- const value = useAnnouncementBarContextValue();
106
- return (
107
- <AnnouncementBarContext.Provider value={value}>
108
- {children}
109
- </AnnouncementBarContext.Provider>
110
- );
109
+ const value = useContextValue();
110
+ return <Context.Provider value={value}>{children}</Context.Provider>;
111
111
  }
112
112
 
113
- export const useAnnouncementBar = (): AnnouncementBarAPI => {
114
- const api = useContext(AnnouncementBarContext);
113
+ export function useAnnouncementBar(): ContextValue {
114
+ const api = useContext(Context);
115
115
  if (!api) {
116
- throw new Error(
117
- 'useAnnouncementBar(): AnnouncementBar not found in React context: make sure to use the AnnouncementBarProvider on top of the tree',
118
- );
116
+ throw new ReactContextError('AnnouncementBarProvider');
119
117
  }
120
118
  return api;
121
- };
119
+ }