UNPKG

@uehreka/gatsby-plugin-anchor-links

Version:

Gatsby plugin for using anchor links with a Gatsby Link component (this one supports gatsby-plugin-transition-link).

47 lines (37 loc) 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AnchorLink = AnchorLink; var _react = _interopRequireDefault(require("react")); var _gatsby = require("gatsby"); var _utils = require("../utils"); var _types = require("../types"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function AnchorLink(_ref) { var to = _ref.to, entry = _ref.entry, exit = _ref.exit, title = _ref.title, children = _ref.children, className = _ref.className, _ref$stripHash = _ref.stripHash, stripHash = _ref$stripHash === void 0 ? false : _ref$stripHash; var linkProps = { to: stripHash ? (0, _utils.stripHashedLocation)(to) : to, onClick: function onClick(e) { return stripHash ? (0, _utils.handleStrippedLinkClick)(to, e) : (0, _utils.handleLinkClick)(to, e); } }; /** * Optional props */ if (title) linkProps.title = title; if (className) linkProps.className = className; return /*#__PURE__*/_react["default"].createElement(_gatsby.Link, _extends({}, linkProps, { entry: entry, exit: exit }), Boolean(children) ? children : title); } AnchorLink.propTypes = _types.anchorLinkTypes;