tdesign-react
Version:
TDesign Component for React
125 lines (121 loc) • 4.32 kB
JavaScript
/**
* tdesign v1.15.1
* (c) 2025 tdesign
* @license MIT
*/
import React from 'react';
import classNames from 'classnames';
import { FileCopyIcon } from 'tdesign-icons-react';
import { Popup } from '../popup/index.js';
import { MessagePlugin } from '../message/index.js';
import useConfig from '../hooks/useConfig.js';
import useGlobalIcon from '../hooks/useGlobalIcon.js';
import copyText from '../_util/copyText.js';
import { anchorTargetDefaultProps } from './defaultProps.js';
import useDefaultProps from '../hooks/useDefaultProps.js';
import '../popup/Popup.js';
import '../_chunks/dep-cb0a3966.js';
import '../_chunks/dep-eca3a3de.js';
import '../_chunks/dep-48805ab8.js';
import '../_chunks/dep-026a4c6b.js';
import 'lodash-es';
import 'react-transition-group';
import '../_util/ref.js';
import 'react-is';
import '../_util/isFragment.js';
import '../_chunks/dep-3a09424a.js';
import '../common/Portal.js';
import 'react-dom';
import '../hooks/useLayoutEffect.js';
import '../config-provider/ConfigContext.js';
import '../locale/zh_CN.js';
import '../_chunks/dep-e29214cb.js';
import 'dayjs';
import '../_chunks/dep-3c9ab31a.js';
import '../hooks/useAnimation.js';
import '../hooks/useAttach.js';
import '../hooks/useControlled.js';
import '../_util/noop.js';
import '../hooks/useMutationObserver.js';
import '../hooks/useLatest.js';
import '../hooks/usePopper.js';
import '../_chunks/dep-87d110df.js';
import '@popperjs/core';
import 'react-fast-compare';
import '../hooks/useWindowSize.js';
import '../popup/defaultProps.js';
import '../popup/hooks/useTrigger.js';
import '../_util/composeRefs.js';
import '../_util/listener.js';
import '../popup/utils/transition.js';
import '../popup/PopupPlugin.js';
import '../_chunks/dep-a74cc5e4.js';
import '../_util/react-render.js';
import '../common/PluginContainer.js';
import '../config-provider/index.js';
import '../config-provider/ConfigProvider.js';
import '../config-provider/type.js';
import '../popup/style/index.js';
import '../popup/type.js';
import '../message/Message.js';
import '../message/const.js';
import '../message/MessageComponent.js';
import '../message/MessageClose.js';
import '../message/useMessageClass.js';
import '../message/MessageIcon.js';
import '../loading/index.js';
import '../loading/Loading.js';
import '../loading/gradient.js';
import '../_chunks/dep-c48e2ca1.js';
import '../_chunks/dep-1630b9b4.js';
import '../_chunks/dep-6b660ef0.js';
import '../hooks/useDomRefCallback.js';
import '../loading/defaultProps.js';
import '../loading/plugin.js';
import '../loading/style/index.js';
import '../loading/type.js';
import '../hooks/usePersistFn.js';
import '../message/config.js';
import '../message/defaultProps.js';
import '../message/style/index.js';
import '../message/type.js';
var AnchorTarget = function AnchorTarget(props) {
var _useConfig = useConfig(),
classPrefix = _useConfig.classPrefix;
var _useGlobalIcon = useGlobalIcon({
FileCopyIcon: FileCopyIcon
}),
FileCopyIcon$1 = _useGlobalIcon.FileCopyIcon;
var _useDefaultProps = useDefaultProps(props, anchorTargetDefaultProps),
id = _useDefaultProps.id,
tag = _useDefaultProps.tag,
children = _useDefaultProps.children,
className = _useDefaultProps.className,
style = _useDefaultProps.style;
var tagClassName = classNames("".concat(classPrefix, "-anchor__target"), className);
var iconClassName = "".concat(classPrefix, "-anchor__copy");
var handleCopyText = function handleCopyText() {
var a = document.createElement("a");
a.href = "#".concat(id);
copyText(a.href);
MessagePlugin.success("\u94FE\u63A5\u590D\u5236\u6210\u529F", 1e3);
};
var Content = function Content() {
return /* @__PURE__ */React.createElement(React.Fragment, null, children, /* @__PURE__ */React.createElement(Popup, {
content: "\u590D\u5236\u94FE\u63A5",
placement: "top",
showArrow: true
}, /* @__PURE__ */React.createElement(FileCopyIcon$1, {
className: iconClassName,
onClick: handleCopyText
})));
};
return /*#__PURE__*/React.createElement(tag, {
id: id,
className: tagClassName,
style: style
}, /*#__PURE__*/React.createElement(Content));
};
AnchorTarget.displayName = "AnchorTarget";
export { AnchorTarget as default };
//# sourceMappingURL=AnchorTarget.js.map