@atlaskit/page-layout
Version:
A collection of components which let you compose an application's page layout.
34 lines (33 loc) • 1.25 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useSkipLinks = exports.useSkipLink = exports.SkipLinksContext = void 0;
var _react = require("react");
var _noop = _interopRequireDefault(require("@atlaskit/ds-lib/noop"));
// eslint-disable-next-line @repo/internal/react/require-jsdoc
var SkipLinksContext = exports.SkipLinksContext = /*#__PURE__*/(0, _react.createContext)({
skipLinksData: [],
registerSkipLink: _noop.default,
unregisterSkipLink: _noop.default
});
var useSkipLinks = exports.useSkipLinks = function useSkipLinks() {
return (0, _react.useContext)(SkipLinksContext);
};
var useSkipLink = exports.useSkipLink = function useSkipLink(id, skipLinkTitle) {
var _useSkipLinks = useSkipLinks(),
registerSkipLink = _useSkipLinks.registerSkipLink,
unregisterSkipLink = _useSkipLinks.unregisterSkipLink;
(0, _react.useEffect)(function () {
if (id && skipLinkTitle) {
registerSkipLink({
id: id,
skipLinkTitle: skipLinkTitle
});
}
return function () {
unregisterSkipLink(id);
};
}, [id, skipLinkTitle, registerSkipLink, unregisterSkipLink]);
};