fix(Accordion): solve the shift between buttons when they are opened (#379)

Co-authored-by: Benjamin Canac <canacb1@gmail.com>
This commit is contained in:
Haytham A. Salama
2023-07-03 18:20:08 +03:00
committed by GitHub
parent b78fcf91a4
commit eaf0043da6
2 changed files with 4 additions and 3 deletions

View File

@@ -259,12 +259,12 @@ const dropdown = {
}
const accordion = {
wrapper: 'w-full flex flex-col gap-y-2',
wrapper: 'w-full flex flex-col',
item: {
base: '',
size: 'text-sm',
color: 'text-gray-500 dark:text-gray-400',
padding: 'py-2'
padding: 'pt-1.5 pb-3'
},
transition: {
enterActiveClass: 'overflow-hidden transition-[height] duration-200 ease-out',
@@ -273,6 +273,7 @@ const accordion = {
default: {
openIcon: 'i-heroicons-chevron-down-20-solid',
closeIcon: '',
class: 'mb-1.5 w-full',
variant: 'soft'
}
}

View File

@@ -3,7 +3,7 @@
<HDisclosure v-for="(item, index) in items" v-slot="{ open, close }" :key="index" :default-open="defaultOpen || item.defaultOpen">
<HDisclosureButton :ref="() => buttonRefs[index] = close" as="template" :disabled="item.disabled">
<slot :item="item" :index="index" :open="open" :close="close">
<UButton v-bind="{ ...omit(ui.default, ['openIcon', 'closeIcon']), ...$attrs, ...omit(item, ['slot', 'disabled', 'content', 'defaultOpen']) }" class="w-full">
<UButton v-bind="{ ...omit(ui.default, ['openIcon', 'closeIcon']), ...$attrs, ...omit(item, ['slot', 'disabled', 'content', 'defaultOpen']) }">
<template #trailing>
<UIcon
:name="!open ? openIcon : closeIcon ? closeIcon : openIcon"