@docusaurus/theme-common 3.3.2 → 3.5.0

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 (103) hide show
  1. package/lib/contexts/announcementBar.d.ts +0 -1
  2. package/lib/contexts/announcementBar.d.ts.map +1 -1
  3. package/lib/contexts/announcementBar.js +4 -4
  4. package/lib/contexts/announcementBar.js.map +1 -1
  5. package/lib/index.d.ts +5 -6
  6. package/lib/index.d.ts.map +1 -1
  7. package/lib/index.js +18 -6
  8. package/lib/index.js.map +1 -1
  9. package/lib/internal.d.ts +2 -9
  10. package/lib/internal.d.ts.map +1 -1
  11. package/lib/internal.js +2 -9
  12. package/lib/internal.js.map +1 -1
  13. package/lib/translations/blogTranslations.d.ts +19 -0
  14. package/lib/translations/blogTranslations.d.ts.map +1 -0
  15. package/lib/translations/blogTranslations.js +48 -0
  16. package/lib/translations/blogTranslations.js.map +1 -0
  17. package/lib/{utils/unlistedUtils.d.ts → translations/contentVisibilityTranslations.d.ts} +3 -2
  18. package/lib/translations/contentVisibilityTranslations.d.ts.map +1 -0
  19. package/lib/translations/contentVisibilityTranslations.js +39 -0
  20. package/lib/translations/contentVisibilityTranslations.js.map +1 -0
  21. package/lib/utils/ThemeClassNames.d.ts +3 -0
  22. package/lib/utils/ThemeClassNames.d.ts.map +1 -1
  23. package/lib/utils/ThemeClassNames.js +3 -0
  24. package/lib/utils/ThemeClassNames.js.map +1 -1
  25. package/lib/utils/errorBoundaryUtils.d.ts +0 -1
  26. package/lib/utils/errorBoundaryUtils.d.ts.map +1 -1
  27. package/lib/utils/jsUtils.d.ts +1 -0
  28. package/lib/utils/jsUtils.d.ts.map +1 -1
  29. package/lib/utils/jsUtils.js +14 -0
  30. package/lib/utils/jsUtils.js.map +1 -1
  31. package/lib/utils/searchUtils.d.ts +0 -13
  32. package/lib/utils/searchUtils.d.ts.map +1 -1
  33. package/lib/utils/searchUtils.js +0 -39
  34. package/lib/utils/searchUtils.js.map +1 -1
  35. package/lib/utils/storageUtils.d.ts +3 -4
  36. package/lib/utils/storageUtils.d.ts.map +1 -1
  37. package/lib/utils/storageUtils.js +7 -3
  38. package/lib/utils/storageUtils.js.map +1 -1
  39. package/lib/utils/tabsUtils.d.ts +2 -2
  40. package/lib/utils/tabsUtils.d.ts.map +1 -1
  41. package/lib/utils/useThemeConfig.d.ts +5 -0
  42. package/lib/utils/useThemeConfig.d.ts.map +1 -1
  43. package/lib/utils/useThemeConfig.js.map +1 -1
  44. package/package.json +9 -11
  45. package/src/contexts/announcementBar.tsx +4 -6
  46. package/src/index.ts +27 -16
  47. package/src/internal.ts +8 -36
  48. package/src/translations/blogTranslations.tsx +79 -0
  49. package/src/{utils/unlistedUtils.tsx → translations/contentVisibilityTranslations.tsx} +25 -2
  50. package/src/types.d.ts +0 -3
  51. package/src/utils/ThemeClassNames.ts +3 -0
  52. package/src/utils/jsUtils.ts +18 -0
  53. package/src/utils/searchUtils.ts +0 -58
  54. package/src/utils/storageUtils.ts +8 -4
  55. package/src/utils/useThemeConfig.ts +6 -0
  56. package/lib/contexts/blogPost.d.ts +0 -33
  57. package/lib/contexts/blogPost.d.ts.map +0 -1
  58. package/lib/contexts/blogPost.js +0 -46
  59. package/lib/contexts/blogPost.js.map +0 -1
  60. package/lib/contexts/doc.d.ts +0 -30
  61. package/lib/contexts/doc.d.ts.map +0 -1
  62. package/lib/contexts/doc.js +0 -48
  63. package/lib/contexts/doc.js.map +0 -1
  64. package/lib/contexts/docSidebarItemsExpandedState.d.ts +0 -31
  65. package/lib/contexts/docSidebarItemsExpandedState.d.ts.map +0 -1
  66. package/lib/contexts/docSidebarItemsExpandedState.js +0 -28
  67. package/lib/contexts/docSidebarItemsExpandedState.js.map +0 -1
  68. package/lib/contexts/docsPreferredVersion.d.ts +0 -30
  69. package/lib/contexts/docsPreferredVersion.d.ts.map +0 -1
  70. package/lib/contexts/docsPreferredVersion.js +0 -130
  71. package/lib/contexts/docsPreferredVersion.js.map +0 -1
  72. package/lib/contexts/docsSidebar.d.ts +0 -26
  73. package/lib/contexts/docsSidebar.d.ts.map +0 -1
  74. package/lib/contexts/docsSidebar.js +0 -30
  75. package/lib/contexts/docsSidebar.js.map +0 -1
  76. package/lib/contexts/docsVersion.d.ts +0 -20
  77. package/lib/contexts/docsVersion.d.ts.map +0 -1
  78. package/lib/contexts/docsVersion.js +0 -26
  79. package/lib/contexts/docsVersion.js.map +0 -1
  80. package/lib/utils/blogUtils.d.ts +0 -13
  81. package/lib/utils/blogUtils.d.ts.map +0 -1
  82. package/lib/utils/blogUtils.js +0 -24
  83. package/lib/utils/blogUtils.js.map +0 -1
  84. package/lib/utils/docsUtils.d.ts +0 -109
  85. package/lib/utils/docsUtils.d.ts.map +0 -1
  86. package/lib/utils/docsUtils.js +0 -276
  87. package/lib/utils/docsUtils.js.map +0 -1
  88. package/lib/utils/structuredDataUtils.d.ts +0 -12
  89. package/lib/utils/structuredDataUtils.d.ts.map +0 -1
  90. package/lib/utils/structuredDataUtils.js +0 -123
  91. package/lib/utils/structuredDataUtils.js.map +0 -1
  92. package/lib/utils/unlistedUtils.d.ts.map +0 -1
  93. package/lib/utils/unlistedUtils.js +0 -26
  94. package/lib/utils/unlistedUtils.js.map +0 -1
  95. package/src/contexts/blogPost.tsx +0 -80
  96. package/src/contexts/doc.tsx +0 -71
  97. package/src/contexts/docSidebarItemsExpandedState.tsx +0 -55
  98. package/src/contexts/docsPreferredVersion.tsx +0 -251
  99. package/src/contexts/docsSidebar.tsx +0 -50
  100. package/src/contexts/docsVersion.tsx +0 -36
  101. package/src/utils/blogUtils.ts +0 -32
  102. package/src/utils/docsUtils.tsx +0 -418
  103. package/src/utils/structuredDataUtils.ts +0 -177
@@ -1 +1 @@
1
- {"version":3,"file":"storageUtils.d.ts","sourceRoot":"","sources":["../../src/utils/storageUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,QAAA,MAAM,YAAY,qDAAsD,CAAC;AAEzE,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAoFxD,MAAM,MAAM,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;IAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;CACjE,CAAC;AAyBF;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CAAC,GACpC,WAAW,CA6Db;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,CAAC,EAAE;IAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CAAC,GACpC,CAAC,MAAM,GAAG,IAAI,EAAE,WAAW,CAAC,CAiC9B;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;AAGH,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;AAwFhE,MAAM,MAAM,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;IAChB,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;CACjE,CAAC;AAyBF;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;IAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CAAC,GACpC,WAAW,CA8Db;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,OAAO,CAAC,EAAE;IAAC,WAAW,CAAC,EAAE,WAAW,CAAA;CAAC,GACpC,CAAC,MAAM,GAAG,IAAI,EAAE,WAAW,CAAC,CAiC9B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,WAAW,GAAE,WAAgC,GAC5C,MAAM,EAAE,CAcV"}
@@ -5,8 +5,11 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { useCallback, useRef, useSyncExternalStore } from 'react';
8
- const StorageTypes = ['localStorage', 'sessionStorage', 'none'];
9
- const DefaultStorageType = 'localStorage';
8
+ import SiteStorage from '@generated/site-storage';
9
+ const DefaultStorageType = SiteStorage.type;
10
+ function applyNamespace(storageKey) {
11
+ return `${storageKey}${SiteStorage.namespace}`;
12
+ }
10
13
  // window.addEventListener('storage') only works for different windows...
11
14
  // so for current window we have to dispatch the event manually
12
15
  // Now we can listen for both cross-window / current-window storage changes!
@@ -88,7 +91,8 @@ Please only call storage APIs in effects and event handlers.`);
88
91
  * security) or operations might fail individually. Please assume that using
89
92
  * this API can be a no-op. See also https://github.com/facebook/docusaurus/issues/6036
90
93
  */
91
- export function createStorageSlot(key, options) {
94
+ export function createStorageSlot(keyInput, options) {
95
+ const key = applyNamespace(keyInput);
92
96
  if (typeof window === 'undefined') {
93
97
  return createServerStorageSlot(key);
94
98
  }
@@ -1 +1 @@
1
- {"version":3,"file":"storageUtils.js","sourceRoot":"","sources":["../../src/utils/storageUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storageUtils.js","sourceRoot":"","sources":["../../src/utils/storageUtils.ts"],"names":[],"mappings":"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"}
@@ -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 React, { type ReactNode, type ReactElement } from 'react';
7
+ import { type ReactNode, type ReactElement } from 'react';
8
8
  /**
9
9
  * TabValue is the "config" of a given Tab
10
10
  * Provided through <Tabs> "values" prop or through the children <TabItem> props
@@ -39,7 +39,7 @@ export interface TabItemProps {
39
39
  [key: string]: unknown;
40
40
  };
41
41
  }
42
- export declare function sanitizeTabsChildren(children: TabsProps['children']): React.ReactElement<TabItemProps, string | React.JSXElementConstructor<any>>[];
42
+ export declare function sanitizeTabsChildren(children: TabsProps['children']): ReactElement<TabItemProps>[];
43
43
  export declare function useTabs(props: TabsProps): {
44
44
  selectedValue: string;
45
45
  selectValue: (value: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"tabsUtils.d.ts","sourceRoot":"","sources":["../../src/utils/tabsUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAKZ,KAAK,SAAS,EACd,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AAMf;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,KAAK,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;CAChD;AAWD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,iFAiBnE;AA+ID,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;CAChC,CA8CA"}
1
+ {"version":3,"file":"tabsUtils.d.ts","sourceRoot":"","sources":["../../src/utils/tabsUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EAKZ,KAAK,SAAS,EACd,KAAK,YAAY,EAClB,MAAM,OAAO,CAAC;AAMf;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,KAAK,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACtC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;CAChD;AAWD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,CAAC,GAgBpC,YAAY,CAAC,YAAY,CAAC,EAAE,CAC3D;AA+ID,wBAAgB,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;CAChC,CA8CA"}
@@ -91,6 +91,11 @@ export type ThemeConfig = {
91
91
  autoCollapseCategories: boolean;
92
92
  };
93
93
  };
94
+ blog: {
95
+ sidebar: {
96
+ groupByYear: boolean;
97
+ };
98
+ };
94
99
  navbar: Navbar;
95
100
  colorMode: ColorModeConfig;
96
101
  announcementBar?: AnnouncementBarConfig;
@@ -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;AAgIpE;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,OAAO,oBAAoB,EAAE,CAAC,UAAU,CAAC,WAA0B,CAAC;AACtE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusaurus/theme-common",
3
- "version": "3.3.2",
3
+ "version": "3.5.0",
4
4
  "description": "Common code for Docusaurus themes.",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -30,13 +30,10 @@
30
30
  },
31
31
  "license": "MIT",
32
32
  "dependencies": {
33
- "@docusaurus/mdx-loader": "3.3.2",
34
- "@docusaurus/module-type-aliases": "3.3.2",
35
- "@docusaurus/plugin-content-blog": "3.3.2",
36
- "@docusaurus/plugin-content-docs": "3.3.2",
37
- "@docusaurus/plugin-content-pages": "3.3.2",
38
- "@docusaurus/utils": "3.3.2",
39
- "@docusaurus/utils-common": "3.3.2",
33
+ "@docusaurus/mdx-loader": "3.5.0",
34
+ "@docusaurus/module-type-aliases": "3.5.0",
35
+ "@docusaurus/utils": "3.5.0",
36
+ "@docusaurus/utils-common": "3.5.0",
40
37
  "@types/history": "^4.7.11",
41
38
  "@types/react": "*",
42
39
  "@types/react-router-config": "*",
@@ -47,18 +44,19 @@
47
44
  "utility-types": "^3.10.0"
48
45
  },
49
46
  "devDependencies": {
50
- "@docusaurus/core": "3.3.2",
51
- "@docusaurus/types": "3.3.2",
47
+ "@docusaurus/core": "3.5.0",
48
+ "@docusaurus/types": "3.5.0",
52
49
  "fs-extra": "^11.1.1",
53
50
  "lodash": "^4.17.21",
54
51
  "schema-dts": "^1.1.2"
55
52
  },
56
53
  "peerDependencies": {
54
+ "@docusaurus/plugin-content-docs": "*",
57
55
  "react": "^18.0.0",
58
56
  "react-dom": "^18.0.0"
59
57
  },
60
58
  "engines": {
61
59
  "node": ">=18.0"
62
60
  },
63
- "gitHead": "bc638d674bfbde1e254ef306697f47e764b5e107"
61
+ "gitHead": "cb5829f3c34b26d798b869e38ee25073488140bd"
64
62
  }
@@ -18,14 +18,12 @@ import {createStorageSlot} from '../utils/storageUtils';
18
18
  import {ReactContextError} from '../utils/reactUtils';
19
19
  import {useThemeConfig} from '../utils/useThemeConfig';
20
20
 
21
- export const AnnouncementBarDismissStorageKey =
22
- 'docusaurus.announcement.dismiss';
23
- const AnnouncementBarIdStorageKey = 'docusaurus.announcement.id';
24
-
21
+ // Keep these keys in sync with the inlined script
22
+ // See packages/docusaurus-theme-classic/src/inlineScripts.ts
25
23
  const AnnouncementBarDismissStorage = createStorageSlot(
26
- AnnouncementBarDismissStorageKey,
24
+ 'docusaurus.announcement.dismiss',
27
25
  );
28
- const IdStorage = createStorageSlot(AnnouncementBarIdStorageKey);
26
+ const IdStorage = createStorageSlot('docusaurus.announcement.id');
29
27
 
30
28
  const isDismissedInStorage = () =>
31
29
  AnnouncementBarDismissStorage.get() === 'true';
package/src/index.ts CHANGED
@@ -5,6 +5,29 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
+ // TODO Docusaurus v4: remove these workarounds as a breaking change
9
+ // and remove docs plugin peerDeps in theme-common/package.json
10
+ // This is public API surface that we need to keep for v3
11
+ // See https://github.com/facebook/docusaurus/pull/10316
12
+ export function useCurrentSidebarCategory(...args: unknown[]): unknown {
13
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
14
+ return require('@docusaurus/plugin-content-docs/client').useCurrentSidebarCategory(
15
+ ...args,
16
+ );
17
+ }
18
+ export function filterDocCardListItems(...args: unknown[]): unknown {
19
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
20
+ return require('@docusaurus/plugin-content-docs/client').filterDocCardListItems(
21
+ ...args,
22
+ );
23
+ }
24
+ export function useDocsPreferredVersion(...args: unknown[]): unknown {
25
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
26
+ return require('@docusaurus/plugin-content-docs/client').useDocsPreferredVersion(
27
+ ...args,
28
+ );
29
+ }
30
+
8
31
  /*
9
32
  * APIs to document
10
33
  */
@@ -32,18 +55,6 @@ export {
32
55
  listStorageKeys,
33
56
  } from './utils/storageUtils';
34
57
 
35
- export {useContextualSearchFilters} from './utils/searchUtils';
36
-
37
- export {
38
- useCurrentSidebarCategory,
39
- filterDocCardListItems,
40
- } from './utils/docsUtils';
41
-
42
- export {
43
- useBlogListPageStructuredData,
44
- useBlogPostStructuredData,
45
- } from './utils/structuredDataUtils';
46
-
47
58
  export {usePluralForm} from './utils/usePluralForm';
48
59
 
49
60
  export {useCollapsible, Collapsible} from './components/Collapsible';
@@ -90,12 +101,10 @@ export {isMultiColumnFooterLinks} from './utils/footerUtils';
90
101
 
91
102
  export {isRegexpStringMatch} from './utils/regexpUtils';
92
103
 
93
- export {duplicates, uniq} from './utils/jsUtils';
104
+ export {duplicates, uniq, groupBy} from './utils/jsUtils';
94
105
 
95
106
  export {usePrismTheme} from './hooks/usePrismTheme';
96
107
 
97
- export {useDocsPreferredVersion} from './contexts/docsPreferredVersion';
98
-
99
108
  export {processAdmonitionProps} from './utils/admonitionUtils';
100
109
 
101
110
  export {
@@ -114,7 +123,9 @@ export {
114
123
  UnlistedBannerTitle,
115
124
  UnlistedBannerMessage,
116
125
  UnlistedMetadata,
117
- } from './utils/unlistedUtils';
126
+ DraftBannerTitle,
127
+ DraftBannerMessage,
128
+ } from './translations/contentVisibilityTranslations';
118
129
 
119
130
  export {
120
131
  ErrorBoundaryTryAgainButton,
package/src/internal.ts CHANGED
@@ -18,25 +18,6 @@
18
18
  // eslint-disable-next-line no-restricted-syntax
19
19
  export * from './index';
20
20
 
21
- export {
22
- DocSidebarItemsExpandedStateProvider,
23
- useDocSidebarItemsExpandedState,
24
- } from './contexts/docSidebarItemsExpandedState';
25
- export {DocsVersionProvider, useDocsVersion} from './contexts/docsVersion';
26
- export {DocsSidebarProvider, useDocsSidebar} from './contexts/docsSidebar';
27
-
28
- export {DocProvider, useDoc, type DocContextValue} from './contexts/doc';
29
- export {
30
- BlogPostProvider,
31
- useBlogPost,
32
- type BlogPostContextValue,
33
- } from './contexts/blogPost';
34
-
35
- export {
36
- useDocsPreferredVersionByPluginId,
37
- DocsPreferredVersionContextProvider,
38
- } from './contexts/docsPreferredVersion';
39
-
40
21
  export {
41
22
  AnnouncementBarProvider,
42
23
  useAnnouncementBar,
@@ -59,22 +40,7 @@ export {
59
40
  containsLineNumbers,
60
41
  } from './utils/codeBlockUtils';
61
42
 
62
- export {docVersionSearchTag, DEFAULT_SEARCH_TAG} from './utils/searchUtils';
63
-
64
- export {
65
- isDocsPluginEnabled,
66
- useDocById,
67
- findSidebarCategory,
68
- findFirstSidebarItemLink,
69
- isActiveSidebarItem,
70
- isVisibleSidebarItem,
71
- useVisibleSidebarItems,
72
- useSidebarBreadcrumbs,
73
- useDocsVersionCandidates,
74
- useLayoutDoc,
75
- useLayoutDocsSidebar,
76
- useDocRootMetadata,
77
- } from './utils/docsUtils';
43
+ export {DEFAULT_SEARCH_TAG} from './utils/searchUtils';
78
44
 
79
45
  export {useTitleFormatter} from './utils/generalUtils';
80
46
 
@@ -113,7 +79,6 @@ export {
113
79
  type TOCHighlightConfig,
114
80
  } from './hooks/useTOCHighlight';
115
81
 
116
- export {useVisibleBlogSidebarItems} from './utils/blogUtils';
117
82
  export {useDateTimeFormat} from './utils/IntlUtils';
118
83
 
119
84
  export {useHideableNavbar} from './hooks/useHideableNavbar';
@@ -125,3 +90,10 @@ export {useLockBodyScroll} from './hooks/useLockBodyScroll';
125
90
  export {useCodeWordWrap} from './hooks/useCodeWordWrap';
126
91
  export {getPrismCssVariables} from './utils/codeBlockUtils';
127
92
  export {useBackToTopButton} from './hooks/useBackToTopButton';
93
+
94
+ export {
95
+ useBlogTagsPostsPageTitle,
96
+ useBlogAuthorPageTitle,
97
+ translateBlogAuthorsListPageTitle,
98
+ BlogAuthorsListViewAllLabel,
99
+ } from './translations/blogTranslations';
@@ -0,0 +1,79 @@
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
+
8
+ import React, {type ReactNode} from 'react';
9
+ import Translate, {translate} from '@docusaurus/Translate';
10
+ import {usePluralForm} from '../utils/usePluralForm';
11
+
12
+ // Only used locally
13
+ function useBlogPostsPlural(): (count: number) => string {
14
+ const {selectMessage} = usePluralForm();
15
+ return (count: number) =>
16
+ selectMessage(
17
+ count,
18
+ translate(
19
+ {
20
+ id: 'theme.blog.post.plurals',
21
+ description:
22
+ 'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',
23
+ message: 'One post|{count} posts',
24
+ },
25
+ {count},
26
+ ),
27
+ );
28
+ }
29
+
30
+ export function useBlogTagsPostsPageTitle(tag: {
31
+ label: string;
32
+ count: number;
33
+ }): string {
34
+ const blogPostsPlural = useBlogPostsPlural();
35
+ return translate(
36
+ {
37
+ id: 'theme.blog.tagTitle',
38
+ description: 'The title of the page for a blog tag',
39
+ message: '{nPosts} tagged with "{tagName}"',
40
+ },
41
+ {nPosts: blogPostsPlural(tag.count), tagName: tag.label},
42
+ );
43
+ }
44
+
45
+ export function useBlogAuthorPageTitle(author: {
46
+ key: string;
47
+ name?: string;
48
+ count: number;
49
+ }): string {
50
+ const blogPostsPlural = useBlogPostsPlural();
51
+ return translate(
52
+ {
53
+ id: 'theme.blog.author.pageTitle',
54
+ description: 'The title of the page for a blog author',
55
+ message: '{authorName} - {nPosts}',
56
+ },
57
+ {
58
+ nPosts: blogPostsPlural(author.count),
59
+ authorName: author.name || author.key,
60
+ },
61
+ );
62
+ }
63
+
64
+ export const translateBlogAuthorsListPageTitle = (): string =>
65
+ translate({
66
+ id: 'theme.blog.authorsList.pageTitle',
67
+ message: 'Authors',
68
+ description: 'The title of the authors page',
69
+ });
70
+
71
+ export function BlogAuthorsListViewAllLabel(): ReactNode {
72
+ return (
73
+ <Translate
74
+ id="theme.blog.authorsList.viewAll"
75
+ description="The label of the link targeting the blog authors page">
76
+ View All Authors
77
+ </Translate>
78
+ );
79
+ }
@@ -12,7 +12,7 @@ import Head from '@docusaurus/Head';
12
12
  export function UnlistedBannerTitle(): JSX.Element {
13
13
  return (
14
14
  <Translate
15
- id="theme.unlistedContent.title"
15
+ id="theme.contentVisibility.unlistedBanner.title"
16
16
  description="The unlisted content banner title">
17
17
  Unlisted page
18
18
  </Translate>
@@ -22,7 +22,7 @@ export function UnlistedBannerTitle(): JSX.Element {
22
22
  export function UnlistedBannerMessage(): JSX.Element {
23
23
  return (
24
24
  <Translate
25
- id="theme.unlistedContent.message"
25
+ id="theme.contentVisibility.unlistedBanner.message"
26
26
  description="The unlisted content banner message">
27
27
  This page is unlisted. Search engines will not index it, and only users
28
28
  having a direct link can access it.
@@ -30,6 +30,8 @@ export function UnlistedBannerMessage(): JSX.Element {
30
30
  );
31
31
  }
32
32
 
33
+ // TODO Docusaurus v4 breaking change (since it's v3 public theme-common API :/)
34
+ // Move this to theme/ContentVisibility/Unlisted
33
35
  export function UnlistedMetadata(): JSX.Element {
34
36
  return (
35
37
  <Head>
@@ -37,3 +39,24 @@ export function UnlistedMetadata(): JSX.Element {
37
39
  </Head>
38
40
  );
39
41
  }
42
+
43
+ export function DraftBannerTitle(): JSX.Element {
44
+ return (
45
+ <Translate
46
+ id="theme.contentVisibility.draftBanner.title"
47
+ description="The draft content banner title">
48
+ Draft page
49
+ </Translate>
50
+ );
51
+ }
52
+
53
+ export function DraftBannerMessage(): JSX.Element {
54
+ return (
55
+ <Translate
56
+ id="theme.contentVisibility.draftBanner.message"
57
+ description="The draft content banner message">
58
+ This page is a draft. It will only be visible in dev and be excluded from
59
+ the production build.
60
+ </Translate>
61
+ );
62
+ }
package/src/types.d.ts CHANGED
@@ -6,6 +6,3 @@
6
6
  */
7
7
 
8
8
  /// <reference types="@docusaurus/module-type-aliases" />
9
- /// <reference types="@docusaurus/plugin-content-blog" />
10
- /// <reference types="@docusaurus/plugin-content-docs" />
11
- /// <reference types="@docusaurus/plugin-content-pages" />
@@ -18,6 +18,8 @@ export const ThemeClassNames = {
18
18
  blogPostPage: 'blog-post-page',
19
19
  blogTagsListPage: 'blog-tags-list-page',
20
20
  blogTagPostListPage: 'blog-tags-post-list-page',
21
+ blogAuthorsListPage: 'blog-authors-list-page',
22
+ blogAuthorsPostsPage: 'blog-authors-posts-page',
21
23
 
22
24
  docsDocPage: 'docs-doc-page',
23
25
  docsTagsListPage: 'docs-tags-list-page',
@@ -41,6 +43,7 @@ export const ThemeClassNames = {
41
43
  codeBlock: 'theme-code-block',
42
44
  admonition: 'theme-admonition',
43
45
  unlistedBanner: 'theme-unlisted-banner',
46
+ draftBanner: 'theme-draft-banner',
44
47
 
45
48
  admonitionType: (type: string) => `theme-admonition-${type}`,
46
49
  },
@@ -34,3 +34,21 @@ export function uniq<T>(arr: T[]): T[] {
34
34
  // Note: had problems with [...new Set()]: https://github.com/facebook/docusaurus/issues/4972#issuecomment-863895061
35
35
  return Array.from(new Set(arr));
36
36
  }
37
+
38
+ // TODO 2025: replace by std Object.groupBy ?
39
+ // This is a local polyfill with exact same TS signature
40
+ // see https://github.com/microsoft/TypeScript/blob/main/src/lib/esnext.object.d.ts
41
+ export function groupBy<K extends PropertyKey, T>(
42
+ items: Iterable<T>,
43
+ keySelector: (item: T, index: number) => K,
44
+ ): Partial<Record<K, T[]>> {
45
+ const result: Partial<Record<K, T[]>> = {};
46
+ let index = 0;
47
+ for (const item of items) {
48
+ const key = keySelector(item, index);
49
+ result[key] ??= [];
50
+ result[key]!.push(item);
51
+ index += 1;
52
+ }
53
+ return result;
54
+ }
@@ -5,62 +5,4 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- import {
9
- useAllDocsData,
10
- useActivePluginAndVersion,
11
- } from '@docusaurus/plugin-content-docs/client';
12
- import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
13
- import {useDocsPreferredVersionByPluginId} from '../contexts/docsPreferredVersion';
14
-
15
8
  export const DEFAULT_SEARCH_TAG = 'default';
16
-
17
- /** The search tag to append as each doc's metadata. */
18
- export function docVersionSearchTag(
19
- pluginId: string,
20
- versionName: string,
21
- ): string {
22
- return `docs-${pluginId}-${versionName}`;
23
- }
24
-
25
- /**
26
- * Gets the relevant context information for contextual search.
27
- *
28
- * The value is generic and not coupled to Algolia/DocSearch, since we may want
29
- * to support multiple search engines, or allowing users to use their own search
30
- * engine solution.
31
- */
32
- export function useContextualSearchFilters(): {locale: string; tags: string[]} {
33
- const {i18n} = useDocusaurusContext();
34
- const allDocsData = useAllDocsData();
35
- const activePluginAndVersion = useActivePluginAndVersion();
36
- const docsPreferredVersionByPluginId = useDocsPreferredVersionByPluginId();
37
-
38
- // This can't use more specialized hooks because we are mapping over all
39
- // plugin instances.
40
- function getDocPluginTags(pluginId: string) {
41
- const activeVersion =
42
- activePluginAndVersion?.activePlugin.pluginId === pluginId
43
- ? activePluginAndVersion.activeVersion
44
- : undefined;
45
-
46
- const preferredVersion = docsPreferredVersionByPluginId[pluginId];
47
-
48
- const latestVersion = allDocsData[pluginId]!.versions.find(
49
- (v) => v.isLast,
50
- )!;
51
-
52
- const version = activeVersion ?? preferredVersion ?? latestVersion;
53
-
54
- return docVersionSearchTag(pluginId, version.name);
55
- }
56
-
57
- const tags = [
58
- DEFAULT_SEARCH_TAG,
59
- ...Object.keys(allDocsData).map(getDocPluginTags),
60
- ];
61
-
62
- return {
63
- locale: i18n.currentLocale,
64
- tags,
65
- };
66
- }
@@ -6,12 +6,15 @@
6
6
  */
7
7
 
8
8
  import {useCallback, useRef, useSyncExternalStore} from 'react';
9
+ import SiteStorage from '@generated/site-storage';
9
10
 
10
- const StorageTypes = ['localStorage', 'sessionStorage', 'none'] as const;
11
+ export type StorageType = (typeof SiteStorage)['type'] | 'none';
11
12
 
12
- export type StorageType = (typeof StorageTypes)[number];
13
+ const DefaultStorageType: StorageType = SiteStorage.type;
13
14
 
14
- const DefaultStorageType: StorageType = 'localStorage';
15
+ function applyNamespace(storageKey: string): string {
16
+ return `${storageKey}${SiteStorage.namespace}`;
17
+ }
15
18
 
16
19
  // window.addEventListener('storage') only works for different windows...
17
20
  // so for current window we have to dispatch the event manually
@@ -134,9 +137,10 @@ Please only call storage APIs in effects and event handlers.`);
134
137
  * this API can be a no-op. See also https://github.com/facebook/docusaurus/issues/6036
135
138
  */
136
139
  export function createStorageSlot(
137
- key: string,
140
+ keyInput: string,
138
141
  options?: {persistence?: StorageType},
139
142
  ): StorageSlot {
143
+ const key = applyNamespace(keyInput);
140
144
  if (typeof window === 'undefined') {
141
145
  return createServerStorageSlot(key);
142
146
  }
@@ -109,6 +109,12 @@ export type ThemeConfig = {
109
109
  };
110
110
  };
111
111
 
112
+ blog: {
113
+ sidebar: {
114
+ groupByYear: boolean;
115
+ };
116
+ };
117
+
112
118
  // TODO we should complete this theme config type over time
113
119
  // and share it across all themes
114
120
  // and use it in the Joi validation schema?
@@ -1,33 +0,0 @@
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
- import type { PropBlogPostContent } from '@docusaurus/plugin-content-blog';
9
- /**
10
- * The React context value returned by the `useBlogPost()` hook.
11
- * It contains useful data related to the currently browsed blog post.
12
- */
13
- export type BlogPostContextValue = Pick<PropBlogPostContent, 'metadata' | 'frontMatter' | 'assets' | 'toc'> & {
14
- readonly isBlogPostPage: boolean;
15
- };
16
- /**
17
- * This is a very thin layer around the `content` received from the MDX loader.
18
- * It provides metadata about the blog post to the children tree.
19
- */
20
- export declare function BlogPostProvider({ children, content, isBlogPostPage, }: {
21
- children: ReactNode;
22
- content: PropBlogPostContent;
23
- isBlogPostPage?: boolean;
24
- }): JSX.Element;
25
- /**
26
- * Returns the data of the currently browsed blog post. Gives access to
27
- * front matter, metadata, TOC, etc.
28
- * When swizzling a low-level component (e.g. the "Edit this page" link)
29
- * and you need some extra metadata, you don't have to drill the props
30
- * all the way through the component tree: simply use this hook instead.
31
- */
32
- export declare function useBlogPost(): BlogPostContextValue;
33
- //# sourceMappingURL=blogPost.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"blogPost.d.ts","sourceRoot":"","sources":["../../src/contexts/blogPost.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EAAU,KAAK,SAAS,EAAa,MAAM,OAAO,CAAC;AAGjE,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,iCAAiC,CAAC;AAEzE;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,mBAAmB,EACnB,UAAU,GAAG,aAAa,GAAG,QAAQ,GAAG,KAAK,CAC9C,GAAG;IACF,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;CAClC,CAAC;AA4BF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,OAAO,EACP,cAAsB,GACvB,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,EAAE,mBAAmB,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,GAAG,CAAC,OAAO,CAGd;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,IAAI,oBAAoB,CAMlD"}