feat(Tabs): handle icon in items (#1798)

Co-authored-by: Benjamin Canac <canacb1@gmail.com>
This commit is contained in:
Abel Derderian
2024-07-23 14:36:03 +02:00
committed by GitHub
parent 839bf72c61
commit e8eb3941ad
11 changed files with 61 additions and 8 deletions

View File

@@ -25,6 +25,16 @@
as="template"
>
<button :class="[ui.list.tab.base, ui.list.tab.background, ui.list.tab.height, ui.list.tab.padding, ui.list.tab.size, ui.list.tab.font, ui.list.tab.rounded, ui.list.tab.shadow, selected ? ui.list.tab.active : ui.list.tab.inactive]">
<slot
name="icon"
:item="item"
:index="index"
:selected="selected"
:disabled="disabled"
>
<UIcon v-if="item.icon" :name="item.icon" :class="ui.list.tab.icon" />
</slot>
<slot :item="item" :index="index" :selected="selected" :disabled="disabled">
<span class="truncate">{{ item.label }}</span>
</slot>

View File

@@ -1,5 +1,6 @@
export interface TabItem {
label: string
icon?: string
slot?: string
disabled?: boolean
content?: string

View File

@@ -27,7 +27,8 @@ export default {
size: 'text-sm',
font: 'font-medium',
rounded: 'rounded-md',
shadow: ''
shadow: '',
icon: 'w-4 h-4 flex-shrink-0 mr-2'
}
}
}