@docusaurus/theme-common 2.0.0-beta.15a2b59f9 → 2.0.0-beta.17

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 (209) hide show
  1. package/lib/components/Collapsible/index.d.ts +36 -0
  2. package/lib/components/Collapsible/index.d.ts.map +1 -0
  3. package/lib/components/Collapsible/index.js +143 -0
  4. package/lib/components/Collapsible/index.js.map +1 -0
  5. package/lib/components/Details/index.d.ts +12 -0
  6. package/lib/components/Details/index.d.ts.map +1 -0
  7. package/lib/components/Details/index.js +66 -0
  8. package/lib/components/Details/index.js.map +1 -0
  9. package/lib/components/Details/styles.module.css +58 -0
  10. package/{src/utils/docsUtils.ts → lib/hooks/styles.css} +3 -4
  11. package/lib/hooks/useHideableNavbar.d.ts +13 -0
  12. package/lib/hooks/useHideableNavbar.d.ts.map +1 -0
  13. package/lib/hooks/useHideableNavbar.js +59 -0
  14. package/lib/hooks/useHideableNavbar.js.map +1 -0
  15. package/lib/hooks/useKeyboardNavigation.d.ts +10 -0
  16. package/lib/hooks/useKeyboardNavigation.d.ts.map +1 -0
  17. package/lib/hooks/useKeyboardNavigation.js +31 -0
  18. package/lib/hooks/useKeyboardNavigation.js.map +1 -0
  19. package/lib/hooks/useLockBodyScroll.d.ts +8 -0
  20. package/lib/hooks/useLockBodyScroll.d.ts.map +1 -0
  21. package/lib/hooks/useLockBodyScroll.js +16 -0
  22. package/lib/hooks/useLockBodyScroll.js.map +1 -0
  23. package/lib/hooks/usePrismTheme.d.ts +9 -0
  24. package/lib/hooks/usePrismTheme.d.ts.map +1 -0
  25. package/lib/hooks/usePrismTheme.js +18 -0
  26. package/lib/hooks/usePrismTheme.js.map +1 -0
  27. package/lib/hooks/useSearchPage.d.ts +14 -0
  28. package/lib/hooks/useSearchPage.d.ts.map +1 -0
  29. package/lib/hooks/useSearchPage.js +42 -0
  30. package/lib/hooks/useSearchPage.js.map +1 -0
  31. package/lib/hooks/useWindowSize.d.ts +15 -0
  32. package/lib/hooks/useWindowSize.d.ts.map +1 -0
  33. package/lib/hooks/useWindowSize.js +56 -0
  34. package/lib/hooks/useWindowSize.js.map +1 -0
  35. package/lib/index.d.ts +32 -3
  36. package/lib/index.d.ts.map +1 -0
  37. package/lib/index.js +26 -2
  38. package/lib/index.js.map +1 -0
  39. package/lib/utils/ThemeClassNames.d.ts +40 -12
  40. package/lib/utils/ThemeClassNames.d.ts.map +1 -0
  41. package/lib/utils/ThemeClassNames.js +41 -3
  42. package/lib/utils/ThemeClassNames.js.map +1 -0
  43. package/lib/utils/announcementBarUtils.d.ts +6 -5
  44. package/lib/utils/announcementBarUtils.d.ts.map +1 -0
  45. package/lib/utils/announcementBarUtils.js +20 -21
  46. package/lib/utils/announcementBarUtils.js.map +1 -0
  47. package/lib/utils/codeBlockUtils.d.ts +10 -0
  48. package/lib/utils/codeBlockUtils.d.ts.map +1 -0
  49. package/lib/utils/codeBlockUtils.js +125 -3
  50. package/lib/utils/codeBlockUtils.js.map +1 -0
  51. package/lib/utils/colorModeUtils.d.ts +18 -0
  52. package/lib/utils/colorModeUtils.d.ts.map +1 -0
  53. package/lib/utils/colorModeUtils.js +107 -0
  54. package/lib/utils/colorModeUtils.js.map +1 -0
  55. package/lib/utils/docSidebarItemsExpandedState.d.ts +17 -0
  56. package/lib/utils/docSidebarItemsExpandedState.d.ts.map +1 -0
  57. package/lib/utils/docSidebarItemsExpandedState.js +23 -0
  58. package/lib/utils/docSidebarItemsExpandedState.js.map +1 -0
  59. package/lib/utils/docsPreferredVersion/DocsPreferredVersionProvider.d.ts +3 -2
  60. package/lib/utils/docsPreferredVersion/DocsPreferredVersionProvider.d.ts.map +1 -0
  61. package/lib/utils/docsPreferredVersion/DocsPreferredVersionProvider.js +9 -11
  62. package/lib/utils/docsPreferredVersion/DocsPreferredVersionProvider.js.map +1 -0
  63. package/lib/utils/docsPreferredVersion/DocsPreferredVersionStorage.d.ts +2 -1
  64. package/lib/utils/docsPreferredVersion/DocsPreferredVersionStorage.d.ts.map +1 -0
  65. package/lib/utils/docsPreferredVersion/DocsPreferredVersionStorage.js +2 -3
  66. package/lib/utils/docsPreferredVersion/DocsPreferredVersionStorage.js.map +1 -0
  67. package/lib/utils/docsPreferredVersion/useDocsPreferredVersion.d.ts +12 -3
  68. package/lib/utils/docsPreferredVersion/useDocsPreferredVersion.d.ts.map +1 -0
  69. package/lib/utils/docsPreferredVersion/useDocsPreferredVersion.js +3 -3
  70. package/lib/utils/docsPreferredVersion/useDocsPreferredVersion.js.map +1 -0
  71. package/lib/utils/docsUtils.d.ts +26 -0
  72. package/lib/utils/docsUtils.d.ts.map +1 -0
  73. package/lib/utils/docsUtils.js +136 -1
  74. package/lib/utils/docsUtils.js.map +1 -0
  75. package/lib/utils/generalUtils.d.ts +7 -0
  76. package/lib/utils/generalUtils.d.ts.map +1 -0
  77. package/lib/utils/generalUtils.js +3 -2
  78. package/lib/utils/generalUtils.js.map +1 -0
  79. package/lib/utils/historyUtils.d.ts +23 -0
  80. package/lib/utils/historyUtils.d.ts.map +1 -0
  81. package/lib/utils/historyUtils.js +41 -0
  82. package/lib/utils/historyUtils.js.map +1 -0
  83. package/lib/utils/jsUtils.d.ts +23 -0
  84. package/lib/utils/jsUtils.d.ts.map +1 -0
  85. package/lib/utils/jsUtils.js +29 -0
  86. package/lib/utils/jsUtils.js.map +1 -0
  87. package/lib/utils/mobileSecondaryMenu.d.ts +21 -0
  88. package/lib/utils/mobileSecondaryMenu.d.ts.map +1 -0
  89. package/lib/utils/mobileSecondaryMenu.js +51 -0
  90. package/lib/utils/mobileSecondaryMenu.js.map +1 -0
  91. package/lib/utils/pathUtils.d.ts +1 -0
  92. package/lib/utils/pathUtils.d.ts.map +1 -0
  93. package/lib/utils/pathUtils.js +5 -4
  94. package/lib/utils/pathUtils.js.map +1 -0
  95. package/lib/utils/reactUtils.d.ts +31 -0
  96. package/lib/utils/reactUtils.d.ts.map +1 -0
  97. package/lib/utils/reactUtils.js +43 -0
  98. package/lib/utils/reactUtils.js.map +1 -0
  99. package/lib/utils/regexpUtils.d.ts +11 -0
  100. package/lib/utils/regexpUtils.d.ts.map +1 -0
  101. package/lib/utils/regexpUtils.js +17 -0
  102. package/lib/utils/regexpUtils.js.map +1 -0
  103. package/lib/utils/routesUtils.d.ts +14 -0
  104. package/lib/utils/routesUtils.d.ts.map +1 -0
  105. package/lib/utils/routesUtils.js +41 -0
  106. package/lib/utils/routesUtils.js.map +1 -0
  107. package/lib/utils/scrollUtils.d.ts +53 -0
  108. package/lib/utils/scrollUtils.d.ts.map +1 -0
  109. package/lib/utils/scrollUtils.js +135 -0
  110. package/lib/utils/scrollUtils.js.map +1 -0
  111. package/lib/utils/searchUtils.d.ts +1 -0
  112. package/lib/utils/searchUtils.d.ts.map +1 -0
  113. package/lib/utils/searchUtils.js +1 -0
  114. package/lib/utils/searchUtils.js.map +1 -0
  115. package/lib/utils/storageUtils.d.ts +5 -0
  116. package/lib/utils/storageUtils.d.ts.map +1 -0
  117. package/lib/utils/storageUtils.js +39 -14
  118. package/lib/utils/storageUtils.js.map +1 -0
  119. package/lib/utils/tabGroupChoiceUtils.d.ts +19 -0
  120. package/lib/utils/tabGroupChoiceUtils.d.ts.map +1 -0
  121. package/lib/utils/tabGroupChoiceUtils.js +55 -0
  122. package/lib/utils/tabGroupChoiceUtils.js.map +1 -0
  123. package/lib/utils/tagsUtils.d.ts +19 -0
  124. package/lib/utils/tagsUtils.d.ts.map +1 -0
  125. package/lib/utils/tagsUtils.js +33 -0
  126. package/lib/utils/tagsUtils.js.map +1 -0
  127. package/lib/utils/tocUtils.d.ts +20 -0
  128. package/lib/utils/tocUtils.d.ts.map +1 -0
  129. package/lib/utils/tocUtils.js +73 -0
  130. package/lib/utils/tocUtils.js.map +1 -0
  131. package/lib/utils/useAlternatePageUtils.d.ts +1 -0
  132. package/lib/utils/useAlternatePageUtils.d.ts.map +1 -0
  133. package/lib/utils/useAlternatePageUtils.js +3 -1
  134. package/lib/utils/useAlternatePageUtils.js.map +1 -0
  135. package/lib/utils/useContextualSearchFilters.d.ts +12 -0
  136. package/lib/utils/useContextualSearchFilters.d.ts.map +1 -0
  137. package/lib/utils/useContextualSearchFilters.js +36 -0
  138. package/lib/utils/useContextualSearchFilters.js.map +1 -0
  139. package/lib/utils/useLocalPathname.d.ts +8 -0
  140. package/lib/utils/useLocalPathname.d.ts.map +1 -0
  141. package/lib/utils/useLocalPathname.js +17 -0
  142. package/lib/utils/useLocalPathname.js.map +1 -0
  143. package/lib/utils/useLocationChange.d.ts +2 -1
  144. package/lib/utils/useLocationChange.d.ts.map +1 -0
  145. package/lib/utils/useLocationChange.js +12 -10
  146. package/lib/utils/useLocationChange.js.map +1 -0
  147. package/lib/utils/usePluralForm.d.ts +1 -0
  148. package/lib/utils/usePluralForm.d.ts.map +1 -0
  149. package/lib/utils/usePluralForm.js +28 -24
  150. package/lib/utils/usePluralForm.js.map +1 -0
  151. package/lib/utils/usePrevious.d.ts +1 -0
  152. package/lib/utils/usePrevious.d.ts.map +1 -0
  153. package/lib/utils/usePrevious.js +4 -2
  154. package/lib/utils/usePrevious.js.map +1 -0
  155. package/lib/utils/useTOCHighlight.d.ts +14 -0
  156. package/lib/utils/useTOCHighlight.d.ts.map +1 -0
  157. package/lib/utils/useTOCHighlight.js +126 -0
  158. package/lib/utils/useTOCHighlight.js.map +1 -0
  159. package/lib/utils/useThemeConfig.d.ts +35 -17
  160. package/lib/utils/useThemeConfig.d.ts.map +1 -0
  161. package/lib/utils/useThemeConfig.js +1 -0
  162. package/lib/utils/useThemeConfig.js.map +1 -0
  163. package/package.json +19 -13
  164. package/src/components/Collapsible/index.tsx +247 -0
  165. package/src/components/Details/index.tsx +102 -0
  166. package/src/components/Details/styles.module.css +58 -0
  167. package/src/hooks/styles.css +10 -0
  168. package/src/hooks/useHideableNavbar.ts +77 -0
  169. package/src/hooks/useKeyboardNavigation.ts +37 -0
  170. package/src/hooks/useLockBodyScroll.ts +18 -0
  171. package/src/hooks/usePrismTheme.ts +20 -0
  172. package/src/hooks/useSearchPage.ts +66 -0
  173. package/src/hooks/useWindowSize.ts +70 -0
  174. package/src/index.ts +95 -3
  175. package/src/types.d.ts +0 -2
  176. package/src/utils/ThemeClassNames.ts +46 -4
  177. package/src/utils/announcementBarUtils.tsx +27 -22
  178. package/src/utils/codeBlockUtils.ts +153 -2
  179. package/src/utils/colorModeUtils.tsx +158 -0
  180. package/src/utils/docSidebarItemsExpandedState.tsx +40 -0
  181. package/src/utils/docsPreferredVersion/DocsPreferredVersionProvider.tsx +17 -16
  182. package/src/utils/docsPreferredVersion/DocsPreferredVersionStorage.ts +3 -4
  183. package/src/utils/docsPreferredVersion/useDocsPreferredVersion.ts +18 -14
  184. package/src/utils/docsUtils.tsx +231 -0
  185. package/src/utils/generalUtils.ts +3 -2
  186. package/src/utils/historyUtils.ts +51 -0
  187. package/src/utils/jsUtils.ts +36 -0
  188. package/src/utils/mobileSecondaryMenu.tsx +114 -0
  189. package/src/utils/pathUtils.ts +6 -4
  190. package/src/utils/reactUtils.tsx +53 -0
  191. package/src/utils/regexpUtils.ts +23 -0
  192. package/src/utils/routesUtils.ts +56 -0
  193. package/src/utils/scrollUtils.tsx +235 -0
  194. package/src/utils/storageUtils.ts +37 -12
  195. package/src/utils/tabGroupChoiceUtils.tsx +89 -0
  196. package/src/utils/tagsUtils.ts +48 -0
  197. package/src/utils/tocUtils.ts +108 -0
  198. package/src/utils/useAlternatePageUtils.ts +4 -3
  199. package/src/utils/useContextualSearchFilters.ts +53 -0
  200. package/src/utils/useLocalPathname.ts +20 -0
  201. package/src/utils/useLocationChange.ts +13 -11
  202. package/src/utils/usePluralForm.ts +31 -26
  203. package/src/utils/usePrevious.ts +3 -2
  204. package/src/utils/useTOCHighlight.ts +183 -0
  205. package/src/utils/useThemeConfig.ts +37 -17
  206. package/lib/.tsbuildinfo +0 -1
  207. package/src/utils/__tests__/codeBlockUtils.test.ts +0 -54
  208. package/src/utils/__tests__/pathUtils.test.ts +0 -32
  209. package/tsconfig.json +0 -10
@@ -0,0 +1,15 @@
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
+ declare const windowSizes: {
8
+ readonly desktop: "desktop";
9
+ readonly mobile: "mobile";
10
+ readonly ssr: "ssr";
11
+ };
12
+ declare type WindowSize = keyof typeof windowSizes;
13
+ export default function useWindowSize(): WindowSize;
14
+ export {};
15
+ //# sourceMappingURL=useWindowSize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWindowSize.d.ts","sourceRoot":"","sources":["../../src/hooks/useWindowSize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,QAAA,MAAM,WAAW;;;;CAUP,CAAC;AAEX,aAAK,UAAU,GAAG,MAAM,OAAO,WAAW,CAAC;AAoB3C,MAAM,CAAC,OAAO,UAAU,aAAa,IAAI,UAAU,CA0BlD"}
@@ -0,0 +1,56 @@
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 { useEffect, useState } from 'react';
8
+ import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment';
9
+ const windowSizes = {
10
+ desktop: 'desktop',
11
+ mobile: 'mobile',
12
+ // This "ssr" value is very important to handle hydration FOUC / layout shifts
13
+ // You have to handle server-rendering explicitly on the call-site
14
+ // On the server, you may need to render BOTH the mobile/desktop elements (and
15
+ // hide one of them with mediaquery)
16
+ // We don't return "undefined" on purpose, to make it more explicit
17
+ ssr: 'ssr',
18
+ };
19
+ const DesktopThresholdWidth = 996;
20
+ function getWindowSize() {
21
+ if (!ExecutionEnvironment.canUseDOM) {
22
+ return windowSizes.ssr;
23
+ }
24
+ return window.innerWidth > DesktopThresholdWidth
25
+ ? windowSizes.desktop
26
+ : windowSizes.mobile;
27
+ }
28
+ // Simulate the SSR window size in dev, so that potential hydration FOUC/layout
29
+ // shift problems can be seen in dev too!
30
+ const DevSimulateSSR = process.env.NODE_ENV === 'development' && true;
31
+ // This hook returns an enum value on purpose!
32
+ // We don't want it to return the actual width value, for resize perf reasons
33
+ // We only want to re-render once a breakpoint is crossed
34
+ export default function useWindowSize() {
35
+ const [windowSize, setWindowSize] = useState(() => {
36
+ if (DevSimulateSSR) {
37
+ return 'ssr';
38
+ }
39
+ return getWindowSize();
40
+ });
41
+ useEffect(() => {
42
+ function updateWindowSize() {
43
+ setWindowSize(getWindowSize());
44
+ }
45
+ const timeout = DevSimulateSSR
46
+ ? window.setTimeout(updateWindowSize, 1000)
47
+ : undefined;
48
+ window.addEventListener('resize', updateWindowSize);
49
+ return () => {
50
+ window.removeEventListener('resize', updateWindowSize);
51
+ clearTimeout(timeout);
52
+ };
53
+ }, []);
54
+ return windowSize;
55
+ }
56
+ //# sourceMappingURL=useWindowSize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useWindowSize.js","sourceRoot":"","sources":["../../src/hooks/useWindowSize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAE1C,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AAEpE,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAEhB,8EAA8E;IAC9E,kEAAkE;IAClE,8EAA8E;IAC9E,oCAAoC;IACpC,mEAAmE;IACnE,GAAG,EAAE,KAAK;CACF,CAAC;AAIX,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,SAAS,aAAa;IACpB,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE;QACnC,OAAO,WAAW,CAAC,GAAG,CAAC;KACxB;IACD,OAAO,MAAM,CAAC,UAAU,GAAG,qBAAqB;QAC9C,CAAC,CAAC,WAAW,CAAC,OAAO;QACrB,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;AACzB,CAAC;AAED,+EAA+E;AAC/E,yCAAyC;AACzC,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,IAAI,IAAI,CAAC;AAEtE,8CAA8C;AAC9C,6EAA6E;AAC7E,yDAAyD;AACzD,MAAM,CAAC,OAAO,UAAU,aAAa;IACnC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAa,GAAG,EAAE;QAC5D,IAAI,cAAc,EAAE;YAClB,OAAO,KAAK,CAAC;SACd;QACD,OAAO,aAAa,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,gBAAgB;YACvB,aAAa,CAAC,aAAa,EAAE,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,OAAO,GAAG,cAAc;YAC5B,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC;YAC3C,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAEpD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACvD,YAAY,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,UAAU,CAAC;AACpB,CAAC"}
package/lib/index.d.ts CHANGED
@@ -5,18 +5,47 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  export { useThemeConfig } from './utils/useThemeConfig';
8
- export type { ThemeConfig, Navbar, NavbarItem, NavbarLogo, Footer, FooterLinks, FooterLinkItem, } from './utils/useThemeConfig';
8
+ export { DocSidebarItemsExpandedStateProvider, useDocSidebarItemsExpandedState, } from './utils/docSidebarItemsExpandedState';
9
+ export type { ThemeConfig, UserThemeConfig, Navbar, NavbarItem, NavbarLogo, MultiColumnFooter, SimpleFooter, Footer, FooterLinkItem, ColorModeConfig, } from './utils/useThemeConfig';
9
10
  export { createStorageSlot, listStorageKeys } from './utils/storageUtils';
10
11
  export { useAlternatePageUtils } from './utils/useAlternatePageUtils';
11
- export { parseCodeBlockTitle } from './utils/codeBlockUtils';
12
+ export { useContextualSearchFilters } from './utils/useContextualSearchFilters';
13
+ export { parseCodeBlockTitle, parseLanguage, parseLines, } from './utils/codeBlockUtils';
12
14
  export { docVersionSearchTag, DEFAULT_SEARCH_TAG } from './utils/searchUtils';
13
- export { isDocsPluginEnabled } from './utils/docsUtils';
15
+ export { isDocsPluginEnabled, DocsVersionProvider, useDocsVersion, useDocById, DocsSidebarProvider, useDocsSidebar, findSidebarCategory, findFirstCategoryLink, useCurrentSidebarCategory, isActiveSidebarItem, useSidebarBreadcrumbs, } from './utils/docsUtils';
14
16
  export { isSamePath } from './utils/pathUtils';
15
17
  export { useTitleFormatter } from './utils/generalUtils';
16
18
  export { usePluralForm } from './utils/usePluralForm';
17
19
  export { useLocationChange } from './utils/useLocationChange';
18
20
  export { usePrevious } from './utils/usePrevious';
21
+ export { useCollapsible, Collapsible } from './components/Collapsible';
22
+ export type { UseCollapsibleConfig, UseCollapsibleReturns, } from './components/Collapsible';
23
+ export { default as Details } from './components/Details';
24
+ export type { DetailsProps } from './components/Details';
25
+ export { MobileSecondaryMenuProvider, MobileSecondaryMenuFiller, useMobileSecondaryMenuRenderer, } from './utils/mobileSecondaryMenu';
26
+ export type { MobileSecondaryMenuComponent } from './utils/mobileSecondaryMenu';
19
27
  export { useDocsPreferredVersion, useDocsPreferredVersionByPluginId, } from './utils/docsPreferredVersion/useDocsPreferredVersion';
28
+ export { duplicates, uniq } from './utils/jsUtils';
20
29
  export { DocsPreferredVersionContextProvider } from './utils/docsPreferredVersion/DocsPreferredVersionProvider';
21
30
  export { ThemeClassNames } from './utils/ThemeClassNames';
22
31
  export { AnnouncementBarProvider, useAnnouncementBar, } from './utils/announcementBarUtils';
32
+ export { useLocalPathname } from './utils/useLocalPathname';
33
+ export { translateTagsPageTitle, listTagsByLetters } from './utils/tagsUtils';
34
+ export type { TagLetterEntry } from './utils/tagsUtils';
35
+ export { useHistoryPopHandler } from './utils/historyUtils';
36
+ export { default as useTOCHighlight } from './utils/useTOCHighlight';
37
+ export type { TOCHighlightConfig } from './utils/useTOCHighlight';
38
+ export { useFilteredAndTreeifiedTOC, useTreeifiedTOC, type TOCTreeNode, } from './utils/tocUtils';
39
+ export { ScrollControllerProvider, useScrollController, useScrollPosition, useScrollPositionBlocker, } from './utils/scrollUtils';
40
+ export { useIsomorphicLayoutEffect, useDynamicCallback, ReactContextError, } from './utils/reactUtils';
41
+ export { isRegexpStringMatch } from './utils/regexpUtils';
42
+ export { useHomePageRoute } from './utils/routesUtils';
43
+ export { useColorMode, ColorModeProvider } from './utils/colorModeUtils';
44
+ export { useTabGroupChoice, TabGroupChoiceProvider, } from './utils/tabGroupChoiceUtils';
45
+ export { default as useHideableNavbar } from './hooks/useHideableNavbar';
46
+ export { default as useKeyboardNavigation, keyboardFocusedClassName, } from './hooks/useKeyboardNavigation';
47
+ export { default as usePrismTheme } from './hooks/usePrismTheme';
48
+ export { default as useLockBodyScroll } from './hooks/useLockBodyScroll';
49
+ export { default as useWindowSize } from './hooks/useWindowSize';
50
+ export { default as useSearchPage } from './hooks/useSearchPage';
51
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -5,17 +5,41 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  export { useThemeConfig } from './utils/useThemeConfig';
8
+ export { DocSidebarItemsExpandedStateProvider, useDocSidebarItemsExpandedState, } from './utils/docSidebarItemsExpandedState';
8
9
  export { createStorageSlot, listStorageKeys } from './utils/storageUtils';
9
10
  export { useAlternatePageUtils } from './utils/useAlternatePageUtils';
10
- export { parseCodeBlockTitle } from './utils/codeBlockUtils';
11
+ export { useContextualSearchFilters } from './utils/useContextualSearchFilters';
12
+ export { parseCodeBlockTitle, parseLanguage, parseLines, } from './utils/codeBlockUtils';
11
13
  export { docVersionSearchTag, DEFAULT_SEARCH_TAG } from './utils/searchUtils';
12
- export { isDocsPluginEnabled } from './utils/docsUtils';
14
+ export { isDocsPluginEnabled, DocsVersionProvider, useDocsVersion, useDocById, DocsSidebarProvider, useDocsSidebar, findSidebarCategory, findFirstCategoryLink, useCurrentSidebarCategory, isActiveSidebarItem, useSidebarBreadcrumbs, } from './utils/docsUtils';
13
15
  export { isSamePath } from './utils/pathUtils';
14
16
  export { useTitleFormatter } from './utils/generalUtils';
15
17
  export { usePluralForm } from './utils/usePluralForm';
16
18
  export { useLocationChange } from './utils/useLocationChange';
17
19
  export { usePrevious } from './utils/usePrevious';
20
+ export { useCollapsible, Collapsible } from './components/Collapsible';
21
+ export { default as Details } from './components/Details';
22
+ export { MobileSecondaryMenuProvider, MobileSecondaryMenuFiller, useMobileSecondaryMenuRenderer, } from './utils/mobileSecondaryMenu';
18
23
  export { useDocsPreferredVersion, useDocsPreferredVersionByPluginId, } from './utils/docsPreferredVersion/useDocsPreferredVersion';
24
+ export { duplicates, uniq } from './utils/jsUtils';
19
25
  export { DocsPreferredVersionContextProvider } from './utils/docsPreferredVersion/DocsPreferredVersionProvider';
20
26
  export { ThemeClassNames } from './utils/ThemeClassNames';
21
27
  export { AnnouncementBarProvider, useAnnouncementBar, } from './utils/announcementBarUtils';
28
+ export { useLocalPathname } from './utils/useLocalPathname';
29
+ export { translateTagsPageTitle, listTagsByLetters } from './utils/tagsUtils';
30
+ export { useHistoryPopHandler } from './utils/historyUtils';
31
+ export { default as useTOCHighlight } from './utils/useTOCHighlight';
32
+ export { useFilteredAndTreeifiedTOC, useTreeifiedTOC, } from './utils/tocUtils';
33
+ export { ScrollControllerProvider, useScrollController, useScrollPosition, useScrollPositionBlocker, } from './utils/scrollUtils';
34
+ export { useIsomorphicLayoutEffect, useDynamicCallback, ReactContextError, } from './utils/reactUtils';
35
+ export { isRegexpStringMatch } from './utils/regexpUtils';
36
+ export { useHomePageRoute } from './utils/routesUtils';
37
+ export { useColorMode, ColorModeProvider } from './utils/colorModeUtils';
38
+ export { useTabGroupChoice, TabGroupChoiceProvider, } from './utils/tabGroupChoiceUtils';
39
+ export { default as useHideableNavbar } from './hooks/useHideableNavbar';
40
+ export { default as useKeyboardNavigation, keyboardFocusedClassName, } from './hooks/useKeyboardNavigation';
41
+ export { default as usePrismTheme } from './hooks/usePrismTheme';
42
+ export { default as useLockBodyScroll } from './hooks/useLockBodyScroll';
43
+ export { default as useWindowSize } from './hooks/useWindowSize';
44
+ export { default as useSearchPage } from './hooks/useSearchPage';
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -5,18 +5,46 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  export declare const ThemeClassNames: {
8
- page: {
9
- blogListPage: string;
10
- blogPostPage: string;
11
- blogTagsListPage: string;
12
- blogTagsPostPage: string;
13
- docPage: string;
14
- mdxPage: string;
8
+ readonly page: {
9
+ readonly blogListPage: "blog-list-page";
10
+ readonly blogPostPage: "blog-post-page";
11
+ readonly blogTagsListPage: "blog-tags-list-page";
12
+ readonly blogTagPostListPage: "blog-tags-post-list-page";
13
+ readonly docsDocPage: "docs-doc-page";
14
+ readonly docsTagsListPage: "docs-tags-list-page";
15
+ readonly docsTagDocListPage: "docs-tags-doc-list-page";
16
+ readonly mdxPage: "mdx-page";
15
17
  };
16
- wrapper: {
17
- main: string;
18
- blogPages: string;
19
- docPages: string;
20
- mdxPages: string;
18
+ readonly wrapper: {
19
+ readonly main: "main-wrapper";
20
+ readonly blogPages: "blog-wrapper";
21
+ readonly docsPages: "docs-wrapper";
22
+ readonly mdxPages: "mdx-wrapper";
21
23
  };
24
+ readonly common: {
25
+ readonly editThisPage: "theme-edit-this-page";
26
+ readonly lastUpdated: "theme-last-updated";
27
+ readonly backToTopButton: "theme-back-to-top-button";
28
+ readonly codeBlock: "theme-code-block";
29
+ };
30
+ readonly layout: {};
31
+ readonly docs: {
32
+ readonly docVersionBanner: "theme-doc-version-banner";
33
+ readonly docVersionBadge: "theme-doc-version-badge";
34
+ readonly docBreadcrumbs: "theme-doc-breadcrumbs";
35
+ readonly docMarkdown: "theme-doc-markdown";
36
+ readonly docTocMobile: "theme-doc-toc-mobile";
37
+ readonly docTocDesktop: "theme-doc-toc-desktop";
38
+ readonly docFooter: "theme-doc-footer";
39
+ readonly docFooterTagsRow: "theme-doc-footer-tags-row";
40
+ readonly docFooterEditMetaRow: "theme-doc-footer-edit-meta-row";
41
+ readonly docSidebarContainer: "theme-doc-sidebar-container";
42
+ readonly docSidebarMenu: "theme-doc-sidebar-menu";
43
+ readonly docSidebarItemCategory: "theme-doc-sidebar-item-category";
44
+ readonly docSidebarItemLink: "theme-doc-sidebar-item-link";
45
+ readonly docSidebarItemCategoryLevel: (level: number) => `theme-doc-sidebar-item-category-level-${number}`;
46
+ readonly docSidebarItemLinkLevel: (level: number) => `theme-doc-sidebar-item-link-level-${number}`;
47
+ };
48
+ readonly blog: {};
22
49
  };
50
+ //# sourceMappingURL=ThemeClassNames.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeClassNames.d.ts","sourceRoot":"","sources":["../../src/utils/ThemeClassNames.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sDA6Ca,MAAM;kDAEV,MAAM;;;CAOjC,CAAC"}
@@ -5,19 +5,57 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  // These class names are used to style page layouts in Docusaurus
8
+ // Those are meant to be targeted by user-provided custom CSS selectors
9
+ // Please do not modify the classnames! This is a breaking change, and annoying
10
+ // for users!
8
11
  export const ThemeClassNames = {
9
12
  page: {
10
13
  blogListPage: 'blog-list-page',
11
14
  blogPostPage: 'blog-post-page',
12
15
  blogTagsListPage: 'blog-tags-list-page',
13
- blogTagsPostPage: 'blog-tags-post-page',
14
- docPage: 'doc-page',
16
+ blogTagPostListPage: 'blog-tags-post-list-page',
17
+ docsDocPage: 'docs-doc-page',
18
+ docsTagsListPage: 'docs-tags-list-page',
19
+ docsTagDocListPage: 'docs-tags-doc-list-page',
15
20
  mdxPage: 'mdx-page',
16
21
  },
17
22
  wrapper: {
18
23
  main: 'main-wrapper',
19
24
  blogPages: 'blog-wrapper',
20
- docPages: 'docs-wrapper',
25
+ docsPages: 'docs-wrapper',
21
26
  mdxPages: 'mdx-wrapper',
22
27
  },
28
+ // /!\ Please keep the naming convention consistent!
29
+ // Something like: "theme-{blog,doc,version,page}?-<suffix>"
30
+ common: {
31
+ editThisPage: 'theme-edit-this-page',
32
+ lastUpdated: 'theme-last-updated',
33
+ backToTopButton: 'theme-back-to-top-button',
34
+ codeBlock: 'theme-code-block',
35
+ },
36
+ layout: {
37
+ // TODO add other stable classNames here
38
+ },
39
+ docs: {
40
+ docVersionBanner: 'theme-doc-version-banner',
41
+ docVersionBadge: 'theme-doc-version-badge',
42
+ docBreadcrumbs: 'theme-doc-breadcrumbs',
43
+ docMarkdown: 'theme-doc-markdown',
44
+ docTocMobile: 'theme-doc-toc-mobile',
45
+ docTocDesktop: 'theme-doc-toc-desktop',
46
+ docFooter: 'theme-doc-footer',
47
+ docFooterTagsRow: 'theme-doc-footer-tags-row',
48
+ docFooterEditMetaRow: 'theme-doc-footer-edit-meta-row',
49
+ docSidebarContainer: 'theme-doc-sidebar-container',
50
+ docSidebarMenu: 'theme-doc-sidebar-menu',
51
+ docSidebarItemCategory: 'theme-doc-sidebar-item-category',
52
+ docSidebarItemLink: 'theme-doc-sidebar-item-link',
53
+ docSidebarItemCategoryLevel: (level) => `theme-doc-sidebar-item-category-level-${level}`,
54
+ docSidebarItemLinkLevel: (level) => `theme-doc-sidebar-item-link-level-${level}`,
55
+ // TODO add other stable classNames here
56
+ },
57
+ blog: {
58
+ // TODO add other stable classNames here
59
+ },
23
60
  };
61
+ //# sourceMappingURL=ThemeClassNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ThemeClassNames.js","sourceRoot":"","sources":["../../src/utils/ThemeClassNames.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iEAAiE;AACjE,uEAAuE;AACvE,+EAA+E;AAC/E,aAAa;AACb,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE;QACJ,YAAY,EAAE,gBAAgB;QAC9B,YAAY,EAAE,gBAAgB;QAC9B,gBAAgB,EAAE,qBAAqB;QACvC,mBAAmB,EAAE,0BAA0B;QAE/C,WAAW,EAAE,eAAe;QAC5B,gBAAgB,EAAE,qBAAqB;QACvC,kBAAkB,EAAE,yBAAyB;QAE7C,OAAO,EAAE,UAAU;KACpB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,aAAa;KACxB;IAED,oDAAoD;IACpD,4DAA4D;IAC5D,MAAM,EAAE;QACN,YAAY,EAAE,sBAAsB;QACpC,WAAW,EAAE,oBAAoB;QACjC,eAAe,EAAE,0BAA0B;QAC3C,SAAS,EAAE,kBAAkB;KAC9B;IACD,MAAM,EAAE;IACN,wCAAwC;KACzC;IACD,IAAI,EAAE;QACJ,gBAAgB,EAAE,0BAA0B;QAC5C,eAAe,EAAE,yBAAyB;QAC1C,cAAc,EAAE,uBAAuB;QACvC,WAAW,EAAE,oBAAoB;QACjC,YAAY,EAAE,sBAAsB;QACpC,aAAa,EAAE,uBAAuB;QACtC,SAAS,EAAE,kBAAkB;QAC7B,gBAAgB,EAAE,2BAA2B;QAC7C,oBAAoB,EAAE,gCAAgC;QACtD,mBAAmB,EAAE,6BAA6B;QAClD,cAAc,EAAE,wBAAwB;QACxC,sBAAsB,EAAE,iCAAiC;QACzD,kBAAkB,EAAE,6BAA6B;QACjD,2BAA2B,EAAE,CAAC,KAAa,EAAE,EAAE,CAC7C,yCAAyC,KAAK,EAAW;QAC3D,uBAAuB,EAAE,CAAC,KAAa,EAAE,EAAE,CACzC,qCAAqC,KAAK,EAAW;QACvD,wCAAwC;KACzC;IACD,IAAI,EAAE;IACJ,wCAAwC;KACzC;CACO,CAAC"}
@@ -4,14 +4,15 @@
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 { ReactNode } from 'react';
7
+ import { type ReactNode } from 'react';
8
8
  export declare const AnnouncementBarDismissStorageKey = "docusaurus.announcement.dismiss";
9
9
  declare type AnnouncementBarAPI = {
10
- readonly isClosed: boolean;
10
+ readonly isActive: boolean;
11
11
  readonly close: () => void;
12
12
  };
13
- export declare const AnnouncementBarProvider: ({ children }: {
13
+ export declare function AnnouncementBarProvider({ children, }: {
14
14
  children: ReactNode;
15
- }) => JSX.Element;
16
- export declare const useAnnouncementBar: () => AnnouncementBarAPI;
15
+ }): JSX.Element;
16
+ export declare function useAnnouncementBar(): AnnouncementBarAPI;
17
17
  export {};
18
+ //# sourceMappingURL=announcementBarUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"announcementBarUtils.d.ts","sourceRoot":"","sources":["../../src/utils/announcementBarUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EAKZ,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAMf,eAAO,MAAM,gCAAgC,oCACV,CAAC;AAapC,aAAK,kBAAkB,GAAG;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,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,CAOd;AAED,wBAAgB,kBAAkB,IAAI,kBAAkB,CAMvD"}
@@ -5,8 +5,9 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import React, { useState, useEffect, useCallback, useMemo, useContext, createContext, } from 'react';
8
- import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
8
+ import useIsBrowser from '@docusaurus/useIsBrowser';
9
9
  import { createStorageSlot } from './storageUtils';
10
+ import { ReactContextError } from './reactUtils';
10
11
  import { useThemeConfig } from './useThemeConfig';
11
12
  export const AnnouncementBarDismissStorageKey = 'docusaurus.announcement.dismiss';
12
13
  const AnnouncementBarIdStorageKey = 'docusaurus.announcement.id';
@@ -16,14 +17,12 @@ const isDismissedInStorage = () => AnnouncementBarDismissStorage.get() === 'true
16
17
  const setDismissedInStorage = (bool) => AnnouncementBarDismissStorage.set(String(bool));
17
18
  const useAnnouncementBarContextValue = () => {
18
19
  const { announcementBar } = useThemeConfig();
19
- const { isClient } = useDocusaurusContext();
20
- const [isClosed, setClosed] = useState(() => {
21
- return isClient
22
- ? // On client navigation: init with localstorage value
23
- isDismissedInStorage()
24
- : // On server/hydration: always visible to prevent layout shifts (will be hidden with css if needed)
25
- false;
26
- });
20
+ const isBrowser = useIsBrowser();
21
+ const [isClosed, setClosed] = useState(() => isBrowser
22
+ ? // On client navigation: init with local storage value
23
+ isDismissedInStorage()
24
+ : // On server/hydration: always visible to prevent layout shifts (will be hidden with css if needed)
25
+ false);
27
26
  // Update state after hydration
28
27
  useEffect(() => {
29
28
  setClosed(isDismissedInStorage());
@@ -40,6 +39,7 @@ const useAnnouncementBarContextValue = () => {
40
39
  let viewedId = IdStorage.get();
41
40
  // retrocompatibility due to spelling mistake of default id
42
41
  // see https://github.com/facebook/docusaurus/issues/3338
42
+ // cSpell:ignore annoucement
43
43
  if (viewedId === 'annoucement-bar') {
44
44
  viewedId = 'announcement-bar';
45
45
  }
@@ -51,23 +51,22 @@ const useAnnouncementBarContextValue = () => {
51
51
  if (isNewAnnouncement || !isDismissedInStorage()) {
52
52
  setClosed(false);
53
53
  }
54
- }, []);
55
- return useMemo(() => {
56
- return {
57
- isClosed,
58
- close: handleClose,
59
- };
60
- }, [isClosed]);
54
+ }, [announcementBar]);
55
+ return useMemo(() => ({
56
+ isActive: !!announcementBar && !isClosed,
57
+ close: handleClose,
58
+ }), [announcementBar, isClosed, handleClose]);
61
59
  };
62
60
  const AnnouncementBarContext = createContext(null);
63
- export const AnnouncementBarProvider = ({ children }) => {
61
+ export function AnnouncementBarProvider({ children, }) {
64
62
  const value = useAnnouncementBarContextValue();
65
63
  return (React.createElement(AnnouncementBarContext.Provider, { value: value }, children));
66
- };
67
- export const useAnnouncementBar = () => {
64
+ }
65
+ export function useAnnouncementBar() {
68
66
  const api = useContext(AnnouncementBarContext);
69
67
  if (!api) {
70
- throw new Error('useAnnouncementBar(): AnnouncementBar not found in React context: make sure to use the AnnouncementBarProvider on top of the tree');
68
+ throw new ReactContextError('AnnouncementBarProvider');
71
69
  }
72
70
  return api;
73
- };
71
+ }
72
+ //# sourceMappingURL=announcementBarUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"announcementBarUtils.js","sourceRoot":"","sources":["../../src/utils/announcementBarUtils.tsx"],"names":[],"mappings":"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"}
@@ -5,3 +5,13 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  export declare function parseCodeBlockTitle(metastring?: string): string;
8
+ export declare function parseLanguage(className: string): string | undefined;
9
+ /**
10
+ * @param metastring The highlight range declared here starts at 1
11
+ * @returns Note: all line numbers start at 0, not 1
12
+ */
13
+ export declare function parseLines(content: string, metastring?: string, language?: string): {
14
+ highlightLines: number[];
15
+ code: string;
16
+ };
17
+ //# sourceMappingURL=codeBlockUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeBlockUtils.d.ts","sourceRoot":"","sources":["../../src/utils/codeBlockUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqFH,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKnE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB;IACD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd,CAkDA"}
@@ -4,8 +4,130 @@
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
- const codeBlockTitleRegex = /title=(["'])(.*?)\1/;
7
+ import rangeParser from 'parse-numeric-range';
8
+ const codeBlockTitleRegex = /title=(?<quote>["'])(?<title>.*?)\1/;
9
+ const highlightLinesRangeRegex = /{(?<range>[\d,-]+)}/;
10
+ const commentTypes = ['js', 'jsBlock', 'jsx', 'python', 'html'];
11
+ // Supported types of highlight comments
12
+ const commentPatterns = {
13
+ js: {
14
+ start: '\\/\\/',
15
+ end: '',
16
+ },
17
+ jsBlock: {
18
+ start: '\\/\\*',
19
+ end: '\\*\\/',
20
+ },
21
+ jsx: {
22
+ start: '\\{\\s*\\/\\*',
23
+ end: '\\*\\/\\s*\\}',
24
+ },
25
+ python: {
26
+ start: '#',
27
+ end: '',
28
+ },
29
+ html: {
30
+ start: '<!--',
31
+ end: '-->',
32
+ },
33
+ };
34
+ const magicCommentDirectives = [
35
+ 'highlight-next-line',
36
+ 'highlight-start',
37
+ 'highlight-end',
38
+ ];
39
+ const getMagicCommentDirectiveRegex = (languages = commentTypes) => {
40
+ // to be more reliable, the opening and closing comment must match
41
+ const commentPattern = languages
42
+ .map((lang) => {
43
+ const { start, end } = commentPatterns[lang];
44
+ return `(?:${start}\\s*(${magicCommentDirectives.join('|')})\\s*${end})`;
45
+ })
46
+ .join('|');
47
+ // white space is allowed, but otherwise it should be on it's own line
48
+ return new RegExp(`^\\s*(?:${commentPattern})\\s*$`);
49
+ };
50
+ // select comment styles based on language
51
+ const magicCommentDirectiveRegex = (lang) => {
52
+ switch (lang) {
53
+ case 'js':
54
+ case 'javascript':
55
+ case 'ts':
56
+ case 'typescript':
57
+ return getMagicCommentDirectiveRegex(['js', 'jsBlock']);
58
+ case 'jsx':
59
+ case 'tsx':
60
+ return getMagicCommentDirectiveRegex(['js', 'jsBlock', 'jsx']);
61
+ case 'html':
62
+ return getMagicCommentDirectiveRegex(['js', 'jsBlock', 'html']);
63
+ case 'python':
64
+ case 'py':
65
+ return getMagicCommentDirectiveRegex(['python']);
66
+ default:
67
+ // all comment types
68
+ return getMagicCommentDirectiveRegex();
69
+ }
70
+ };
8
71
  export function parseCodeBlockTitle(metastring) {
9
- var _a, _b;
10
- return (_b = (_a = metastring === null || metastring === void 0 ? void 0 : metastring.match(codeBlockTitleRegex)) === null || _a === void 0 ? void 0 : _a[2]) !== null && _b !== void 0 ? _b : '';
72
+ return metastring?.match(codeBlockTitleRegex)?.groups.title ?? '';
11
73
  }
74
+ export function parseLanguage(className) {
75
+ const languageClassName = className
76
+ .split(' ')
77
+ .find((str) => str.startsWith('language-'));
78
+ return languageClassName?.replace(/language-/, '');
79
+ }
80
+ /**
81
+ * @param metastring The highlight range declared here starts at 1
82
+ * @returns Note: all line numbers start at 0, not 1
83
+ */
84
+ export function parseLines(content, metastring, language) {
85
+ let code = content.replace(/\n$/, '');
86
+ // Highlighted lines specified in props: don't parse the content
87
+ if (metastring && highlightLinesRangeRegex.test(metastring)) {
88
+ const highlightLinesRange = metastring.match(highlightLinesRangeRegex)
89
+ .groups.range;
90
+ const highlightLines = rangeParser(highlightLinesRange)
91
+ .filter((n) => n > 0)
92
+ .map((n) => n - 1);
93
+ return { highlightLines, code };
94
+ }
95
+ if (language === undefined) {
96
+ return { highlightLines: [], code };
97
+ }
98
+ const directiveRegex = magicCommentDirectiveRegex(language);
99
+ // go through line by line
100
+ const lines = code.split('\n');
101
+ let highlightBlockStart;
102
+ let highlightRange = '';
103
+ // loop through lines
104
+ for (let lineNumber = 0; lineNumber < lines.length;) {
105
+ const line = lines[lineNumber];
106
+ const match = line.match(directiveRegex);
107
+ if (match !== null) {
108
+ const directive = match.slice(1).find((item) => item !== undefined);
109
+ switch (directive) {
110
+ case 'highlight-next-line':
111
+ highlightRange += `${lineNumber},`;
112
+ break;
113
+ case 'highlight-start':
114
+ highlightBlockStart = lineNumber;
115
+ break;
116
+ case 'highlight-end':
117
+ highlightRange += `${highlightBlockStart}-${lineNumber - 1},`;
118
+ break;
119
+ default:
120
+ break;
121
+ }
122
+ lines.splice(lineNumber, 1);
123
+ }
124
+ else {
125
+ // lines without directives are unchanged
126
+ lineNumber += 1;
127
+ }
128
+ }
129
+ const highlightLines = rangeParser(highlightRange);
130
+ code = lines.join('\n');
131
+ return { highlightLines, code };
132
+ }
133
+ //# sourceMappingURL=codeBlockUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeBlockUtils.js","sourceRoot":"","sources":["../../src/utils/codeBlockUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
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 ColorModeContextValue = {
9
+ readonly isDarkTheme: boolean;
10
+ readonly setLightTheme: () => void;
11
+ readonly setDarkTheme: () => void;
12
+ };
13
+ export declare function ColorModeProvider({ children, }: {
14
+ children: ReactNode;
15
+ }): JSX.Element;
16
+ export declare function useColorMode(): ColorModeContextValue;
17
+ export {};
18
+ //# sourceMappingURL=colorModeUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorModeUtils.d.ts","sourceRoot":"","sources":["../../src/utils/colorModeUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EAMZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAOf,aAAK,qBAAqB,GAAG;IAC3B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;CACnC,CAAC;AAwGF,wBAAgB,iBAAiB,CAAC,EAChC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,GAAG,CAAC,OAAO,CAWd;AAED,wBAAgB,YAAY,IAAI,qBAAqB,CAWpD"}