@docusaurus/theme-common 2.0.0-beta.18 → 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 (128) hide show
  1. package/Details.d.ts +14 -0
  2. package/lib/components/Collapsible/index.js +2 -2
  3. package/lib/components/Collapsible/index.js.map +1 -1
  4. package/lib/components/Details/index.d.ts.map +1 -1
  5. package/lib/components/Details/index.js +3 -2
  6. package/lib/components/Details/index.js.map +1 -1
  7. package/lib/components/Details/styles.module.css +4 -0
  8. package/lib/contexts/announcementBar.js +1 -1
  9. package/lib/contexts/colorMode.d.ts.map +1 -1
  10. package/lib/contexts/colorMode.js +34 -16
  11. package/lib/contexts/colorMode.js.map +1 -1
  12. package/lib/contexts/docsPreferredVersion.d.ts +5 -2
  13. package/lib/contexts/docsPreferredVersion.d.ts.map +1 -1
  14. package/lib/contexts/docsPreferredVersion.js +5 -2
  15. package/lib/contexts/docsPreferredVersion.js.map +1 -1
  16. package/lib/contexts/docsSidebar.d.ts +9 -3
  17. package/lib/contexts/docsSidebar.d.ts.map +1 -1
  18. package/lib/contexts/docsSidebar.js +7 -6
  19. package/lib/contexts/docsSidebar.js.map +1 -1
  20. package/lib/contexts/navbarMobileSidebar.js +5 -5
  21. package/lib/contexts/navbarMobileSidebar.js.map +1 -1
  22. package/lib/contexts/{navbarSecondaryMenu.d.ts → navbarSecondaryMenu/content.d.ts} +13 -14
  23. package/lib/contexts/navbarSecondaryMenu/content.d.ts.map +1 -0
  24. package/lib/contexts/navbarSecondaryMenu/content.js +56 -0
  25. package/lib/contexts/navbarSecondaryMenu/content.js.map +1 -0
  26. package/lib/contexts/navbarSecondaryMenu/display.d.ts +24 -0
  27. package/lib/contexts/navbarSecondaryMenu/display.d.ts.map +1 -0
  28. package/lib/contexts/navbarSecondaryMenu/display.js +62 -0
  29. package/lib/contexts/navbarSecondaryMenu/display.js.map +1 -0
  30. package/lib/contexts/tabGroupChoice.d.ts.map +1 -1
  31. package/lib/contexts/tabGroupChoice.js.map +1 -1
  32. package/lib/hooks/useBackToTopButton.d.ts +27 -0
  33. package/lib/hooks/useBackToTopButton.d.ts.map +1 -0
  34. package/lib/hooks/useBackToTopButton.js +50 -0
  35. package/lib/hooks/useBackToTopButton.js.map +1 -0
  36. package/lib/hooks/useCodeWordWrap.d.ts +14 -0
  37. package/lib/hooks/useCodeWordWrap.d.ts.map +1 -0
  38. package/lib/hooks/useCodeWordWrap.js +41 -0
  39. package/lib/hooks/useCodeWordWrap.js.map +1 -0
  40. package/lib/hooks/useHideableNavbar.d.ts.map +1 -1
  41. package/lib/hooks/useHideableNavbar.js +1 -2
  42. package/lib/hooks/useHideableNavbar.js.map +1 -1
  43. package/lib/hooks/usePrismTheme.d.ts +2 -2
  44. package/lib/hooks/usePrismTheme.d.ts.map +1 -1
  45. package/lib/hooks/usePrismTheme.js +1 -2
  46. package/lib/hooks/usePrismTheme.js.map +1 -1
  47. package/lib/hooks/useSkipToContent.d.ts +25 -0
  48. package/lib/hooks/useSkipToContent.d.ts.map +1 -0
  49. package/lib/hooks/useSkipToContent.js +35 -0
  50. package/lib/hooks/useSkipToContent.js.map +1 -0
  51. package/lib/hooks/useTOCHighlight.js +3 -3
  52. package/lib/hooks/useTOCHighlight.js.map +1 -1
  53. package/lib/index.d.ts +9 -6
  54. package/lib/index.d.ts.map +1 -1
  55. package/lib/index.js +8 -5
  56. package/lib/index.js.map +1 -1
  57. package/lib/utils/codeBlockUtils.d.ts +42 -12
  58. package/lib/utils/codeBlockUtils.d.ts.map +1 -1
  59. package/lib/utils/codeBlockUtils.js +89 -58
  60. package/lib/utils/codeBlockUtils.js.map +1 -1
  61. package/lib/utils/docsUtils.d.ts +58 -0
  62. package/lib/utils/docsUtils.d.ts.map +1 -1
  63. package/lib/utils/docsUtils.js +109 -10
  64. package/lib/utils/docsUtils.js.map +1 -1
  65. package/lib/utils/metadataUtils.d.ts +2 -2
  66. package/lib/utils/metadataUtils.d.ts.map +1 -1
  67. package/lib/utils/navbarUtils.d.ts +2 -2
  68. package/lib/utils/navbarUtils.d.ts.map +1 -1
  69. package/lib/utils/navbarUtils.js +7 -5
  70. package/lib/utils/navbarUtils.js.map +1 -1
  71. package/lib/utils/routesUtils.d.ts +4 -4
  72. package/lib/utils/routesUtils.d.ts.map +1 -1
  73. package/lib/utils/routesUtils.js.map +1 -1
  74. package/lib/utils/scrollUtils.d.ts +24 -0
  75. package/lib/utils/scrollUtils.d.ts.map +1 -1
  76. package/lib/utils/scrollUtils.js +52 -0
  77. package/lib/utils/scrollUtils.js.map +1 -1
  78. package/lib/utils/searchUtils.d.ts.map +1 -1
  79. package/lib/utils/searchUtils.js +2 -0
  80. package/lib/utils/searchUtils.js.map +1 -1
  81. package/lib/utils/storageUtils.d.ts +2 -2
  82. package/lib/utils/storageUtils.d.ts.map +1 -1
  83. package/lib/utils/tagsUtils.d.ts +3 -7
  84. package/lib/utils/tagsUtils.d.ts.map +1 -1
  85. package/lib/utils/tagsUtils.js +2 -2
  86. package/lib/utils/tagsUtils.js.map +1 -1
  87. package/lib/utils/tocUtils.d.ts +2 -2
  88. package/lib/utils/tocUtils.d.ts.map +1 -1
  89. package/lib/utils/tocUtils.js +4 -4
  90. package/lib/utils/tocUtils.js.map +1 -1
  91. package/lib/utils/useThemeConfig.d.ts +7 -4
  92. package/lib/utils/useThemeConfig.d.ts.map +1 -1
  93. package/lib/utils/useThemeConfig.js.map +1 -1
  94. package/package.json +18 -10
  95. package/src/components/Collapsible/index.tsx +2 -2
  96. package/src/components/Details/index.tsx +4 -2
  97. package/src/components/Details/styles.module.css +4 -0
  98. package/src/contexts/announcementBar.tsx +1 -1
  99. package/src/contexts/colorMode.tsx +38 -15
  100. package/src/contexts/docsPreferredVersion.tsx +5 -2
  101. package/src/contexts/docsSidebar.tsx +17 -9
  102. package/src/contexts/navbarMobileSidebar.tsx +5 -5
  103. package/src/contexts/navbarSecondaryMenu/content.tsx +110 -0
  104. package/src/contexts/navbarSecondaryMenu/display.tsx +102 -0
  105. package/src/contexts/tabGroupChoice.tsx +6 -3
  106. package/src/hooks/useBackToTopButton.ts +73 -0
  107. package/src/hooks/useCodeWordWrap.ts +56 -0
  108. package/src/hooks/useHideableNavbar.ts +1 -3
  109. package/src/hooks/usePrismTheme.ts +3 -3
  110. package/src/hooks/useSkipToContent.ts +58 -0
  111. package/src/hooks/useTOCHighlight.ts +3 -3
  112. package/src/index.ts +12 -5
  113. package/src/utils/codeBlockUtils.ts +150 -66
  114. package/src/utils/docsUtils.tsx +163 -9
  115. package/src/utils/metadataUtils.tsx +2 -2
  116. package/src/utils/navbarUtils.tsx +11 -6
  117. package/src/utils/routesUtils.ts +7 -7
  118. package/src/utils/scrollUtils.tsx +74 -0
  119. package/src/utils/searchUtils.ts +2 -0
  120. package/src/utils/storageUtils.ts +2 -2
  121. package/src/utils/tagsUtils.ts +4 -9
  122. package/src/utils/tocUtils.ts +5 -5
  123. package/src/utils/useThemeConfig.ts +7 -4
  124. package/yarn-error.log +20199 -0
  125. package/lib/contexts/navbarSecondaryMenu.d.ts.map +0 -1
  126. package/lib/contexts/navbarSecondaryMenu.js +0 -93
  127. package/lib/contexts/navbarSecondaryMenu.js.map +0 -1
  128. package/src/contexts/navbarSecondaryMenu.tsx +0 -170
@@ -55,5 +55,29 @@ export declare function useScrollPositionBlocker(): {
55
55
  */
56
56
  blockElementScrollPositionUntilNextRender: (el: HTMLElement) => void;
57
57
  };
58
+ declare type CancelScrollTop = () => void;
59
+ /**
60
+ * A "smart polyfill" of `window.scrollTo({ top, behavior: "smooth" })`.
61
+ * This currently always uses a polyfilled implementation unless
62
+ * `scroll-behavior: smooth` has been set in CSS, because native support
63
+ * detection for scroll behavior seems unreliable.
64
+ *
65
+ * This hook does not do anything by itself: it returns a start and a stop
66
+ * handle. You can execute either handle at any time.
67
+ */
68
+ export declare function useSmoothScrollTo(): {
69
+ /**
70
+ * Start the scroll.
71
+ *
72
+ * @param top The final scroll top position.
73
+ */
74
+ startScroll: (top: number) => void;
75
+ /**
76
+ * A cancel function, because the non-native smooth scroll-top
77
+ * implementation must be interrupted if user scrolls down. If there's no
78
+ * existing animation or the scroll is using native behavior, this is a no-op.
79
+ */
80
+ cancelScroll: CancelScrollTop;
81
+ };
58
82
  export {};
59
83
  //# sourceMappingURL=scrollUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scrollUtils.d.ts","sourceRoot":"","sources":["../../src/utils/scrollUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAOZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,aAAK,gBAAgB,GAAG;IACtB,gEAAgE;IAChE,sBAAsB,EAAE,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxD,mDAAmD;IACnD,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,oDAAoD;IACpD,mBAAmB,EAAE,MAAM,IAAI,CAAC;CACjC,CAAC;AAuBF,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,GAAG,CAAC,OAAO,CAOd;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,gBAAgB,CAMtD;AAED,aAAK,cAAc,GAAG;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAC;AAUzD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,CACN,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,cAAc,GAAG,IAAI,KAChC,IAAI,EACT,IAAI,GAAE,OAAO,EAAO,GACnB,IAAI,CA8BN;AA6CD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,IAAI;IAC1C;;;OAGG;IACH,yCAAyC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;CACtE,CAwCA"}
1
+ {"version":3,"file":"scrollUtils.d.ts","sourceRoot":"","sources":["../../src/utils/scrollUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAOZ,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAKf,aAAK,gBAAgB,GAAG;IACtB,gEAAgE;IAChE,sBAAsB,EAAE,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxD,mDAAmD;IACnD,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,oDAAoD;IACpD,mBAAmB,EAAE,MAAM,IAAI,CAAC;CACjC,CAAC;AAuBF,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,GAAG,CAAC,OAAO,CAOd;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,IAAI,gBAAgB,CAMtD;AAED,aAAK,cAAc,GAAG;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAC;AAUzD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,CACN,QAAQ,EAAE,cAAc,EACxB,YAAY,EAAE,cAAc,GAAG,IAAI,KAChC,IAAI,EACT,IAAI,GAAE,OAAO,EAAO,GACnB,IAAI,CA8BN;AA6CD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,IAAI;IAC1C;;;OAGG;IACH,yCAAyC,EAAE,CAAC,EAAE,EAAE,WAAW,KAAK,IAAI,CAAC;CACtE,CAwCA;AAED,aAAK,eAAe,GAAG,MAAM,IAAI,CAAC;AA6BlC;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,IAAI;IACnC;;;;OAIG;IACH,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC;;;;OAIG;IACH,YAAY,EAAE,eAAe,CAAC;CAC/B,CAoBA"}
@@ -7,6 +7,7 @@
7
7
  import React, { useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, } from 'react';
8
8
  import { useDynamicCallback, ReactContextError } from './reactUtils';
9
9
  import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment';
10
+ import useIsBrowser from '@docusaurus/useIsBrowser';
10
11
  function useScrollControllerContextValue() {
11
12
  const scrollEventsEnabledRef = useRef(true);
12
13
  return useMemo(() => ({
@@ -145,4 +146,55 @@ export function useScrollPositionBlocker() {
145
146
  blockElementScrollPositionUntilNextRender,
146
147
  };
147
148
  }
149
+ function smoothScrollNative(top) {
150
+ window.scrollTo({ top, behavior: 'smooth' });
151
+ return () => {
152
+ // Nothing to cancel, it's natively cancelled if user tries to scroll down
153
+ };
154
+ }
155
+ function smoothScrollPolyfill(top) {
156
+ let raf = null;
157
+ const isUpScroll = document.documentElement.scrollTop > top;
158
+ function rafRecursion() {
159
+ const currentScroll = document.documentElement.scrollTop;
160
+ if ((isUpScroll && currentScroll > top) ||
161
+ (!isUpScroll && currentScroll < top)) {
162
+ raf = requestAnimationFrame(rafRecursion);
163
+ window.scrollTo(0, Math.floor((currentScroll - top) * 0.85) + top);
164
+ }
165
+ }
166
+ rafRecursion();
167
+ // Break the recursion. Prevents the user from "fighting" against that
168
+ // recursion producing a weird UX
169
+ return () => raf && cancelAnimationFrame(raf);
170
+ }
171
+ /**
172
+ * A "smart polyfill" of `window.scrollTo({ top, behavior: "smooth" })`.
173
+ * This currently always uses a polyfilled implementation unless
174
+ * `scroll-behavior: smooth` has been set in CSS, because native support
175
+ * detection for scroll behavior seems unreliable.
176
+ *
177
+ * This hook does not do anything by itself: it returns a start and a stop
178
+ * handle. You can execute either handle at any time.
179
+ */
180
+ export function useSmoothScrollTo() {
181
+ const cancelRef = useRef(null);
182
+ const isBrowser = useIsBrowser();
183
+ // Not all have support for smooth scrolling (particularly Safari mobile iOS)
184
+ // TODO proper detection is currently unreliable!
185
+ // see https://github.com/wessberg/scroll-behavior-polyfill/issues/16
186
+ // For now, we only use native scroll behavior if smooth is already set,
187
+ // because otherwise the polyfill produces a weird UX when both CSS and JS try
188
+ // to scroll a page, and they cancel each other.
189
+ const supportsNativeSmoothScrolling = isBrowser &&
190
+ getComputedStyle(document.documentElement).scrollBehavior === 'smooth';
191
+ return {
192
+ startScroll: (top) => {
193
+ cancelRef.current = supportsNativeSmoothScrolling
194
+ ? smoothScrollNative(top)
195
+ : smoothScrollPolyfill(top);
196
+ },
197
+ cancelScroll: () => cancelRef.current?.(),
198
+ };
199
+ }
148
200
  //# sourceMappingURL=scrollUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scrollUtils.js","sourceRoot":"","sources":["../../src/utils/scrollUtils.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scrollUtils.js","sourceRoot":"","sources":["../../src/utils/scrollUtils.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"searchUtils.d.ts","sourceRoot":"","sources":["../../src/utils/searchUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,uDAAuD;AACvD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAC,CAgC7E"}
1
+ {"version":3,"file":"searchUtils.d.ts","sourceRoot":"","sources":["../../src/utils/searchUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,uDAAuD;AACvD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,IAAI;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAC,CAkC7E"}
@@ -24,6 +24,8 @@ export function useContextualSearchFilters() {
24
24
  const allDocsData = useAllDocsData();
25
25
  const activePluginAndVersion = useActivePluginAndVersion();
26
26
  const docsPreferredVersionByPluginId = useDocsPreferredVersionByPluginId();
27
+ // This can't use more specialized hooks because we are mapping over all
28
+ // plugin instances.
27
29
  function getDocPluginTags(pluginId) {
28
30
  const activeVersion = activePluginAndVersion?.activePlugin?.pluginId === pluginId
29
31
  ? activePluginAndVersion.activeVersion
@@ -1 +1 @@
1
- {"version":3,"file":"searchUtils.js","sourceRoot":"","sources":["../../src/utils/searchUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,cAAc,EACd,yBAAyB,GAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAC,iCAAiC,EAAC,MAAM,kCAAkC,CAAC;AACnF,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AAEpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAE5C,uDAAuD;AACvD,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,WAAmB;IAEnB,OAAO,QAAQ,QAAQ,IAAI,WAAW,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B;IACxC,MAAM,EAAC,IAAI,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,sBAAsB,GAAG,yBAAyB,EAAE,CAAC;IAC3D,MAAM,8BAA8B,GAAG,iCAAiC,EAAE,CAAC;IAE3E,SAAS,gBAAgB,CAAC,QAAgB;QACxC,MAAM,aAAa,GACjB,sBAAsB,EAAE,YAAY,EAAE,QAAQ,KAAK,QAAQ;YACzD,CAAC,CAAC,sBAAsB,CAAC,aAAa;YACtC,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,gBAAgB,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;QAElE,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAE,CAAC,QAAQ,CAAC,IAAI,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CACf,CAAC;QAEH,MAAM,OAAO,GAAG,aAAa,IAAI,gBAAgB,IAAI,aAAa,CAAC;QAEnE,OAAO,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,IAAI,GAAG;QACX,kBAAkB;QAClB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;KAClD,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,aAAa;QAC1B,IAAI;KACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"searchUtils.js","sourceRoot":"","sources":["../../src/utils/searchUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,cAAc,EACd,yBAAyB,GAC1B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAC,iCAAiC,EAAC,MAAM,kCAAkC,CAAC;AACnF,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AAEpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAE5C,uDAAuD;AACvD,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,WAAmB;IAEnB,OAAO,QAAQ,QAAQ,IAAI,WAAW,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B;IACxC,MAAM,EAAC,IAAI,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,sBAAsB,GAAG,yBAAyB,EAAE,CAAC;IAC3D,MAAM,8BAA8B,GAAG,iCAAiC,EAAE,CAAC;IAE3E,wEAAwE;IACxE,oBAAoB;IACpB,SAAS,gBAAgB,CAAC,QAAgB;QACxC,MAAM,aAAa,GACjB,sBAAsB,EAAE,YAAY,EAAE,QAAQ,KAAK,QAAQ;YACzD,CAAC,CAAC,sBAAsB,CAAC,aAAa;YACtC,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,gBAAgB,GAAG,8BAA8B,CAAC,QAAQ,CAAC,CAAC;QAElE,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAE,CAAC,QAAQ,CAAC,IAAI,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CACf,CAAC;QAEH,MAAM,OAAO,GAAG,aAAa,IAAI,gBAAgB,IAAI,aAAa,CAAC;QAEnE,OAAO,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,IAAI,GAAG;QACX,kBAAkB;QAClB,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;KAClD,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,aAAa;QAC1B,IAAI;KACL,CAAC;AACJ,CAAC"}
@@ -6,11 +6,11 @@
6
6
  */
7
7
  declare const StorageTypes: readonly ["localStorage", "sessionStorage", "none"];
8
8
  export declare type StorageType = typeof StorageTypes[number];
9
- export interface StorageSlot {
9
+ export declare type StorageSlot = {
10
10
  get: () => string | null;
11
11
  set: (value: string) => void;
12
12
  del: () => void;
13
- }
13
+ };
14
14
  /**
15
15
  * Creates an interface to work on a particular key in the storage model.
16
16
  * Note that this function only initializes the interface, but doesn't allocate
@@ -1 +1 @@
1
- {"version":3,"file":"storageUtils.d.ts","sourceRoot":"","sources":["../../src/utils/storageUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,QAAA,MAAM,YAAY,qDAAsD,CAAC;AAEzE,oBAAY,WAAW,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AA+CtD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,EAAE,MAAM,IAAI,CAAC;CACjB;AAuBD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CAAC,GACpC,WAAW,CAmCb;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,WAAW,GAAE,WAAgC,GAC5C,MAAM,EAAE,CAcV"}
1
+ {"version":3,"file":"storageUtils.d.ts","sourceRoot":"","sources":["../../src/utils/storageUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,QAAA,MAAM,YAAY,qDAAsD,CAAC;AAEzE,oBAAY,WAAW,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AA+CtD,oBAAY,WAAW,GAAG;IACxB,GAAG,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,EAAE,MAAM,IAAI,CAAC;CACjB,CAAC;AAuBF;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CAAC,GACpC,WAAW,CAmCb;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,WAAW,GAAE,WAAgC,GAC5C,MAAM,EAAE,CAcV"}
@@ -4,16 +4,12 @@
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 type { TagsListItem } from '@docusaurus/utils';
7
8
  export declare const translateTagsPageTitle: () => string;
8
- export declare type TagsListItem = Readonly<{
9
- name: string;
10
- permalink: string;
11
- count: number;
12
- }>;
13
- export declare type TagLetterEntry = Readonly<{
9
+ export declare type TagLetterEntry = {
14
10
  letter: string;
15
11
  tags: TagsListItem[];
16
- }>;
12
+ };
17
13
  /**
18
14
  * Takes a list of tags (as provided by the content plugins), and groups them by
19
15
  * their initials.
@@ -1 +1 @@
1
- {"version":3,"file":"tagsUtils.d.ts","sourceRoot":"","sources":["../../src/utils/tagsUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,sBAAsB,QAAO,MAKtC,CAAC;AAEL,oBAAY,YAAY,GAAG,QAAQ,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAEH,oBAAY,cAAc,GAAG,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,EAAE,CAAA;CAAC,CAAC,CAAC;AAM9E;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,SAAS,YAAY,EAAE,GAC5B,cAAc,EAAE,CAoBlB"}
1
+ {"version":3,"file":"tagsUtils.d.ts","sourceRoot":"","sources":["../../src/utils/tagsUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAEpD,eAAO,MAAM,sBAAsB,QAAO,MAKtC,CAAC;AAEL,oBAAY,cAAc,GAAG;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,YAAY,EAAE,CAAA;CAAC,CAAC;AAMpE;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,SAAS,YAAY,EAAE,GAC5B,cAAc,EAAE,CAoBlB"}
@@ -20,7 +20,7 @@ function getTagLetter(tag) {
20
20
  export function listTagsByLetters(tags) {
21
21
  const groups = {};
22
22
  Object.values(tags).forEach((tag) => {
23
- const initial = getTagLetter(tag.name);
23
+ const initial = getTagLetter(tag.label);
24
24
  groups[initial] ?? (groups[initial] = []);
25
25
  groups[initial].push(tag);
26
26
  });
@@ -29,7 +29,7 @@ export function listTagsByLetters(tags) {
29
29
  .sort(([letter1], [letter2]) => letter1.localeCompare(letter2))
30
30
  .map(([letter, letterTags]) => {
31
31
  // Sort tags inside a letter
32
- const sortedTags = letterTags.sort((tag1, tag2) => tag1.name.localeCompare(tag2.name));
32
+ const sortedTags = letterTags.sort((tag1, tag2) => tag1.label.localeCompare(tag2.label));
33
33
  return { letter, tags: sortedTags };
34
34
  }));
35
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tagsUtils.js","sourceRoot":"","sources":["../../src/utils/tagsUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAEhD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAW,EAAE,CACjD,SAAS,CAAC;IACR,EAAE,EAAE,0BAA0B;IAC9B,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,gCAAgC;CAC9C,CAAC,CAAC;AAUL,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAA6B;IAE7B,MAAM,MAAM,GAAwC,EAAE,CAAC;IACvD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,CAAC,OAAO,MAAd,MAAM,CAAC,OAAO,IAAM,EAAE,EAAC;QACvB,MAAM,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QACpB,eAAe;SACd,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SAC9D,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE;QAC5B,4BAA4B;QAC5B,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAChD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CACnC,CAAC;QACF,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAC,CAAC;IACpC,CAAC,CAAC,CACL,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tagsUtils.js","sourceRoot":"","sources":["../../src/utils/tagsUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAGhD,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAW,EAAE,CACjD,SAAS,CAAC;IACR,EAAE,EAAE,0BAA0B;IAC9B,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,gCAAgC;CAC9C,CAAC,CAAC;AAIL,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAA6B;IAE7B,MAAM,MAAM,GAAwC,EAAE,CAAC;IACvD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,MAAd,MAAM,CAAC,OAAO,IAAM,EAAE,EAAC;QACvB,MAAM,CAAC,OAAO,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QACpB,eAAe;SACd,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;SAC9D,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,EAAE;QAC5B,4BAA4B;QAC5B,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAChD,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CACrC,CAAC;QACF,OAAO,EAAC,MAAM,EAAE,IAAI,EAAE,UAAU,EAAC,CAAC;IACpC,CAAC,CAAC,CACL,CAAC;AACJ,CAAC"}
@@ -4,7 +4,7 @@
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 type { TOCItem } from '@docusaurus/types';
7
+ import type { TOCItem } from '@docusaurus/mdx-loader';
8
8
  export declare type TOCTreeNode = {
9
9
  readonly value: string;
10
10
  readonly id: string;
@@ -26,7 +26,7 @@ export declare function useTreeifiedTOC(toc: TOCItem[]): readonly TOCTreeNode[];
26
26
  * to ensure that weird TOC structures preserve their semantics. For example, an
27
27
  * h3-h2-h4 sequence should not be treeified as an "h3 > h4" hierarchy with
28
28
  * min=3, max=4, but should rather be "[h3, h4]" (since the h2 heading has split
29
- * the two headings and they are not parents)
29
+ * the two headings and they are not parent-children)
30
30
  */
31
31
  export declare function useFilteredAndTreeifiedTOC({ toc, minHeadingLevel, maxHeadingLevel, }: {
32
32
  toc: readonly TOCItem[];
@@ -1 +1 @@
1
- {"version":3,"file":"tocUtils.d.ts","sourceRoot":"","sources":["../../src/utils/tocUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAE/C,oBAAY,WAAW,GAAG;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;CAC3C,CAAC;AAuCF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,SAAS,WAAW,EAAE,CAEtE;AAiCD;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,GAAG,EACH,eAAe,EACf,eAAe,GAChB,EAAE;IACD,GAAG,EAAE,SAAS,OAAO,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB,GAAG,SAAS,WAAW,EAAE,CAKzB"}
1
+ {"version":3,"file":"tocUtils.d.ts","sourceRoot":"","sources":["../../src/utils/tocUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,wBAAwB,CAAC;AAEpD,oBAAY,WAAW,GAAG;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,SAAS,WAAW,EAAE,CAAC;CAC3C,CAAC;AAuCF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,SAAS,WAAW,EAAE,CAEtE;AAiCD;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CAAC,EACzC,GAAG,EACH,eAAe,EACf,eAAe,GAChB,EAAE;IACD,GAAG,EAAE,SAAS,OAAO,EAAE,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB,GAAG,SAAS,WAAW,EAAE,CAKzB"}
@@ -18,11 +18,11 @@ function treeifyTOC(flatTOC) {
18
18
  // indices 0 and 1 will remain unused.
19
19
  const prevIndexForLevel = Array(7).fill(-1);
20
20
  headings.forEach((curr, currIndex) => {
21
- // take the last seen index for each ancestor level. the highest
22
- // index will be the direct ancestor of the current heading.
21
+ // Take the last seen index for each ancestor level. the highest index will
22
+ // be the direct ancestor of the current heading.
23
23
  const ancestorLevelIndexes = prevIndexForLevel.slice(2, curr.level);
24
24
  curr.parentIndex = Math.max(...ancestorLevelIndexes);
25
- // mark that curr.level was last seen at the current index
25
+ // Mark that curr.level was last seen at the current index.
26
26
  prevIndexForLevel[curr.level] = currIndex;
27
27
  });
28
28
  const rootNodes = [];
@@ -76,7 +76,7 @@ function filterTOC({ toc, minHeadingLevel, maxHeadingLevel, }) {
76
76
  * to ensure that weird TOC structures preserve their semantics. For example, an
77
77
  * h3-h2-h4 sequence should not be treeified as an "h3 > h4" hierarchy with
78
78
  * min=3, max=4, but should rather be "[h3, h4]" (since the h2 heading has split
79
- * the two headings and they are not parents)
79
+ * the two headings and they are not parent-children)
80
80
  */
81
81
  export function useFilteredAndTreeifiedTOC({ toc, minHeadingLevel, maxHeadingLevel, }) {
82
82
  return useMemo(() => filterTOC({ toc: treeifyTOC(toc), minHeadingLevel, maxHeadingLevel }), [toc, minHeadingLevel, maxHeadingLevel]);
@@ -1 +1 @@
1
- {"version":3,"file":"tocUtils.js","sourceRoot":"","sources":["../../src/utils/tocUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAU9B,SAAS,UAAU,CAAC,OAA2B;IAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzC,GAAG,OAAO;QACV,WAAW,EAAE,CAAC,CAAC;QACf,QAAQ,EAAE,EAAmB;KAC9B,CAAC,CAAC,CAAC;IAEJ,2EAA2E;IAC3E,8EAA8E;IAC9E,8EAA8E;IAC9E,8EAA8E;IAC9E,sCAAsC;IACtC,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QACnC,gEAAgE;QAChE,4DAA4D;QAC5D,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,CAAC;QACrD,0DAA0D;QAC1D,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAkB,EAAE,CAAC;IAEpC,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,EAAC,WAAW,EAAE,GAAG,IAAI,EAAC,GAAG,OAAO,CAAC;QACvC,IAAI,WAAW,IAAI,CAAC,EAAE;YACpB,QAAQ,CAAC,WAAW,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5C;aAAM;YACL,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtB;IACH,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,GAAc;IAC5C,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,EACjB,GAAG,EACH,eAAe,EACf,eAAe,GAKhB;IACC,SAAS,OAAO,CAAC,IAAiB;QAChC,OAAO,IAAI,CAAC,KAAK,IAAI,eAAe,IAAI,IAAI,CAAC,KAAK,IAAI,eAAe,CAAC;IACxE,CAAC;IAED,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,MAAM,gBAAgB,GAAG,SAAS,CAAC;YACjC,GAAG,EAAE,IAAI,CAAC,QAAQ;YAClB,eAAe;YACf,eAAe;SAChB,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;YACjB,OAAO;gBACL;oBACE,GAAG,IAAI;oBACP,QAAQ,EAAE,gBAAgB;iBAC3B;aACF,CAAC;SACH;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,0BAA0B,CAAC,EACzC,GAAG,EACH,eAAe,EACf,eAAe,GAKhB;IACC,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,SAAS,CAAC,EAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,eAAe,EAAC,CAAC,EACzE,CAAC,GAAG,EAAE,eAAe,EAAE,eAAe,CAAC,CACxC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tocUtils.js","sourceRoot":"","sources":["../../src/utils/tocUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAU9B,SAAS,UAAU,CAAC,OAA2B;IAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACzC,GAAG,OAAO;QACV,WAAW,EAAE,CAAC,CAAC;QACf,QAAQ,EAAE,EAAmB;KAC9B,CAAC,CAAC,CAAC;IAEJ,2EAA2E;IAC3E,8EAA8E;IAC9E,8EAA8E;IAC9E,8EAA8E;IAC9E,sCAAsC;IACtC,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;QACnC,2EAA2E;QAC3E,iDAAiD;QACjD,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,CAAC;QACrD,2DAA2D;QAC3D,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAkB,EAAE,CAAC;IAEpC,6EAA6E;IAC7E,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,EAAC,WAAW,EAAE,GAAG,IAAI,EAAC,GAAG,OAAO,CAAC;QACvC,IAAI,WAAW,IAAI,CAAC,EAAE;YACpB,QAAQ,CAAC,WAAW,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC5C;aAAM;YACL,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtB;IACH,CAAC,CAAC,CAAC;IACH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,GAAc;IAC5C,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,EACjB,GAAG,EACH,eAAe,EACf,eAAe,GAKhB;IACC,SAAS,OAAO,CAAC,IAAiB;QAChC,OAAO,IAAI,CAAC,KAAK,IAAI,eAAe,IAAI,IAAI,CAAC,KAAK,IAAI,eAAe,CAAC;IACxE,CAAC;IAED,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,MAAM,gBAAgB,GAAG,SAAS,CAAC;YACjC,GAAG,EAAE,IAAI,CAAC,QAAQ;YAClB,eAAe;YACf,eAAe;SAChB,CAAC,CAAC;QACH,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;YACjB,OAAO;gBACL;oBACE,GAAG,IAAI;oBACP,QAAQ,EAAE,gBAAgB;iBAC3B;aACF,CAAC;SACH;QACD,OAAO,gBAAgB,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,0BAA0B,CAAC,EACzC,GAAG,EACH,eAAe,EACf,eAAe,GAKhB;IACC,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,SAAS,CAAC,EAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,eAAe,EAAC,CAAC,EACzE,CAAC,GAAG,EAAE,eAAe,EAAE,eAAe,CAAC,CACxC,CAAC;AACJ,CAAC"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import type { PrismTheme } from 'prism-react-renderer';
8
8
  import type { DeepPartial } from 'utility-types';
9
+ import type { MagicCommentConfig } from './codeBlockUtils';
9
10
  export declare type DocsVersionPersistence = 'localStorage' | 'none';
10
11
  export declare type NavbarItem = {
11
12
  type?: string | undefined;
@@ -44,10 +45,11 @@ export declare type AnnouncementBarConfig = {
44
45
  isCloseable: boolean;
45
46
  };
46
47
  export declare type PrismConfig = {
47
- theme?: PrismTheme;
48
+ theme: PrismTheme;
48
49
  darkTheme?: PrismTheme;
49
50
  defaultLanguage?: string;
50
51
  additionalLanguages: string[];
52
+ magicComments: MagicCommentConfig[];
51
53
  };
52
54
  export declare type FooterLinkItem = {
53
55
  label?: string;
@@ -88,19 +90,20 @@ export declare type TableOfContents = {
88
90
  export declare type ThemeConfig = {
89
91
  docs: {
90
92
  versionPersistence: DocsVersionPersistence;
93
+ sidebar: {
94
+ hideable: boolean;
95
+ autoCollapseCategories: boolean;
96
+ };
91
97
  };
92
98
  navbar: Navbar;
93
99
  colorMode: ColorModeConfig;
94
100
  announcementBar?: AnnouncementBarConfig;
95
101
  prism: PrismConfig;
96
102
  footer?: Footer;
97
- hideableSidebar: boolean;
98
- autoCollapseSidebarCategories: boolean;
99
103
  image?: string;
100
104
  metadata: Array<{
101
105
  [key: string]: string;
102
106
  }>;
103
- sidebarCollapsible: boolean;
104
107
  tableOfContents: TableOfContents;
105
108
  };
106
109
  export declare type UserThemeConfig = DeepPartial<ThemeConfig>;
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useThemeConfig.js","sourceRoot":"","sources":["../../src/utils/useThemeConfig.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,oBAAoB,MAAM,kCAAkC,CAAC;AA0HpE;;GAEG;AACH,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.18",
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,20 +26,20 @@
18
26
  },
19
27
  "license": "MIT",
20
28
  "dependencies": {
21
- "@docusaurus/module-type-aliases": "2.0.0-beta.18",
22
- "@docusaurus/plugin-content-blog": "2.0.0-beta.18",
23
- "@docusaurus/plugin-content-docs": "2.0.0-beta.18",
24
- "@docusaurus/plugin-content-pages": "2.0.0-beta.18",
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.18",
33
- "@docusaurus/types": "2.0.0-beta.18",
34
- "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",
35
43
  "lodash": "^4.17.21"
36
44
  },
37
45
  "peerDependencies": {
@@ -41,5 +49,5 @@
41
49
  "engines": {
42
50
  "node": ">=14"
43
51
  },
44
- "gitHead": "1a945d06993d53376e61bed2c942799fe07dc336"
52
+ "gitHead": "a71e60a49cce93c1006ef10c41ac03187f057102"
45
53
  }
@@ -224,6 +224,8 @@ function CollapsibleBase({
224
224
 
225
225
  function CollapsibleLazy({collapsed, ...props}: CollapsibleBaseProps) {
226
226
  const [mounted, setMounted] = useState(!collapsed);
227
+ // Updated in effect so that first expansion transition can work
228
+ const [lazyCollapsed, setLazyCollapsed] = useState(collapsed);
227
229
 
228
230
  useLayoutEffect(() => {
229
231
  if (!collapsed) {
@@ -231,8 +233,6 @@ function CollapsibleLazy({collapsed, ...props}: CollapsibleBaseProps) {
231
233
  }
232
234
  }, [collapsed]);
233
235
 
234
- // lazyCollapsed updated in effect so that first expansion transition can work
235
- const [lazyCollapsed, setLazyCollapsed] = useState(collapsed);
236
236
  useLayoutEffect(() => {
237
237
  if (mounted) {
238
238
  setLazyCollapsed(collapsed);
@@ -87,10 +87,12 @@ export function Details({
87
87
  setOpen(true);
88
88
  } else {
89
89
  setCollapsed(true);
90
- // setOpen(false); // Don't do this, it breaks close animation!
90
+ // Don't do this, it breaks close animation!
91
+ // setOpen(false);
91
92
  }
92
93
  }}>
93
- {summary}
94
+ {/* eslint-disable-next-line @docusaurus/no-untranslated-text */}
95
+ {summary || <summary>Details</summary>}
94
96
 
95
97
  <Collapsible
96
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
+ }
@@ -72,7 +72,7 @@ function useContextValue(): ContextValue {
72
72
 
73
73
  let viewedId = IdStorage.get();
74
74
 
75
- // retrocompatibility due to spelling mistake of default id
75
+ // Retrocompatibility due to spelling mistake of default id
76
76
  // see https://github.com/facebook/docusaurus/issues/3338
77
77
  // cSpell:ignore annoucement
78
78
  if (viewedId === 'annoucement-bar') {
@@ -65,10 +65,39 @@ function useContextValue(): ContextValue {
65
65
  getInitialColorMode(defaultMode),
66
66
  );
67
67
 
68
- const setColorMode = useCallback((newColorMode: ColorMode) => {
69
- setColorModeState(newColorMode);
70
- storeColorMode(newColorMode);
71
- }, []);
68
+ useEffect(() => {
69
+ // A site is deployed without disableSwitch
70
+ // => User visits the site and has a persisted value
71
+ // => Site later enabled disableSwitch
72
+ // => Clear the previously stored value to apply the site's setting
73
+ if (disableSwitch) {
74
+ ColorModeStorage.del();
75
+ }
76
+ }, [disableSwitch]);
77
+
78
+ const setColorMode = useCallback(
79
+ (newColorMode: ColorMode | null, options: {persist?: boolean} = {}) => {
80
+ const {persist = true} = options;
81
+ if (newColorMode) {
82
+ setColorModeState(newColorMode);
83
+ if (persist) {
84
+ storeColorMode(newColorMode);
85
+ }
86
+ } else {
87
+ if (respectPrefersColorScheme) {
88
+ setColorModeState(
89
+ window.matchMedia('(prefers-color-scheme: dark)').matches
90
+ ? ColorModes.dark
91
+ : ColorModes.light,
92
+ );
93
+ } else {
94
+ setColorModeState(defaultMode);
95
+ }
96
+ ColorModeStorage.del();
97
+ }
98
+ },
99
+ [respectPrefersColorScheme, defaultMode],
100
+ );
72
101
 
73
102
  useEffect(() => {
74
103
  document.documentElement.setAttribute(
@@ -85,13 +114,9 @@ function useContextValue(): ContextValue {
85
114
  if (e.key !== ColorModeStorageKey) {
86
115
  return;
87
116
  }
88
- try {
89
- const storedColorMode = ColorModeStorage.get();
90
- if (storedColorMode !== null) {
91
- setColorMode(coerceToColorMode(storedColorMode));
92
- }
93
- } catch (err) {
94
- console.error(err);
117
+ const storedColorMode = ColorModeStorage.get();
118
+ if (storedColorMode !== null) {
119
+ setColorMode(coerceToColorMode(storedColorMode));
95
120
  }
96
121
  };
97
122
  window.addEventListener('storage', onChange);
@@ -109,12 +134,12 @@ function useContextValue(): ContextValue {
109
134
  return undefined;
110
135
  }
111
136
  const mql = window.matchMedia('(prefers-color-scheme: dark)');
112
- const onChange = ({matches}: MediaQueryListEvent) => {
137
+ const onChange = () => {
113
138
  if (window.matchMedia('print').matches || previousMediaIsPrint.current) {
114
139
  previousMediaIsPrint.current = window.matchMedia('print').matches;
115
140
  return;
116
141
  }
117
- setColorMode(matches ? ColorModes.dark : ColorModes.light);
142
+ setColorMode(null);
118
143
  };
119
144
  mql.addListener(onChange);
120
145
  return () => mql.removeListener(onChange);
@@ -139,7 +164,6 @@ function useContextValue(): ContextValue {
139
164
  );
140
165
  }
141
166
  setColorMode(ColorModes.light);
142
- storeColorMode(ColorModes.light);
143
167
  },
144
168
  setDarkTheme() {
145
169
  if (process.env.NODE_ENV === 'development') {
@@ -148,7 +172,6 @@ function useContextValue(): ContextValue {
148
172
  );
149
173
  }
150
174
  setColorMode(ColorModes.dark);
151
- storeColorMode(ColorModes.dark);
152
175
  },
153
176
  }),
154
177
  [colorMode, setColorMode],
@@ -198,8 +198,11 @@ function useDocsPreferredVersionContext(): ContextValue {
198
198
  }
199
199
 
200
200
  /**
201
- * Returns a read-write interface to a plugin's preferred version.
202
- * Note, the `preferredVersion` attribute will always be `null` before mount.
201
+ * Returns a read-write interface to a plugin's preferred version. The
202
+ * "preferred version" is defined as the last version that the user visited.
203
+ * For example, if a user is using v3, even when v4 is later published, the user
204
+ * would still be browsing v3 docs when she opens the website next time. Note,
205
+ * the `preferredVersion` attribute will always be `null` before mount.
203
206
  */
204
207
  export function useDocsPreferredVersion(
205
208
  pluginId: string | undefined = DEFAULT_PLUGIN_ID,
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import React, {type ReactNode, useContext} from 'react';
8
+ import React, {useMemo, useContext, type ReactNode} from 'react';
9
9
  import type {PropSidebar} from '@docusaurus/plugin-content-docs';
10
10
  import {ReactContextError} from '../utils/reactUtils';
11
11
 
@@ -13,7 +13,9 @@ import {ReactContextError} from '../utils/reactUtils';
13
13
  // Inspired by https://github.com/jamiebuilds/unstated-next/blob/master/src/unstated-next.tsx
14
14
  const EmptyContext: unique symbol = Symbol('EmptyContext');
15
15
 
16
- const Context = React.createContext<PropSidebar | null | typeof EmptyContext>(
16
+ type ContextValue = {name: string; items: PropSidebar};
17
+
18
+ const Context = React.createContext<ContextValue | null | typeof EmptyContext>(
17
19
  EmptyContext,
18
20
  );
19
21
 
@@ -22,21 +24,27 @@ const Context = React.createContext<PropSidebar | null | typeof EmptyContext>(
22
24
  */
23
25
  export function DocsSidebarProvider({
24
26
  children,
25
- sidebar,
27
+ name,
28
+ items,
26
29
  }: {
27
30
  children: ReactNode;
28
- sidebar: PropSidebar | null;
31
+ name: string | undefined;
32
+ items: PropSidebar | undefined;
29
33
  }): JSX.Element {
30
- return <Context.Provider value={sidebar}>{children}</Context.Provider>;
34
+ const stableValue: ContextValue | null = useMemo(
35
+ () => (name && items ? {name, items} : null),
36
+ [name, items],
37
+ );
38
+ return <Context.Provider value={stableValue}>{children}</Context.Provider>;
31
39
  }
32
40
 
33
41
  /**
34
42
  * Gets the sidebar that's currently displayed, or `null` if there isn't one
35
43
  */
36
- export function useDocsSidebar(): PropSidebar | null {
37
- const sidebar = useContext(Context);
38
- if (sidebar === EmptyContext) {
44
+ export function useDocsSidebar(): ContextValue | null {
45
+ const value = useContext(Context);
46
+ if (value === EmptyContext) {
39
47
  throw new ReactContextError('DocsSidebarProvider');
40
48
  }
41
- return sidebar;
49
+ return value;
42
50
  }