Skip to content

Commit cec2094

Browse files
committed
fix(VExpansionPanelTitle): propagate VIcon defaults
1 parent a30a859 commit cec2094

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

packages/vuetify/src/components/VExpansionPanel/VExpansionPanelTitle.tsx

+14-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// Components
22
import { VExpansionPanelSymbol } from './shared'
3+
import { VDefaultsProvider } from '@/components/VDefaultsProvider'
34
import { VIcon } from '@/components/VIcon'
45

56
// Composables
@@ -75,6 +76,8 @@ export const VExpansionPanelTitle = genericComponent<VExpansionPanelTitleSlots>(
7576
readonly: props.readonly,
7677
}))
7778

79+
const icon = computed(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon)
80+
7881
useRender(() => (
7982
<button
8083
class={[
@@ -103,12 +106,17 @@ export const VExpansionPanelTitle = genericComponent<VExpansionPanelTitleSlots>(
103106
{ slots.default?.(slotProps.value) }
104107

105108
{ !props.hideActions && (
106-
<span class="v-expansion-panel-title__icon">
107-
{
108-
slots.actions ? slots.actions(slotProps.value)
109-
: <VIcon icon={ expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon } />
110-
}
111-
</span>
109+
<VDefaultsProvider
110+
defaults={{
111+
VIcon: {
112+
icon: icon.value,
113+
},
114+
}}
115+
>
116+
<span class="v-expansion-panel-title__icon">
117+
{ slots.actions?.(slotProps.value) ?? <VIcon /> }
118+
</span>
119+
</VDefaultsProvider>
112120
)}
113121
</button>
114122
))

0 commit comments

Comments
 (0)