Creating fade animation

This commit is contained in:
Max 2022-02-22 15:06:35 -05:00
parent 160b9f6e02
commit 2e26ddba39
8 changed files with 48 additions and 49 deletions

View file

@ -7,4 +7,5 @@
@import "@/styles/common-styles.scss"; @import "@/styles/common-styles.scss";
@import "@/styles/common-typography-styles.scss"; @import "@/styles/common-typography-styles.scss";
@import "@/styles/common-error-styles.scss"; @import "@/styles/common-error-styles.scss";
@import "@/styles/common-animations.scss";
</style> </style>

View file

@ -87,15 +87,3 @@ export default ({
} }
}) })
</script> </script>
<style lang="scss" scoped>
.fade-enter-active,
.fade-leave-active {
transition: opacity 0.3s ease;
}
.fade-enter-from,
.fade-leave-to {
opacity: 0;
}
</style>

View file

@ -1,13 +1,17 @@
<template> <template>
<div class="side-door-options"> <div class="side-door-options">
<buttonQuestion <transition name="fade" mode="out-in">
:questionText="questionText" <div class="side-doors" v-if="selectedDamageLocations.includes('SideDoor')" aria-live="polite">
isMultiSelect <buttonQuestion
:answers="answersToDisplay" :questionText="questionText"
:groupName="groupName" isMultiSelect
buttonType="listCard" :answers="answersToDisplay"
v-model="selectedDoorSidesValues" :groupName="groupName"
/> buttonType="listCard"
v-model="selectedDoorSidesValues"
/>
</div>
</transition>
<replaceOptionsQuestion ref="driverSideOptions" :isAvailable="isDriverSideReplaceOptionsQuestionAvailable" groupName="driverSideOptions" filterByVehicleCategory v-model="selectedDriverSideReplacOptionsValues" /> <replaceOptionsQuestion ref="driverSideOptions" :isAvailable="isDriverSideReplaceOptionsQuestionAvailable" groupName="driverSideOptions" filterByVehicleCategory v-model="selectedDriverSideReplacOptionsValues" />
@ -35,6 +39,7 @@ export default ({
props: { props: {
groupName: String, groupName: String,
modelValue: Array, modelValue: Array,
selectedDamageLocations: Array,
}, },
methods: { methods: {
initializeComponent(cmsContent, driverSideReplaceOptions, passengerSideReplaceOptions, driverSideOptions, passengerSideOptions){ initializeComponent(cmsContent, driverSideReplaceOptions, passengerSideReplaceOptions, driverSideOptions, passengerSideOptions){

View file

@ -4,11 +4,11 @@
<vehicleBanner ref="vehicleBanner" :displayGenericVehicleImage=false /> <vehicleBanner ref="vehicleBanner" :displayGenericVehicleImage=false />
<funnelSubHeader ref="funnelSubHeader" /> <funnelSubHeader ref="funnelSubHeader" />
<damageLocationQuestion ref="damageLocation" v-model="selectedDamageLocations" groupName="DamageLocationQuestion" /> <damageLocationQuestion ref="damageLocation" v-model="selectedDamageLocations" groupName="DamageLocationQuestion" />
<sideDoorOptions ref="sideDoorOptions" isAvailable groupName="SideDoorSideQuestion" v-model="sideDoorOptionsData" />
<windshieldOptions ref="windshieldOptions" <windshieldOptions ref="windshieldOptions"
v-model="selectedWindshieldOptions" v-model="selectedWindshieldOptions"
:selectedDamageLocations="selectedDamageLocations" :selectedDamageLocations="selectedDamageLocations"
/> />
<sideDoorOptions ref="sideDoorOptions" groupName="SideDoorSideQuestion" v-model="sideDoorOptionsData" :selectedDamageLocations="selectedDamageLocations" />
<funnelFooter ref="funnelFooter" @back-clicked="backButtonAction" /> <funnelFooter ref="funnelFooter" @back-clicked="backButtonAction" />
</div> </div>
</template> </template>

View file

@ -1,8 +1,7 @@
<template> <template>
<transition name="fade"> <transition name="fade" mode="out-in">
<div class="windshield-chip-count-question"> <div class="windshield-chip-count-question" v-if="isAvailable" aria-live="polite">
<buttonQuestion <buttonQuestion
v-if="isAvailable"
:questionText="questionText" :questionText="questionText"
:answers="answersFromCms" :answers="answersFromCms"
:groupName="groupName" :groupName="groupName"
@ -49,4 +48,4 @@ export default ({
buttonQuestion, buttonQuestion,
} }
}) })
</script> </script>

View file

@ -1,8 +1,7 @@
<template> <template>
<transition name="fade"> <transition name="fade" mode="out-in">
<div class="windshield-damage-type-question"> <div class="windshield-damage-type-question" v-if="isAvailable" aria-live="polite">
<buttonQuestion <buttonQuestion
v-if="isAvailable"
:questionText="questionText" :questionText="questionText"
:answers="answersFromCms" :answers="answersFromCms"
:groupName="groupName" :groupName="groupName"
@ -68,4 +67,4 @@ export default ({
buttonQuestion, buttonQuestion,
} }
}) })
</script> </script>

View file

@ -1,24 +1,22 @@
<template> <template>
<transition name="fade"> <div class="windshield-options">
<div class="windshield-options" aria-live="polite"> <windshieldDamageTypeQuestion ref="windshieldDamageTypeQuestion"
<windshieldDamageTypeQuestion ref="windshieldDamageTypeQuestion" :isAvailable=isWindshieldDamageLocation
:isAvailable=isWindshieldDamageLocation :suppressError="suppressError"
:suppressError="suppressError" groupName="WindshieldDamageTypeQuestion"
groupName="WindshieldDamageTypeQuestion" v-model="selectedWindshieldDamageTypeValues"
v-model="selectedWindshieldDamageTypeValues" />
/> <windshieldChipCountQuestion ref="windshieldChipCountQuestion"
<windshieldChipCountQuestion ref="windshieldChipCountQuestion" :isAvailable=isRepairOptionSelected
:isAvailable=isRepairOptionSelected groupName="WindshieldChipCountQuestion"
groupName="WindshieldChipCountQuestion" v-model="selectedWindshieldChipCountValues"
v-model="selectedWindshieldChipCountValues" />
/> <replaceOptionsQuestion ref="replaceOptionsQuestion"
<replaceOptionsQuestion ref="replaceOptionsQuestion" :isAvailable=isReplaceOptionSelected
:isAvailable=isReplaceOptionSelected groupName="WindshieldReplaceOptions"
groupName="WindshieldReplaceOptions" v-model="selectedWindshieldReplaceOptionsValues"
v-model="selectedWindshieldReplaceOptionsValues" />
/> </div>
</div>
</transition>
</template> </template>
<script> <script>

View file

@ -0,0 +1,9 @@
.fade-enter-active,
.fade-leave-active {
transition: opacity 0.3s 2s ease;
}
.fade-enter-from,
.fade-leave-to {
opacity: 0;
}