{"version":3,"file":"ScrollPoint.vue2.mjs","sources":["../../../../../../packages/components/scroll/src/ScrollPoint.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToScrollPoint'\n});\n</script>\n<template>\n\t<div :id=\"'scroll-point-' + String(props.value).replace(/\\s+/g, '-')\" ref=\"pointRef\" class=\"to-scroll-point\" :class=\"{ active: isActive }\" :data-point-value=\"props.value\" :data-point-active=\"isActive ? 'true' : 'false'\">\n\t\t<slot></slot>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, onMounted, inject, watch, nextTick, computed, onBeforeUnmount } from 'vue'\nimport { scrollPointProps } from './scroll-point'\nimport { ScrollContext } from './scroll'\n\n\n\nconst props = defineProps(scrollPointProps)\n\nconst pointRef = ref<HTMLElement | null>(null)\nconst parentValue = inject<any>('scrollValue', ref(null))\nconst isActive = computed(() => parentValue?.value === props.value)\n\n// 处理滚动点激活事件\nconst handleScrollPointActive = (event: CustomEvent) => {\n\tif (event.detail && event.detail.value === props.value) {\n\t\t// 当激活状态改变时触发\n\t}\n}\n\n// 注入父滚动组件提供的上下文\nconst parentScroll = inject<ScrollContext | null>('ToScroll', null)\n\n// 注册滚动点到父组件\nconst registerToParent = () => {\n\tif (parentScroll && pointRef.value) {\n\t\tparentScroll.registerScrollPoint(pointRef.value, props.value)\n\t} else {\n\t\t// 无法注册到父组件\n\t}\n}\n\n// 在挂载后注册自身到父组件\nonMounted(() => {\n\t// 等待 DOM 更新完成后注册\n\tnextTick(() => {\n\t\tregisterToParent()\n\n\t\t// 添加自定义事件监听\n\t\tif (pointRef.value) {\n\t\t\tpointRef.value.addEventListener('scroll-point-active', handleScrollPointActive as EventListener)\n\t\t}\n\t})\n})\n\n// 组件销毁前移除事件监听\nonBeforeUnmount(() => {\n\tif (pointRef.value) {\n\t\tpointRef.value.removeEventListener('scroll-point-active', handleScrollPointActive as EventListener)\n\t}\n})\n\n// 监听值变化，更新数据属性\nwatch(\n\t() => props.value,\n\t() => {\n\t\tnextTick(() => {\n\t\t\tregisterToParent()\n\t\t})\n\t}\n)\n\n// 监听父组件的值变化\nwatch(\n\t() => parentValue?.value,\n\t() => {\n\t\t// 当父值变化时，会自动通过computed属性更新isActive状态\n\t}\n)\n\n// 导出方法供父组件调用\ndefineExpose({\n\tpointRef,\n\tgetValue: () => props.value\n})\n</script>\n"],"names":["DO_defineComponent","_createElementBlock","_normalizeClass","_renderSlot"],"mappings":";;;AAEA,MAAA,cAA6BA,eAAmB,CAAA;AAAA,EAC/C,IAAM,EAAA,eAAA;AACP,CAAC,CAAA,CAAA;;;;;AAeD,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,QAAA,GAAW,IAAwB,IAAI,CAAA,CAAA;AAC7C,IAAA,MAAM,WAAc,GAAA,MAAA,CAAY,aAAe,EAAA,GAAA,CAAI,IAAI,CAAC,CAAA,CAAA;AACxD,IAAA,MAAM,WAAW,QAAS,CAAA,MAAA,CAAM,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,KAAA,MAAU,MAAM,KAAK,CAAA,CAAA;AAGlE,IAAM,MAAA,uBAAA,GAA0B,CAAC,KAAuB,KAAA;AACvD,MAAA,IAAI,MAAM,MAAU,IAAA,KAAA,CAAM,MAAO,CAAA,KAAA,KAAU,MAAM,KAAO,EAAA,CAExD;AAAA,KACD,CAAA;AAGA,IAAM,MAAA,YAAA,GAAe,MAA6B,CAAA,UAAA,EAAY,IAAI,CAAA,CAAA;AAGlE,IAAA,MAAM,mBAAmB,MAAM;AAC9B,MAAI,IAAA,YAAA,IAAgB,SAAS,KAAO,EAAA;AACnC,QAAA,YAAA,CAAa,mBAAoB,CAAA,QAAA,CAAS,KAAO,EAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAAA,OAG7D;AAAA,KACD,CAAA;AAGA,IAAA,SAAA,CAAU,MAAM;AAEf,MAAA,QAAA,CAAS,MAAM;AACd,QAAiB,gBAAA,EAAA,CAAA;AAGjB,QAAA,IAAI,SAAS,KAAO,EAAA;AACnB,UAAS,QAAA,CAAA,KAAA,CAAM,gBAAiB,CAAA,qBAAA,EAAuB,uBAAwC,CAAA,CAAA;AAAA,SAChG;AAAA,OACA,CAAA,CAAA;AAAA,KACD,CAAA,CAAA;AAGD,IAAA,eAAA,CAAgB,MAAM;AACrB,MAAA,IAAI,SAAS,KAAO,EAAA;AACnB,QAAS,QAAA,CAAA,KAAA,CAAM,mBAAoB,CAAA,qBAAA,EAAuB,uBAAwC,CAAA,CAAA;AAAA,OACnG;AAAA,KACA,CAAA,CAAA;AAGD,IAAA,KAAA;AAAA,MACC,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,MAAM;AACL,QAAA,QAAA,CAAS,MAAM;AACd,UAAiB,gBAAA,EAAA,CAAA;AAAA,SACjB,CAAA,CAAA;AAAA,OACF;AAAA,KACD,CAAA;AAGA,IAAA,KAAA;AAAA,MACC,MAAM,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,KAAA;AAAA,MACnB,MAAM;AAAA,OAEN;AAAA,KACD,CAAA;AAGA,IAAa,QAAA,CAAA;AAAA,MACZ,QAAA;AAAA,MACA,QAAA,EAAU,MAAM,KAAM,CAAA,KAAA;AAAA,KACtB,CAAA,CAAA;;wBA/EA,EAAAC,kBAAA,CAEM,KAAA,EAAA;AAAA,QAFA,EAAA,oBAAsB,MAAO,CAAA,KAAA,CAAM,KAAK,CAAE,CAAA,OAAA,CAAO,QAAA,GAAA,CAAA;AAAA,eAAmB,EAAA,UAAA;AAAA,QAAJ,GAAI,EAAA,QAAA;AAAA,QAAW,KAAA,EAAKC,eAAA,CAAC,iBAAA,EAAiB,EAAA,MAAmB,EAAA,QAAA,CAAQ,KAAA,EAAA,CAAA,CAAA;AAAA,QAAK,oBAAkB,KAAM,CAAA,KAAA;AAAA,QAAQ,mBAAA,EAAmB,QAAQ,CAAA,KAAA,GAAA,MAAA,GAAA,OAAA;AAAA;QACtMC,UAAA,CAAa,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA;;;;;;;"}