{"version":3,"file":"anchor-link.mjs","sources":["../../../../../../packages/components/anchor/src/anchor-link.vue"],"sourcesContent":["<template>\n  <div ref=\"linkRef\" :class=\"cls\">\n    <a :href=\"href\" @click=\"handleClick\">\n      <slot>{{ title }}</slot>\n    </a>\n    <div v-if=\"$slots.sublist\" :class=\"`anchor-sublist`\">\n      <slot name=\"sublist\"></slot>\n    </div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, onMounted, ref } from 'vue'\nimport { useNamespace } from '@hongluan-ui/hooks'\nimport { anchorInjectionKey } from './types'\n\nexport default defineComponent({\n  name: 'AnchorLink',\n  props: {\n    /**\n     * @zh 锚点链接的文本内容\n     * @en The text content of the anchor link\n     */\n    title: String,\n    /**\n     * @zh 锚点链接的地址\n     * @en The address of the anchor link\n     */\n    href: String,\n  },\n  setup(props) {\n    const { namespace } = useNamespace('anchor-link')\n    const linkRef = ref<HTMLElement>()\n    const context = inject(anchorInjectionKey, undefined)\n\n    const cls = computed(() => [\n      namespace.value,\n      {\n        [`is-active`]: context?.currentLink === props.href,\n      },\n    ])\n    const handleClick = (e: MouseEvent) => context?.handleClick(e, props.href)\n\n    onMounted(() => {\n      if (props.href && linkRef.value) {\n        context?.addLink(props.href, linkRef.value)\n      }\n    })\n\n    return {\n      cls,\n      linkRef,\n      handleClick,\n    }\n  },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot"],"mappings":";;;;;;AAgBA,MAAK,YAAa,gBAAa;AAAA,EAC7B,MAAM;AAAA,EACN,OAAO;AAAA,IAKL,OAAO;AAAA,IAKP,MAAM;AAAA;AACR,EACA,MAAM,OAAO;AACX,UAAM,EAAE,cAAc,aAAa,aAAa;AAChD,UAAM,UAAU;AAChB,UAAM,UAAU,OAAO,oBAAoB,MAAS;AAEpD,UAAM,MAAM,SAAS,MAAM;AAAA,MACzB,UAAU;AAAA,MACV;AAAA,SACG,cAAc,yBAAyB;AAAM;AAChD,KACD;AACD,UAAM,cAAc,CAAC,MAAkB,wBAAwB,UAAU;AAEzE,cAAU,MAAM;AACd,UAAI,MAAM,QAAQ,QAAQ,OAAO;AAC/B,+BAAuB,mBAAmB;AAAA;AAC5C,KACD;AAED,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AACF;AAEJ,CAAC;;sBAtDCA,mBAOM;AAAA,IAPD,KAAI;AAAA,IAAW,OAAKC,eAAE,QAAG;AAAA;IAC5BC,mBAEI;AAAA,MAFA,MAAM;AAAA,MAAO,SAAO;AAAA;MACtBC,WAAwB,4BAAxB,MAAwB;AAAA,wCAAf,UAAK;AAAA;;IAEL,YAAO,wBAAlBH,mBAEM;AAAA;MAFsB,OAAKC,eAAE,gBAAgB;AAAA;MACjDE,WAA4B;AAAA;;;;;;;"}