tdesign-react
Version:
TDesign Component for React
115 lines (111 loc) • 3.99 kB
JavaScript
/**
* tdesign v1.13.2
* (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-8618a2f1.js';
import '../_chunks/dep-c37cc2fd.js';
import '../_chunks/dep-118954e6.js';
import '../_chunks/dep-61f5e3d1.js';
import 'lodash-es';
import 'react-transition-group';
import '../_util/ref.js';
import 'react-is';
import '../_util/isFragment.js';
import '../_chunks/dep-82b8abc2.js';
import '../common/Portal.js';
import 'react-dom';
import '../hooks/useLayoutEffect.js';
import '../config-provider/ConfigContext.js';
import '../_chunks/dep-698f8ddd.js';
import '../_chunks/dep-09955460.js';
import 'dayjs';
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-132961ab.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-e78f641d.js';
import '../_util/react-render.js';
import '../common/PluginContainer.js';
import '../config-provider/ConfigProvider.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-fab491d8.js';
import '../_chunks/dep-ce8ef9b5.js';
import '../hooks/useDomRefCallback.js';
import '../loading/defaultProps.js';
import '../loading/plugin.js';
import '../hooks/usePersistFn.js';
import '../message/config.js';
import '../message/defaultProps.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