@docusaurus/theme-common 3.9.1 → 3.9.2-alpha.0-canary-6548

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 (55) hide show
  1. package/lib/hooks/useCodeWordWrap.d.ts +1 -1
  2. package/lib/hooks/useCodeWordWrap.d.ts.map +1 -1
  3. package/lib/hooks/useCodeWordWrap.js.map +1 -1
  4. package/lib/index.d.ts +1 -0
  5. package/lib/index.d.ts.map +1 -1
  6. package/lib/index.js +1 -0
  7. package/lib/index.js.map +1 -1
  8. package/lib/internal.d.ts +3 -2
  9. package/lib/internal.d.ts.map +1 -1
  10. package/lib/internal.js +3 -2
  11. package/lib/internal.js.map +1 -1
  12. package/lib/{hooks/styles.css → translations/docsTranslations.d.ts} +2 -4
  13. package/lib/translations/docsTranslations.d.ts.map +1 -0
  14. package/lib/translations/docsTranslations.js +17 -0
  15. package/lib/translations/docsTranslations.js.map +1 -0
  16. package/lib/utils/ThemeClassNames.d.ts +7 -0
  17. package/lib/utils/ThemeClassNames.d.ts.map +1 -1
  18. package/lib/utils/ThemeClassNames.js +7 -0
  19. package/lib/utils/ThemeClassNames.js.map +1 -1
  20. package/lib/utils/anchorUtils.d.ts +16 -0
  21. package/lib/utils/anchorUtils.d.ts.map +1 -0
  22. package/lib/utils/anchorUtils.js +26 -0
  23. package/lib/utils/anchorUtils.js.map +1 -0
  24. package/{src/hooks/styles.css → lib/utils/anchorUtils.module.css} +6 -2
  25. package/lib/utils/emojiUtils.d.ts +20 -0
  26. package/lib/utils/emojiUtils.d.ts.map +1 -0
  27. package/lib/utils/emojiUtils.js +31 -0
  28. package/lib/utils/emojiUtils.js.map +1 -0
  29. package/lib/utils/reactUtils.js +1 -1
  30. package/lib/utils/reactUtils.js.map +1 -1
  31. package/lib/utils/storageUtils.d.ts.map +1 -1
  32. package/lib/utils/storageUtils.js +0 -4
  33. package/lib/utils/storageUtils.js.map +1 -1
  34. package/lib/utils/tabsUtils.d.ts +12 -6
  35. package/lib/utils/tabsUtils.d.ts.map +1 -1
  36. package/lib/utils/tabsUtils.js +46 -22
  37. package/lib/utils/tabsUtils.js.map +1 -1
  38. package/package.json +8 -8
  39. package/src/hooks/useCodeWordWrap.ts +2 -2
  40. package/src/index.ts +2 -0
  41. package/src/internal.ts +9 -5
  42. package/src/translations/docsTranslations.tsx +28 -0
  43. package/src/utils/ThemeClassNames.ts +7 -0
  44. package/src/utils/anchorUtils.module.css +14 -0
  45. package/src/utils/anchorUtils.ts +31 -0
  46. package/src/utils/emojiUtils.ts +41 -0
  47. package/src/utils/reactUtils.tsx +1 -1
  48. package/src/utils/skipToContentUtils.tsx +1 -1
  49. package/src/utils/storageUtils.ts +0 -4
  50. package/src/utils/tabsUtils.tsx +72 -35
  51. package/lib/hooks/useKeyboardNavigation.d.ts +0 -20
  52. package/lib/hooks/useKeyboardNavigation.d.ts.map +0 -1
  53. package/lib/hooks/useKeyboardNavigation.js +0 -39
  54. package/lib/hooks/useKeyboardNavigation.js.map +0 -1
  55. package/src/hooks/useKeyboardNavigation.ts +0 -45
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import type { RefObject } from 'react';
8
8
  export type WordWrap = {
9
- readonly codeBlockRef: RefObject<HTMLPreElement>;
9
+ readonly codeBlockRef: RefObject<HTMLPreElement | null>;
10
10
  readonly isEnabled: boolean;
11
11
  readonly isCodeScrollable: boolean;
12
12
  readonly toggle: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"useCodeWordWrap.d.ts","sourceRoot":"","sources":["../../src/hooks/useCodeWordWrap.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAgDrC,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF,wBAAgB,eAAe,IAAI,QAAQ,CA6C1C"}
1
+ {"version":3,"file":"useCodeWordWrap.d.ts","sourceRoot":"","sources":["../../src/hooks/useCodeWordWrap.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAgDrC,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACxD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAEF,wBAAgB,eAAe,IAAI,QAAQ,CA6C1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCodeWordWrap.js","sourceRoot":"","sources":["../../src/hooks/useCodeWordWrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useCodeWordWrap.js","sourceRoot":"","sources":["../../src/hooks/useCodeWordWrap.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -25,6 +25,7 @@ export { NavbarSecondaryMenuFiller, type NavbarSecondaryMenuComponent, } from '.
25
25
  export { useWindowSize } from './hooks/useWindowSize';
26
26
  export { translateTagsPageTitle, listTagsByLetters, type TagLetterEntry, } from './utils/tagsUtils';
27
27
  export { useSearchQueryString, useSearchLinkCreator, } from './hooks/useSearchPage';
28
+ export { useAnchorTargetClassName } from './utils/anchorUtils';
28
29
  export { isMultiColumnFooterLinks } from './utils/footerUtils';
29
30
  export { isRegexpStringMatch } from './utils/regexpUtils';
30
31
  export { duplicates, uniq, groupBy } from './utils/jsUtils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,wBAAgB,yBAAyB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAKrE;AACD,wBAAgB,sBAAsB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAKlE;AACD,wBAAgB,uBAAuB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAKnE;AACD,wBAAgB,0BAA0B;;;EAOzC;AAMD,OAAO,EACL,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,MAAM,EACX,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAExE,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAC,cAAc,EAAE,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAErE,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAC,YAAY,EAAE,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAE1E,OAAO,EAAC,YAAY,EAAE,KAAK,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAElE,OAAO,EACL,yBAAyB,EACzB,KAAK,4BAA4B,GAClC,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAOpD,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAC,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,iCAAiC,EACjC,kBAAkB,GACnB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,wBAAgB,yBAAyB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAKrE;AACD,wBAAgB,sBAAsB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAKlE;AACD,wBAAgB,uBAAuB,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAKnE;AACD,wBAAgB,0BAA0B;;;EAOzC;AAMD,OAAO,EACL,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,MAAM,EACX,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAExE,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAC,cAAc,EAAE,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAErE,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAC,YAAY,EAAE,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAE1E,OAAO,EAAC,YAAY,EAAE,KAAK,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAElE,OAAO,EACL,yBAAyB,EACzB,KAAK,4BAA4B,GAClC,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAOpD,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAC,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,iCAAiC,EACjC,kBAAkB,GACnB,MAAM,4BAA4B,CAAC"}
package/lib/index.js CHANGED
@@ -51,6 +51,7 @@ export { useWindowSize } from './hooks/useWindowSize';
51
51
  */
52
52
  export { translateTagsPageTitle, listTagsByLetters, } from './utils/tagsUtils';
53
53
  export { useSearchQueryString, useSearchLinkCreator, } from './hooks/useSearchPage';
54
+ export { useAnchorTargetClassName } from './utils/anchorUtils';
54
55
  export { isMultiColumnFooterLinks } from './utils/footerUtils';
55
56
  export { isRegexpStringMatch } from './utils/regexpUtils';
56
57
  export { duplicates, uniq, groupBy } from './utils/jsUtils';
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/internal.d.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  */
7
7
  export * from './index';
8
8
  export { AnnouncementBarProvider, useAnnouncementBar, } from './contexts/announcementBar';
9
- export { useTabs, sanitizeTabsChildren } from './utils/tabsUtils';
9
+ export { sanitizeTabsChildren, TabsProvider, useTabs, useTabsContextValue, } from './utils/tabsUtils';
10
10
  export type { TabValue, TabsProps, TabItemProps } from './utils/tabsUtils';
11
11
  export { useNavbarMobileSidebar } from './contexts/navbarMobileSidebar';
12
12
  export { useNavbarSecondaryMenu } from './contexts/navbarSecondaryMenu/display';
@@ -23,12 +23,13 @@ export { ScrollControllerProvider, useScrollController, useScrollPosition, useSc
23
23
  export { useHomePageRoute, isSamePath } from './utils/routesUtils';
24
24
  export { PluginHtmlClassNameProvider } from './utils/metadataUtils';
25
25
  export { splitNavbarItems, NavbarProvider } from './utils/navbarUtils';
26
+ export { extractLeadingEmoji } from './utils/emojiUtils';
26
27
  export { useTOCHighlight, type TOCHighlightConfig, } from './hooks/useTOCHighlight';
27
28
  export { useDateTimeFormat } from './utils/IntlUtils';
28
29
  export { useHideableNavbar } from './hooks/useHideableNavbar';
29
- export { useKeyboardNavigation, keyboardFocusedClassName, } from './hooks/useKeyboardNavigation';
30
30
  export { useLockBodyScroll } from './hooks/useLockBodyScroll';
31
31
  export { useCodeWordWrap } from './hooks/useCodeWordWrap';
32
32
  export { useBackToTopButton } from './hooks/useBackToTopButton';
33
+ export { useDocCardDescriptionCategoryItemsPlural } from './translations/docsTranslations';
33
34
  export { useBlogTagsPostsPageTitle, useBlogAuthorPageTitle, translateBlogAuthorsListPageTitle, BlogAuthorsListViewAllLabel, BlogAuthorNoPostsLabel, } from './translations/blogTranslations';
34
35
  //# sourceMappingURL=internal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,OAAO,EAAE,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAChE,YAAY,EAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAEzE,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,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EAInB,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,EACf,KAAK,WAAW,GACjB,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,EACf,KAAK,kBAAkB,GACxB,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"}
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,OAAO,EACP,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAEzE,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,KAAK,iBAAiB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EAInB,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,EACf,KAAK,WAAW,GACjB,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,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EACL,eAAe,EACf,KAAK,kBAAkB,GACxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,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,EAAC,wCAAwC,EAAC,MAAM,iCAAiC,CAAC;AACzF,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,iCAAiC,EACjC,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,iCAAiC,CAAC"}
package/lib/internal.js CHANGED
@@ -17,7 +17,7 @@
17
17
  // eslint-disable-next-line no-restricted-syntax
18
18
  export * from './index';
19
19
  export { AnnouncementBarProvider, useAnnouncementBar, } from './contexts/announcementBar';
20
- export { useTabs, sanitizeTabsChildren } from './utils/tabsUtils';
20
+ export { sanitizeTabsChildren, TabsProvider, useTabs, useTabsContextValue, } from './utils/tabsUtils';
21
21
  export { useNavbarMobileSidebar } from './contexts/navbarMobileSidebar';
22
22
  export { useNavbarSecondaryMenu } from './contexts/navbarSecondaryMenu/display';
23
23
  export { ColorModeProvider } from './contexts/colorMode';
@@ -36,12 +36,13 @@ export { ScrollControllerProvider, useScrollController, useScrollPosition, useSc
36
36
  export { useHomePageRoute, isSamePath } from './utils/routesUtils';
37
37
  export { PluginHtmlClassNameProvider } from './utils/metadataUtils';
38
38
  export { splitNavbarItems, NavbarProvider } from './utils/navbarUtils';
39
+ export { extractLeadingEmoji } from './utils/emojiUtils';
39
40
  export { useTOCHighlight, } from './hooks/useTOCHighlight';
40
41
  export { useDateTimeFormat } from './utils/IntlUtils';
41
42
  export { useHideableNavbar } from './hooks/useHideableNavbar';
42
- export { useKeyboardNavigation, keyboardFocusedClassName, } from './hooks/useKeyboardNavigation';
43
43
  export { useLockBodyScroll } from './hooks/useLockBodyScroll';
44
44
  export { useCodeWordWrap } from './hooks/useCodeWordWrap';
45
45
  export { useBackToTopButton } from './hooks/useBackToTopButton';
46
+ export { useDocCardDescriptionCategoryItemsPlural } from './translations/docsTranslations';
46
47
  export { useBlogTagsPostsPageTitle, useBlogAuthorPageTitle, translateBlogAuthorsListPageTitle, BlogAuthorsListViewAllLabel, BlogAuthorNoPostsLabel, } from './translations/blogTranslations';
47
48
  //# 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,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"}
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,EACL,oBAAoB,EACpB,YAAY,EACZ,OAAO,EACP,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAG3B,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,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAEvD,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,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAC,wCAAwC,EAAC,MAAM,iCAAiC,CAAC;AACzF,OAAO,EACL,yBAAyB,EACzB,sBAAsB,EACtB,iCAAiC,EACjC,2BAA2B,EAC3B,sBAAsB,GACvB,MAAM,iCAAiC,CAAC"}
@@ -4,7 +4,5 @@
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
-
8
- body:not(.navigation-with-keyboard) *:not(input):focus {
9
- outline: none;
10
- }
7
+ export declare function useDocCardDescriptionCategoryItemsPlural(): (count: number) => string;
8
+ //# sourceMappingURL=docsTranslations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docsTranslations.d.ts","sourceRoot":"","sources":["../../src/translations/docsTranslations.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,wBAAgB,wCAAwC,IAAI,CAC1D,KAAK,EAAE,MAAM,KACV,MAAM,CAeV"}
@@ -0,0 +1,17 @@
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 { translate } from '@docusaurus/Translate';
8
+ import { usePluralForm } from '../utils/usePluralForm';
9
+ export function useDocCardDescriptionCategoryItemsPlural() {
10
+ const { selectMessage } = usePluralForm();
11
+ return (count) => selectMessage(count, translate({
12
+ message: '1 item|{count} items',
13
+ id: 'theme.docs.DocCard.categoryDescription.plurals',
14
+ description: 'The default description for a category card in the generated index about how many items this category includes',
15
+ }, { count }));
16
+ }
17
+ //# sourceMappingURL=docsTranslations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docsTranslations.js","sourceRoot":"","sources":["../../src/translations/docsTranslations.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAErD,MAAM,UAAU,wCAAwC;IAGtD,MAAM,EAAC,aAAa,EAAC,GAAG,aAAa,EAAE,CAAC;IACxC,OAAO,CAAC,KAAa,EAAE,EAAE,CACvB,aAAa,CACX,KAAK,EACL,SAAS,CACP;QACE,OAAO,EAAE,sBAAsB;QAC/B,EAAE,EAAE,gDAAgD;QACpD,WAAW,EACT,gHAAgH;KACnH,EACD,EAAC,KAAK,EAAC,CACR,CACF,CAAC;AACN,CAAC"}
@@ -80,6 +80,13 @@ export declare const ThemeClassNames: {
80
80
  readonly docSidebarItemLink: "theme-doc-sidebar-item-link";
81
81
  readonly docSidebarItemCategoryLevel: (level: number) => `theme-doc-sidebar-item-category-level-${number}`;
82
82
  readonly docSidebarItemLinkLevel: (level: number) => `theme-doc-sidebar-item-link-level-${number}`;
83
+ readonly docCard: {
84
+ readonly container: "theme-doc-card-container";
85
+ readonly heading: "theme-doc-card-heading";
86
+ readonly icon: "theme-doc-card-icon";
87
+ readonly title: "theme-doc-card-title";
88
+ readonly description: "theme-doc-card-description";
89
+ };
83
90
  };
84
91
  readonly blog: {
85
92
  readonly blogFooterTagsRow: "theme-blog-footer-tags-row";
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAoCD,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;IA8B/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;;;;;;;;;;;;;;;;;;;;;;;;;;IA8B/B;;OAEG;;;;;;;;;;;;;;;sDAeoC,MAAM;kDAEV,MAAM;;;;;;;;;;;;;;;;CAmBjC,CAAC"}
@@ -87,6 +87,13 @@ export const ThemeClassNames = {
87
87
  docSidebarItemCategoryLevel: (level) => `theme-doc-sidebar-item-category-level-${level}`,
88
88
  docSidebarItemLinkLevel: (level) => `theme-doc-sidebar-item-link-level-${level}`,
89
89
  // TODO add other stable classNames here
90
+ docCard: {
91
+ container: 'theme-doc-card-container',
92
+ heading: 'theme-doc-card-heading',
93
+ icon: 'theme-doc-card-icon',
94
+ title: 'theme-doc-card-title',
95
+ description: 'theme-doc-card-description',
96
+ },
90
97
  },
91
98
  blog: {
92
99
  // TODO add other stable classNames here
@@ -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;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,IAAI,EAAE;QACJ,SAAS,EAAE,sBAAsB;KAClC;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"}
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,IAAI,EAAE;QACJ,SAAS,EAAE,sBAAsB;KAClC;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;QACxC,OAAO,EAAE;YACP,SAAS,EAAE,0BAA0B;YACrC,OAAO,EAAE,wBAAwB;YACjC,IAAI,EAAE,qBAAqB;YAC3B,KAAK,EAAE,sBAAsB;YAC7B,WAAW,EAAE,4BAA4B;SAC1C;KACF;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"}
@@ -0,0 +1,16 @@
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
+ * When the navbar is sticky, this ensures that when clicking a hash link,
9
+ * we do not navigate to an anchor that will appear below the navbar.
10
+ * This happens in particular for MDX headings and footnotes.
11
+ *
12
+ * See https://github.com/facebook/docusaurus/issues/11232
13
+ * See also headings case https://x.com/JoshWComeau/status/1332015868725891076
14
+ */
15
+ export declare function useAnchorTargetClassName(id: string | undefined): string | undefined;
16
+ //# sourceMappingURL=anchorUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anchorUtils.d.ts","sourceRoot":"","sources":["../../src/utils/anchorUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,MAAM,GAAG,SAAS,GACrB,MAAM,GAAG,SAAS,CAUpB"}
@@ -0,0 +1,26 @@
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 { useThemeConfig } from './useThemeConfig';
8
+ import styles from './anchorUtils.module.css';
9
+ /**
10
+ * When the navbar is sticky, this ensures that when clicking a hash link,
11
+ * we do not navigate to an anchor that will appear below the navbar.
12
+ * This happens in particular for MDX headings and footnotes.
13
+ *
14
+ * See https://github.com/facebook/docusaurus/issues/11232
15
+ * See also headings case https://x.com/JoshWComeau/status/1332015868725891076
16
+ */
17
+ export function useAnchorTargetClassName(id) {
18
+ const { navbar: { hideOnScroll }, } = useThemeConfig();
19
+ if (typeof id === 'undefined') {
20
+ return undefined;
21
+ }
22
+ return hideOnScroll
23
+ ? styles.anchorTargetHideOnScrollNavbar
24
+ : styles.anchorTargetStickyNavbar;
25
+ }
26
+ //# sourceMappingURL=anchorUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anchorUtils.js","sourceRoot":"","sources":["../../src/utils/anchorUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAChD,OAAO,MAAM,MAAM,0BAA0B,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CACtC,EAAsB;IAEtB,MAAM,EACJ,MAAM,EAAE,EAAC,YAAY,EAAC,GACvB,GAAG,cAAc,EAAE,CAAC;IACrB,IAAI,OAAO,EAAE,KAAK,WAAW,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,YAAY;QACjB,CAAC,CAAC,MAAM,CAAC,8BAA8B;QACvC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC;AACtC,CAAC"}
@@ -5,6 +5,10 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- body:not(.navigation-with-keyboard) *:not(input):focus {
9
- outline: none;
8
+ .anchorTargetStickyNavbar {
9
+ scroll-margin-top: calc(var(--ifm-navbar-height) + 0.5rem);
10
+ }
11
+
12
+ .anchorTargetHideOnScrollNavbar {
13
+ scroll-margin-top: 0.5rem;
10
14
  }
@@ -0,0 +1,20 @@
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
+ * This method splits "⚠️ Hello World" into "⚠️" + " Hello World".
9
+ * It is quite strict and dumb, only useful to handle best-effort heuristics.
10
+ * It only extracts a leading emoji if it is the first grapheme of the string.
11
+ * It only extracts one emoji, even if multiples are present.
12
+ * It doesn't trim the remaining string.
13
+ * If you need something more clever, it should be built on top.
14
+ * @param input
15
+ */
16
+ export declare function extractLeadingEmoji(input: string): {
17
+ emoji: string | null;
18
+ rest: string;
19
+ };
20
+ //# sourceMappingURL=emojiUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emojiUtils.d.ts","sourceRoot":"","sources":["../../src/utils/emojiUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG;IAClD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd,CAmBA"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ const segmenter = new Intl.Segmenter(undefined, { granularity: 'grapheme' });
8
+ /**
9
+ * This method splits "⚠️ Hello World" into "⚠️" + " Hello World".
10
+ * It is quite strict and dumb, only useful to handle best-effort heuristics.
11
+ * It only extracts a leading emoji if it is the first grapheme of the string.
12
+ * It only extracts one emoji, even if multiples are present.
13
+ * It doesn't trim the remaining string.
14
+ * If you need something more clever, it should be built on top.
15
+ * @param input
16
+ */
17
+ export function extractLeadingEmoji(input) {
18
+ const it = segmenter.segment(input)[Symbol.iterator]();
19
+ // const first = segmenter.segment(input).containing(0)?.segment;
20
+ const grapheme = it.next().value?.segment;
21
+ if (!grapheme) {
22
+ return { emoji: null, rest: input };
23
+ }
24
+ // Leading grapheme contains an emoji (covers flags/ZWJ/skin tones)
25
+ if (!/\p{Extended_Pictographic}/u.test(grapheme) &&
26
+ !/\p{Emoji}/u.test(grapheme)) {
27
+ return { emoji: null, rest: input };
28
+ }
29
+ return { emoji: grapheme, rest: input.slice(grapheme.length) };
30
+ }
31
+ //# sourceMappingURL=emojiUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emojiUtils.js","sourceRoot":"","sources":["../../src/utils/emojiUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAC,WAAW,EAAE,UAAU,EAAC,CAAC,CAAC;AAE3E;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAI/C,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;IAEvD,iEAAiE;IACjE,MAAM,QAAQ,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;IAE1C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC;IACpC,CAAC;IAED,mEAAmE;IACnE,IACE,CAAC,4BAA4B,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC5C,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC5B,CAAC;QACD,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,CAAC;IACpC,CAAC;IAED,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAC,CAAC;AAC/D,CAAC"}
@@ -31,7 +31,7 @@ export function useEvent(callback) {
31
31
  * Gets `value` from the last render.
32
32
  */
33
33
  export function usePrevious(value) {
34
- const ref = useRef();
34
+ const ref = useRef(undefined);
35
35
  useIsomorphicLayoutEffect(() => {
36
36
  ref.current = value;
37
37
  });
@@ -1 +1 @@
1
- {"version":3,"file":"reactUtils.js","sourceRoot":"","sources":["../../src/utils/reactUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EACZ,WAAW,EACX,OAAO,EACP,MAAM,GAGP,MAAM,OAAO,CAAC;AACf,OAAO,yBAAyB,MAAM,uCAAuC,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ,CACtB,QAAW;IAEX,MAAM,GAAG,GAAG,MAAM,CAAI,QAAQ,CAAC,CAAC;IAEhC,yBAAyB,CAAC,GAAG,EAAE;QAC7B,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;IACzB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,4EAA4E;IAC5E,8BAA8B;IAC9B,OAAO,WAAW,CAAI,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAI,KAAQ;IACrC,MAAM,GAAG,GAAG,MAAM,EAAK,CAAC;IAExB,yBAAyB,CAAC,GAAG,EAAE;QAC7B,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,kDAAkD;IAClD,6CAA6C;IAC7C,yDAAyD;IACzD,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,YAAoB,EAAE,cAAuB;QACvD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,QACb,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,2BAA2B,CAAC,EAAE,MAAO;aACpE,IAAI,IAAI,EACb,2BAA2B,YAAY,MAAM,cAAc,IAAI,EAAE,EAAE,CAAC;IACtE,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAmB,GAAM;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,4CAA4C;IAC5C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,qFAAqF;IACrF,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC;AAID;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAA2B;IAC1D,yEAAyE;IACzE,OAAO,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAE,CAAC,CACrB,EACE;MAAA,CAAC,SAAS,CAAC,WAAW,CACpB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,CAAC,CAC5B,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,CAC7C,EACD,QAAQ,CACT,CACH;IAAA,GAAG,CACJ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"reactUtils.js","sourceRoot":"","sources":["../../src/utils/reactUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EACZ,WAAW,EACX,OAAO,EACP,MAAM,GAGP,MAAM,OAAO,CAAC;AACf,OAAO,yBAAyB,MAAM,uCAAuC,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ,CACtB,QAAW;IAEX,MAAM,GAAG,GAAG,MAAM,CAAI,QAAQ,CAAC,CAAC;IAEhC,yBAAyB,CAAC,GAAG,EAAE;QAC7B,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;IACzB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,4EAA4E;IAC5E,8BAA8B;IAC9B,OAAO,WAAW,CAAI,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAI,KAAQ;IACrC,MAAM,GAAG,GAAG,MAAM,CAAI,SAAS,CAAC,CAAC;IAEjC,yBAAyB,CAAC,GAAG,EAAE;QAC7B,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,kDAAkD;IAClD,6CAA6C;IAC7C,yDAAyD;IACzD,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,YAAoB,EAAE,cAAuB;QACvD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,QACb,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,2BAA2B,CAAC,EAAE,MAAO;aACpE,IAAI,IAAI,EACb,2BAA2B,YAAY,MAAM,cAAc,IAAI,EAAE,EAAE,CAAC;IACtE,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAmB,GAAM;IAC3D,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACjC,4CAA4C;IAC5C,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,qFAAqF;IACrF,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC;AAID;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAA2B;IAC1D,yEAAyE;IACzE,OAAO,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAE,CAAC,CACrB,EACE;MAAA,CAAC,SAAS,CAAC,WAAW,CACpB,CAAC,OAAO,EAAE,eAAe,EAAE,EAAE,CAAC,CAC5B,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EAAE,eAAe,CAAC,CAC7C,EACD,QAAQ,CACT,CACH;IAAA,GAAG,CACJ,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
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"}
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,CA6B9B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,WAAW,GAAE,WAAgC,GAC5C,MAAM,EAAE,CAcV"}
@@ -168,10 +168,6 @@ export function useStorageSlot(key, options) {
168
168
  return storageSlot.listen(onChange);
169
169
  }, [storageSlot]);
170
170
  const currentValue = useSyncExternalStore(listen, () => {
171
- // react-test-renderer (deprecated) never call getServerSnapshot() :/
172
- if (process.env.NODE_ENV === 'test') {
173
- return null;
174
- }
175
171
  return storageSlot.get();
176
172
  }, () => null);
177
173
  return [currentValue, storageSlot];
@@ -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 { type ReactNode, type ReactElement } from 'react';
7
+ import { type ReactNode } 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
@@ -17,11 +17,10 @@ export interface TabValue {
17
17
  };
18
18
  readonly default?: boolean;
19
19
  }
20
- type TabItem = ReactElement<TabItemProps> | null | false | undefined;
21
20
  export interface TabsProps {
22
21
  readonly lazy?: boolean;
23
22
  readonly block?: boolean;
24
- readonly children: TabItem[] | TabItem;
23
+ readonly children: ReactNode;
25
24
  readonly defaultValue?: string | null;
26
25
  readonly values?: readonly TabValue[];
27
26
  readonly groupId?: string;
@@ -33,17 +32,24 @@ export interface TabItemProps {
33
32
  readonly value: string;
34
33
  readonly default?: boolean;
35
34
  readonly label?: string;
36
- readonly hidden?: boolean;
37
35
  readonly className?: string;
38
36
  readonly attributes?: {
39
37
  [key: string]: unknown;
40
38
  };
41
39
  }
42
- export declare function sanitizeTabsChildren(children: TabsProps['children']): ReactElement<TabItemProps>[];
43
- export declare function useTabs(props: TabsProps): {
40
+ export declare function sanitizeTabsChildren(children: ReactNode): ReactNode;
41
+ type TabsContextValue = {
44
42
  selectedValue: string;
45
43
  selectValue: (value: string) => void;
46
44
  tabValues: readonly TabValue[];
45
+ lazy: boolean;
46
+ block: boolean;
47
47
  };
48
+ export declare function useTabsContextValue(props: TabsProps): TabsContextValue;
49
+ export declare function useTabs(): TabsContextValue;
50
+ export declare function TabsProvider(props: {
51
+ children: ReactNode;
52
+ value: TabsContextValue;
53
+ }): ReactNode;
48
54
  export {};
49
55
  //# sourceMappingURL=tabsUtils.d.ts.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"tabsUtils.d.ts","sourceRoot":"","sources":["../../src/utils/tabsUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EAMZ,KAAK,SAAS,EAEf,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,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,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,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAC,CAAC;CAChD;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,CAEnE;AA4KD,KAAK,gBAAgB,GAAG;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC/B,IAAI,EAAE,OAAO,CAAC;IAId,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,gBAAgB,CAoDtE;AAID,wBAAgB,OAAO,IAAI,gBAAgB,CAM1C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,gBAAgB,CAAC;CACzB,GAAG,SAAS,CAMZ"}
@@ -4,34 +4,39 @@
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, { isValidElement, useCallback, useState, useMemo, } from 'react';
7
+ import React, { isValidElement, useCallback, useState, useMemo, createContext, } from 'react';
8
8
  import { useHistory } from '@docusaurus/router';
9
9
  import useIsomorphicLayoutEffect from '@docusaurus/useIsomorphicLayoutEffect';
10
10
  import { useQueryStringValue } from '@docusaurus/theme-common/internal';
11
11
  import { duplicates, useStorageSlot } from '../index';
12
- // A very rough duck type, but good enough to guard against mistakes while
13
- // allowing customization
14
- function isTabItem(comp) {
15
- const { props } = comp;
16
- return !!props && typeof props === 'object' && 'value' in props;
17
- }
18
12
  export function sanitizeTabsChildren(children) {
19
- return (React.Children.toArray(children)
20
- .filter((child) => child !== '\n')
21
- .map((child) => {
22
- if (!child || (isValidElement(child) && isTabItem(child))) {
23
- return child;
13
+ return React.Children.toArray(children).filter((child) => child !== '\n');
14
+ }
15
+ function extractChildrenTabValues(children) {
16
+ // <TabItem value="red"/> => true
17
+ // ✅ <CustomTabItem value="red"/> => true
18
+ // ❌ <RedTabItem value="tab-value"/> => requires <Tabs values> prop
19
+ function isTabItemWithValueProp(comp) {
20
+ const { props } = comp;
21
+ return !!props && typeof props === 'object' && 'value' in props;
22
+ }
23
+ const elements = React.Children.toArray(children).flatMap((child) => {
24
+ // Historical case, not sure when it happens, do we really need this?
25
+ if (!child) {
26
+ return [];
27
+ }
28
+ if (isValidElement(child) && isTabItemWithValueProp(child)) {
29
+ return [child];
24
30
  }
25
31
  // child.type.name will give non-sensical values in prod because of
26
32
  // minification, but we assume it won't throw in prod.
27
- throw new Error(`Docusaurus error: Bad <Tabs> child <${
33
+ const badChildTypeName =
28
34
  // @ts-expect-error: guarding against unexpected cases
29
- typeof child.type === 'string' ? child.type : child.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`);
30
- })
31
- ?.filter(Boolean) ?? []);
32
- }
33
- function extractChildrenTabValues(children) {
34
- return sanitizeTabsChildren(children).map(({ props: { value, label, attributes, default: isDefault } }) => ({
35
+ typeof child.type === 'string' ? child.type : child.type.name;
36
+ throw new Error(`Docusaurus error: Bad <Tabs> child <${badChildTypeName}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.
37
+ If you do not want to pass on a "value" prop to the direct children of <Tabs>, you can also pass an explicit <Tabs values={...}> prop.`);
38
+ });
39
+ return elements.map(({ props: { value, label, attributes, default: isDefault } }) => ({
35
40
  value,
36
41
  label,
37
42
  attributes,
@@ -42,7 +47,7 @@ function ensureNoDuplicateValue(values) {
42
47
  const dup = duplicates(values, (a, b) => a.value === b.value);
43
48
  if (dup.length > 0) {
44
49
  throw new Error(`Docusaurus error: Duplicate values "${dup
45
- .map((a) => a.value)
50
+ .map((a) => `'${a.value}'`)
46
51
  .join(', ')}" found in <Tabs>. Every value needs to be unique.`);
47
52
  }
48
53
  }
@@ -119,7 +124,7 @@ function useTabStorage({ groupId }) {
119
124
  }, [key, storageSlot]);
120
125
  return [value, setValue];
121
126
  }
122
- export function useTabs(props) {
127
+ export function useTabsContextValue(props) {
123
128
  const { defaultValue, queryString = false, groupId } = props;
124
129
  const tabValues = useTabValues(props);
125
130
  const [selectedValue, setSelectedValue] = useState(() => getInitialStateValue({ defaultValue, tabValues }));
@@ -153,6 +158,25 @@ export function useTabs(props) {
153
158
  setQueryString(newValue);
154
159
  setStorageValue(newValue);
155
160
  }, [setQueryString, setStorageValue, tabValues]);
156
- return { selectedValue, selectValue, tabValues };
161
+ return {
162
+ selectedValue,
163
+ selectValue,
164
+ tabValues,
165
+ lazy: props.lazy ?? false,
166
+ block: props.block ?? false,
167
+ };
168
+ }
169
+ const TabsContext = createContext(null);
170
+ export function useTabs() {
171
+ const contextValue = React.useContext(TabsContext);
172
+ if (!contextValue) {
173
+ throw new Error('useTabsContext() must be used within a Tabs component');
174
+ }
175
+ return contextValue;
176
+ }
177
+ export function TabsProvider(props) {
178
+ return (<TabsContext.Provider value={props.value}>
179
+ {props.children}
180
+ </TabsContext.Provider>);
157
181
  }
158
182
  //# sourceMappingURL=tabsUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tabsUtils.js","sourceRoot":"","sources":["../../src/utils/tabsUtils.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tabsUtils.js","sourceRoot":"","sources":["../../src/utils/tabsUtils.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docusaurus/theme-common",
3
- "version": "3.9.1",
3
+ "version": "3.9.2-alpha.0-canary-6548",
4
4
  "description": "Common code for Docusaurus themes.",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -30,10 +30,10 @@
30
30
  },
31
31
  "license": "MIT",
32
32
  "dependencies": {
33
- "@docusaurus/mdx-loader": "3.9.1",
34
- "@docusaurus/module-type-aliases": "3.9.1",
35
- "@docusaurus/utils": "3.9.1",
36
- "@docusaurus/utils-common": "3.9.1",
33
+ "@docusaurus/mdx-loader": "3.9.2-alpha.0-canary-6548",
34
+ "@docusaurus/module-type-aliases": "3.9.2-alpha.0-canary-6548",
35
+ "@docusaurus/utils": "3.9.2-alpha.0-canary-6548",
36
+ "@docusaurus/utils-common": "3.9.2-alpha.0-canary-6548",
37
37
  "@types/history": "^4.7.11",
38
38
  "@types/react": "*",
39
39
  "@types/react-router-config": "*",
@@ -44,8 +44,8 @@
44
44
  "utility-types": "^3.10.0"
45
45
  },
46
46
  "devDependencies": {
47
- "@docusaurus/core": "3.9.1",
48
- "@docusaurus/types": "3.9.1",
47
+ "@docusaurus/core": "3.9.2-alpha.0-canary-6548",
48
+ "@docusaurus/types": "3.9.2-alpha.0-canary-6548",
49
49
  "@total-typescript/shoehorn": "^0.1.2",
50
50
  "fs-extra": "^11.1.1",
51
51
  "lodash": "^4.17.21"
@@ -58,5 +58,5 @@
58
58
  "engines": {
59
59
  "node": ">=20.0"
60
60
  },
61
- "gitHead": "c0dd59f0e712f85b6053c59e46b0514b5d2d1414"
61
+ "gitHead": "7694572787296be09b95c6ff0a541ae19185a9f5"
62
62
  }
@@ -11,7 +11,7 @@ import {useMutationObserver} from './useMutationObserver';
11
11
  // Callback fires when the "hidden" attribute of a tabpanel changes
12
12
  // See https://github.com/facebook/docusaurus/pull/7485
13
13
  function useTabBecameVisibleCallback(
14
- codeBlockRef: RefObject<HTMLPreElement>,
14
+ codeBlockRef: RefObject<HTMLPreElement | null>,
15
15
  callback: () => void,
16
16
  ) {
17
17
  const [hiddenTabElement, setHiddenTabElement] = useState<
@@ -53,7 +53,7 @@ function useTabBecameVisibleCallback(
53
53
  }
54
54
 
55
55
  export type WordWrap = {
56
- readonly codeBlockRef: RefObject<HTMLPreElement>;
56
+ readonly codeBlockRef: RefObject<HTMLPreElement | null>;
57
57
  readonly isEnabled: boolean;
58
58
  readonly isCodeScrollable: boolean;
59
59
  readonly toggle: () => void;
package/src/index.ts CHANGED
@@ -109,6 +109,8 @@ export {
109
109
  useSearchLinkCreator,
110
110
  } from './hooks/useSearchPage';
111
111
 
112
+ export {useAnchorTargetClassName} from './utils/anchorUtils';
113
+
112
114
  export {isMultiColumnFooterLinks} from './utils/footerUtils';
113
115
 
114
116
  export {isRegexpStringMatch} from './utils/regexpUtils';
package/src/internal.ts CHANGED
@@ -23,7 +23,12 @@ export {
23
23
  useAnnouncementBar,
24
24
  } from './contexts/announcementBar';
25
25
 
26
- export {useTabs, sanitizeTabsChildren} from './utils/tabsUtils';
26
+ export {
27
+ sanitizeTabsChildren,
28
+ TabsProvider,
29
+ useTabs,
30
+ useTabsContextValue,
31
+ } from './utils/tabsUtils';
27
32
  export type {TabValue, TabsProps, TabItemProps} from './utils/tabsUtils';
28
33
 
29
34
  export {useNavbarMobileSidebar} from './contexts/navbarMobileSidebar';
@@ -86,6 +91,8 @@ export {PluginHtmlClassNameProvider} from './utils/metadataUtils';
86
91
 
87
92
  export {splitNavbarItems, NavbarProvider} from './utils/navbarUtils';
88
93
 
94
+ export {extractLeadingEmoji} from './utils/emojiUtils';
95
+
89
96
  export {
90
97
  useTOCHighlight,
91
98
  type TOCHighlightConfig,
@@ -94,14 +101,11 @@ export {
94
101
  export {useDateTimeFormat} from './utils/IntlUtils';
95
102
 
96
103
  export {useHideableNavbar} from './hooks/useHideableNavbar';
97
- export {
98
- useKeyboardNavigation,
99
- keyboardFocusedClassName,
100
- } from './hooks/useKeyboardNavigation';
101
104
  export {useLockBodyScroll} from './hooks/useLockBodyScroll';
102
105
  export {useCodeWordWrap} from './hooks/useCodeWordWrap';
103
106
  export {useBackToTopButton} from './hooks/useBackToTopButton';
104
107
 
108
+ export {useDocCardDescriptionCategoryItemsPlural} from './translations/docsTranslations';
105
109
  export {
106
110
  useBlogTagsPostsPageTitle,
107
111
  useBlogAuthorPageTitle,
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import {translate} from '@docusaurus/Translate';
9
+ import {usePluralForm} from '../utils/usePluralForm';
10
+
11
+ export function useDocCardDescriptionCategoryItemsPlural(): (
12
+ count: number,
13
+ ) => string {
14
+ const {selectMessage} = usePluralForm();
15
+ return (count: number) =>
16
+ selectMessage(
17
+ count,
18
+ translate(
19
+ {
20
+ message: '1 item|{count} items',
21
+ id: 'theme.docs.DocCard.categoryDescription.plurals',
22
+ description:
23
+ 'The default description for a category card in the generated index about how many items this category includes',
24
+ },
25
+ {count},
26
+ ),
27
+ );
28
+ }
@@ -100,6 +100,13 @@ export const ThemeClassNames = {
100
100
  docSidebarItemLinkLevel: (level: number) =>
101
101
  `theme-doc-sidebar-item-link-level-${level}` as const,
102
102
  // TODO add other stable classNames here
103
+ docCard: {
104
+ container: 'theme-doc-card-container',
105
+ heading: 'theme-doc-card-heading',
106
+ icon: 'theme-doc-card-icon',
107
+ title: 'theme-doc-card-title',
108
+ description: 'theme-doc-card-description',
109
+ },
103
110
  },
104
111
  blog: {
105
112
  // TODO add other stable classNames here
@@ -0,0 +1,14 @@
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
+ .anchorTargetStickyNavbar {
9
+ scroll-margin-top: calc(var(--ifm-navbar-height) + 0.5rem);
10
+ }
11
+
12
+ .anchorTargetHideOnScrollNavbar {
13
+ scroll-margin-top: 0.5rem;
14
+ }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright (c) Facebook, Inc. and its affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ import {useThemeConfig} from './useThemeConfig';
9
+ import styles from './anchorUtils.module.css';
10
+
11
+ /**
12
+ * When the navbar is sticky, this ensures that when clicking a hash link,
13
+ * we do not navigate to an anchor that will appear below the navbar.
14
+ * This happens in particular for MDX headings and footnotes.
15
+ *
16
+ * See https://github.com/facebook/docusaurus/issues/11232
17
+ * See also headings case https://x.com/JoshWComeau/status/1332015868725891076
18
+ */
19
+ export function useAnchorTargetClassName(
20
+ id: string | undefined,
21
+ ): string | undefined {
22
+ const {
23
+ navbar: {hideOnScroll},
24
+ } = useThemeConfig();
25
+ if (typeof id === 'undefined') {
26
+ return undefined;
27
+ }
28
+ return hideOnScroll
29
+ ? styles.anchorTargetHideOnScrollNavbar
30
+ : styles.anchorTargetStickyNavbar;
31
+ }
@@ -0,0 +1,41 @@
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
+ const segmenter = new Intl.Segmenter(undefined, {granularity: 'grapheme'});
9
+
10
+ /**
11
+ * This method splits "⚠️ Hello World" into "⚠️" + " Hello World".
12
+ * It is quite strict and dumb, only useful to handle best-effort heuristics.
13
+ * It only extracts a leading emoji if it is the first grapheme of the string.
14
+ * It only extracts one emoji, even if multiples are present.
15
+ * It doesn't trim the remaining string.
16
+ * If you need something more clever, it should be built on top.
17
+ * @param input
18
+ */
19
+ export function extractLeadingEmoji(input: string): {
20
+ emoji: string | null;
21
+ rest: string;
22
+ } {
23
+ const it = segmenter.segment(input)[Symbol.iterator]();
24
+
25
+ // const first = segmenter.segment(input).containing(0)?.segment;
26
+ const grapheme = it.next().value?.segment;
27
+
28
+ if (!grapheme) {
29
+ return {emoji: null, rest: input};
30
+ }
31
+
32
+ // Leading grapheme contains an emoji (covers flags/ZWJ/skin tones)
33
+ if (
34
+ !/\p{Extended_Pictographic}/u.test(grapheme) &&
35
+ !/\p{Emoji}/u.test(grapheme)
36
+ ) {
37
+ return {emoji: null, rest: input};
38
+ }
39
+
40
+ return {emoji: grapheme, rest: input.slice(grapheme.length)};
41
+ }
@@ -44,7 +44,7 @@ export function useEvent<T extends (...args: never[]) => unknown>(
44
44
  * Gets `value` from the last render.
45
45
  */
46
46
  export function usePrevious<T>(value: T): T | undefined {
47
- const ref = useRef<T>();
47
+ const ref = useRef<T>(undefined);
48
48
 
49
49
  useIsomorphicLayoutEffect(() => {
50
50
  ref.current = value;
@@ -52,7 +52,7 @@ function useSkipToContent(): {
52
52
  * so that keyboard navigators can instantly interact with the link and jump
53
53
  * to content.
54
54
  */
55
- containerRef: React.RefObject<HTMLDivElement>;
55
+ containerRef: React.RefObject<HTMLDivElement | null>;
56
56
  /**
57
57
  * Callback fired when the skip to content link has been clicked.
58
58
  * It will programmatically focus the main content.
@@ -229,10 +229,6 @@ export function useStorageSlot(
229
229
  const currentValue = useSyncExternalStore(
230
230
  listen,
231
231
  () => {
232
- // react-test-renderer (deprecated) never call getServerSnapshot() :/
233
- if (process.env.NODE_ENV === 'test') {
234
- return null;
235
- }
236
232
  return storageSlot.get();
237
233
  },
238
234
  () => null,
@@ -10,6 +10,7 @@ import React, {
10
10
  useCallback,
11
11
  useState,
12
12
  useMemo,
13
+ createContext,
13
14
  type ReactNode,
14
15
  type ReactElement,
15
16
  } from 'react';
@@ -29,12 +30,10 @@ export interface TabValue {
29
30
  readonly default?: boolean;
30
31
  }
31
32
 
32
- type TabItem = ReactElement<TabItemProps> | null | false | undefined;
33
-
34
33
  export interface TabsProps {
35
34
  readonly lazy?: boolean;
36
35
  readonly block?: boolean;
37
- readonly children: TabItem[] | TabItem;
36
+ readonly children: ReactNode;
38
37
  readonly defaultValue?: string | null;
39
38
  readonly values?: readonly TabValue[];
40
39
  readonly groupId?: string;
@@ -47,41 +46,45 @@ export interface TabItemProps {
47
46
  readonly value: string;
48
47
  readonly default?: boolean;
49
48
  readonly label?: string;
50
- readonly hidden?: boolean;
51
49
  readonly className?: string;
52
50
  readonly attributes?: {[key: string]: unknown};
53
51
  }
54
52
 
55
- // A very rough duck type, but good enough to guard against mistakes while
56
- // allowing customization
57
- function isTabItem(
58
- comp: ReactElement<unknown>,
59
- ): comp is ReactElement<TabItemProps> {
60
- const {props} = comp;
61
- return !!props && typeof props === 'object' && 'value' in props;
53
+ export function sanitizeTabsChildren(children: ReactNode): ReactNode {
54
+ return React.Children.toArray(children).filter((child) => child !== '\n');
62
55
  }
63
56
 
64
- export function sanitizeTabsChildren(children: TabsProps['children']) {
65
- return (React.Children.toArray(children)
66
- .filter((child) => child !== '\n')
67
- .map((child) => {
68
- if (!child || (isValidElement(child) && isTabItem(child))) {
69
- return child;
70
- }
71
- // child.type.name will give non-sensical values in prod because of
72
- // minification, but we assume it won't throw in prod.
73
- throw new Error(
74
- `Docusaurus error: Bad <Tabs> child <${
75
- // @ts-expect-error: guarding against unexpected cases
76
- typeof child.type === 'string' ? child.type : child.type.name
77
- }>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`,
78
- );
79
- })
80
- ?.filter(Boolean) ?? []) as ReactElement<TabItemProps>[];
81
- }
57
+ function extractChildrenTabValues(children: ReactNode): TabValue[] {
58
+ // ✅ <TabItem value="red"/> => true
59
+ // <CustomTabItem value="red"/> => true
60
+ // ❌ <RedTabItem value="tab-value"/> => requires <Tabs values> prop
61
+ function isTabItemWithValueProp(
62
+ comp: ReactElement,
63
+ ): comp is ReactElement<TabItemProps> {
64
+ const {props} = comp;
65
+ return !!props && typeof props === 'object' && 'value' in props;
66
+ }
82
67
 
83
- function extractChildrenTabValues(children: TabsProps['children']): TabValue[] {
84
- return sanitizeTabsChildren(children).map(
68
+ const elements = React.Children.toArray(children).flatMap((child) => {
69
+ // Historical case, not sure when it happens, do we really need this?
70
+ if (!child) {
71
+ return [];
72
+ }
73
+ if (isValidElement(child) && isTabItemWithValueProp(child)) {
74
+ return [child];
75
+ }
76
+ // child.type.name will give non-sensical values in prod because of
77
+ // minification, but we assume it won't throw in prod.
78
+ const badChildTypeName =
79
+ // @ts-expect-error: guarding against unexpected cases
80
+ typeof child.type === 'string' ? child.type : child.type.name;
81
+ throw new Error(
82
+ `Docusaurus error: Bad <Tabs> child <${badChildTypeName}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.
83
+ If you do not want to pass on a "value" prop to the direct children of <Tabs>, you can also pass an explicit <Tabs values={...}> prop.`,
84
+ );
85
+ });
86
+
87
+ return elements.map(
85
88
  ({props: {value, label, attributes, default: isDefault}}) => ({
86
89
  value,
87
90
  label,
@@ -96,7 +99,7 @@ function ensureNoDuplicateValue(values: readonly TabValue[]) {
96
99
  if (dup.length > 0) {
97
100
  throw new Error(
98
101
  `Docusaurus error: Duplicate values "${dup
99
- .map((a) => a.value)
102
+ .map((a) => `'${a.value}'`)
100
103
  .join(', ')}" found in <Tabs>. Every value needs to be unique.`,
101
104
  );
102
105
  }
@@ -221,11 +224,18 @@ function useTabStorage({groupId}: Pick<TabsProps, 'groupId'>) {
221
224
  return [value, setValue] as const;
222
225
  }
223
226
 
224
- export function useTabs(props: TabsProps): {
227
+ type TabsContextValue = {
225
228
  selectedValue: string;
226
229
  selectValue: (value: string) => void;
227
230
  tabValues: readonly TabValue[];
228
- } {
231
+ lazy: boolean;
232
+ // TODO Docusaurus v4: remove this "block" concept?
233
+ // TIL about it, and afaik we never used nor documented it
234
+ // See https://infima.dev/docs/components/tabs#block
235
+ block: boolean;
236
+ };
237
+
238
+ export function useTabsContextValue(props: TabsProps): TabsContextValue {
229
239
  const {defaultValue, queryString = false, groupId} = props;
230
240
  const tabValues = useTabValues(props);
231
241
 
@@ -270,5 +280,32 @@ export function useTabs(props: TabsProps): {
270
280
  [setQueryString, setStorageValue, tabValues],
271
281
  );
272
282
 
273
- return {selectedValue, selectValue, tabValues};
283
+ return {
284
+ selectedValue,
285
+ selectValue,
286
+ tabValues,
287
+ lazy: props.lazy ?? false,
288
+ block: props.block ?? false,
289
+ };
290
+ }
291
+
292
+ const TabsContext = createContext<TabsContextValue | null>(null);
293
+
294
+ export function useTabs(): TabsContextValue {
295
+ const contextValue = React.useContext(TabsContext);
296
+ if (!contextValue) {
297
+ throw new Error('useTabsContext() must be used within a Tabs component');
298
+ }
299
+ return contextValue;
300
+ }
301
+
302
+ export function TabsProvider(props: {
303
+ children: ReactNode;
304
+ value: TabsContextValue;
305
+ }): ReactNode {
306
+ return (
307
+ <TabsContext.Provider value={props.value}>
308
+ {props.children}
309
+ </TabsContext.Provider>
310
+ );
274
311
  }
@@ -1,20 +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 './styles.css';
8
- export declare const keyboardFocusedClassName = "navigation-with-keyboard";
9
- /**
10
- * Side-effect that adds the `keyboardFocusedClassName` to the body element when
11
- * the keyboard has been pressed, or removes it when the mouse is clicked.
12
- *
13
- * The presence of this class name signals that the user may be using keyboard
14
- * for navigation, and the theme **must** add focus outline when this class name
15
- * is present. (And optionally not if it's absent, for design purposes)
16
- *
17
- * Inspired by https://hackernoon.com/removing-that-ugly-focus-ring-and-keeping-it-too-6c8727fefcd2
18
- */
19
- export declare function useKeyboardNavigation(): void;
20
- //# sourceMappingURL=useKeyboardNavigation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useKeyboardNavigation.d.ts","sourceRoot":"","sources":["../../src/hooks/useKeyboardNavigation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,cAAc,CAAC;AAEtB,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAEnE;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAqB5C"}
@@ -1,39 +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 { useEffect } from 'react';
8
- import './styles.css';
9
- export const keyboardFocusedClassName = 'navigation-with-keyboard';
10
- /**
11
- * Side-effect that adds the `keyboardFocusedClassName` to the body element when
12
- * the keyboard has been pressed, or removes it when the mouse is clicked.
13
- *
14
- * The presence of this class name signals that the user may be using keyboard
15
- * for navigation, and the theme **must** add focus outline when this class name
16
- * is present. (And optionally not if it's absent, for design purposes)
17
- *
18
- * Inspired by https://hackernoon.com/removing-that-ugly-focus-ring-and-keeping-it-too-6c8727fefcd2
19
- */
20
- export function useKeyboardNavigation() {
21
- useEffect(() => {
22
- function handleOutlineStyles(e) {
23
- if (e.type === 'keydown' && e.key === 'Tab') {
24
- document.body.classList.add(keyboardFocusedClassName);
25
- }
26
- if (e.type === 'mousedown') {
27
- document.body.classList.remove(keyboardFocusedClassName);
28
- }
29
- }
30
- document.addEventListener('keydown', handleOutlineStyles);
31
- document.addEventListener('mousedown', handleOutlineStyles);
32
- return () => {
33
- document.body.classList.remove(keyboardFocusedClassName);
34
- document.removeEventListener('keydown', handleOutlineStyles);
35
- document.removeEventListener('mousedown', handleOutlineStyles);
36
- };
37
- }, []);
38
- }
39
- //# sourceMappingURL=useKeyboardNavigation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useKeyboardNavigation.js","sourceRoot":"","sources":["../../src/hooks/useKeyboardNavigation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAEhC,OAAO,cAAc,CAAC;AAEtB,MAAM,CAAC,MAAM,wBAAwB,GAAG,0BAA0B,CAAC;AAEnE;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB;IACnC,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,mBAAmB,CAAC,CAA6B;YACxD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAK,CAAmB,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;gBAC/D,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACxD,CAAC;YAED,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC3B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;QAC1D,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QAE5D,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACzD,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;YAC7D,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;QACjE,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
@@ -1,45 +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
-
8
- import {useEffect} from 'react';
9
-
10
- import './styles.css';
11
-
12
- export const keyboardFocusedClassName = 'navigation-with-keyboard';
13
-
14
- /**
15
- * Side-effect that adds the `keyboardFocusedClassName` to the body element when
16
- * the keyboard has been pressed, or removes it when the mouse is clicked.
17
- *
18
- * The presence of this class name signals that the user may be using keyboard
19
- * for navigation, and the theme **must** add focus outline when this class name
20
- * is present. (And optionally not if it's absent, for design purposes)
21
- *
22
- * Inspired by https://hackernoon.com/removing-that-ugly-focus-ring-and-keeping-it-too-6c8727fefcd2
23
- */
24
- export function useKeyboardNavigation(): void {
25
- useEffect(() => {
26
- function handleOutlineStyles(e: MouseEvent | KeyboardEvent) {
27
- if (e.type === 'keydown' && (e as KeyboardEvent).key === 'Tab') {
28
- document.body.classList.add(keyboardFocusedClassName);
29
- }
30
-
31
- if (e.type === 'mousedown') {
32
- document.body.classList.remove(keyboardFocusedClassName);
33
- }
34
- }
35
-
36
- document.addEventListener('keydown', handleOutlineStyles);
37
- document.addEventListener('mousedown', handleOutlineStyles);
38
-
39
- return () => {
40
- document.body.classList.remove(keyboardFocusedClassName);
41
- document.removeEventListener('keydown', handleOutlineStyles);
42
- document.removeEventListener('mousedown', handleOutlineStyles);
43
- };
44
- }, []);
45
- }