UNPKG

reka-ui

Version:

Vue port for Radix UI Primitives.

1 lines 2.65 kB
{"version":3,"file":"ScrollAreaScrollbarAuto.cjs","sources":["../../src/ScrollArea/ScrollAreaScrollbarAuto.vue"],"sourcesContent":["<script lang=\"ts\">\nexport interface ScrollAreaScrollbarAutoProps {\n forceMount?: boolean\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted, ref } from 'vue'\nimport { useDebounceFn, useResizeObserver } from '@vueuse/core'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { injectScrollAreaScrollbarContext } from './ScrollAreaScrollbar.vue'\nimport ScrollAreaScrollbarVisible from './ScrollAreaScrollbarVisible.vue'\nimport { Presence } from '@/Presence'\nimport { useForwardExpose } from '@/shared'\n\ndefineProps<ScrollAreaScrollbarAutoProps>()\n\nconst rootContext = injectScrollAreaRootContext()\nconst scrollbarContext = injectScrollAreaScrollbarContext()\n\nconst { forwardRef } = useForwardExpose()\n\nconst visible = ref(false)\n\nconst handleResize = useDebounceFn(() => {\n if (rootContext.viewport.value) {\n const isOverflowX\n = rootContext.viewport.value.offsetWidth\n < rootContext.viewport.value.scrollWidth\n const isOverflowY\n = rootContext.viewport.value.offsetHeight\n < rootContext.viewport.value.scrollHeight\n\n visible.value = scrollbarContext.isHorizontal.value\n ? isOverflowX\n : isOverflowY\n }\n}, 10)\n\nonMounted(() => handleResize())\n\nuseResizeObserver(rootContext.viewport, handleResize)\nuseResizeObserver(rootContext.content, handleResize)\n</script>\n\n<template>\n <Presence :present=\"forceMount || visible\">\n <ScrollAreaScrollbarVisible\n v-bind=\"$attrs\"\n :ref=\"forwardRef\"\n :data-state=\"visible ? 'visible' : 'hidden'\"\n >\n <slot />\n </ScrollAreaScrollbarVisible>\n </Presence>\n</template>\n"],"names":["injectScrollAreaRootContext","injectScrollAreaScrollbarContext","useForwardExpose","ref","useDebounceFn","onMounted","useResizeObserver"],"mappings":";;;;;;;;;;;;;;;;AAiBA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAChD,IAAA,MAAM,mBAAmBC,+DAAiC,EAAA;AAE1D,IAAM,MAAA,EAAE,UAAW,EAAA,GAAIC,wCAAiB,EAAA;AAExC,IAAM,MAAA,OAAA,GAAUC,QAAI,KAAK,CAAA;AAEzB,IAAM,MAAA,YAAA,GAAeC,mBAAc,MAAM;AACvC,MAAI,IAAA,WAAA,CAAY,SAAS,KAAO,EAAA;AAC9B,QAAA,MAAM,cACF,WAAY,CAAA,QAAA,CAAS,MAAM,WAC3B,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,WAAA;AAC/B,QAAA,MAAM,cACF,WAAY,CAAA,QAAA,CAAS,MAAM,YAC3B,GAAA,WAAA,CAAY,SAAS,KAAM,CAAA,YAAA;AAE/B,QAAA,OAAA,CAAQ,KAAQ,GAAA,gBAAA,CAAiB,YAAa,CAAA,KAAA,GAC1C,WACA,GAAA,WAAA;AAAA;AACN,OACC,EAAE,CAAA;AAEL,IAAUC,aAAA,CAAA,MAAM,cAAc,CAAA;AAE9B,IAAkBC,sBAAA,CAAA,WAAA,CAAY,UAAU,YAAY,CAAA;AACpD,IAAkBA,sBAAA,CAAA,WAAA,CAAY,SAAS,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}