chore(Accordion): remove useless content prop

This commit is contained in:
Benjamin Canac
2024-07-24 15:33:28 +02:00
parent 30de2373c5
commit 5176bf92bc

View File

@@ -1,6 +1,6 @@
<script lang="ts">
import { tv } from 'tailwind-variants'
import type { AccordionRootProps, AccordionRootEmits, AccordionContentProps, AccordionItemProps } from 'radix-vue'
import type { AccordionRootProps, AccordionRootEmits, AccordionItemProps } from 'radix-vue'
import type { AppConfig } from '@nuxt/schema'
import _appConfig from '#build/app.config'
import theme from '#build/ui/accordion'
@@ -30,8 +30,6 @@ export interface AccordionProps<T> extends Pick<AccordionRootProps, 'collapsible
* @defaultValue appConfig.ui.icons.chevronDown
*/
trailingIcon?: string
/** The content of the accordion. */
content?: Omit<AccordionContentProps, 'as' | 'asChild'>
class?: any
ui?: Partial<typeof accordion.slots>
}
@@ -49,7 +47,7 @@ export type AccordionSlots<T extends { slot?: string }> = {
</script>
<script setup lang="ts" generic="T extends AccordionItem">
import { computed, toRef } from 'vue'
import { computed } from 'vue'
import { AccordionRoot, AccordionItem, AccordionHeader, AccordionTrigger, AccordionContent, useForwardPropsEmits } from 'radix-vue'
import { reactivePick } from '@vueuse/core'
import { useAppConfig } from '#imports'
@@ -63,7 +61,6 @@ const slots = defineSlots<AccordionSlots<T>>()
const appConfig = useAppConfig()
const rootProps = useForwardPropsEmits(reactivePick(props, 'as', 'collapsible', 'defaultValue', 'disabled', 'modelValue', 'type'), emits)
const contentProps = toRef(() => props.content)
const ui = computed(() => accordion({
disabled: props.disabled
@@ -96,7 +93,7 @@ const ui = computed(() => accordion({
</AccordionTrigger>
</AccordionHeader>
<AccordionContent v-if="item.content || !!slots.content || (item.slot && !!slots[item.slot])" v-bind="contentProps" :class="ui.content({ class: props.ui?.content })">
<AccordionContent v-if="item.content || !!slots.content || (item.slot && !!slots[item.slot])" :class="ui.content({ class: props.ui?.content })">
<slot :name="item.slot || 'content'" :item="item" :index="index" :open="open">
{{ item.content }}
</slot>