chore(Accordion): improve and add tests

This commit is contained in:
Benjamin Canac
2024-03-21 17:39:03 +01:00
parent a03b21fdb8
commit 52eef36baa
3 changed files with 583 additions and 11 deletions

View File

@@ -18,7 +18,7 @@ export interface AccordionItem {
disabled?: boolean
}
export interface AccordionProps<T extends AccordionItem> extends Omit<AccordionRootProps, 'asChild' | 'dir'> {
export interface AccordionProps<T extends AccordionItem> extends Omit<AccordionRootProps, 'asChild' | 'dir' | 'orientation'> {
items?: T[]
class?: any
ui?: Partial<typeof accordion.slots>
@@ -46,13 +46,14 @@ import { useAppConfig } from '#app'
const props = withDefaults(defineProps<AccordionProps<T>>(), {
type: 'single',
collapsible: true
collapsible: true,
defaultValue: '0'
})
const emits = defineEmits<AccordionEmits>()
defineSlots<AccordionSlots<T>>()
const appConfig = useAppConfig()
const rootProps = useForwardPropsEmits(reactivePick(props, 'as', 'collapsible', 'defaultValue', 'disabled', 'modelValue', 'orientation', 'type'), emits)
const rootProps = useForwardPropsEmits(reactivePick(props, 'as', 'collapsible', 'defaultValue', 'disabled', 'modelValue', 'type'), emits)
const ui = computed(() => tv({ extend: accordion, slots: props.ui })())
</script>