@@ -104,7 +104,7 @@ export class TabContainerElement extends HTMLElement {
104104 }
105105
106106 get #tabListTabWrapper( ) {
107- return this . shadowRoot ! . querySelector < HTMLSlotElement > ( 'div [part="tablist-tab-wrapper"]' ) !
107+ return this . shadowRoot ! . querySelector < HTMLSlotElement > ( 'slot [part="tablist-tab-wrapper"]' ) !
108108 }
109109
110110 get #beforeTabsSlot( ) {
@@ -165,8 +165,9 @@ export class TabContainerElement extends HTMLElement {
165165 const tabListContainer = document . createElement ( 'div' )
166166 tabListContainer . style . display = 'flex'
167167 tabListContainer . setAttribute ( 'part' , 'tablist-wrapper' )
168- const tabListTabWrapper = document . createElement ( 'div ' )
168+ const tabListTabWrapper = document . createElement ( 'slot ' )
169169 tabListTabWrapper . setAttribute ( 'part' , 'tablist-tab-wrapper' )
170+ tabListTabWrapper . setAttribute ( 'name' , 'tablist-tab-wrapper' )
170171 const tabListSlot = document . createElement ( 'slot' )
171172 tabListSlot . setAttribute ( 'part' , 'tablist' )
172173 tabListSlot . setAttribute ( 'name' , 'tablist' )
@@ -275,13 +276,22 @@ export class TabContainerElement extends HTMLElement {
275276 if ( ! this . #setupComplete) {
276277 const tabListSlot = this . #tabListSlot
277278 const customTabList = this . querySelector ( '[role=tablist]' )
278- if ( customTabList && customTabList . closest ( this . tagName ) === this ) {
279+ const customTabListWrapper = this . querySelector ( '[slot=tablist-tab-wrapper]' )
280+ if ( customTabListWrapper && customTabListWrapper . closest ( this . tagName ) === this ) {
281+ if ( manualSlotsSupported ) {
282+ tabListSlot . assign ( customTabListWrapper )
283+ } else {
284+ customTabListWrapper . setAttribute ( 'slot' , 'tablist' )
285+ }
286+ }
287+ else if ( customTabList && customTabList . closest ( this . tagName ) === this ) {
279288 if ( manualSlotsSupported ) {
280289 tabListSlot . assign ( customTabList )
281290 } else {
282291 customTabList . setAttribute ( 'slot' , 'tablist' )
283292 }
284- } else {
293+ }
294+ else {
285295 this . #tabListTabWrapper. role = 'tablist'
286296 if ( manualSlotsSupported ) {
287297 tabListSlot . assign ( ...[ ...this . children ] . filter ( e => e . matches ( '[role=tab]' ) ) )
0 commit comments