@@ -104,7 +104,7 @@ export class TabContainerElement extends HTMLElement {
104
104
}
105
105
106
106
get #tabListTabWrapper( ) {
107
- return this . shadowRoot ! . querySelector < HTMLSlotElement > ( 'div [part="tablist-tab-wrapper"]' ) !
107
+ return this . shadowRoot ! . querySelector < HTMLSlotElement > ( 'slot [part="tablist-tab-wrapper"]' ) !
108
108
}
109
109
110
110
get #beforeTabsSlot( ) {
@@ -165,8 +165,9 @@ export class TabContainerElement extends HTMLElement {
165
165
const tabListContainer = document . createElement ( 'div' )
166
166
tabListContainer . style . display = 'flex'
167
167
tabListContainer . setAttribute ( 'part' , 'tablist-wrapper' )
168
- const tabListTabWrapper = document . createElement ( 'div ' )
168
+ const tabListTabWrapper = document . createElement ( 'slot ' )
169
169
tabListTabWrapper . setAttribute ( 'part' , 'tablist-tab-wrapper' )
170
+ tabListTabWrapper . setAttribute ( 'name' , 'tablist-tab-wrapper' )
170
171
const tabListSlot = document . createElement ( 'slot' )
171
172
tabListSlot . setAttribute ( 'part' , 'tablist' )
172
173
tabListSlot . setAttribute ( 'name' , 'tablist' )
@@ -275,13 +276,22 @@ export class TabContainerElement extends HTMLElement {
275
276
if ( ! this . #setupComplete) {
276
277
const tabListSlot = this . #tabListSlot
277
278
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 ) {
279
288
if ( manualSlotsSupported ) {
280
289
tabListSlot . assign ( customTabList )
281
290
} else {
282
291
customTabList . setAttribute ( 'slot' , 'tablist' )
283
292
}
284
- } else {
293
+ }
294
+ else {
285
295
this . #tabListTabWrapper. role = 'tablist'
286
296
if ( manualSlotsSupported ) {
287
297
tabListSlot . assign ( ...[ ...this . children ] . filter ( e => e . matches ( '[role=tab]' ) ) )
0 commit comments