{"version":3,"file":"ScrollToTop-32dd0fc0.js","sources":["../../src/assets/img/chevron-grey.svg","../../src/components/global/ScrollToTop.vue"],"sourcesContent":["export default \"__VITE_ASSET__feb6902a__\"","<template>\r\n <button v-if=\"scrollYPos > 200\" :class=\"[`scroll-to-top`, { 'extra-bottom-space': showCarComparisonFooter }]\" @click=\"scrollToTop\">\r\n <img :src=\"ChevronGreyIcon\" alt=\"An icon of an up arrow.\" /> Top\r\n </button>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport animateScrollTo from 'animated-scroll-to';\r\nimport ChevronGreyIcon from '@/assets/img/chevron-grey.svg';\r\nimport { ref, onMounted, onUnmounted } from 'vue';\r\nimport { storeToRefs } from 'pinia';\r\nimport { useCarComparisonStore } from '../../foundation/stores/carComparisonStore';\r\n\r\nconst carComparisonStore = useCarComparisonStore();\r\nconst { showCarComparisonFooter } = storeToRefs(carComparisonStore);\r\n\r\nconst scrollYPos = ref(0);\r\n\r\nonMounted(() => {\r\n window.addEventListener('scroll', handleScroll);\r\n});\r\n\r\nonUnmounted(() => {\r\n window.removeEventListener('scroll', handleScroll);\r\n});\r\n\r\nfunction handleScroll(event: any) {\r\n scrollYPos.value = event?.target?.documentElement?.scrollTop;\r\n}\r\n\r\nfunction scrollToTop() {\r\n animateScrollTo(0, {\r\n minDuration: 300,\r\n });\r\n}\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.scroll-to-top {\r\n background: #fff;\r\n border: 1px solid $racq-pale-blue-border;\r\n color: $racq-cool-grey;\r\n border-radius: 2.5rem;\r\n box-shadow: 0 0 0.375rem rgba(0, 0, 0, 0.161);\r\n font-size: 1rem;\r\n width: 5.0625rem;\r\n height: 2.8125rem;\r\n box-sizing: border-box;\r\n position: fixed;\r\n bottom: 1rem;\r\n left: 50%;\r\n transform: translateY(-50%) translateX(-50%);\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n gap: 0.3rem;\r\n z-index: 1000;\r\n\r\n &.extra-bottom-space {\r\n bottom: 8rem;\r\n transition-delay: 0.3s;\r\n }\r\n}\r\n</style>\r\n"],"names":["ChevronGreyIcon","carComparisonStore","useCarComparisonStore","showCarComparisonFooter","storeToRefs","scrollYPos","ref","onMounted","handleScroll","onUnmounted","event","_b","_a","scrollToTop","animateScrollTo"],"mappings":"yRAAA,MAAeA,EAAA,GAAA,IAAA,IAAA,4BAAA,YAAA,GAAA,EAAA,kDCaf,MAAMC,EAAqBC,IACrB,CAAE,wBAAAC,CAAA,EAA4BC,EAAYH,CAAkB,EAE5DI,EAAaC,EAAI,CAAC,EAExBC,EAAU,IAAM,CACP,OAAA,iBAAiB,SAAUC,CAAY,CAAA,CAC/C,EAEDC,EAAY,IAAM,CACT,OAAA,oBAAoB,SAAUD,CAAY,CAAA,CAClD,EAED,SAASA,EAAaE,EAAY,SACrBL,EAAA,OAAQM,GAAAC,EAAAF,GAAA,YAAAA,EAAO,SAAP,YAAAE,EAAe,kBAAf,YAAAD,EAAgC,SACrD,CAEA,SAASE,GAAc,CACrBC,EAAgB,EAAG,CACjB,YAAa,GAAA,CACd,CACH"}