UNPKG

reka-ui

Version:

Vue port for Radix UI Primitives.

1 lines 3.02 kB
{"version":3,"file":"ScrollAreaScrollbarHover.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarHover.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { ScrollAreaScrollbarAutoProps } from './ScrollAreaScrollbarAuto.vue'\n\nexport interface ScrollAreaScrollbarHoverProps extends ScrollAreaScrollbarAutoProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, onUnmounted, ref } from 'vue'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport ScrollAreaScrollbarAuto from './ScrollAreaScrollbarAuto.vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\ndefineProps<ScrollAreaScrollbarHoverProps>()\n\nconst rootContext = injectScrollAreaRootContext()\n\nconst { forwardRef } = useForwardExpose()\n\nlet timeout: ReturnType<typeof setTimeout> | undefined | number\nconst visible = ref(false)\n\nfunction handlePointerEnter() {\n window.clearTimeout(timeout)\n visible.value = true\n}\nfunction handlePointerLeave() {\n timeout = window.setTimeout(() => {\n visible.value = false\n }, rootContext.scrollHideDelay.value)\n}\n\nonMounted(() => {\n const scrollArea = rootContext.scrollArea.value\n\n if (scrollArea) {\n scrollArea.addEventListener('pointerenter', handlePointerEnter)\n scrollArea.addEventListener('pointerleave', handlePointerLeave)\n }\n})\n\nonUnmounted(() => {\n const scrollArea = rootContext.scrollArea.value\n if (scrollArea) {\n window.clearTimeout(timeout)\n scrollArea.removeEventListener('pointerenter', handlePointerEnter)\n scrollArea.removeEventListener('pointerleave', handlePointerLeave)\n }\n})\n</script>\n\n<template>\n <Presence :present=\"forceMount || visible\">\n <ScrollAreaScrollbarAuto\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :data-state=\"visible ? 'visible' : 'hidden'\"\n >\n <slot />\n </ScrollAreaScrollbarAuto>\n </Presence>\n</template>\n"],"names":["injectScrollAreaRootContext","useForwardExpose","ref","onMounted","onUnmounted"],"mappings":";;;;;;;;;;;;;;;;;AAmBA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAEhD,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,wCAAiB,EAAA;AAExC,IAAI,IAAA,OAAA;AACJ,IAAM,MAAA,OAAA,GAAUC,QAAI,KAAK,CAAA;AAEzB,IAAA,SAAS,kBAAqB,GAAA;AAC5B,MAAA,MAAA,CAAO,aAAa,OAAO,CAAA;AAC3B,MAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA;AAAA;AAElB,IAAA,SAAS,kBAAqB,GAAA;AAC5B,MAAU,OAAA,GAAA,MAAA,CAAO,WAAW,MAAM;AAChC,QAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA;AAAA,OAClB,EAAG,WAAY,CAAA,eAAA,CAAgB,KAAK,CAAA;AAAA;AAGtC,IAAAC,aAAA,CAAU,MAAM;AACd,MAAM,MAAA,UAAA,GAAa,YAAY,UAAW,CAAA,KAAA;AAE1C,MAAA,IAAI,UAAY,EAAA;AACd,QAAW,UAAA,CAAA,gBAAA,CAAiB,gBAAgB,kBAAkB,CAAA;AAC9D,QAAW,UAAA,CAAA,gBAAA,CAAiB,gBAAgB,kBAAkB,CAAA;AAAA;AAChE,KACD,CAAA;AAED,IAAAC,eAAA,CAAY,MAAM;AAChB,MAAM,MAAA,UAAA,GAAa,YAAY,UAAW,CAAA,KAAA;AAC1C,MAAA,IAAI,UAAY,EAAA;AACd,QAAA,MAAA,CAAO,aAAa,OAAO,CAAA;AAC3B,QAAW,UAAA,CAAA,mBAAA,CAAoB,gBAAgB,kBAAkB,CAAA;AACjE,QAAW,UAAA,CAAA,mBAAA,CAAoB,gBAAgB,kBAAkB,CAAA;AAAA;AACnE,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}