1 | "use strict";
|
2 |
|
3 | var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard")["default"];
|
4 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports["default"] = void 0;
|
9 | var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
10 | var _classnames = _interopRequireDefault(require("classnames"));
|
11 | var React = _interopRequireWildcard(require("react"));
|
12 | var _configProvider = require("../config-provider");
|
13 | var _context = _interopRequireDefault(require("./context"));
|
14 | var AnchorLink = function AnchorLink(props) {
|
15 | var _props$href = props.href,
|
16 | href = _props$href === void 0 ? '#' : _props$href,
|
17 | title = props.title,
|
18 | customizePrefixCls = props.prefixCls,
|
19 | children = props.children,
|
20 | className = props.className,
|
21 | target = props.target;
|
22 | var context = React.useContext(_context["default"]);
|
23 | var _ref = context || {},
|
24 | registerLink = _ref.registerLink,
|
25 | unregisterLink = _ref.unregisterLink,
|
26 | scrollTo = _ref.scrollTo,
|
27 | onClick = _ref.onClick,
|
28 | activeLink = _ref.activeLink;
|
29 | React.useEffect(function () {
|
30 | registerLink === null || registerLink === void 0 ? void 0 : registerLink(href);
|
31 | return function () {
|
32 | unregisterLink === null || unregisterLink === void 0 ? void 0 : unregisterLink(href);
|
33 | };
|
34 | }, [href, registerLink, unregisterLink]);
|
35 | var handleClick = function handleClick(e) {
|
36 | onClick === null || onClick === void 0 ? void 0 : onClick(e, {
|
37 | title: title,
|
38 | href: href
|
39 | });
|
40 | scrollTo === null || scrollTo === void 0 ? void 0 : scrollTo(href);
|
41 | };
|
42 | return React.createElement(_configProvider.ConfigConsumer, null, function (_ref2) {
|
43 | var getPrefixCls = _ref2.getPrefixCls;
|
44 | var prefixCls = getPrefixCls('anchor', customizePrefixCls);
|
45 | var active = activeLink === href;
|
46 | var wrapperClassName = (0, _classnames["default"])(prefixCls + "-link", className, (0, _defineProperty2["default"])({}, prefixCls + "-link-active", active));
|
47 | var titleClassName = (0, _classnames["default"])(prefixCls + "-link-title", (0, _defineProperty2["default"])({}, prefixCls + "-link-title-active", active));
|
48 | return React.createElement("div", {
|
49 | className: wrapperClassName
|
50 | }, React.createElement("a", {
|
51 | className: titleClassName,
|
52 | href: href,
|
53 | title: typeof title === 'string' ? title : '',
|
54 | target: target,
|
55 | onClick: handleClick
|
56 | }, title), children);
|
57 | });
|
58 | };
|
59 | var _default = AnchorLink;
|
60 | exports["default"] = _default; |
\ | No newline at end of file |