UNPKG

@atlaskit/page-layout

Version:

A collection of components which let you compose an application's page layout.

34 lines (33 loc) 1.25 kB
"use strict"; 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]); };