@atlaskit/page-layout
Version:
A collection of components which let you compose an application's page layout.
27 lines • 897 B
JavaScript
import { createContext, useContext, useEffect } from 'react';
import noop from '@atlaskit/ds-lib/noop';
// eslint-disable-next-line @repo/internal/react/require-jsdoc
export var SkipLinksContext = /*#__PURE__*/createContext({
skipLinksData: [],
registerSkipLink: noop,
unregisterSkipLink: noop
});
export var useSkipLinks = function useSkipLinks() {
return useContext(SkipLinksContext);
};
export var useSkipLink = function useSkipLink(id, skipLinkTitle) {
var _useSkipLinks = useSkipLinks(),
registerSkipLink = _useSkipLinks.registerSkipLink,
unregisterSkipLink = _useSkipLinks.unregisterSkipLink;
useEffect(function () {
if (id && skipLinkTitle) {
registerSkipLink({
id: id,
skipLinkTitle: skipLinkTitle
});
}
return function () {
unregisterSkipLink(id);
};
}, [id, skipLinkTitle, registerSkipLink, unregisterSkipLink]);
};