{"version":3,"file":"CarTileDetail-50be11e2.js","sources":["../../src/components/car-list/CarTileDetail.vue"],"sourcesContent":["<template>\r\n  <div class=\"car-tile__detail-container\">\r\n    <div class=\"car-tile__detail-left\">\r\n      <ul class=\"car-tile__detail list\">\r\n        <li class=\"car-tile__body-detail\">\r\n          <span class=\"car-tile__driven-wheels\" v-text=\"doorsWheelsSeats\" />\r\n        </li>\r\n        <li class=\"car-tile__fuel-detail\" v-if=\"carFuelDataIsKnown\">\r\n          <span class=\"car-tile__fuel-type\" v-text=\"carDetailsFuelData\" />\r\n        </li>\r\n      </ul>\r\n    </div>\r\n    <div class=\"car-tile__detail-right\">\r\n      <ul class=\"car-tile__detail list no-bullet\">\r\n        <li class=\"car-tile__price\">{{ retailPriceFormatted }}</li>\r\n        <li class=\"car-tile__price-caption\">{{ priceCaption }}</li>\r\n        <li class=\"car-tile__calculation-container\">\r\n          <img :src=\"InfoIcon\" alt=\"An information icon.\" />\r\n          <ExplanationModal\r\n            button-text=\"Explanation\"\r\n            :title=\"marketValueCalculationModalContent.title.value\"\r\n            :description=\"marketValueCalculationModalContent.description.value\"\r\n          />\r\n        </li>\r\n      </ul>\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed } from 'vue';\r\nimport { useContentStore } from '../../foundation/stores/contentStore';\r\nimport ExplanationModal from '../modals/ExplanationModal.vue';\r\nimport { IVariant } from '../../foundation/interfaces/IVariant';\r\nimport InfoIcon from '@/assets/img/calculation-info.svg';\r\n\r\nconst contentStore = useContentStore();\r\ncontentStore.fetchModalDatasources();\r\nconst marketValueCalculationModalContent = contentStore.modalDatasources?.modalContentItems?.marketValueCalculation;\r\n\r\nconst props = defineProps<{\r\n  carDetails: IVariant;\r\n}>();\r\n\r\nconst isCurrent = props.carDetails?.status?.toLowerCase() === 'current';\r\n\r\nconst retailPriceFormatted = computed(() => {\r\n  const displayPrice = props.carDetails.racqPrice;\r\n\r\n  if (!displayPrice) return 'N/A';\r\n\r\n  return displayPrice?.toLocaleString('en-AU', {\r\n    style: 'currency',\r\n    currency: 'AUD',\r\n    minimumFractionDigits: 0,\r\n    maximumFractionDigits: 0,\r\n  });\r\n});\r\n\r\nconst drivenWheelsFormatted = computed(() => (props.carDetails.drivenWheels === '4x4' ? '4WD' : props.carDetails.drivenWheels));\r\nconst drivenWheelsSuffix = computed(() => (props.carDetails.drivenWheels === '4x4' ? '' : ' wheel drive'));\r\n\r\nconst doorsWheelsSeats = computed(\r\n  () => `${drivenWheelsFormatted.value}${drivenWheelsSuffix.value}, ${props.carDetails.vehicleDoors} doors, ${props.carDetails.vehicleSeats} seats`\r\n);\r\n\r\nconst rangeFormatted = computed(() => {\r\n  const range = props.carDetails.drivingRange;\r\n  const fuel = props.carDetails.fuelEconomy;\r\n  const isElectric = props.carDetails.powertrain?.includes('electric');\r\n  const isHybrid = props.carDetails.powertrain?.includes('hybrid');\r\n  const electricOnly = isElectric && !isHybrid;\r\n\r\n  return electricOnly ? (range ? `${range}km range` : 'Unknown range') : fuel ? `${fuel}L/100km` : 'Unknown fuel type';\r\n});\r\n\r\nconst carDetailsFuelData = computed(() => {\r\n  const fuelType = props.carDetails.primaryMotorFuelType || props.carDetails.fuelType;\r\n\r\n  if (fuelType) {\r\n    return `${fuelType}, ${rangeFormatted.value}`;\r\n  }\r\n\r\n  return 'Unknown fuel data';\r\n});\r\n\r\nconst carFuelDataIsKnown = computed(() => carDetailsFuelData.value.toLowerCase().includes('unknown') === false);\r\n\r\nconst priceCaption = computed(() =>\r\n  retailPriceFormatted.value === 'N/A' ? 'Pricing data not available' : isCurrent ? 'Estimated on-road price, QLD' : 'Indicative average used car price'\r\n);\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.car-tile__detail-container {\r\n  display: flex;\r\n  gap: 18px;\r\n  margin-top: 8px;\r\n}\r\n\r\n.car-tile__detail-left {\r\n  width: 100%;\r\n  font-size: 1.25rem;\r\n  padding-left: 2.5rem;\r\n}\r\n\r\n.car-tile__detail-right {\r\n  width: 100%;\r\n  display: flex;\r\n  flex-direction: column;\r\n  align-items: end;\r\n  padding-right: 1.25rem;\r\n}\r\n\r\n.car-tile__detail {\r\n  display: flex;\r\n  flex-direction: column;\r\n  gap: 4px;\r\n}\r\n\r\n.car-tile__body-detail,\r\n.car-tile__fuel-detail {\r\n  font-size: 1.125rem;\r\n  line-height: 1.25rem;\r\n\r\n  &:first-letter {\r\n    text-transform: capitalize;\r\n  }\r\n}\r\n\r\n.car-tile__price {\r\n  font-family: $firasans-regular-font;\r\n  font-size: 1.5rem;\r\n  font-weight: bold;\r\n  text-align: end;\r\n  padding-right: 5px;\r\n}\r\n\r\n.car-tile__price-caption {\r\n  text-align: end;\r\n  padding-inline-start: 1.25rem;\r\n  font-size: 14px;\r\n  line-height: 1rem;\r\n}\r\n\r\n.car-tile__calculation-container {\r\n  font-size: 14px;\r\n  text-align: end;\r\n  color: $racq-blue;\r\n  text-decoration: underline;\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: flex-end;\r\n  gap: 6px;\r\n}\r\n\r\n.car-tile__calculation-text {\r\n  height: 100%;\r\n  cursor: pointer;\r\n}\r\n</style>\r\n"],"names":["contentStore","useContentStore","marketValueCalculationModalContent","_b","_a","isCurrent","_d","_c","props","retailPriceFormatted","computed","displayPrice","drivenWheelsFormatted","drivenWheelsSuffix","doorsWheelsSeats","rangeFormatted","range","fuel","isElectric","isHybrid","carDetailsFuelData","fuelType","carFuelDataIsKnown","priceCaption"],"mappings":"i3BAoCMA,EAAeC,IACrBD,EAAa,sBAAsB,EAC7B,MAAAE,GAAqCC,GAAAC,EAAAJ,EAAa,mBAAb,YAAAI,EAA+B,oBAA/B,YAAAD,EAAkD,uBAMvFE,IAAYC,GAAAC,EAAAC,EAAM,aAAN,YAAAD,EAAkB,SAAlB,YAAAD,EAA0B,iBAAkB,UAExDG,EAAuBC,EAAS,IAAM,CACpC,MAAAC,EAAeH,EAAM,WAAW,UAEtC,OAAKG,EAEEA,GAAA,YAAAA,EAAc,eAAe,QAAS,CAC3C,MAAO,WACP,SAAU,MACV,sBAAuB,EACvB,sBAAuB,CAAA,GANC,KAOzB,CACF,EAEKC,EAAwBF,EAAS,IAAOF,EAAM,WAAW,eAAiB,MAAQ,MAAQA,EAAM,WAAW,YAAa,EACxHK,EAAqBH,EAAS,IAAOF,EAAM,WAAW,eAAiB,MAAQ,GAAK,cAAe,EAEnGM,EAAmBJ,EACvB,IAAM,GAAGE,EAAsB,QAAQC,EAAmB,UAAUL,EAAM,WAAW,uBAAuBA,EAAM,WAAW,oBAAA,EAGzHO,EAAiBL,EAAS,IAAM,SAC9B,MAAAM,EAAQR,EAAM,WAAW,aACzBS,EAAOT,EAAM,WAAW,YACxBU,GAAad,EAAAI,EAAM,WAAW,aAAjB,YAAAJ,EAA6B,SAAS,YACnDe,GAAWhB,EAAAK,EAAM,WAAW,aAAjB,YAAAL,EAA6B,SAAS,UAGvD,OAFqBe,GAAc,CAACC,EAEbH,EAAQ,GAAGA,YAAkB,gBAAmBC,EAAO,GAAGA,WAAgB,mBAAA,CAClG,EAEKG,EAAqBV,EAAS,IAAM,CACxC,MAAMW,EAAWb,EAAM,WAAW,sBAAwBA,EAAM,WAAW,SAE3E,OAAIa,EACK,GAAGA,MAAaN,EAAe,QAGjC,mBAAA,CACR,EAEKO,EAAqBZ,EAAS,IAAMU,EAAmB,MAAM,YAAc,EAAA,SAAS,SAAS,IAAM,EAAK,EAExGG,EAAeb,EAAS,IAC5BD,EAAqB,QAAU,MAAQ,6BAA+BJ,EAAY,+BAAiC,mCAAA"}