reka-ui
Version:
Vue port for Radix UI Primitives.
1 lines • 2.62 kB
Source Map (JSON)
{"version":3,"file":"ScrollAreaCornerImpl.cjs","sources":["../../src/ScrollArea/ScrollAreaCornerImpl.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { injectScrollAreaRootContext } from './ScrollAreaRoot.vue'\nimport { Primitive } from '@/Primitive'\n\nconst rootContext = injectScrollAreaRootContext()\n\nconst width = ref(0)\nconst height = ref(0)\n\nconst hasSize = computed(() => !!width.value && !!height.value)\n\nfunction setCornerHeight() {\n const offsetHeight = rootContext.scrollbarX.value?.offsetHeight || 0\n rootContext.onCornerHeightChange(offsetHeight)\n height.value = offsetHeight\n}\nfunction setCornerWidth() {\n const offsetWidth = rootContext.scrollbarY.value?.offsetWidth || 0\n rootContext.onCornerWidthChange(offsetWidth)\n width.value = offsetWidth\n}\n\nuseResizeObserver(rootContext.scrollbarX.value, setCornerHeight)\nuseResizeObserver(rootContext.scrollbarY.value, setCornerWidth)\n\n// because we are not remounting the component, useResizeObserver doesn't trigger, thus using watcher here\nwatch(() => rootContext.scrollbarX.value, setCornerHeight)\nwatch(() => rootContext.scrollbarY.value, setCornerWidth)\n</script>\n\n<template>\n <Primitive\n v-if=\"hasSize\"\n :style=\"{\n width: `${width}px`,\n height: `${height}px`,\n position: 'absolute',\n right: rootContext.dir.value === 'ltr' ? 0 : undefined,\n left: rootContext.dir.value === 'rtl' ? 0 : undefined,\n bottom: 0,\n }\"\n v-bind=\"$parent?.$props\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["injectScrollAreaRootContext","ref","computed","useResizeObserver","watch"],"mappings":";;;;;;;;;;AAMA,IAAA,MAAM,cAAcA,qDAA4B,EAAA;AAEhD,IAAM,MAAA,KAAA,GAAQC,QAAI,CAAC,CAAA;AACnB,IAAM,MAAA,MAAA,GAASA,QAAI,CAAC,CAAA;AAEpB,IAAM,MAAA,OAAA,GAAUC,YAAS,CAAA,MAAM,CAAC,CAAC,MAAM,KAAS,IAAA,CAAC,CAAC,MAAA,CAAO,KAAK,CAAA;AAE9D,IAAA,SAAS,eAAkB,GAAA;AACzB,MAAA,MAAM,YAAe,GAAA,WAAA,CAAY,UAAW,CAAA,KAAA,EAAO,YAAgB,IAAA,CAAA;AACnE,MAAA,WAAA,CAAY,qBAAqB,YAAY,CAAA;AAC7C,MAAA,MAAA,CAAO,KAAQ,GAAA,YAAA;AAAA;AAEjB,IAAA,SAAS,cAAiB,GAAA;AACxB,MAAA,MAAM,WAAc,GAAA,WAAA,CAAY,UAAW,CAAA,KAAA,EAAO,WAAe,IAAA,CAAA;AACjE,MAAA,WAAA,CAAY,oBAAoB,WAAW,CAAA;AAC3C,MAAA,KAAA,CAAM,KAAQ,GAAA,WAAA;AAAA;AAGhB,IAAkBC,sBAAA,CAAA,WAAA,CAAY,UAAW,CAAA,KAAA,EAAO,eAAe,CAAA;AAC/D,IAAkBA,sBAAA,CAAA,WAAA,CAAY,UAAW,CAAA,KAAA,EAAO,cAAc,CAAA;AAG9D,IAAAC,SAAA,CAAM,MAAM,WAAA,CAAY,UAAW,CAAA,KAAA,EAAO,eAAe,CAAA;AACzD,IAAAA,SAAA,CAAM,MAAM,WAAA,CAAY,UAAW,CAAA,KAAA,EAAO,cAAc,CAAA;;;;;;;;;;;;;;;;;;;;;;;;"}