@docusaurus/theme-common 3.7.0 → 3.8.0-canary-6327

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 (70) hide show
  1. package/lib/components/Collapsible/index.d.ts +0 -6
  2. package/lib/components/Collapsible/index.d.ts.map +1 -1
  3. package/lib/components/Collapsible/index.js +3 -17
  4. package/lib/components/Collapsible/index.js.map +1 -1
  5. package/lib/components/Details/index.d.ts.map +1 -1
  6. package/lib/components/Details/index.js +1 -2
  7. package/lib/components/Details/index.js.map +1 -1
  8. package/lib/contexts/colorMode.d.ts +6 -7
  9. package/lib/contexts/colorMode.d.ts.map +1 -1
  10. package/lib/contexts/colorMode.js +111 -67
  11. package/lib/contexts/colorMode.js.map +1 -1
  12. package/lib/contexts/navbarMobileSidebar.d.ts.map +1 -1
  13. package/lib/contexts/navbarMobileSidebar.js +21 -12
  14. package/lib/contexts/navbarMobileSidebar.js.map +1 -1
  15. package/lib/hooks/useCodeWordWrap.d.ts +2 -1
  16. package/lib/hooks/useCodeWordWrap.d.ts.map +1 -1
  17. package/lib/hooks/useCodeWordWrap.js.map +1 -1
  18. package/lib/index.js +1 -1
  19. package/lib/index.js.map +1 -1
  20. package/lib/internal.d.ts +2 -3
  21. package/lib/internal.d.ts.map +1 -1
  22. package/lib/internal.js +5 -3
  23. package/lib/internal.js.map +1 -1
  24. package/lib/utils/ThemeClassNames.d.ts +21 -1
  25. package/lib/utils/ThemeClassNames.d.ts.map +1 -1
  26. package/lib/utils/ThemeClassNames.js +21 -2
  27. package/lib/utils/ThemeClassNames.js.map +1 -1
  28. package/lib/utils/codeBlockUtils.d.ts +66 -34
  29. package/lib/utils/codeBlockUtils.d.ts.map +1 -1
  30. package/lib/utils/codeBlockUtils.js +136 -30
  31. package/lib/utils/codeBlockUtils.js.map +1 -1
  32. package/lib/utils/metadataUtils.d.ts.map +1 -1
  33. package/lib/utils/metadataUtils.js +37 -20
  34. package/lib/utils/metadataUtils.js.map +1 -1
  35. package/lib/utils/reactUtils.d.ts.map +1 -1
  36. package/lib/utils/reactUtils.js +4 -1
  37. package/lib/utils/reactUtils.js.map +1 -1
  38. package/lib/utils/scrollUtils.d.ts.map +1 -1
  39. package/lib/utils/scrollUtils.js +1 -0
  40. package/lib/utils/scrollUtils.js.map +1 -1
  41. package/lib/utils/storageUtils.js +3 -3
  42. package/lib/utils/storageUtils.js.map +1 -1
  43. package/lib/utils/titleFormatterUtils.d.ts +59 -0
  44. package/lib/utils/titleFormatterUtils.d.ts.map +1 -0
  45. package/lib/utils/titleFormatterUtils.js +51 -0
  46. package/lib/utils/titleFormatterUtils.js.map +1 -0
  47. package/lib/utils/useThemeConfig.d.ts +3 -2
  48. package/lib/utils/useThemeConfig.d.ts.map +1 -1
  49. package/lib/utils/useThemeConfig.js.map +1 -1
  50. package/package.json +9 -10
  51. package/src/components/Collapsible/index.tsx +1 -29
  52. package/src/components/Details/index.tsx +0 -1
  53. package/src/contexts/colorMode.tsx +164 -83
  54. package/src/contexts/navbarMobileSidebar.tsx +33 -13
  55. package/src/hooks/useCodeWordWrap.ts +4 -2
  56. package/src/index.ts +1 -1
  57. package/src/internal.ts +14 -3
  58. package/src/utils/ThemeClassNames.ts +25 -2
  59. package/src/utils/{codeBlockUtils.ts → codeBlockUtils.tsx} +255 -57
  60. package/src/utils/metadataUtils.tsx +57 -27
  61. package/src/utils/reactUtils.tsx +4 -1
  62. package/src/utils/scrollUtils.tsx +1 -0
  63. package/src/utils/storageUtils.ts +3 -3
  64. package/src/utils/titleFormatterUtils.tsx +122 -0
  65. package/src/utils/useThemeConfig.ts +4 -2
  66. package/lib/utils/generalUtils.d.ts +0 -11
  67. package/lib/utils/generalUtils.d.ts.map +0 -1
  68. package/lib/utils/generalUtils.js +0 -18
  69. package/lib/utils/generalUtils.js.map +0 -1
  70. package/src/utils/generalUtils.ts +0 -19
package/lib/internal.js CHANGED
@@ -22,9 +22,12 @@ export { useNavbarMobileSidebar } from './contexts/navbarMobileSidebar';
22
22
  export { useNavbarSecondaryMenu } from './contexts/navbarSecondaryMenu/display';
23
23
  export { ColorModeProvider } from './contexts/colorMode';
24
24
  export { useAlternatePageUtils } from './utils/useAlternatePageUtils';
25
- export { parseCodeBlockTitle, parseLanguage, parseLines, containsLineNumbers, } from './utils/codeBlockUtils';
25
+ export { createCodeBlockMetadata, getPrismCssVariables, CodeBlockContextProvider, useCodeBlockContext,
26
+ // TODO Docusaurus v4: remove, only kept for internal retro-compatibility
27
+ // See https://github.com/facebook/docusaurus/pull/11153
28
+ parseCodeBlockTitle, parseClassNameLanguage as parseLanguage, parseLines, getLineNumbersStart, containsLineNumbers, } from './utils/codeBlockUtils';
26
29
  export { DEFAULT_SEARCH_TAG } from './utils/searchUtils';
27
- export { useTitleFormatter } from './utils/generalUtils';
30
+ export { TitleFormatterProvider, useTitleFormatter, } from './utils/titleFormatterUtils';
28
31
  export { useLocationChange } from './utils/useLocationChange';
29
32
  export { useLocalPathname } from './utils/useLocalPathname';
30
33
  export { useHistoryPopHandler, useHistorySelector, useQueryStringValue, } from './utils/historyUtils';
@@ -39,7 +42,6 @@ export { useHideableNavbar } from './hooks/useHideableNavbar';
39
42
  export { useKeyboardNavigation, keyboardFocusedClassName, } from './hooks/useKeyboardNavigation';
40
43
  export { useLockBodyScroll } from './hooks/useLockBodyScroll';
41
44
  export { useCodeWordWrap } from './hooks/useCodeWordWrap';
42
- export { getPrismCssVariables } from './utils/codeBlockUtils';
43
45
  export { useBackToTopButton } from './hooks/useBackToTopButton';
44
46
  export { useBlogTagsPostsPageTitle, useBlogAuthorPageTitle, translateBlogAuthorsListPageTitle, BlogAuthorsListViewAllLabel, BlogAuthorNoPostsLabel, } from './translations/blogTranslations';
45
47
  //# sourceMappingURL=internal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,uDAAuD;AACvD,EAAE;AACF,6DAA6D;AAC7D,gFAAgF;AAChF,yEAAyE;AACzE,oDAAoD;AACpD,EAAE;AACF,gDAAgD;AAChD,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAC,sBAAsB,EAAC,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAC,sBAAsB,EAAC,MAAM,wCAAwC,CAAC;AAE9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,0BAA0B,EAC1B,eAAe,GAEhB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAC,gBAAgB,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAC,2BAA2B,EAAC,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAC,gBAAgB,EAAE,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAErE,OAAO,EACL,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,iCAAiC,EACjC,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,uDAAuD;AACvD,EAAE;AACF,6DAA6D;AAC7D,gFAAgF;AAChF,yEAAyE;AACzE,oDAAoD;AACpD,EAAE;AACF,gDAAgD;AAChD,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAGhE,OAAO,EAAC,sBAAsB,EAAC,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAC,sBAAsB,EAAC,MAAM,wCAAwC,CAAC;AAE9E,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAEL,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB;AAEnB,yEAAyE;AACzE,yDAAyD;AACzD,mBAAmB,EACnB,sBAAsB,IAAI,aAAa,EACvC,UAAU,EACV,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EACL,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,0BAA0B,EAC1B,eAAe,GAEhB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAC,gBAAgB,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAC,2BAA2B,EAAC,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAC,gBAAgB,EAAE,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAErE,OAAO,EACL,eAAe,GAEhB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,iCAAiC,EACjC,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,iCAAiC,CAAC"}
@@ -37,7 +37,27 @@ export declare const ThemeClassNames: {
37
37
  readonly draftBanner: "theme-draft-banner";
38
38
  readonly admonitionType: (type: string) => string;
39
39
  };
40
- readonly layout: {};
40
+ readonly announcementBar: {
41
+ readonly container: "theme-announcement-bar";
42
+ };
43
+ readonly layout: {
44
+ readonly navbar: {
45
+ readonly container: "theme-layout-navbar";
46
+ readonly containerLeft: "theme-layout-navbar-left";
47
+ readonly containerRight: "theme-layout-navbar-right";
48
+ readonly mobileSidebar: {
49
+ readonly container: "theme-layout-navbar-sidebar";
50
+ readonly panel: "theme-layout-navbar-sidebar-panel";
51
+ };
52
+ };
53
+ readonly main: {
54
+ readonly container: "theme-layout-main";
55
+ };
56
+ readonly footer: {
57
+ readonly container: "theme-layout-footer";
58
+ readonly column: "theme-layout-footer-column";
59
+ };
60
+ };
41
61
  /**
42
62
  * Follows the naming convention "theme-{blog,doc,version,page}?-<suffix>"
43
63
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeClassNames.d.ts","sourceRoot":"","sources":["../../src/utils/ThemeClassNames.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAiCD,MAAM;;;IAM/B;;OAEG;;;;;;;;;;;;;;;sDAeoC,MAAM;kDAEV,MAAM;;;;;;;;;CAYjC,CAAC"}
1
+ {"version":3,"file":"ThemeClassNames.d.ts","sourceRoot":"","sources":["../../src/utils/ThemeClassNames.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAoCD,MAAM;;;;;;;;;;;;;;;;;;;;;;;IA0B/B;;OAEG;;;;;;;;;;;;;;;sDAeoC,MAAM;kDAEV,MAAM;;;;;;;;;CAYjC,CAAC"}
@@ -23,8 +23,9 @@ export const ThemeClassNames = {
23
23
  docsTagDocListPage: 'docs-tags-doc-list-page',
24
24
  mdxPage: 'mdx-page',
25
25
  },
26
+ // TODO Docusaurus v4: remove old classes?
26
27
  wrapper: {
27
- main: 'main-wrapper',
28
+ main: 'main-wrapper', // replaced by theme-layout-main
28
29
  // TODO these wrapper class names are now quite useless
29
30
  // TODO do breaking change later in 3.0
30
31
  // we already add plugin name/id class on <html>: that's enough
@@ -42,8 +43,26 @@ export const ThemeClassNames = {
42
43
  draftBanner: 'theme-draft-banner',
43
44
  admonitionType: (type) => `theme-admonition-${type}`,
44
45
  },
46
+ announcementBar: {
47
+ container: 'theme-announcement-bar',
48
+ },
45
49
  layout: {
46
- // TODO add other stable classNames here
50
+ navbar: {
51
+ container: 'theme-layout-navbar',
52
+ containerLeft: 'theme-layout-navbar-left',
53
+ containerRight: 'theme-layout-navbar-right',
54
+ mobileSidebar: {
55
+ container: 'theme-layout-navbar-sidebar',
56
+ panel: 'theme-layout-navbar-sidebar-panel',
57
+ },
58
+ },
59
+ main: {
60
+ container: 'theme-layout-main',
61
+ },
62
+ footer: {
63
+ container: 'theme-layout-footer',
64
+ column: 'theme-layout-footer-column',
65
+ },
47
66
  },
48
67
  /**
49
68
  * Follows the naming convention "theme-{blog,doc,version,page}?-<suffix>"
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeClassNames.js","sourceRoot":"","sources":["../../src/utils/ThemeClassNames.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,aAAa;AAEb;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE;QACJ,YAAY,EAAE,gBAAgB;QAC9B,YAAY,EAAE,gBAAgB;QAC9B,gBAAgB,EAAE,qBAAqB;QACvC,mBAAmB,EAAE,0BAA0B;QAC/C,mBAAmB,EAAE,wBAAwB;QAC7C,oBAAoB,EAAE,yBAAyB;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,uDAAuD;QACvD,uCAAuC;QACvC,+DAA+D;QAC/D,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,aAAa;KACxB;IACD,MAAM,EAAE;QACN,YAAY,EAAE,sBAAsB;QACpC,WAAW,EAAE,oBAAoB;QACjC,eAAe,EAAE,0BAA0B;QAC3C,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,kBAAkB;QAC9B,cAAc,EAAE,uBAAuB;QACvC,WAAW,EAAE,oBAAoB;QAEjC,cAAc,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,oBAAoB,IAAI,EAAE;KAC7D;IACD,MAAM,EAAE;IACN,wCAAwC;KACzC;IAED;;OAEG;IACH,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;QACJ,wCAAwC;QACxC,iBAAiB,EAAE,4BAA4B;QAC/C,qBAAqB,EAAE,iCAAiC;KACzD;IACD,KAAK,EAAE;QACL,qBAAqB,EAAE,kCAAkC;KAC1D;CACO,CAAC"}
1
+ {"version":3,"file":"ThemeClassNames.js","sourceRoot":"","sources":["../../src/utils/ThemeClassNames.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,aAAa;AAEb;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,IAAI,EAAE;QACJ,YAAY,EAAE,gBAAgB;QAC9B,YAAY,EAAE,gBAAgB;QAC9B,gBAAgB,EAAE,qBAAqB;QACvC,mBAAmB,EAAE,0BAA0B;QAC/C,mBAAmB,EAAE,wBAAwB;QAC7C,oBAAoB,EAAE,yBAAyB;QAE/C,WAAW,EAAE,eAAe;QAC5B,gBAAgB,EAAE,qBAAqB;QACvC,kBAAkB,EAAE,yBAAyB;QAE7C,OAAO,EAAE,UAAU;KACpB;IAED,0CAA0C;IAC1C,OAAO,EAAE;QACP,IAAI,EAAE,cAAc,EAAE,gCAAgC;QACtD,uDAAuD;QACvD,uCAAuC;QACvC,+DAA+D;QAC/D,SAAS,EAAE,cAAc;QACzB,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,aAAa;KACxB;IAED,MAAM,EAAE;QACN,YAAY,EAAE,sBAAsB;QACpC,WAAW,EAAE,oBAAoB;QACjC,eAAe,EAAE,0BAA0B;QAC3C,SAAS,EAAE,kBAAkB;QAC7B,UAAU,EAAE,kBAAkB;QAC9B,cAAc,EAAE,uBAAuB;QACvC,WAAW,EAAE,oBAAoB;QAEjC,cAAc,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,oBAAoB,IAAI,EAAE;KAC7D;IAED,eAAe,EAAE;QACf,SAAS,EAAE,wBAAwB;KACpC;IAED,MAAM,EAAE;QACN,MAAM,EAAE;YACN,SAAS,EAAE,qBAAqB;YAChC,aAAa,EAAE,0BAA0B;YACzC,cAAc,EAAE,2BAA2B;YAC3C,aAAa,EAAE;gBACb,SAAS,EAAE,6BAA6B;gBACxC,KAAK,EAAE,mCAAmC;aAC3C;SACF;QACD,IAAI,EAAE;YACJ,SAAS,EAAE,mBAAmB;SAC/B;QACD,MAAM,EAAE;YACN,SAAS,EAAE,qBAAqB;YAChC,MAAM,EAAE,4BAA4B;SACrC;KACF;IAED;;OAEG;IACH,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;QACJ,wCAAwC;QACxC,iBAAiB,EAAE,4BAA4B;QAC/C,qBAAqB,EAAE,iCAAiC;KACzD;IACD,KAAK,EAAE;QACL,qBAAqB,EAAE,kCAAkC;KAC1D;CACO,CAAC"}
@@ -4,8 +4,9 @@
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 { CSSProperties } from 'react';
7
+ import type { CSSProperties, ReactNode } from 'react';
8
8
  import type { PrismTheme } from 'prism-react-renderer';
9
+ import type { WordWrap } from '../hooks/useCodeWordWrap';
9
10
  export type MagicCommentConfig = {
10
11
  className: string;
11
12
  line?: string;
@@ -15,27 +16,12 @@ export type MagicCommentConfig = {
15
16
  };
16
17
  };
17
18
  export declare function parseCodeBlockTitle(metastring?: string): string;
19
+ export declare function getLineNumbersStart({ showLineNumbers, metastring, }: {
20
+ showLineNumbers: boolean | number | undefined;
21
+ metastring: string | undefined;
22
+ }): number | undefined;
18
23
  export declare function containsLineNumbers(metastring?: string): boolean;
19
- /**
20
- * Gets the language name from the class name (set by MDX).
21
- * e.g. `"language-javascript"` => `"javascript"`.
22
- * Returns undefined if there is no language class name.
23
- */
24
- export declare function parseLanguage(className: string): string | undefined;
25
- /**
26
- * Parses the code content, strips away any magic comments, and returns the
27
- * clean content and the highlighted lines marked by the comments or metastring.
28
- *
29
- * If the metastring contains a range, the `content` will be returned as-is
30
- * without any parsing. The returned `lineClassNames` will be a map from that
31
- * number range to the first magic comment config entry (which _should_ be for
32
- * line highlight directives.)
33
- *
34
- * @param content The raw code with magic comments. Trailing newline will be
35
- * trimmed upfront.
36
- * @param options Options for parsing behavior.
37
- */
38
- export declare function parseLines(content: string, options: {
24
+ type ParseCodeLinesParam = {
39
25
  /**
40
26
  * The full metastring, as received from MDX. Line ranges declared here
41
27
  * start at 1.
@@ -51,20 +37,66 @@ export declare function parseLines(content: string, options: {
51
37
  * correspond to one class name to apply to each line.
52
38
  */
53
39
  magicComments: MagicCommentConfig[];
54
- }): {
55
- /**
56
- * The highlighted lines, 0-indexed. e.g. `{ 0: ["highlight", "sample"] }`
57
- * means the 1st line should have `highlight` and `sample` as class names.
58
- */
59
- lineClassNames: {
60
- [lineIndex: number]: string[];
61
- };
62
- /**
63
- * If there's number range declared in the metastring, the code block is
64
- * returned as-is (no parsing); otherwise, this is the clean code with all
65
- * magic comments stripped away.
66
- */
40
+ };
41
+ /**
42
+ * The highlighted lines, 0-indexed. e.g. `{ 0: ["highlight", "sample"] }`
43
+ * means the 1st line should have `highlight` and `sample` as class names.
44
+ */
45
+ type CodeLineClassNames = {
46
+ [lineIndex: number]: string[];
47
+ };
48
+ /**
49
+ * Code lines after applying magic comments or metastring highlight ranges
50
+ */
51
+ type ParsedCodeLines = {
67
52
  code: string;
53
+ lineClassNames: CodeLineClassNames;
68
54
  };
55
+ /**
56
+ * Parses the code content, strips away any magic comments, and returns the
57
+ * clean content and the highlighted lines marked by the comments or metastring.
58
+ *
59
+ * If the metastring contains a range, the `content` will be returned as-is
60
+ * without any parsing. The returned `lineClassNames` will be a map from that
61
+ * number range to the first magic comment config entry (which _should_ be for
62
+ * line highlight directives.)
63
+ */
64
+ export declare function parseLines(code: string, params: ParseCodeLinesParam): ParsedCodeLines;
65
+ /**
66
+ * Gets the language name from the class name (set by MDX).
67
+ * e.g. `"language-javascript"` => `"javascript"`.
68
+ * Returns undefined if there is no language class name.
69
+ */
70
+ export declare function parseClassNameLanguage(className: string | undefined): string | undefined;
71
+ export interface CodeBlockMetadata {
72
+ codeInput: string;
73
+ code: string;
74
+ className: string;
75
+ language: string;
76
+ title: ReactNode;
77
+ lineNumbersStart: number | undefined;
78
+ lineClassNames: CodeLineClassNames;
79
+ }
80
+ export declare function createCodeBlockMetadata(params: {
81
+ code: string;
82
+ className: string | undefined;
83
+ language: string | undefined;
84
+ defaultLanguage: string | undefined;
85
+ metastring: string | undefined;
86
+ magicComments: MagicCommentConfig[];
87
+ title: ReactNode;
88
+ showLineNumbers: boolean | number | undefined;
89
+ }): CodeBlockMetadata;
69
90
  export declare function getPrismCssVariables(prismTheme: PrismTheme): CSSProperties;
91
+ type CodeBlockContextValue = {
92
+ metadata: CodeBlockMetadata;
93
+ wordWrap: WordWrap;
94
+ };
95
+ export declare function CodeBlockContextProvider({ metadata, wordWrap, children, }: {
96
+ metadata: CodeBlockMetadata;
97
+ wordWrap: WordWrap;
98
+ children: ReactNode;
99
+ }): ReactNode;
100
+ export declare function useCodeBlockContext(): CodeBlockContextValue;
101
+ export {};
70
102
  //# sourceMappingURL=codeBlockUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codeBlockUtils.d.ts","sourceRoot":"","sources":["../../src/utils/codeBlockUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,OAAO,CAAC;AAEzC,OAAO,KAAK,EAAC,UAAU,EAAkB,MAAM,sBAAsB,CAAC;AAiCtE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,CAAC;CACtC,CAAC;AAuGF,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKnE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;IACP;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;OAGG;IACH,aAAa,EAAE,kBAAkB,EAAE,CAAC;CACrC,GACA;IACD;;;OAGG;IACH,cAAc,EAAE;QAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAC,CAAC;IAChD;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;CACd,CA4EA;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,CAc1E"}
1
+ {"version":3,"file":"codeBlockUtils.d.ts","sourceRoot":"","sources":["../../src/utils/codeBlockUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAC,aAAa,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAKpD,OAAO,KAAK,EAAC,UAAU,EAAkB,MAAM,sBAAsB,CAAC;AACtE,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAiCvD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,CAAC;CACtC,CAAC;AAuGF,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAE/D;AAkBD,wBAAgB,mBAAmB,CAAC,EAClC,eAAe,EACf,UAAU,GACX,EAAE;IACD,eAAe,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAC9C,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,GAAG,MAAM,GAAG,SAAS,CASrB;AAID,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,KAAK,mBAAmB,GAAG;IACzB;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;OAGG;IACH,aAAa,EAAE,kBAAkB,EAAE,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,KAAK,kBAAkB,GAAG;IAAC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAC,CAAC;AAE1D;;GAEG;AACH,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,kBAAkB,CAAC;CACpC,CAAC;AA0FF;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,mBAAmB,GAC1B,eAAe,CASjB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,GAAG,SAAS,CAQpB;AA4CD,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CAC/C,GAAG,iBAAiB,CAkCpB;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,CAc1E;AAED,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAIF,wBAAgB,wBAAwB,CAAC,EACvC,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,SAAS,CAWZ;AAED,wBAAgB,mBAAmB,IAAI,qBAAqB,CAM3D"}
@@ -4,7 +4,10 @@
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 { createContext, useContext, useMemo } from 'react';
8
+ import clsx from 'clsx';
7
9
  import rangeParser from 'parse-numeric-range';
10
+ import { ReactContextError } from './reactUtils';
8
11
  const codeBlockTitleRegex = /title=(?<quote>["'])(?<title>.*?)\1/;
9
12
  const metastringLinesRangeRegex = /\{(?<range>[\d,-]+)\}/;
10
13
  // Supported types of highlight comments
@@ -103,36 +106,35 @@ function getAllMagicCommentDirectiveStyles(lang, magicCommentDirectives) {
103
106
  export function parseCodeBlockTitle(metastring) {
104
107
  return metastring?.match(codeBlockTitleRegex)?.groups.title ?? '';
105
108
  }
109
+ function getMetaLineNumbersStart(metastring) {
110
+ const showLineNumbersMeta = metastring
111
+ ?.split(' ')
112
+ .find((str) => str.startsWith('showLineNumbers'));
113
+ if (showLineNumbersMeta) {
114
+ if (showLineNumbersMeta.startsWith('showLineNumbers=')) {
115
+ const value = showLineNumbersMeta.replace('showLineNumbers=', '');
116
+ return parseInt(value, 10);
117
+ }
118
+ return 1;
119
+ }
120
+ return undefined;
121
+ }
122
+ export function getLineNumbersStart({ showLineNumbers, metastring, }) {
123
+ const defaultStart = 1;
124
+ if (typeof showLineNumbers === 'boolean') {
125
+ return showLineNumbers ? defaultStart : undefined;
126
+ }
127
+ if (typeof showLineNumbers === 'number') {
128
+ return showLineNumbers;
129
+ }
130
+ return getMetaLineNumbersStart(metastring);
131
+ }
132
+ // TODO Docusaurus v4: remove, only kept for internal retro-compatibility
133
+ // See https://github.com/facebook/docusaurus/pull/11153
106
134
  export function containsLineNumbers(metastring) {
107
135
  return Boolean(metastring?.includes('showLineNumbers'));
108
136
  }
109
- /**
110
- * Gets the language name from the class name (set by MDX).
111
- * e.g. `"language-javascript"` => `"javascript"`.
112
- * Returns undefined if there is no language class name.
113
- */
114
- export function parseLanguage(className) {
115
- const languageClassName = className
116
- .split(' ')
117
- .find((str) => str.startsWith('language-'));
118
- return languageClassName?.replace(/language-/, '');
119
- }
120
- /**
121
- * Parses the code content, strips away any magic comments, and returns the
122
- * clean content and the highlighted lines marked by the comments or metastring.
123
- *
124
- * If the metastring contains a range, the `content` will be returned as-is
125
- * without any parsing. The returned `lineClassNames` will be a map from that
126
- * number range to the first magic comment config entry (which _should_ be for
127
- * line highlight directives.)
128
- *
129
- * @param content The raw code with magic comments. Trailing newline will be
130
- * trimmed upfront.
131
- * @param options Options for parsing behavior.
132
- */
133
- export function parseLines(content, options) {
134
- let code = content.replace(/\n$/, '');
135
- const { language, magicComments, metastring } = options;
137
+ function parseCodeLinesFromMetastring(code, { metastring, magicComments }) {
136
138
  // Highlighted lines specified in props: don't parse the content
137
139
  if (metastring && metastringLinesRangeRegex.test(metastring)) {
138
140
  const linesRange = metastring.match(metastringLinesRangeRegex).groups
@@ -146,12 +148,16 @@ export function parseLines(content, options) {
146
148
  .map((n) => [n - 1, [metastringRangeClassName]]);
147
149
  return { lineClassNames: Object.fromEntries(lines), code };
148
150
  }
151
+ return null;
152
+ }
153
+ function parseCodeLinesFromContent(code, params) {
154
+ const { language, magicComments } = params;
149
155
  if (language === undefined) {
150
156
  return { lineClassNames: {}, code };
151
157
  }
152
158
  const directiveRegex = getAllMagicCommentDirectiveStyles(language, magicComments);
153
159
  // Go through line by line
154
- const lines = code.split('\n');
160
+ const lines = code.split(/\r?\n/);
155
161
  const blocks = Object.fromEntries(magicComments.map((d) => [d.className, { start: 0, range: '' }]));
156
162
  const lineToClassName = Object.fromEntries(magicComments
157
163
  .filter((d) => d.line)
@@ -184,7 +190,6 @@ export function parseLines(content, options) {
184
190
  }
185
191
  lines.splice(lineNumber, 1);
186
192
  }
187
- code = lines.join('\n');
188
193
  const lineClassNames = {};
189
194
  Object.entries(blocks).forEach(([className, { range }]) => {
190
195
  rangeParser(range).forEach((l) => {
@@ -192,7 +197,90 @@ export function parseLines(content, options) {
192
197
  lineClassNames[l].push(className);
193
198
  });
194
199
  });
195
- return { lineClassNames, code };
200
+ return { code: lines.join('\n'), lineClassNames };
201
+ }
202
+ /**
203
+ * Parses the code content, strips away any magic comments, and returns the
204
+ * clean content and the highlighted lines marked by the comments or metastring.
205
+ *
206
+ * If the metastring contains a range, the `content` will be returned as-is
207
+ * without any parsing. The returned `lineClassNames` will be a map from that
208
+ * number range to the first magic comment config entry (which _should_ be for
209
+ * line highlight directives.)
210
+ */
211
+ export function parseLines(code, params) {
212
+ // Historical behavior: we remove last line break
213
+ const newCode = code.replace(/\r?\n$/, '');
214
+ // Historical behavior: we try one strategy after the other
215
+ // we don't support mixing metastring ranges + magic comments
216
+ return (parseCodeLinesFromMetastring(newCode, { ...params }) ??
217
+ parseCodeLinesFromContent(newCode, { ...params }));
218
+ }
219
+ /**
220
+ * Gets the language name from the class name (set by MDX).
221
+ * e.g. `"language-javascript"` => `"javascript"`.
222
+ * Returns undefined if there is no language class name.
223
+ */
224
+ export function parseClassNameLanguage(className) {
225
+ if (!className) {
226
+ return undefined;
227
+ }
228
+ const languageClassName = className
229
+ .split(' ')
230
+ .find((str) => str.startsWith('language-'));
231
+ return languageClassName?.replace(/language-/, '');
232
+ }
233
+ // Prism languages are always lowercase
234
+ // We want to fail-safe and allow both "php" and "PHP"
235
+ // See https://github.com/facebook/docusaurus/issues/9012
236
+ function normalizeLanguage(language) {
237
+ return language?.toLowerCase();
238
+ }
239
+ function getLanguage(params) {
240
+ return (normalizeLanguage(params.language ??
241
+ parseClassNameLanguage(params.className) ??
242
+ params.defaultLanguage) ?? 'text'); // There's always a language, required by Prism;
243
+ }
244
+ /**
245
+ * This ensures that we always have the code block language as className
246
+ * For MDX code blocks this is provided automatically by MDX
247
+ * For JSX code blocks, the language gets added by this function
248
+ * This ensures both cases lead to a consistent HTML output
249
+ */
250
+ function ensureLanguageClassName({ className, language, }) {
251
+ return clsx(className, language &&
252
+ !className?.includes(`language-${language}`) &&
253
+ `language-${language}`);
254
+ }
255
+ export function createCodeBlockMetadata(params) {
256
+ const language = getLanguage({
257
+ language: params.language,
258
+ defaultLanguage: params.defaultLanguage,
259
+ className: params.className,
260
+ });
261
+ const { lineClassNames, code } = parseLines(params.code, {
262
+ metastring: params.metastring,
263
+ magicComments: params.magicComments,
264
+ language,
265
+ });
266
+ const className = ensureLanguageClassName({
267
+ className: params.className,
268
+ language,
269
+ });
270
+ const title = parseCodeBlockTitle(params.metastring) || params.title;
271
+ const lineNumbersStart = getLineNumbersStart({
272
+ showLineNumbers: params.showLineNumbers,
273
+ metastring: params.metastring,
274
+ });
275
+ return {
276
+ codeInput: params.code,
277
+ code,
278
+ className,
279
+ language,
280
+ title,
281
+ lineNumbersStart,
282
+ lineClassNames,
283
+ };
196
284
  }
197
285
  export function getPrismCssVariables(prismTheme) {
198
286
  const mapping = {
@@ -208,4 +296,22 @@ export function getPrismCssVariables(prismTheme) {
208
296
  });
209
297
  return properties;
210
298
  }
299
+ const CodeBlockContext = createContext(null);
300
+ export function CodeBlockContextProvider({ metadata, wordWrap, children, }) {
301
+ // Should we optimize this in 2 contexts?
302
+ // Unlike metadata, wordWrap is stateful and likely to trigger re-renders
303
+ const value = useMemo(() => {
304
+ return { metadata, wordWrap };
305
+ }, [metadata, wordWrap]);
306
+ return (<CodeBlockContext.Provider value={value}>
307
+ {children}
308
+ </CodeBlockContext.Provider>);
309
+ }
310
+ export function useCodeBlockContext() {
311
+ const value = useContext(CodeBlockContext);
312
+ if (value === null) {
313
+ throw new ReactContextError('CodeBlockContextProvider');
314
+ }
315
+ return value;
316
+ }
211
317
  //# sourceMappingURL=codeBlockUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codeBlockUtils.js","sourceRoot":"","sources":["../../src/utils/codeBlockUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeBlockUtils.js","sourceRoot":"","sources":["../../src/utils/codeBlockUtils.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"metadataUtils.d.ts","sourceRoot":"","sources":["../../src/utils/metadataUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EAAC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAO5C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,WAAW,EACX,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE,iBAAiB,GAAG,SAAS,CA6B/B;AAID;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EAAE,aAAa,EACxB,QAAQ,GACT,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,SAAS,CAWZ;AASD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,SAAS,CASZ"}
1
+ {"version":3,"file":"metadataUtils.d.ts","sourceRoot":"","sources":["../../src/utils/metadataUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EAAC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAO5C,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAAC;IAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;CAC/B,CAAC;AAmDF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,WAAW,EACX,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE,iBAAiB,GAAG,SAAS,CAU/B;AAID;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,SAAS,EAAE,aAAa,EACxB,QAAQ,GACT,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,SAAS,CAWZ;AASD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,SAAS,CASZ"}
@@ -9,31 +9,48 @@ import clsx from 'clsx';
9
9
  import Head from '@docusaurus/Head';
10
10
  import useRouteContext from '@docusaurus/useRouteContext';
11
11
  import { useBaseUrlUtils } from '@docusaurus/useBaseUrl';
12
- import { useTitleFormatter } from './generalUtils';
12
+ import { useTitleFormatter } from './titleFormatterUtils';
13
+ function TitleMetadata({ title }) {
14
+ const titleFormatter = useTitleFormatter();
15
+ const formattedTitle = titleFormatter.format(title);
16
+ return (<Head>
17
+ <title>{formattedTitle}</title>
18
+ <meta property="og:title" content={formattedTitle}/>
19
+ </Head>);
20
+ }
21
+ function DescriptionMetadata({ description }) {
22
+ return (<Head>
23
+ <meta name="description" content={description}/>
24
+ <meta property="og:description" content={description}/>
25
+ </Head>);
26
+ }
27
+ function ImageMetadata({ image }) {
28
+ const { withBaseUrl } = useBaseUrlUtils();
29
+ const pageImage = withBaseUrl(image, { absolute: true });
30
+ return (<Head>
31
+ <meta property="og:image" content={pageImage}/>
32
+ <meta name="twitter:image" content={pageImage}/>
33
+ </Head>);
34
+ }
35
+ function KeywordsMetadata({ keywords, }) {
36
+ return (<Head>
37
+ <meta name="keywords" content={
38
+ // https://github.com/microsoft/TypeScript/issues/17002
39
+ (Array.isArray(keywords) ? keywords.join(',') : keywords)}/>
40
+ </Head>);
41
+ }
13
42
  /**
14
43
  * Helper component to manipulate page metadata and override site defaults.
15
44
  * Works in the same way as Helmet.
16
45
  */
17
46
  export function PageMetadata({ title, description, keywords, image, children, }) {
18
- const pageTitle = useTitleFormatter(title);
19
- const { withBaseUrl } = useBaseUrlUtils();
20
- const pageImage = image ? withBaseUrl(image, { absolute: true }) : undefined;
21
- return (<Head>
22
- {title && <title>{pageTitle}</title>}
23
- {title && <meta property="og:title" content={pageTitle}/>}
24
-
25
- {description && <meta name="description" content={description}/>}
26
- {description && <meta property="og:description" content={description}/>}
27
-
28
- {keywords && (<meta name="keywords" content={
29
- // https://github.com/microsoft/TypeScript/issues/17002
30
- (Array.isArray(keywords) ? keywords.join(',') : keywords)}/>)}
31
-
32
- {pageImage && <meta property="og:image" content={pageImage}/>}
33
- {pageImage && <meta name="twitter:image" content={pageImage}/>}
34
-
35
- {children}
36
- </Head>);
47
+ return (<>
48
+ {title && <TitleMetadata title={title}/>}
49
+ {description && <DescriptionMetadata description={description}/>}
50
+ {keywords && <KeywordsMetadata keywords={keywords}/>}
51
+ {image && <ImageMetadata image={image}/>}
52
+ {children && <Head>{children}</Head>}
53
+ </>);
37
54
  }
38
55
  const HtmlClassNameContext = React.createContext(undefined);
39
56
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"metadataUtils.js","sourceRoot":"","sources":["../../src/utils/metadataUtils.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadataUtils.js","sourceRoot":"","sources":["../../src/utils/metadataUtils.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reactUtils.d.ts","sourceRoot":"","sources":["../../src/utils/reactUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EAIZ,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,EAC9D,QAAQ,EAAE,CAAC,GACV,CAAC,CAUH;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAQtD;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,YAAY,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;CAQ1D;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAMhE;AAED,KAAK,cAAc,GAAG,aAAa,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAC,CAAC,CAAC;AAE3D;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,cAAc,CAY5E"}
1
+ {"version":3,"file":"reactUtils.d.ts","sourceRoot":"","sources":["../../src/utils/reactUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EAIZ,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,EAC9D,QAAQ,EAAE,CAAC,GACV,CAAC,CAUH;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAWtD;AAED;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,YAAY,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM;CAQ1D;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAMhE;AAED,KAAK,cAAc,GAAG,aAAa,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAC,CAAC,CAAC;AAE3D;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,cAAc,CAY5E"}
@@ -35,6 +35,9 @@ export function usePrevious(value) {
35
35
  useIsomorphicLayoutEffect(() => {
36
36
  ref.current = value;
37
37
  });
38
+ // TODO need to fix this React Compiler lint error
39
+ // probably requires changing the API though
40
+ // eslint-disable-next-line react-compiler/react-compiler
38
41
  return ref.current;
39
42
  }
40
43
  /**
@@ -62,7 +65,7 @@ export function useShallowMemoObject(obj) {
62
65
  const deps = Object.entries(obj);
63
66
  // Sort by keys to make it order-insensitive
64
67
  deps.sort((a, b) => a[0].localeCompare(b[0]));
65
- // eslint-disable-next-line react-hooks/exhaustive-deps
68
+ // eslint-disable-next-line react-compiler/react-compiler,react-hooks/exhaustive-deps
66
69
  return useMemo(() => obj, deps.flat());
67
70
  }
68
71
  /**