{"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;;;;"}