mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-28 02:40:35 +01:00
chore(Accordion): remove useless content prop
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { tv } from 'tailwind-variants'
|
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 type { AppConfig } from '@nuxt/schema'
|
||||||
import _appConfig from '#build/app.config'
|
import _appConfig from '#build/app.config'
|
||||||
import theme from '#build/ui/accordion'
|
import theme from '#build/ui/accordion'
|
||||||
@@ -30,8 +30,6 @@ export interface AccordionProps<T> extends Pick<AccordionRootProps, 'collapsible
|
|||||||
* @defaultValue appConfig.ui.icons.chevronDown
|
* @defaultValue appConfig.ui.icons.chevronDown
|
||||||
*/
|
*/
|
||||||
trailingIcon?: string
|
trailingIcon?: string
|
||||||
/** The content of the accordion. */
|
|
||||||
content?: Omit<AccordionContentProps, 'as' | 'asChild'>
|
|
||||||
class?: any
|
class?: any
|
||||||
ui?: Partial<typeof accordion.slots>
|
ui?: Partial<typeof accordion.slots>
|
||||||
}
|
}
|
||||||
@@ -49,7 +47,7 @@ export type AccordionSlots<T extends { slot?: string }> = {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script setup lang="ts" generic="T extends AccordionItem">
|
<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 { AccordionRoot, AccordionItem, AccordionHeader, AccordionTrigger, AccordionContent, useForwardPropsEmits } from 'radix-vue'
|
||||||
import { reactivePick } from '@vueuse/core'
|
import { reactivePick } from '@vueuse/core'
|
||||||
import { useAppConfig } from '#imports'
|
import { useAppConfig } from '#imports'
|
||||||
@@ -63,7 +61,6 @@ const slots = defineSlots<AccordionSlots<T>>()
|
|||||||
|
|
||||||
const appConfig = useAppConfig()
|
const appConfig = useAppConfig()
|
||||||
const rootProps = useForwardPropsEmits(reactivePick(props, 'as', 'collapsible', 'defaultValue', 'disabled', 'modelValue', 'type'), emits)
|
const rootProps = useForwardPropsEmits(reactivePick(props, 'as', 'collapsible', 'defaultValue', 'disabled', 'modelValue', 'type'), emits)
|
||||||
const contentProps = toRef(() => props.content)
|
|
||||||
|
|
||||||
const ui = computed(() => accordion({
|
const ui = computed(() => accordion({
|
||||||
disabled: props.disabled
|
disabled: props.disabled
|
||||||
@@ -96,7 +93,7 @@ const ui = computed(() => accordion({
|
|||||||
</AccordionTrigger>
|
</AccordionTrigger>
|
||||||
</AccordionHeader>
|
</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">
|
<slot :name="item.slot || 'content'" :item="item" :index="index" :open="open">
|
||||||
{{ item.content }}
|
{{ item.content }}
|
||||||
</slot>
|
</slot>
|
||||||
|
|||||||
Reference in New Issue
Block a user