UNPKG

tdesign-vue-next

Version:
1 lines 3.72 kB
{"version":3,"file":"anchor-target.mjs","sources":["../../../components/anchor/anchor-target.tsx"],"sourcesContent":["import { defineComponent } from 'vue';\nimport { FileCopyIcon as TdFileCopyIcon } from 'tdesign-icons-vue-next';\nimport { copyText } from './utils';\nimport Message from '../message/plugin';\nimport props from './anchor-target-props';\nimport Popup from '../popup';\nimport { useConfig, useGlobalIcon, usePrefixClass } from '@tdesign/shared-hooks';\n\nexport default defineComponent({\n name: 'TAnchorTarget',\n props,\n setup(props, { slots }) {\n const { globalConfig, classPrefix } = useConfig('anchor');\n const { FileCopyIcon } = useGlobalIcon({ FileCopyIcon: TdFileCopyIcon });\n const COMPONENT_NAME = usePrefixClass('anchor');\n /**\n * 复制当前target的链接\n *\n */\n const toCopyText = () => {\n // 通过构造一个a标签, 自动拼接好传入的id为href\n const a = document.createElement('a');\n a.href = `#${props.id}`;\n copyText(a.href);\n Message.success(globalConfig.value.copySuccessText, 1000);\n };\n return () => {\n const { default: children } = slots;\n const { tag: TAG, id } = props;\n const className = [`${COMPONENT_NAME.value}__target`];\n const iconClassName = `${classPrefix.value}-copy`;\n return (\n // @ts-expect-error\n <TAG id={id} class={className}>\n {children && children(null)}\n <Popup content={globalConfig.value.copyText} placement=\"top\" showArrow class={iconClassName}>\n <FileCopyIcon onClick={toCopyText} />\n </Popup>\n </TAG>\n );\n };\n },\n});\n"],"names":["defineComponent","name","props","setup","slots","_ref","_useConfig","useConfig","globalConfig","classPrefix","_useGlobalIcon","useGlobalIcon","FileCopyIcon","TdFileCopyIcon","COMPONENT_NAME","usePrefixClass","toCopyText","a","document","createElement","href","concat","id","copyText","Message","success","value","copySuccessText","children","TAG","tag","className","iconClassName","_createVNode","_default","Popup"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,oBAAeA,eAAgB,CAAA;AAC7BC,EAAAA,IAAM,EAAA,eAAA;AACNC,EAAAA,KAAA,EAAAA,KAAA;AACAC,EAAAA,KAAMD,WAANC,KAAMD,CAAAA,MAAAA,EAAAA,IAAAA,EAAkB;AAAA,IAAA,IAATE,KAAA,GAAAC,IAAA,CAAAD,KAAA,CAAA;AACb,IAAA,IAAAE,UAAA,GAAsCC,UAAU,QAAQ,CAAA;MAAhDC,YAAA,GAAAF,UAAA,CAAAE,YAAA;MAAcC,WAAY,GAAAH,UAAA,CAAZG,WAAY,CAAA;IAClC,IAAAC,cAAA,GAAyBC,cAAc;AAAEC,QAAAA,YAAA,EAAcC,YAAAA;AAAe,OAAC,CAAA;MAA/DD,cAAa,GAAAF,cAAA,CAAbE,YAAa,CAAA;AACf,IAAA,IAAAE,cAAA,GAAiBC,eAAe,QAAQ,CAAA,CAAA;AAK9C,IAAA,IAAMC,aAAa,SAAbA,aAAmB;AAEjB,MAAA,IAAAC,CAAA,GAAIC,QAAS,CAAAC,aAAA,CAAc,GAAG,CAAA,CAAA;MAClCF,CAAA,CAAAG,IAAA,GAAAC,GAAAA,CAAAA,MAAA,CAAWnB,MAAM,CAAAoB,EAAA,CAAA,CAAA;AACnBC,MAAAA,QAAA,CAASN,EAAEG,IAAI,CAAA,CAAA;MACfI,aAAA,CAAQC,OAAQ,CAAAjB,YAAA,CAAakB,KAAM,CAAAC,eAAA,EAAiB,GAAI,CAAA,CAAA;KAC1D,CAAA;AACA,IAAA,OAAO,YAAM;MACL,IAAWC,QAAA,GAAaxB,KAAA,CAAA,SAAA,CAAA,CAAA;AAC9B,MAAA,IAAayB,GAAK,GAAO3B,MAAAA,CAAjB4B,GAAA;QAAUR,EAAA,GAAOpB,MAAAA,CAAPoB,EAAA,CAAA;MAClB,IAAMS,SAAY,GAAA,CAAAV,EAAAA,CAAAA,MAAA,CAAIP,cAAA,CAAeY,KAAe,EAAA,UAAA,CAAA,CAAA,CAAA;AAC9C,MAAA,IAAAM,aAAA,GAAAX,EAAAA,CAAAA,MAAA,CAAmBZ,WAAY,CAAAiB,KAAA,EAAA,OAAA,CAAA,CAAA;MACrC,OAAAO,WAAA,CAAAJ,GAAA,EAAA;AAAA,QAAA,IAAA,EAEWP,EAAA;QAAA,OAAWS,EAAAA,SAAAA;AAAA,OAAA,EAAA;AAAA,QAAA,SAAA,EAAA,SAAAG,QAAA,GAAA;UAAA,OACjBN,CAAAA,QAAA,IAAYA,SAAS,IAAI,CAAA,EAAAK,WAAA,CAAAE,KAAA,EAAA;AAAA,YAAA,SAAA,EACV3B,YAAa,CAAAkB,KAAA,CAAMH;;;mBAA2CS,EAAAA,aAAAA;;;;yBACrDhB,EAAAA,UAAAA;AAAA,eAAA,EAAA,IAAA,CAAA,CAAA,CAAA;AAAA,aAAA;AAAA,WAAA,CAAA,CAAA,CAAA;AAAA,SAAA;AAAA,OAAA,CAAA,CAAA;KAI/B,CAAA;AACF,GAAA;AACF,CAAC,CAAA;;;;"}