@docusaurus/theme-common 0.0.0-5333 → 0.0.0-5340
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.
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/internal.d.ts +0 -1
- package/lib/internal.d.ts.map +1 -1
- package/lib/internal.js +0 -1
- package/lib/internal.js.map +1 -1
- package/lib/utils/skipToContentUtils.d.ts +17 -0
- package/lib/utils/skipToContentUtils.d.ts.map +1 -0
- package/lib/utils/skipToContentUtils.js +71 -0
- package/lib/utils/skipToContentUtils.js.map +1 -0
- package/package.json +10 -10
- package/src/index.ts +5 -0
- package/src/internal.ts +0 -1
- package/src/utils/skipToContentUtils.tsx +103 -0
- package/lib/hooks/useSkipToContent.d.ts +0 -25
- package/lib/hooks/useSkipToContent.d.ts.map +0 -1
- package/lib/hooks/useSkipToContent.js +0 -35
- package/lib/hooks/useSkipToContent.js.map +0 -1
- package/src/hooks/useSkipToContent.ts +0 -58
package/lib/index.d.ts
CHANGED
|
@@ -23,5 +23,6 @@ export { duplicates, uniq } from './utils/jsUtils';
|
|
|
23
23
|
export { usePrismTheme } from './hooks/usePrismTheme';
|
|
24
24
|
export { useDocsPreferredVersion } from './contexts/docsPreferredVersion';
|
|
25
25
|
export { processAdmonitionProps } from './utils/admonitionUtils';
|
|
26
|
+
export { SkipToContentFallbackId, SkipToContentLink, } from './utils/skipToContentUtils';
|
|
26
27
|
export { ErrorBoundaryTryAgainButton } from './utils/errorBoundaryUtils';
|
|
27
28
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,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,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAC,iBAAiB,EAAE,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAC,0BAA0B,EAAC,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EACL,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,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,EACL,yBAAyB,EACzB,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,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAC,uBAAuB,EAAC,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAC,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAC,2BAA2B,EAAC,MAAM,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,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,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAC,iBAAiB,EAAE,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAC,0BAA0B,EAAC,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EACL,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,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,EACL,yBAAyB,EACzB,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,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAC,uBAAuB,EAAC,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAC,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,2BAA2B,EAAC,MAAM,4BAA4B,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -30,5 +30,6 @@ export { duplicates, uniq } from './utils/jsUtils';
|
|
|
30
30
|
export { usePrismTheme } from './hooks/usePrismTheme';
|
|
31
31
|
export { useDocsPreferredVersion } from './contexts/docsPreferredVersion';
|
|
32
32
|
export { processAdmonitionProps } from './utils/admonitionUtils';
|
|
33
|
+
export { SkipToContentFallbackId, SkipToContentLink, } from './utils/skipToContentUtils';
|
|
33
34
|
export { ErrorBoundaryTryAgainButton } from './utils/errorBoundaryUtils';
|
|
34
35
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AAEH,OAAO,EACL,cAAc,GAYf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAC,iBAAiB,EAAE,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAC,0BAA0B,EAAC,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EACL,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,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,EACL,yBAAyB,EACzB,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,EAAiB,MAAM,sBAAsB,CAAC;AAElE,OAAO,EACL,yBAAyB,GAE1B,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEpD;;;GAGG;AAEH,OAAO,EACL,sBAAsB,EACtB,iBAAiB,GAElB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAC,uBAAuB,EAAC,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAC,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAC,2BAA2B,EAAC,MAAM,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AAEH,OAAO,EACL,cAAc,GAYf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAC,iBAAiB,EAAE,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAC,0BAA0B,EAAC,MAAM,qBAAqB,CAAC;AAE/D,OAAO,EACL,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,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,EACL,yBAAyB,EACzB,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,EAAiB,MAAM,sBAAsB,CAAC;AAElE,OAAO,EACL,yBAAyB,GAE1B,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEpD;;;GAGG;AAEH,OAAO,EACL,sBAAsB,EACtB,iBAAiB,GAElB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAE7D,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAC,uBAAuB,EAAC,MAAM,iCAAiC,CAAC;AAExE,OAAO,EAAC,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,2BAA2B,EAAC,MAAM,4BAA4B,CAAC"}
|
package/lib/internal.d.ts
CHANGED
|
@@ -35,7 +35,6 @@ export { useKeyboardNavigation, keyboardFocusedClassName, } from './hooks/useKey
|
|
|
35
35
|
export { useLockBodyScroll } from './hooks/useLockBodyScroll';
|
|
36
36
|
export { useSearchPage } from './hooks/useSearchPage';
|
|
37
37
|
export { useCodeWordWrap } from './hooks/useCodeWordWrap';
|
|
38
|
-
export { useSkipToContent } from './hooks/useSkipToContent';
|
|
39
38
|
export { getPrismCssVariables } from './utils/codeBlockUtils';
|
|
40
39
|
export { useBackToTopButton } from './hooks/useBackToTopButton';
|
|
41
40
|
//# sourceMappingURL=internal.d.ts.map
|
package/lib/internal.d.ts.map
CHANGED
|
@@ -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,oCAAoC,EACpC,+BAA+B,GAChC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAC,mBAAmB,EAAE,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAC,mBAAmB,EAAE,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAE3E,OAAO,EAAC,WAAW,EAAE,MAAM,EAAE,KAAK,eAAe,EAAC,MAAM,gBAAgB,CAAC;AACzE,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,iCAAiC,EACjC,mCAAmC,GACpC,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AAEnC,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,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,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,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE1D,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,2BAA2B,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,oCAAoC,EACpC,+BAA+B,GAChC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAC,mBAAmB,EAAE,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAC,mBAAmB,EAAE,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAE3E,OAAO,EAAC,WAAW,EAAE,MAAM,EAAE,KAAK,eAAe,EAAC,MAAM,gBAAgB,CAAC;AACzE,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,KAAK,oBAAoB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,iCAAiC,EACjC,mCAAmC,GACpC,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AAEnC,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,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,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,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE1D,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,2BAA2B,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC"}
|
package/lib/internal.js
CHANGED
|
@@ -46,7 +46,6 @@ export { useKeyboardNavigation, keyboardFocusedClassName, } from './hooks/useKey
|
|
|
46
46
|
export { useLockBodyScroll } from './hooks/useLockBodyScroll';
|
|
47
47
|
export { useSearchPage } from './hooks/useSearchPage';
|
|
48
48
|
export { useCodeWordWrap } from './hooks/useCodeWordWrap';
|
|
49
|
-
export { useSkipToContent } from './hooks/useSkipToContent';
|
|
50
49
|
export { getPrismCssVariables } from './utils/codeBlockUtils';
|
|
51
50
|
export { useBackToTopButton } from './hooks/useBackToTopButton';
|
|
52
51
|
//# sourceMappingURL=internal.js.map
|
package/lib/internal.js.map
CHANGED
|
@@ -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,oCAAoC,EACpC,+BAA+B,GAChC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAC,mBAAmB,EAAE,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAC,mBAAmB,EAAE,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAE3E,OAAO,EAAC,WAAW,EAAE,MAAM,EAAuB,MAAM,gBAAgB,CAAC;AACzE,OAAO,EACL,gBAAgB,EAChB,WAAW,GAEZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,iCAAiC,EACjC,mCAAmC,GACpC,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AAEnC,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,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,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,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE1D,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,2BAA2B,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,
|
|
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,oCAAoC,EACpC,+BAA+B,GAChC,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAC,mBAAmB,EAAE,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAC,mBAAmB,EAAE,cAAc,EAAC,MAAM,wBAAwB,CAAC;AAE3E,OAAO,EAAC,WAAW,EAAE,MAAM,EAAuB,MAAM,gBAAgB,CAAC;AACzE,OAAO,EACL,gBAAgB,EAChB,WAAW,GAEZ,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,iCAAiC,EACjC,mCAAmC,GACpC,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EACL,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,2BAA2B,CAAC;AAEnC,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,mBAAmB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,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,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAE1D,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,2BAA2B,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC"}
|
|
@@ -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 { type ComponentProps } from 'react';
|
|
8
|
+
/**
|
|
9
|
+
* The id of the element that should become focused on a page
|
|
10
|
+
* that does not have a <main> html tag.
|
|
11
|
+
* Focusing the Docusaurus Layout children is a reasonable fallback.
|
|
12
|
+
*/
|
|
13
|
+
export declare const SkipToContentFallbackId = "docusaurus_skipToContent_fallback";
|
|
14
|
+
declare type SkipToContentLinkProps = Omit<ComponentProps<'a'>, 'href' | 'onClick'>;
|
|
15
|
+
export declare function SkipToContentLink(props: SkipToContentLinkProps): JSX.Element;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=skipToContentUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skipToContentUtils.d.ts","sourceRoot":"","sources":["../../src/utils/skipToContentUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EAAsB,KAAK,cAAc,EAAC,MAAM,OAAO,CAAC;AAKtE;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,sCAAsC,CAAC;AAiE3E,aAAK,sBAAsB,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAE5E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,GAAG,CAAC,OAAO,CAkB5E"}
|
|
@@ -0,0 +1,71 @@
|
|
|
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 React, { useCallback, useRef } from 'react';
|
|
8
|
+
import { useHistory } from '@docusaurus/router';
|
|
9
|
+
import { translate } from '@docusaurus/Translate';
|
|
10
|
+
import { useLocationChange } from './useLocationChange';
|
|
11
|
+
/**
|
|
12
|
+
* The id of the element that should become focused on a page
|
|
13
|
+
* that does not have a <main> html tag.
|
|
14
|
+
* Focusing the Docusaurus Layout children is a reasonable fallback.
|
|
15
|
+
*/
|
|
16
|
+
export const SkipToContentFallbackId = 'docusaurus_skipToContent_fallback';
|
|
17
|
+
/**
|
|
18
|
+
* Returns the skip to content element to focus when the link is clicked.
|
|
19
|
+
*/
|
|
20
|
+
function getSkipToContentTarget() {
|
|
21
|
+
return (
|
|
22
|
+
// Try to focus the <main> in priority
|
|
23
|
+
// Note: this will only work if JS is enabled
|
|
24
|
+
// See https://github.com/facebook/docusaurus/issues/6411#issuecomment-1284136069
|
|
25
|
+
document.querySelector('main:first-of-type') ??
|
|
26
|
+
// Then try to focus the fallback element (usually the Layout children)
|
|
27
|
+
document.getElementById(SkipToContentFallbackId));
|
|
28
|
+
}
|
|
29
|
+
function programmaticFocus(el) {
|
|
30
|
+
el.setAttribute('tabindex', '-1');
|
|
31
|
+
el.focus();
|
|
32
|
+
el.removeAttribute('tabindex');
|
|
33
|
+
}
|
|
34
|
+
/** This hook wires the logic for a skip-to-content link. */
|
|
35
|
+
function useSkipToContent() {
|
|
36
|
+
const containerRef = useRef(null);
|
|
37
|
+
const { action } = useHistory();
|
|
38
|
+
const onClick = useCallback((e) => {
|
|
39
|
+
e.preventDefault();
|
|
40
|
+
const targetElement = getSkipToContentTarget();
|
|
41
|
+
if (targetElement) {
|
|
42
|
+
programmaticFocus(targetElement);
|
|
43
|
+
}
|
|
44
|
+
}, []);
|
|
45
|
+
// "Reset" focus when navigating.
|
|
46
|
+
// See https://github.com/facebook/docusaurus/pull/8204#issuecomment-1276547558
|
|
47
|
+
useLocationChange(({ location }) => {
|
|
48
|
+
if (containerRef.current && !location.hash && action === 'PUSH') {
|
|
49
|
+
programmaticFocus(containerRef.current);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
return { containerRef, onClick };
|
|
53
|
+
}
|
|
54
|
+
const DefaultSkipToContentLabel = translate({
|
|
55
|
+
id: 'theme.common.skipToMainContent',
|
|
56
|
+
description: 'The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation',
|
|
57
|
+
message: 'Skip to main content',
|
|
58
|
+
});
|
|
59
|
+
export function SkipToContentLink(props) {
|
|
60
|
+
const linkLabel = props.children ?? DefaultSkipToContentLabel;
|
|
61
|
+
const { containerRef, onClick } = useSkipToContent();
|
|
62
|
+
return (<div ref={containerRef} role="region" aria-label={DefaultSkipToContentLabel}>
|
|
63
|
+
<a {...props}
|
|
64
|
+
// Note this is a fallback href in case JS is disabled
|
|
65
|
+
// It has limitations, see https://github.com/facebook/docusaurus/issues/6411#issuecomment-1284136069
|
|
66
|
+
href={`#${SkipToContentFallbackId}`} onClick={onClick}>
|
|
67
|
+
{linkLabel}
|
|
68
|
+
</a>
|
|
69
|
+
</div>);
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=skipToContentUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skipToContentUtils.js","sourceRoot":"","sources":["../../src/utils/skipToContentUtils.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,MAAM,EAAsB,MAAM,OAAO,CAAC;AACtE,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,mCAAmC,CAAC;AAE3E;;GAEG;AACH,SAAS,sBAAsB;IAC7B,OAAO;IACL,sCAAsC;IACtC,6CAA6C;IAC7C,iFAAiF;IACjF,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC;QAC5C,uEAAuE;QACvE,QAAQ,CAAC,cAAc,CAAC,uBAAuB,CAAC,CACjD,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAe;IACxC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAClC,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AAED,4DAA4D;AAC5D,SAAS,gBAAgB;IAavB,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,EAAE,CAAC;IAE9B,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAsC,EAAE,EAAE;QACrE,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,aAAa,GAAG,sBAAsB,EAAE,CAAC;QAC/C,IAAI,aAAa,EAAE;YACjB,iBAAiB,CAAC,aAAa,CAAC,CAAC;SAClC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,iCAAiC;IACjC,+EAA+E;IAC/E,iBAAiB,CAAC,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAE;QAC/B,IAAI,YAAY,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,KAAK,MAAM,EAAE;YAC/D,iBAAiB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SACzC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAC,YAAY,EAAE,OAAO,EAAC,CAAC;AACjC,CAAC;AAED,MAAM,yBAAyB,GAAG,SAAS,CAAC;IAC1C,EAAE,EAAE,gCAAgC;IACpC,WAAW,EACT,mIAAmI;IACrI,OAAO,EAAE,sBAAsB;CAChC,CAAC,CAAC;AAIH,MAAM,UAAU,iBAAiB,CAAC,KAA6B;IAC7D,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,IAAI,yBAAyB,CAAC;IAC9D,MAAM,EAAC,YAAY,EAAE,OAAO,EAAC,GAAG,gBAAgB,EAAE,CAAC;IACnD,OAAO,CACL,CAAC,GAAG,CACF,GAAG,CAAC,CAAC,YAAY,CAAC,CAClB,IAAI,CAAC,QAAQ,CACb,UAAU,CAAC,CAAC,yBAAyB,CAAC,CACtC;MAAA,CAAC,CAAC,CACA,IAAI,KAAK,CAAC;IACV,sDAAsD;IACtD,qGAAqG;IACrG,IAAI,CAAC,CAAC,IAAI,uBAAuB,EAAE,CAAC,CACpC,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB;QAAA,CAAC,SAAS,CACZ;MAAA,EAAE,CAAC,CACL;IAAA,EAAE,GAAG,CAAC,CACP,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docusaurus/theme-common",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-5340",
|
|
4
4
|
"description": "Common code for Docusaurus themes.",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
},
|
|
31
31
|
"license": "MIT",
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@docusaurus/mdx-loader": "0.0.0-
|
|
34
|
-
"@docusaurus/module-type-aliases": "0.0.0-
|
|
35
|
-
"@docusaurus/plugin-content-blog": "0.0.0-
|
|
36
|
-
"@docusaurus/plugin-content-docs": "0.0.0-
|
|
37
|
-
"@docusaurus/plugin-content-pages": "0.0.0-
|
|
38
|
-
"@docusaurus/utils": "0.0.0-
|
|
33
|
+
"@docusaurus/mdx-loader": "0.0.0-5340",
|
|
34
|
+
"@docusaurus/module-type-aliases": "0.0.0-5340",
|
|
35
|
+
"@docusaurus/plugin-content-blog": "0.0.0-5340",
|
|
36
|
+
"@docusaurus/plugin-content-docs": "0.0.0-5340",
|
|
37
|
+
"@docusaurus/plugin-content-pages": "0.0.0-5340",
|
|
38
|
+
"@docusaurus/utils": "0.0.0-5340",
|
|
39
39
|
"@types/history": "^4.7.11",
|
|
40
40
|
"@types/react": "*",
|
|
41
41
|
"@types/react-router-config": "*",
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"utility-types": "^3.10.0"
|
|
47
47
|
},
|
|
48
48
|
"devDependencies": {
|
|
49
|
-
"@docusaurus/core": "0.0.0-
|
|
50
|
-
"@docusaurus/types": "0.0.0-
|
|
49
|
+
"@docusaurus/core": "0.0.0-5340",
|
|
50
|
+
"@docusaurus/types": "0.0.0-5340",
|
|
51
51
|
"fs-extra": "^10.1.0",
|
|
52
52
|
"lodash": "^4.17.21"
|
|
53
53
|
},
|
|
@@ -58,5 +58,5 @@
|
|
|
58
58
|
"engines": {
|
|
59
59
|
"node": ">=16.14"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "4ca40b74f67cede21e3ff2f88d4764f596057e72"
|
|
62
62
|
}
|
package/src/index.ts
CHANGED
|
@@ -81,4 +81,9 @@ export {useDocsPreferredVersion} from './contexts/docsPreferredVersion';
|
|
|
81
81
|
|
|
82
82
|
export {processAdmonitionProps} from './utils/admonitionUtils';
|
|
83
83
|
|
|
84
|
+
export {
|
|
85
|
+
SkipToContentFallbackId,
|
|
86
|
+
SkipToContentLink,
|
|
87
|
+
} from './utils/skipToContentUtils';
|
|
88
|
+
|
|
84
89
|
export {ErrorBoundaryTryAgainButton} from './utils/errorBoundaryUtils';
|
package/src/internal.ts
CHANGED
|
@@ -117,6 +117,5 @@ export {
|
|
|
117
117
|
export {useLockBodyScroll} from './hooks/useLockBodyScroll';
|
|
118
118
|
export {useSearchPage} from './hooks/useSearchPage';
|
|
119
119
|
export {useCodeWordWrap} from './hooks/useCodeWordWrap';
|
|
120
|
-
export {useSkipToContent} from './hooks/useSkipToContent';
|
|
121
120
|
export {getPrismCssVariables} from './utils/codeBlockUtils';
|
|
122
121
|
export {useBackToTopButton} from './hooks/useBackToTopButton';
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import React, {useCallback, useRef, type ComponentProps} from 'react';
|
|
9
|
+
import {useHistory} from '@docusaurus/router';
|
|
10
|
+
import {translate} from '@docusaurus/Translate';
|
|
11
|
+
import {useLocationChange} from './useLocationChange';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The id of the element that should become focused on a page
|
|
15
|
+
* that does not have a <main> html tag.
|
|
16
|
+
* Focusing the Docusaurus Layout children is a reasonable fallback.
|
|
17
|
+
*/
|
|
18
|
+
export const SkipToContentFallbackId = 'docusaurus_skipToContent_fallback';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Returns the skip to content element to focus when the link is clicked.
|
|
22
|
+
*/
|
|
23
|
+
function getSkipToContentTarget(): HTMLElement | null {
|
|
24
|
+
return (
|
|
25
|
+
// Try to focus the <main> in priority
|
|
26
|
+
// Note: this will only work if JS is enabled
|
|
27
|
+
// See https://github.com/facebook/docusaurus/issues/6411#issuecomment-1284136069
|
|
28
|
+
document.querySelector('main:first-of-type') ??
|
|
29
|
+
// Then try to focus the fallback element (usually the Layout children)
|
|
30
|
+
document.getElementById(SkipToContentFallbackId)
|
|
31
|
+
);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function programmaticFocus(el: HTMLElement) {
|
|
35
|
+
el.setAttribute('tabindex', '-1');
|
|
36
|
+
el.focus();
|
|
37
|
+
el.removeAttribute('tabindex');
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/** This hook wires the logic for a skip-to-content link. */
|
|
41
|
+
function useSkipToContent(): {
|
|
42
|
+
/**
|
|
43
|
+
* The ref to the container. On page transition, the container will be focused
|
|
44
|
+
* so that keyboard navigators can instantly interact with the link and jump
|
|
45
|
+
* to content.
|
|
46
|
+
*/
|
|
47
|
+
containerRef: React.RefObject<HTMLDivElement>;
|
|
48
|
+
/**
|
|
49
|
+
* Callback fired when the skip to content link has been clicked.
|
|
50
|
+
* It will programmatically focus the main content.
|
|
51
|
+
*/
|
|
52
|
+
onClick: (e: React.MouseEvent<HTMLAnchorElement>) => void;
|
|
53
|
+
} {
|
|
54
|
+
const containerRef = useRef<HTMLDivElement>(null);
|
|
55
|
+
const {action} = useHistory();
|
|
56
|
+
|
|
57
|
+
const onClick = useCallback((e: React.MouseEvent<HTMLAnchorElement>) => {
|
|
58
|
+
e.preventDefault();
|
|
59
|
+
const targetElement = getSkipToContentTarget();
|
|
60
|
+
if (targetElement) {
|
|
61
|
+
programmaticFocus(targetElement);
|
|
62
|
+
}
|
|
63
|
+
}, []);
|
|
64
|
+
|
|
65
|
+
// "Reset" focus when navigating.
|
|
66
|
+
// See https://github.com/facebook/docusaurus/pull/8204#issuecomment-1276547558
|
|
67
|
+
useLocationChange(({location}) => {
|
|
68
|
+
if (containerRef.current && !location.hash && action === 'PUSH') {
|
|
69
|
+
programmaticFocus(containerRef.current);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
return {containerRef, onClick};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const DefaultSkipToContentLabel = translate({
|
|
77
|
+
id: 'theme.common.skipToMainContent',
|
|
78
|
+
description:
|
|
79
|
+
'The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation',
|
|
80
|
+
message: 'Skip to main content',
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
type SkipToContentLinkProps = Omit<ComponentProps<'a'>, 'href' | 'onClick'>;
|
|
84
|
+
|
|
85
|
+
export function SkipToContentLink(props: SkipToContentLinkProps): JSX.Element {
|
|
86
|
+
const linkLabel = props.children ?? DefaultSkipToContentLabel;
|
|
87
|
+
const {containerRef, onClick} = useSkipToContent();
|
|
88
|
+
return (
|
|
89
|
+
<div
|
|
90
|
+
ref={containerRef}
|
|
91
|
+
role="region"
|
|
92
|
+
aria-label={DefaultSkipToContentLabel}>
|
|
93
|
+
<a
|
|
94
|
+
{...props}
|
|
95
|
+
// Note this is a fallback href in case JS is disabled
|
|
96
|
+
// It has limitations, see https://github.com/facebook/docusaurus/issues/6411#issuecomment-1284136069
|
|
97
|
+
href={`#${SkipToContentFallbackId}`}
|
|
98
|
+
onClick={onClick}>
|
|
99
|
+
{linkLabel}
|
|
100
|
+
</a>
|
|
101
|
+
</div>
|
|
102
|
+
);
|
|
103
|
+
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
import type React from 'react';
|
|
8
|
-
/** This hook wires the logic for a skip-to-content link. */
|
|
9
|
-
export declare function useSkipToContent(): {
|
|
10
|
-
/**
|
|
11
|
-
* The ref to the container. On page transition, the container will be focused
|
|
12
|
-
* so that keyboard navigators can instantly interact with the link and jump
|
|
13
|
-
* to content. **Note:** the type is `RefObject<HTMLDivElement>` only because
|
|
14
|
-
* the typing for refs don't reflect that the `ref` prop is contravariant, so
|
|
15
|
-
* using `HTMLElement` causes type-checking to fail. You can plug the ref into
|
|
16
|
-
* any HTML element, as long as it can be focused.
|
|
17
|
-
*/
|
|
18
|
-
containerRef: React.RefObject<HTMLDivElement>;
|
|
19
|
-
/**
|
|
20
|
-
* Callback fired when the skip to content link has been interacted with. It
|
|
21
|
-
* will programmatically focus the main content.
|
|
22
|
-
*/
|
|
23
|
-
handleSkip: (e: React.MouseEvent<HTMLAnchorElement>) => void;
|
|
24
|
-
};
|
|
25
|
-
//# sourceMappingURL=useSkipToContent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSkipToContent.d.ts","sourceRoot":"","sources":["../../src/hooks/useSkipToContent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,4DAA4D;AAC5D,wBAAgB,gBAAgB,IAAI;IAClC;;;;;;;OAOG;IACH,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC9C;;;OAGG;IACH,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CAC9D,CAsBA"}
|
|
@@ -1,35 +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 { useCallback, useRef } from 'react';
|
|
8
|
-
import { useHistory } from '@docusaurus/router';
|
|
9
|
-
import { useLocationChange } from '../utils/useLocationChange';
|
|
10
|
-
import { ThemeClassNames } from '../utils/ThemeClassNames';
|
|
11
|
-
function programmaticFocus(el) {
|
|
12
|
-
el.setAttribute('tabindex', '-1');
|
|
13
|
-
el.focus();
|
|
14
|
-
el.removeAttribute('tabindex');
|
|
15
|
-
}
|
|
16
|
-
/** This hook wires the logic for a skip-to-content link. */
|
|
17
|
-
export function useSkipToContent() {
|
|
18
|
-
const containerRef = useRef(null);
|
|
19
|
-
const { action } = useHistory();
|
|
20
|
-
const handleSkip = useCallback((e) => {
|
|
21
|
-
e.preventDefault();
|
|
22
|
-
const targetElement = document.querySelector('main:first-of-type') ??
|
|
23
|
-
document.querySelector(`.${ThemeClassNames.wrapper.main}`);
|
|
24
|
-
if (targetElement) {
|
|
25
|
-
programmaticFocus(targetElement);
|
|
26
|
-
}
|
|
27
|
-
}, []);
|
|
28
|
-
useLocationChange(({ location }) => {
|
|
29
|
-
if (containerRef.current && !location.hash && action === 'PUSH') {
|
|
30
|
-
programmaticFocus(containerRef.current);
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
return { containerRef, handleSkip };
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=useSkipToContent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSkipToContent.js","sourceRoot":"","sources":["../../src/hooks/useSkipToContent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAC,WAAW,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAC,eAAe,EAAC,MAAM,0BAA0B,CAAC;AAEzD,SAAS,iBAAiB,CAAC,EAAe;IACxC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAClC,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,gBAAgB;IAgB9B,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAsC,EAAE,EAAE;QACxE,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,MAAM,aAAa,GACjB,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC;YAC5C,QAAQ,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAE7D,IAAI,aAAa,EAAE;YACjB,iBAAiB,CAAC,aAAa,CAAC,CAAC;SAClC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,iBAAiB,CAAC,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAE;QAC/B,IAAI,YAAY,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,KAAK,MAAM,EAAE;YAC/D,iBAAiB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SACzC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAC,YAAY,EAAE,UAAU,EAAC,CAAC;AACpC,CAAC"}
|
|
@@ -1,58 +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 type React from 'react';
|
|
9
|
-
import {useCallback, useRef} from 'react';
|
|
10
|
-
import {useHistory} from '@docusaurus/router';
|
|
11
|
-
import {useLocationChange} from '../utils/useLocationChange';
|
|
12
|
-
import {ThemeClassNames} from '../utils/ThemeClassNames';
|
|
13
|
-
|
|
14
|
-
function programmaticFocus(el: HTMLElement) {
|
|
15
|
-
el.setAttribute('tabindex', '-1');
|
|
16
|
-
el.focus();
|
|
17
|
-
el.removeAttribute('tabindex');
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/** This hook wires the logic for a skip-to-content link. */
|
|
21
|
-
export function useSkipToContent(): {
|
|
22
|
-
/**
|
|
23
|
-
* The ref to the container. On page transition, the container will be focused
|
|
24
|
-
* so that keyboard navigators can instantly interact with the link and jump
|
|
25
|
-
* to content. **Note:** the type is `RefObject<HTMLDivElement>` only because
|
|
26
|
-
* the typing for refs don't reflect that the `ref` prop is contravariant, so
|
|
27
|
-
* using `HTMLElement` causes type-checking to fail. You can plug the ref into
|
|
28
|
-
* any HTML element, as long as it can be focused.
|
|
29
|
-
*/
|
|
30
|
-
containerRef: React.RefObject<HTMLDivElement>;
|
|
31
|
-
/**
|
|
32
|
-
* Callback fired when the skip to content link has been interacted with. It
|
|
33
|
-
* will programmatically focus the main content.
|
|
34
|
-
*/
|
|
35
|
-
handleSkip: (e: React.MouseEvent<HTMLAnchorElement>) => void;
|
|
36
|
-
} {
|
|
37
|
-
const containerRef = useRef<HTMLDivElement>(null);
|
|
38
|
-
const {action} = useHistory();
|
|
39
|
-
const handleSkip = useCallback((e: React.MouseEvent<HTMLAnchorElement>) => {
|
|
40
|
-
e.preventDefault();
|
|
41
|
-
|
|
42
|
-
const targetElement: HTMLElement | null =
|
|
43
|
-
document.querySelector('main:first-of-type') ??
|
|
44
|
-
document.querySelector(`.${ThemeClassNames.wrapper.main}`);
|
|
45
|
-
|
|
46
|
-
if (targetElement) {
|
|
47
|
-
programmaticFocus(targetElement);
|
|
48
|
-
}
|
|
49
|
-
}, []);
|
|
50
|
-
|
|
51
|
-
useLocationChange(({location}) => {
|
|
52
|
-
if (containerRef.current && !location.hash && action === 'PUSH') {
|
|
53
|
-
programmaticFocus(containerRef.current);
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
return {containerRef, handleSkip};
|
|
58
|
-
}
|