fix: Fixed types
This commit is contained in:
@@ -15,12 +15,11 @@ import { onMounted, ref } from 'vue'
|
||||
|
||||
const isLoaded = ref(false)
|
||||
const content = ref()
|
||||
|
||||
let contentClasses
|
||||
const contentClasses = ref('')
|
||||
|
||||
onMounted(() => {
|
||||
const accordionHeaderClasses = useAccordionContentClasses(content)
|
||||
contentClasses = accordionHeaderClasses.contentClasses
|
||||
contentClasses.value = accordionHeaderClasses.contentClasses.value
|
||||
isLoaded.value = true
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -34,7 +34,8 @@ const { accordionsStates } = useAccordionState()
|
||||
const accordionState = computed(() => accordionsStates[accordionId.value])
|
||||
const panelState = computed(() => accordionState.value.panels[panelId.value])
|
||||
|
||||
let headerClasses, arrowClasses
|
||||
const headerClasses = ref('')
|
||||
const arrowClasses = ref('')
|
||||
function commonToggleItem() {
|
||||
const isSelectedVisible = panelState.value.isVisible
|
||||
for (const panelIndex in accordionState.value.panels) {
|
||||
@@ -53,8 +54,8 @@ function toggleItem() {
|
||||
|
||||
onMounted(() => {
|
||||
const accordionHeaderClasses = useAccordionHeaderClasses(header)
|
||||
headerClasses = accordionHeaderClasses.headerClasses
|
||||
arrowClasses = accordionHeaderClasses.arrowClasses
|
||||
headerClasses.value = accordionHeaderClasses.headerClasses.value
|
||||
arrowClasses.value = accordionHeaderClasses.arrowClasses.value
|
||||
isLoaded.value = true
|
||||
})
|
||||
</script>
|
||||
|
||||
@@ -5,13 +5,13 @@
|
||||
<!-- Item 1 -->
|
||||
<!-- duration-700 ease-in-out-->
|
||||
<div :class="index === currentPicture ? 'z-30' : 'z-0'"
|
||||
v-for="(picture, index) in pictures" :key="picture" class="absolute inset-0 -translate-y-0">
|
||||
v-for="(picture, index) in pictures" :key="index" class="absolute inset-0 -translate-y-0">
|
||||
<img :src="picture.src" class="block absolute top-1/2 left-1/2 w-full -translate-x-1/2 -translate-y-1/2" :alt="picture.alt">
|
||||
</div>
|
||||
</div>
|
||||
<!-- Slider indicators -->
|
||||
<div v-if="indicators" class="flex absolute bottom-5 left-1/2 z-30 space-x-3 -translate-x-1/2">
|
||||
<button v-for="(picture, index) in pictures" :key="picture" type="button" :class="index === currentPicture ? 'bg-white' : 'bg-white/50'" class="w-3 h-3 rounded-full bg-white" aria-current="false" :aria-label="'Slide ' + index" @click.prevent="slideTo(index)"></button>
|
||||
<button v-for="(picture, index) in pictures" :key="index" type="button" :class="index === currentPicture ? 'bg-white' : 'bg-white/50'" class="w-3 h-3 rounded-full bg-white" aria-current="false" :aria-label="'Slide ' + index" @click.prevent="slideTo(index)"></button>
|
||||
</div>
|
||||
<!-- Slider controls -->
|
||||
<button v-if="controls" @click.prevent="previousPicture" type="button" class="flex absolute top-0 left-0 z-30 justify-center items-center px-4 h-full cursor-pointer group focus:outline-none" data-carousel-prev>
|
||||
@@ -30,10 +30,12 @@
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { onMounted, ref } from 'vue'
|
||||
import type { PropType } from 'vue'
|
||||
import type { PictureItem } from '@/components/Carousel/types'
|
||||
|
||||
const props = defineProps({
|
||||
pictures: {
|
||||
type: Array,
|
||||
type: Array as PropType<PictureItem[]>,
|
||||
default() {
|
||||
return [
|
||||
{
|
||||
|
||||
4
src/components/Carousel/types.ts
Normal file
4
src/components/Carousel/types.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export type PictureItem = {
|
||||
src: string,
|
||||
alt?: string
|
||||
}
|
||||
Reference in New Issue
Block a user