@docusaurus/theme-common 2.0.0-beta.17 → 2.0.0-beta.18

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 (254) hide show
  1. package/lib/components/Collapsible/index.d.ts +32 -4
  2. package/lib/components/Collapsible/index.d.ts.map +1 -1
  3. package/lib/components/Collapsible/index.js +12 -3
  4. package/lib/components/Collapsible/index.js.map +1 -1
  5. package/lib/components/Details/index.d.ts +6 -1
  6. package/lib/components/Details/index.d.ts.map +1 -1
  7. package/lib/components/Details/index.js +8 -4
  8. package/lib/components/Details/index.js.map +1 -1
  9. package/lib/{utils/announcementBarUtils.d.ts → contexts/announcementBar.d.ts} +7 -3
  10. package/lib/contexts/announcementBar.d.ts.map +1 -0
  11. package/lib/{utils/announcementBarUtils.js → contexts/announcementBar.js} +11 -11
  12. package/lib/contexts/announcementBar.js.map +1 -0
  13. package/lib/{utils/colorModeUtils.d.ts → contexts/colorMode.d.ts} +12 -3
  14. package/lib/contexts/colorMode.d.ts.map +1 -0
  15. package/lib/contexts/colorMode.js +114 -0
  16. package/lib/contexts/colorMode.js.map +1 -0
  17. package/lib/contexts/docSidebarItemsExpandedState.d.ts +31 -0
  18. package/lib/contexts/docSidebarItemsExpandedState.d.ts.map +1 -0
  19. package/lib/{utils → contexts}/docSidebarItemsExpandedState.js +9 -4
  20. package/lib/contexts/docSidebarItemsExpandedState.js.map +1 -0
  21. package/lib/contexts/docsPreferredVersion.d.ts +28 -0
  22. package/lib/contexts/docsPreferredVersion.d.ts.map +1 -0
  23. package/lib/contexts/docsPreferredVersion.js +125 -0
  24. package/lib/contexts/docsPreferredVersion.js.map +1 -0
  25. package/lib/contexts/docsSidebar.d.ts +20 -0
  26. package/lib/contexts/docsSidebar.d.ts.map +1 -0
  27. package/lib/contexts/docsSidebar.js +29 -0
  28. package/lib/contexts/docsSidebar.js.map +1 -0
  29. package/lib/contexts/docsVersion.d.ts +20 -0
  30. package/lib/contexts/docsVersion.d.ts.map +1 -0
  31. package/lib/contexts/docsVersion.js +26 -0
  32. package/lib/contexts/docsVersion.js.map +1 -0
  33. package/lib/contexts/navbarMobileSidebar.d.ts +31 -0
  34. package/lib/contexts/navbarMobileSidebar.d.ts.map +1 -0
  35. package/lib/contexts/navbarMobileSidebar.js +56 -0
  36. package/lib/contexts/navbarMobileSidebar.js.map +1 -0
  37. package/lib/contexts/navbarSecondaryMenu.d.ts +38 -0
  38. package/lib/contexts/navbarSecondaryMenu.d.ts.map +1 -0
  39. package/lib/contexts/navbarSecondaryMenu.js +93 -0
  40. package/lib/contexts/navbarSecondaryMenu.js.map +1 -0
  41. package/lib/{utils/tabGroupChoiceUtils.d.ts → contexts/tabGroupChoice.d.ts} +5 -3
  42. package/lib/contexts/tabGroupChoice.d.ts.map +1 -0
  43. package/lib/{utils/tabGroupChoiceUtils.js → contexts/tabGroupChoice.js} +14 -20
  44. package/lib/contexts/tabGroupChoice.js.map +1 -0
  45. package/lib/hooks/useHideableNavbar.d.ts +7 -3
  46. package/lib/hooks/useHideableNavbar.d.ts.map +1 -1
  47. package/lib/hooks/useHideableNavbar.js +8 -6
  48. package/lib/hooks/useHideableNavbar.js.map +1 -1
  49. package/lib/hooks/useKeyboardNavigation.d.ts +11 -1
  50. package/lib/hooks/useKeyboardNavigation.d.ts.map +1 -1
  51. package/lib/hooks/useKeyboardNavigation.js +11 -3
  52. package/lib/hooks/useKeyboardNavigation.js.map +1 -1
  53. package/lib/hooks/useLockBodyScroll.d.ts +5 -1
  54. package/lib/hooks/useLockBodyScroll.d.ts.map +1 -1
  55. package/lib/hooks/useLockBodyScroll.js +5 -1
  56. package/lib/hooks/useLockBodyScroll.js.map +1 -1
  57. package/lib/hooks/usePrismTheme.d.ts +5 -1
  58. package/lib/hooks/usePrismTheme.d.ts.map +1 -1
  59. package/lib/hooks/usePrismTheme.js +8 -4
  60. package/lib/hooks/usePrismTheme.js.map +1 -1
  61. package/lib/hooks/useSearchPage.d.ts +15 -4
  62. package/lib/hooks/useSearchPage.d.ts.map +1 -1
  63. package/lib/hooks/useSearchPage.js +3 -2
  64. package/lib/hooks/useSearchPage.js.map +1 -1
  65. package/lib/hooks/useTOCHighlight.d.ts +25 -0
  66. package/lib/hooks/useTOCHighlight.d.ts.map +1 -0
  67. package/lib/{utils → hooks}/useTOCHighlight.js +13 -9
  68. package/lib/hooks/useTOCHighlight.js.map +1 -0
  69. package/lib/hooks/useWindowSize.d.ts +14 -1
  70. package/lib/hooks/useWindowSize.d.ts.map +1 -1
  71. package/lib/hooks/useWindowSize.js +14 -11
  72. package/lib/hooks/useWindowSize.js.map +1 -1
  73. package/lib/index.d.ts +26 -30
  74. package/lib/index.d.ts.map +1 -1
  75. package/lib/index.js +26 -24
  76. package/lib/index.js.map +1 -1
  77. package/lib/utils/ThemeClassNames.d.ts +7 -0
  78. package/lib/utils/ThemeClassNames.d.ts.map +1 -1
  79. package/lib/utils/ThemeClassNames.js +7 -4
  80. package/lib/utils/ThemeClassNames.js.map +1 -1
  81. package/lib/utils/codeBlockUtils.d.ts +25 -2
  82. package/lib/utils/codeBlockUtils.d.ts.map +1 -1
  83. package/lib/utils/codeBlockUtils.js +36 -35
  84. package/lib/utils/codeBlockUtils.js.map +1 -1
  85. package/lib/utils/docsUtils.d.ts +25 -18
  86. package/lib/utils/docsUtils.d.ts.map +1 -1
  87. package/lib/utils/docsUtils.js +38 -56
  88. package/lib/utils/docsUtils.js.map +1 -1
  89. package/lib/utils/footerUtils.d.ts +13 -0
  90. package/lib/utils/footerUtils.d.ts.map +1 -0
  91. package/lib/utils/footerUtils.js +14 -0
  92. package/lib/utils/footerUtils.js.map +1 -0
  93. package/lib/utils/generalUtils.d.ts +4 -1
  94. package/lib/utils/generalUtils.d.ts.map +1 -1
  95. package/lib/utils/generalUtils.js +6 -3
  96. package/lib/utils/generalUtils.js.map +1 -1
  97. package/lib/utils/historyUtils.d.ts +1 -7
  98. package/lib/utils/historyUtils.d.ts.map +1 -1
  99. package/lib/utils/historyUtils.js +10 -13
  100. package/lib/utils/historyUtils.js.map +1 -1
  101. package/lib/utils/jsUtils.d.ts +1 -1
  102. package/lib/utils/jsUtils.js +1 -1
  103. package/lib/utils/metadataUtils.d.ts +38 -0
  104. package/lib/utils/metadataUtils.d.ts.map +1 -0
  105. package/lib/utils/metadataUtils.js +61 -0
  106. package/lib/utils/metadataUtils.js.map +1 -0
  107. package/lib/utils/navbarUtils.d.ts +21 -0
  108. package/lib/utils/navbarUtils.d.ts.map +1 -0
  109. package/lib/utils/navbarUtils.js +30 -0
  110. package/lib/utils/navbarUtils.js.map +1 -0
  111. package/lib/utils/reactUtils.d.ts +16 -5
  112. package/lib/utils/reactUtils.d.ts.map +1 -1
  113. package/lib/utils/reactUtils.js +28 -7
  114. package/lib/utils/reactUtils.js.map +1 -1
  115. package/lib/utils/regexpUtils.d.ts +2 -1
  116. package/lib/utils/regexpUtils.d.ts.map +1 -1
  117. package/lib/utils/regexpUtils.js +2 -1
  118. package/lib/utils/regexpUtils.js.map +1 -1
  119. package/lib/utils/routesUtils.d.ts +14 -2
  120. package/lib/utils/routesUtils.d.ts.map +1 -1
  121. package/lib/utils/routesUtils.js +20 -7
  122. package/lib/utils/routesUtils.js.map +1 -1
  123. package/lib/utils/scrollUtils.d.ts +32 -26
  124. package/lib/utils/scrollUtils.d.ts.map +1 -1
  125. package/lib/utils/scrollUtils.js +30 -17
  126. package/lib/utils/scrollUtils.js.map +1 -1
  127. package/lib/utils/searchUtils.d.ts +12 -0
  128. package/lib/utils/searchUtils.d.ts.map +1 -1
  129. package/lib/utils/searchUtils.js +34 -0
  130. package/lib/utils/searchUtils.js.map +1 -1
  131. package/lib/utils/storageUtils.d.ts +10 -7
  132. package/lib/utils/storageUtils.d.ts.map +1 -1
  133. package/lib/utils/storageUtils.js +20 -12
  134. package/lib/utils/storageUtils.js.map +1 -1
  135. package/lib/utils/tagsUtils.d.ts +5 -2
  136. package/lib/utils/tagsUtils.d.ts.map +1 -1
  137. package/lib/utils/tagsUtils.js +7 -4
  138. package/lib/utils/tagsUtils.js.map +1 -1
  139. package/lib/utils/tocUtils.d.ts +16 -0
  140. package/lib/utils/tocUtils.d.ts.map +1 -1
  141. package/lib/utils/tocUtils.js +17 -6
  142. package/lib/utils/tocUtils.js.map +1 -1
  143. package/lib/utils/useAlternatePageUtils.d.ts +20 -1
  144. package/lib/utils/useAlternatePageUtils.d.ts.map +1 -1
  145. package/lib/utils/useAlternatePageUtils.js +6 -3
  146. package/lib/utils/useAlternatePageUtils.js.map +1 -1
  147. package/lib/utils/useLocalPathname.d.ts +5 -0
  148. package/lib/utils/useLocalPathname.d.ts.map +1 -1
  149. package/lib/utils/useLocalPathname.js +6 -4
  150. package/lib/utils/useLocalPathname.js.map +1 -1
  151. package/lib/utils/useLocationChange.d.ts +7 -5
  152. package/lib/utils/useLocationChange.d.ts.map +1 -1
  153. package/lib/utils/useLocationChange.js +6 -2
  154. package/lib/utils/useLocationChange.js.map +1 -1
  155. package/lib/utils/usePluralForm.d.ts +11 -0
  156. package/lib/utils/usePluralForm.d.ts.map +1 -1
  157. package/lib/utils/usePluralForm.js +19 -24
  158. package/lib/utils/usePluralForm.js.map +1 -1
  159. package/lib/utils/useThemeConfig.d.ts +21 -11
  160. package/lib/utils/useThemeConfig.d.ts.map +1 -1
  161. package/lib/utils/useThemeConfig.js +3 -0
  162. package/lib/utils/useThemeConfig.js.map +1 -1
  163. package/package.json +8 -9
  164. package/src/components/Collapsible/index.tsx +40 -22
  165. package/src/components/Details/index.tsx +11 -6
  166. package/src/{utils/announcementBarUtils.tsx → contexts/announcementBar.tsx} +17 -18
  167. package/src/contexts/colorMode.tsx +176 -0
  168. package/src/contexts/docSidebarItemsExpandedState.tsx +55 -0
  169. package/src/contexts/docsPreferredVersion.tsx +250 -0
  170. package/src/contexts/docsSidebar.tsx +42 -0
  171. package/src/contexts/docsVersion.tsx +36 -0
  172. package/src/contexts/navbarMobileSidebar.tsx +99 -0
  173. package/src/contexts/navbarSecondaryMenu.tsx +170 -0
  174. package/src/{utils/tabGroupChoiceUtils.tsx → contexts/tabGroupChoice.tsx} +21 -28
  175. package/src/hooks/useHideableNavbar.ts +11 -11
  176. package/src/hooks/useKeyboardNavigation.ts +11 -3
  177. package/src/hooks/useLockBodyScroll.ts +5 -2
  178. package/src/hooks/usePrismTheme.ts +8 -4
  179. package/src/hooks/useSearchPage.ts +18 -5
  180. package/src/{utils → hooks}/useTOCHighlight.ts +21 -12
  181. package/src/hooks/useWindowSize.ts +14 -12
  182. package/src/index.ts +68 -56
  183. package/src/utils/ThemeClassNames.ts +10 -6
  184. package/src/utils/codeBlockUtils.ts +49 -47
  185. package/src/utils/docsUtils.tsx +48 -99
  186. package/src/utils/footerUtils.ts +18 -0
  187. package/src/utils/generalUtils.ts +6 -3
  188. package/src/utils/historyUtils.ts +11 -17
  189. package/src/utils/jsUtils.ts +1 -1
  190. package/src/utils/metadataUtils.tsx +115 -0
  191. package/src/utils/navbarUtils.tsx +40 -0
  192. package/src/utils/reactUtils.tsx +31 -8
  193. package/src/utils/regexpUtils.ts +2 -1
  194. package/src/utils/routesUtils.ts +27 -8
  195. package/src/utils/scrollUtils.tsx +44 -45
  196. package/src/utils/searchUtils.ts +49 -0
  197. package/src/utils/storageUtils.ts +21 -13
  198. package/src/utils/tagsUtils.ts +14 -7
  199. package/src/utils/tocUtils.ts +18 -7
  200. package/src/utils/useAlternatePageUtils.ts +17 -5
  201. package/src/utils/useLocalPathname.ts +6 -4
  202. package/src/utils/useLocationChange.ts +12 -10
  203. package/src/utils/usePluralForm.ts +27 -24
  204. package/src/utils/useThemeConfig.ts +16 -11
  205. package/lib/utils/announcementBarUtils.d.ts.map +0 -1
  206. package/lib/utils/announcementBarUtils.js.map +0 -1
  207. package/lib/utils/colorModeUtils.d.ts.map +0 -1
  208. package/lib/utils/colorModeUtils.js +0 -107
  209. package/lib/utils/colorModeUtils.js.map +0 -1
  210. package/lib/utils/docSidebarItemsExpandedState.d.ts +0 -17
  211. package/lib/utils/docSidebarItemsExpandedState.d.ts.map +0 -1
  212. package/lib/utils/docSidebarItemsExpandedState.js.map +0 -1
  213. package/lib/utils/docsPreferredVersion/DocsPreferredVersionProvider.d.ts +0 -22
  214. package/lib/utils/docsPreferredVersion/DocsPreferredVersionProvider.d.ts.map +0 -1
  215. package/lib/utils/docsPreferredVersion/DocsPreferredVersionProvider.js +0 -92
  216. package/lib/utils/docsPreferredVersion/DocsPreferredVersionProvider.js.map +0 -1
  217. package/lib/utils/docsPreferredVersion/DocsPreferredVersionStorage.d.ts +0 -14
  218. package/lib/utils/docsPreferredVersion/DocsPreferredVersionStorage.d.ts.map +0 -1
  219. package/lib/utils/docsPreferredVersion/DocsPreferredVersionStorage.js +0 -19
  220. package/lib/utils/docsPreferredVersion/DocsPreferredVersionStorage.js.map +0 -1
  221. package/lib/utils/docsPreferredVersion/useDocsPreferredVersion.d.ts +0 -14
  222. package/lib/utils/docsPreferredVersion/useDocsPreferredVersion.d.ts.map +0 -1
  223. package/lib/utils/docsPreferredVersion/useDocsPreferredVersion.js +0 -41
  224. package/lib/utils/docsPreferredVersion/useDocsPreferredVersion.js.map +0 -1
  225. package/lib/utils/mobileSecondaryMenu.d.ts +0 -21
  226. package/lib/utils/mobileSecondaryMenu.d.ts.map +0 -1
  227. package/lib/utils/mobileSecondaryMenu.js +0 -51
  228. package/lib/utils/mobileSecondaryMenu.js.map +0 -1
  229. package/lib/utils/pathUtils.d.ts +0 -8
  230. package/lib/utils/pathUtils.d.ts.map +0 -1
  231. package/lib/utils/pathUtils.js +0 -14
  232. package/lib/utils/pathUtils.js.map +0 -1
  233. package/lib/utils/tabGroupChoiceUtils.d.ts.map +0 -1
  234. package/lib/utils/tabGroupChoiceUtils.js.map +0 -1
  235. package/lib/utils/useContextualSearchFilters.d.ts +0 -12
  236. package/lib/utils/useContextualSearchFilters.d.ts.map +0 -1
  237. package/lib/utils/useContextualSearchFilters.js +0 -36
  238. package/lib/utils/useContextualSearchFilters.js.map +0 -1
  239. package/lib/utils/usePrevious.d.ts +0 -8
  240. package/lib/utils/usePrevious.d.ts.map +0 -1
  241. package/lib/utils/usePrevious.js +0 -16
  242. package/lib/utils/usePrevious.js.map +0 -1
  243. package/lib/utils/useTOCHighlight.d.ts +0 -14
  244. package/lib/utils/useTOCHighlight.d.ts.map +0 -1
  245. package/lib/utils/useTOCHighlight.js.map +0 -1
  246. package/src/utils/colorModeUtils.tsx +0 -158
  247. package/src/utils/docSidebarItemsExpandedState.tsx +0 -40
  248. package/src/utils/docsPreferredVersion/DocsPreferredVersionProvider.tsx +0 -166
  249. package/src/utils/docsPreferredVersion/DocsPreferredVersionStorage.ts +0 -33
  250. package/src/utils/docsPreferredVersion/useDocsPreferredVersion.ts +0 -70
  251. package/src/utils/mobileSecondaryMenu.tsx +0 -114
  252. package/src/utils/pathUtils.ts +0 -19
  253. package/src/utils/useContextualSearchFilters.ts +0 -53
  254. package/src/utils/usePrevious.ts +0 -19
@@ -5,32 +5,60 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React, { type Dispatch, type SetStateAction, type ReactNode } from 'react';
8
- export declare type UseCollapsibleConfig = {
8
+ /**
9
+ * This hook is a very thin wrapper around a `useState`.
10
+ */
11
+ export declare function useCollapsible({ initialState, }: {
12
+ /** The initial state. Will be non-collapsed by default. */
9
13
  initialState: boolean | (() => boolean);
10
- };
11
- export declare type UseCollapsibleReturns = {
14
+ }): {
12
15
  collapsed: boolean;
13
16
  setCollapsed: Dispatch<SetStateAction<boolean>>;
14
17
  toggleCollapsed: () => void;
15
18
  };
16
- export declare function useCollapsible({ initialState, }: UseCollapsibleConfig): UseCollapsibleReturns;
17
19
  declare type CollapsibleAnimationConfig = {
18
20
  duration?: number;
19
21
  easing?: string;
20
22
  };
21
23
  declare type CollapsibleElementType = React.ElementType<Pick<React.HTMLAttributes<unknown>, 'className' | 'onTransitionEnd' | 'style'>>;
22
24
  declare type CollapsibleBaseProps = {
25
+ /** The actual DOM element to be used in the markup. */
23
26
  as?: CollapsibleElementType;
27
+ /** Initial collapsed state. */
24
28
  collapsed: boolean;
25
29
  children: ReactNode;
30
+ /** Configuration of animation, like `duration` and `easing` */
26
31
  animation?: CollapsibleAnimationConfig;
32
+ /**
33
+ * A callback fired when the collapse transition animation ends. Receives
34
+ * the **new** collapsed state: e.g. when
35
+ * expanding, `collapsed` will be `false`. You can use this for some "cleanup"
36
+ * like applying new styles when the container is fully expanded.
37
+ */
27
38
  onCollapseTransitionEnd?: (collapsed: boolean) => void;
39
+ /** Class name for the underlying DOM element. */
28
40
  className?: string;
41
+ /**
42
+ * This is mostly useful for details/summary component where ssrStyle is not
43
+ * needed (as details are hidden natively) and can mess up with the browser's
44
+ * native behavior when JS fails to load or is disabled
45
+ */
29
46
  disableSSRStyle?: boolean;
30
47
  };
31
48
  declare type CollapsibleProps = CollapsibleBaseProps & {
49
+ /**
50
+ * Delay rendering of the content till first expansion. Marked as required to
51
+ * force us to think if content should be server-rendered or not. This has
52
+ * perf impact since it reduces html file sizes, but could undermine SEO.
53
+ * @see https://github.com/facebook/docusaurus/issues/4753
54
+ */
32
55
  lazy: boolean;
33
56
  };
57
+ /**
58
+ * A headless component providing smooth and uniform collapsing behavior. The
59
+ * component will be invisible (zero height) when collapsed. Doesn't provide
60
+ * interactivity by itself: collapse state is toggled through props.
61
+ */
34
62
  export declare function Collapsible({ lazy, ...props }: CollapsibleProps): JSX.Element;
35
63
  export {};
36
64
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Collapsible/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,EAMZ,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAIf,oBAAY,oBAAoB,GAAG;IACjC,YAAY,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;CACzC,CAAC;AAEF,oBAAY,qBAAqB,GAAG;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAGF,wBAAgB,cAAc,CAAC,EAC7B,YAAY,GACb,EAAE,oBAAoB,GAAG,qBAAqB,CAY9C;AAgCD,aAAK,0BAA0B,GAAG;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAoEF,aAAK,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAC7C,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,iBAAiB,GAAG,OAAO,CAAC,CAC/E,CAAC;AAWF,aAAK,oBAAoB,GAAG;IAC1B,EAAE,CAAC,EAAE,sBAAsB,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IAKnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AA2DF,aAAK,gBAAgB,GAAG,oBAAoB,GAAG;IAM7C,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAAC,IAAI,EAAE,GAAG,KAAK,EAAC,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAG3E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Collapsible/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,EAOZ,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAC7B,YAAY,GACb,EAAE;IACD,2DAA2D;IAC3D,YAAY,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;CACzC,GAAG;IACF,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAYA;AAgCD,aAAK,0BAA0B,GAAG;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAoEF,aAAK,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAC7C,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,iBAAiB,GAAG,OAAO,CAAC,CAC/E,CAAC;AAaF,aAAK,oBAAoB,GAAG;IAC1B,uDAAuD;IACvD,EAAE,CAAC,EAAE,sBAAsB,CAAC;IAC5B,+BAA+B;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AA2DF,aAAK,gBAAgB,GAAG,oBAAoB,GAAG;IAC7C;;;;;OAKG;IACH,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAC,IAAI,EAAE,GAAG,KAAK,EAAC,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAG3E"}
@@ -7,7 +7,9 @@
7
7
  import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment';
8
8
  import React, { useState, useEffect, useRef, useCallback, useLayoutEffect, } from 'react';
9
9
  const DefaultAnimationEasing = 'ease-in-out';
10
- // This hook just define the state
10
+ /**
11
+ * This hook is a very thin wrapper around a `useState`.
12
+ */
11
13
  export function useCollapsible({ initialState, }) {
12
14
  const [collapsed, setCollapsed] = useState(initialState ?? false);
13
15
  const toggleCollapsed = useCallback(() => {
@@ -93,8 +95,10 @@ function useCollapseAnimation({ collapsibleRef, collapsed, animation, }) {
93
95
  return startAnimation();
94
96
  }, [collapsibleRef, collapsed, animation]);
95
97
  }
96
- // Prevent hydration layout shift before animations are handled imperatively
97
- // with JS
98
+ /**
99
+ * Prevent hydration layout shift before animations are handled imperatively
100
+ * with JS
101
+ */
98
102
  function getSSRStyle(collapsed) {
99
103
  if (ExecutionEnvironment.canUseDOM) {
100
104
  return undefined;
@@ -136,6 +140,11 @@ function CollapsibleLazy({ collapsed, ...props }) {
136
140
  }, [mounted, collapsed]);
137
141
  return mounted ? (React.createElement(CollapsibleBase, { ...props, collapsed: lazyCollapsed })) : null;
138
142
  }
143
+ /**
144
+ * A headless component providing smooth and uniform collapsing behavior. The
145
+ * component will be invisible (zero height) when collapsed. Doesn't provide
146
+ * interactivity by itself: collapse state is toggled through props.
147
+ */
139
148
  export function Collapsible({ lazy, ...props }) {
140
149
  const Comp = lazy ? CollapsibleLazy : CollapsibleBase;
141
150
  return React.createElement(Comp, { ...props });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Collapsible/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Collapsible/index.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,12 @@
6
6
  */
7
7
  import { type ComponentProps, type ReactElement } from 'react';
8
8
  export declare type DetailsProps = {
9
+ /** Summary is provided as props, including the wrapping `<summary>` tag */
9
10
  summary?: ReactElement;
10
11
  } & ComponentProps<'details'>;
11
- export default function Details({ summary, children, ...props }: DetailsProps): JSX.Element;
12
+ /**
13
+ * A mostly un-styled `<details>` element with smooth collapsing. Provides some
14
+ * very lightweight styles, but you should bring your UI.
15
+ */
16
+ export declare function Details({ summary, children, ...props }: DetailsProps): JSX.Element;
12
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Details/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EACZ,KAAK,cAAc,EACnB,KAAK,YAAY,EAGlB,MAAM,OAAO,CAAC;AAoBf,oBAAY,YAAY,GAAG;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AAE9B,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CA6D5B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Details/index.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EAGZ,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AAoBf,oBAAY,YAAY,GAAG;IACzB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AAE9B;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,YAAY,GAAG,GAAG,CAAC,OAAO,CA6D5B"}
@@ -21,18 +21,22 @@ function hasParent(node, parent) {
21
21
  }
22
22
  return node === parent || hasParent(node.parentElement, parent);
23
23
  }
24
- export default function Details({ summary, children, ...props }) {
24
+ /**
25
+ * A mostly un-styled `<details>` element with smooth collapsing. Provides some
26
+ * very lightweight styles, but you should bring your UI.
27
+ */
28
+ export function Details({ summary, children, ...props }) {
25
29
  const isBrowser = useIsBrowser();
26
30
  const detailsRef = useRef(null);
27
31
  const { collapsed, setCollapsed } = useCollapsible({
28
32
  initialState: !props.open,
29
33
  });
30
- // Use a separate prop because it must be set only after animation completes
31
- // Otherwise close anim won't work
34
+ // Use a separate state for the actual details prop, because it must be set
35
+ // only after animation completes, otherwise close animations won't work
32
36
  const [open, setOpen] = useState(props.open);
33
37
  return (
34
38
  // eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions
35
- React.createElement("details", { ...props, ref: detailsRef, open: open, "data-collapsed": collapsed, className: clsx(styles.details, { [styles.isBrowser]: isBrowser }, props.className), onMouseDown: (e) => {
39
+ React.createElement("details", { ...props, ref: detailsRef, open: open, "data-collapsed": collapsed, className: clsx(styles.details, isBrowser && styles.isBrowser, props.className), onMouseDown: (e) => {
36
40
  const target = e.target;
37
41
  // Prevent a double-click to highlight summary text
38
42
  if (isInSummary(target) && e.detail > 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Details/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Details/index.tsx"],"names":[],"mappings":"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"}
@@ -6,13 +6,17 @@
6
6
  */
7
7
  import { type ReactNode } from 'react';
8
8
  export declare const AnnouncementBarDismissStorageKey = "docusaurus.announcement.dismiss";
9
- declare type AnnouncementBarAPI = {
9
+ declare type ContextValue = {
10
+ /** Whether the announcement bar should be displayed. */
10
11
  readonly isActive: boolean;
12
+ /**
13
+ * Callback fired when the user closes the announcement. Will be saved.
14
+ */
11
15
  readonly close: () => void;
12
16
  };
13
17
  export declare function AnnouncementBarProvider({ children, }: {
14
18
  children: ReactNode;
15
19
  }): JSX.Element;
16
- export declare function useAnnouncementBar(): AnnouncementBarAPI;
20
+ export declare function useAnnouncementBar(): ContextValue;
17
21
  export {};
18
- //# sourceMappingURL=announcementBarUtils.d.ts.map
22
+ //# sourceMappingURL=announcementBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"announcementBar.d.ts","sourceRoot":"","sources":["../../src/contexts/announcementBar.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EAMZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAMf,eAAO,MAAM,gCAAgC,oCACV,CAAC;AAapC,aAAK,YAAY,GAAG;IAClB,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;CAC5B,CAAC;AA8DF,wBAAgB,uBAAuB,CAAC,EACtC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,GAAG,CAAC,OAAO,CAGd;AAED,wBAAgB,kBAAkB,IAAI,YAAY,CAMjD"}
@@ -4,18 +4,19 @@
4
4
  * This source code is licensed under the MIT license found in the
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
- import React, { useState, useEffect, useCallback, useMemo, useContext, createContext, } from 'react';
7
+ import React, { useState, useEffect, useCallback, useMemo, useContext, } from 'react';
8
8
  import useIsBrowser from '@docusaurus/useIsBrowser';
9
- import { createStorageSlot } from './storageUtils';
10
- import { ReactContextError } from './reactUtils';
11
- import { useThemeConfig } from './useThemeConfig';
9
+ import { createStorageSlot } from '../utils/storageUtils';
10
+ import { ReactContextError } from '../utils/reactUtils';
11
+ import { useThemeConfig } from '../utils/useThemeConfig';
12
12
  export const AnnouncementBarDismissStorageKey = 'docusaurus.announcement.dismiss';
13
13
  const AnnouncementBarIdStorageKey = 'docusaurus.announcement.id';
14
14
  const AnnouncementBarDismissStorage = createStorageSlot(AnnouncementBarDismissStorageKey);
15
15
  const IdStorage = createStorageSlot(AnnouncementBarIdStorageKey);
16
16
  const isDismissedInStorage = () => AnnouncementBarDismissStorage.get() === 'true';
17
17
  const setDismissedInStorage = (bool) => AnnouncementBarDismissStorage.set(String(bool));
18
- const useAnnouncementBarContextValue = () => {
18
+ const Context = React.createContext(null);
19
+ function useContextValue() {
19
20
  const { announcementBar } = useThemeConfig();
20
21
  const isBrowser = useIsBrowser();
21
22
  const [isClosed, setClosed] = useState(() => isBrowser
@@ -56,17 +57,16 @@ const useAnnouncementBarContextValue = () => {
56
57
  isActive: !!announcementBar && !isClosed,
57
58
  close: handleClose,
58
59
  }), [announcementBar, isClosed, handleClose]);
59
- };
60
- const AnnouncementBarContext = createContext(null);
60
+ }
61
61
  export function AnnouncementBarProvider({ children, }) {
62
- const value = useAnnouncementBarContextValue();
63
- return (React.createElement(AnnouncementBarContext.Provider, { value: value }, children));
62
+ const value = useContextValue();
63
+ return React.createElement(Context.Provider, { value: value }, children);
64
64
  }
65
65
  export function useAnnouncementBar() {
66
- const api = useContext(AnnouncementBarContext);
66
+ const api = useContext(Context);
67
67
  if (!api) {
68
68
  throw new ReactContextError('AnnouncementBarProvider');
69
69
  }
70
70
  return api;
71
71
  }
72
- //# sourceMappingURL=announcementBarUtils.js.map
72
+ //# sourceMappingURL=announcementBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"announcementBar.js","sourceRoot":"","sources":["../../src/contexts/announcementBar.tsx"],"names":[],"mappings":"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"}
@@ -5,14 +5,23 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { type ReactNode } from 'react';
8
- declare type ColorModeContextValue = {
8
+ declare type ContextValue = {
9
+ /** Current color mode. */
10
+ readonly colorMode: ColorMode;
11
+ /** Set new color mode. */
12
+ readonly setColorMode: (colorMode: ColorMode) => void;
9
13
  readonly isDarkTheme: boolean;
10
14
  readonly setLightTheme: () => void;
11
15
  readonly setDarkTheme: () => void;
12
16
  };
17
+ declare const ColorModes: {
18
+ readonly light: "light";
19
+ readonly dark: "dark";
20
+ };
21
+ export declare type ColorMode = typeof ColorModes[keyof typeof ColorModes];
13
22
  export declare function ColorModeProvider({ children, }: {
14
23
  children: ReactNode;
15
24
  }): JSX.Element;
16
- export declare function useColorMode(): ColorModeContextValue;
25
+ export declare function useColorMode(): ContextValue;
17
26
  export {};
18
- //# sourceMappingURL=colorModeUtils.d.ts.map
27
+ //# sourceMappingURL=colorMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorMode.d.ts","sourceRoot":"","sources":["../../src/contexts/colorMode.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EAOZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAOf,aAAK,YAAY,GAAG;IAClB,0BAA0B;IAC1B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,0BAA0B;IAC1B,QAAQ,CAAC,YAAY,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IAGtD,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;CACnC,CAAC;AAOF,QAAA,MAAM,UAAU;;;CAGN,CAAC;AAEX,oBAAY,SAAS,GAAG,OAAO,UAAU,CAAC,MAAM,OAAO,UAAU,CAAC,CAAC;AAiHnE,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,GAAG,CAAC,OAAO,CAGd;AAED,wBAAgB,YAAY,IAAI,YAAY,CAS3C"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import React, { useState, useCallback, useEffect, useContext, useMemo, useRef, } from 'react';
8
+ import { ReactContextError } from '../utils/reactUtils';
9
+ import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment';
10
+ import { createStorageSlot } from '../utils/storageUtils';
11
+ import { useThemeConfig } from '../utils/useThemeConfig';
12
+ const Context = React.createContext(undefined);
13
+ const ColorModeStorageKey = 'theme';
14
+ const ColorModeStorage = createStorageSlot(ColorModeStorageKey);
15
+ const ColorModes = {
16
+ light: 'light',
17
+ dark: 'dark',
18
+ };
19
+ // Ensure to always return a valid colorMode even if input is invalid
20
+ const coerceToColorMode = (colorMode) => colorMode === ColorModes.dark ? ColorModes.dark : ColorModes.light;
21
+ const getInitialColorMode = (defaultMode) => ExecutionEnvironment.canUseDOM
22
+ ? coerceToColorMode(document.documentElement.getAttribute('data-theme'))
23
+ : coerceToColorMode(defaultMode);
24
+ const storeColorMode = (newColorMode) => {
25
+ ColorModeStorage.set(coerceToColorMode(newColorMode));
26
+ };
27
+ function useContextValue() {
28
+ const { colorMode: { defaultMode, disableSwitch, respectPrefersColorScheme }, } = useThemeConfig();
29
+ const [colorMode, setColorModeState] = useState(getInitialColorMode(defaultMode));
30
+ const setColorMode = useCallback((newColorMode) => {
31
+ setColorModeState(newColorMode);
32
+ storeColorMode(newColorMode);
33
+ }, []);
34
+ useEffect(() => {
35
+ document.documentElement.setAttribute('data-theme', coerceToColorMode(colorMode));
36
+ }, [colorMode]);
37
+ useEffect(() => {
38
+ if (disableSwitch) {
39
+ return undefined;
40
+ }
41
+ const onChange = (e) => {
42
+ if (e.key !== ColorModeStorageKey) {
43
+ return;
44
+ }
45
+ try {
46
+ const storedColorMode = ColorModeStorage.get();
47
+ if (storedColorMode !== null) {
48
+ setColorMode(coerceToColorMode(storedColorMode));
49
+ }
50
+ }
51
+ catch (err) {
52
+ console.error(err);
53
+ }
54
+ };
55
+ window.addEventListener('storage', onChange);
56
+ return () => window.removeEventListener('storage', onChange);
57
+ }, [disableSwitch, setColorMode]);
58
+ // PCS is coerced to light mode when printing, which causes the color mode to
59
+ // be reset to dark when exiting print mode, disregarding user settings. When
60
+ // the listener fires only because of a print/screen switch, we don't change
61
+ // color mode. See https://github.com/facebook/docusaurus/pull/6490
62
+ const previousMediaIsPrint = useRef(false);
63
+ useEffect(() => {
64
+ if (disableSwitch && !respectPrefersColorScheme) {
65
+ return undefined;
66
+ }
67
+ const mql = window.matchMedia('(prefers-color-scheme: dark)');
68
+ const onChange = ({ matches }) => {
69
+ if (window.matchMedia('print').matches || previousMediaIsPrint.current) {
70
+ previousMediaIsPrint.current = window.matchMedia('print').matches;
71
+ return;
72
+ }
73
+ setColorMode(matches ? ColorModes.dark : ColorModes.light);
74
+ };
75
+ mql.addListener(onChange);
76
+ return () => mql.removeListener(onChange);
77
+ }, [setColorMode, disableSwitch, respectPrefersColorScheme]);
78
+ return useMemo(() => ({
79
+ colorMode,
80
+ setColorMode,
81
+ get isDarkTheme() {
82
+ if (process.env.NODE_ENV === 'development') {
83
+ console.error('`useColorMode().isDarkTheme` is deprecated. Please use `useColorMode().colorMode === "dark"` instead.');
84
+ }
85
+ return colorMode === ColorModes.dark;
86
+ },
87
+ setLightTheme() {
88
+ if (process.env.NODE_ENV === 'development') {
89
+ console.error('`useColorMode().setLightTheme` is deprecated. Please use `useColorMode().setColorMode("light")` instead.');
90
+ }
91
+ setColorMode(ColorModes.light);
92
+ storeColorMode(ColorModes.light);
93
+ },
94
+ setDarkTheme() {
95
+ if (process.env.NODE_ENV === 'development') {
96
+ console.error('`useColorMode().setDarkTheme` is deprecated. Please use `useColorMode().setColorMode("dark")` instead.');
97
+ }
98
+ setColorMode(ColorModes.dark);
99
+ storeColorMode(ColorModes.dark);
100
+ },
101
+ }), [colorMode, setColorMode]);
102
+ }
103
+ export function ColorModeProvider({ children, }) {
104
+ const value = useContextValue();
105
+ return React.createElement(Context.Provider, { value: value }, children);
106
+ }
107
+ export function useColorMode() {
108
+ const context = useContext(Context);
109
+ if (context == null) {
110
+ throw new ReactContextError('ColorModeProvider', 'Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.');
111
+ }
112
+ return context;
113
+ }
114
+ //# sourceMappingURL=colorMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorMode.js","sourceRoot":"","sources":["../../src/contexts/colorMode.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { type ReactNode } from 'react';
8
+ declare type ContextValue = {
9
+ /**
10
+ * The item that the user last opened, `null` when there's none open. On
11
+ * initial render, it will always be `null`, which doesn't necessarily mean
12
+ * there's no category open (can have 0, 1, or many being initially open).
13
+ */
14
+ expandedItem: number | null;
15
+ /**
16
+ * Set the currently expanded item, when the user opens one. Set the value to
17
+ * `null` when the user closes an open category.
18
+ */
19
+ setExpandedItem: (a: number | null) => void;
20
+ };
21
+ /**
22
+ * Should be used to wrap one sidebar category level. This provider syncs the
23
+ * expanded states of all sibling categories, and categories can choose to
24
+ * collapse itself if another one is expanded.
25
+ */
26
+ export declare function DocSidebarItemsExpandedStateProvider({ children, }: {
27
+ children: ReactNode;
28
+ }): JSX.Element;
29
+ export declare function useDocSidebarItemsExpandedState(): ContextValue;
30
+ export {};
31
+ //# sourceMappingURL=docSidebarItemsExpandedState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docSidebarItemsExpandedState.d.ts","sourceRoot":"","sources":["../../src/contexts/docSidebarItemsExpandedState.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EAAC,KAAK,SAAS,EAAgC,MAAM,OAAO,CAAC;AAG3E,aAAK,YAAY,GAAG;IAClB;;;;OAIG;IACH,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,eAAe,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC7C,CAAC;AAOF;;;;GAIG;AACH,wBAAgB,oCAAoC,CAAC,EACnD,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,GAAG,CAAC,OAAO,CAQd;AAED,wBAAgB,+BAA+B,IAAI,YAAY,CAM9D"}
@@ -5,19 +5,24 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React, { useMemo, useState, useContext } from 'react';
8
- import { ReactContextError } from './reactUtils';
8
+ import { ReactContextError } from '../utils/reactUtils';
9
9
  const EmptyContext = Symbol('EmptyContext');
10
10
  const Context = React.createContext(EmptyContext);
11
+ /**
12
+ * Should be used to wrap one sidebar category level. This provider syncs the
13
+ * expanded states of all sibling categories, and categories can choose to
14
+ * collapse itself if another one is expanded.
15
+ */
11
16
  export function DocSidebarItemsExpandedStateProvider({ children, }) {
12
17
  const [expandedItem, setExpandedItem] = useState(null);
13
18
  const contextValue = useMemo(() => ({ expandedItem, setExpandedItem }), [expandedItem]);
14
19
  return React.createElement(Context.Provider, { value: contextValue }, children);
15
20
  }
16
21
  export function useDocSidebarItemsExpandedState() {
17
- const contextValue = useContext(Context);
18
- if (contextValue === EmptyContext) {
22
+ const value = useContext(Context);
23
+ if (value === EmptyContext) {
19
24
  throw new ReactContextError('DocSidebarItemsExpandedStateProvider');
20
25
  }
21
- return contextValue;
26
+ return value;
22
27
  }
23
28
  //# sourceMappingURL=docSidebarItemsExpandedState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docSidebarItemsExpandedState.js","sourceRoot":"","sources":["../../src/contexts/docSidebarItemsExpandedState.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAAiB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAC,MAAM,OAAO,CAAC;AAC3E,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAgBtD,MAAM,YAAY,GAAkB,MAAM,CAAC,cAAc,CAAC,CAAC;AAC3D,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CACjC,YAAY,CACb,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,oCAAoC,CAAC,EACnD,QAAQ,GAGT;IACC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,CAAC,EAAC,YAAY,EAAE,eAAe,EAAC,CAAC,EACvC,CAAC,YAAY,CAAC,CACf,CAAC;IAEF,OAAO,oBAAC,OAAO,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,IAAG,QAAQ,CAAoB,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,KAAK,KAAK,YAAY,EAAE;QAC1B,MAAM,IAAI,iBAAiB,CAAC,sCAAsC,CAAC,CAAC;KACrE;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,28 @@
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
+ /// <reference types="react" />
8
+ /// <reference types="@docusaurus/plugin-content-docs" />
9
+ import { type GlobalVersion } from '@docusaurus/plugin-content-docs/client';
10
+ /**
11
+ * This is a maybe-layer. If the docs plugin is not enabled, this provider is a
12
+ * simple pass-through.
13
+ */
14
+ export declare function DocsPreferredVersionContextProvider({ children, }: {
15
+ children: JSX.Element;
16
+ }): JSX.Element;
17
+ /**
18
+ * Returns a read-write interface to a plugin's preferred version.
19
+ * Note, the `preferredVersion` attribute will always be `null` before mount.
20
+ */
21
+ export declare function useDocsPreferredVersion(pluginId?: string | undefined): {
22
+ preferredVersion: GlobalVersion | null;
23
+ savePreferredVersionName: (versionName: string) => void;
24
+ };
25
+ export declare function useDocsPreferredVersionByPluginId(): {
26
+ [pluginId: string]: GlobalVersion | null;
27
+ };
28
+ //# sourceMappingURL=docsPreferredVersion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docsPreferredVersion.d.ts","sourceRoot":"","sources":["../../src/contexts/docsPreferredVersion.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;;;AAkBH,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,wCAAwC,CAAC;AAgJhD;;;GAGG;AACH,wBAAgB,mCAAmC,CAAC,EAClD,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB,GAAG,GAAG,CAAC,OAAO,CASd;AAUD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,GAAE,MAAM,GAAG,SAA6B,GAC/C;IACD,gBAAgB,EAAE,aAAa,GAAG,IAAI,CAAC;IACvC,wBAAwB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD,CAmBA;AAED,wBAAgB,iCAAiC,IAAI;IACnD,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC;CAC1C,CAkBA"}