@@ -16,15 +16,14 @@ import type { TemplateCodegenOptions } from './index';
16
16
import { generateInterpolation } from './interpolation' ;
17
17
import { generatePropertyAccess } from './propertyAccess' ;
18
18
import { collectStyleScopedClassReferences } from './styleScopedClasses' ;
19
- import { generateImplicitDefaultSlot , generateVSlot } from './vSlot' ;
19
+ import { generateVSlot } from './vSlot' ;
20
20
21
21
const colonReg = / : / g;
22
22
23
23
export function * generateComponent (
24
24
options : TemplateCodegenOptions ,
25
25
ctx : TemplateCodegenContext ,
26
- node : CompilerDOM . ElementNode ,
27
- isVForChild : boolean
26
+ node : CompilerDOM . ElementNode
28
27
) : Generator < Code > {
29
28
const tagOffsets = [ node . loc . start . offset + options . template . content . slice ( node . loc . start . offset ) . indexOf ( node . tag ) ] ;
30
29
if ( ! node . isSelfClosing && options . template . lang === 'html' ) {
@@ -258,7 +257,7 @@ export function* generateComponent(
258
257
ctx . currentComponent . used = true ;
259
258
260
259
yield `var ${ componentInstanceVar } = {} as (Parameters<NonNullable<typeof ${ componentCtxVar } ['expose']>>[0] | null)` ;
261
- if ( isVForChild ) {
260
+ if ( ctx . inVFor ) {
262
261
yield `[]` ;
263
262
}
264
263
yield `${ endOfLine } ` ;
@@ -280,14 +279,7 @@ export function* generateComponent(
280
279
collectStyleScopedClassReferences ( options , ctx , node ) ;
281
280
282
281
const slotDir = node . props . find ( p => p . type === CompilerDOM . NodeTypes . DIRECTIVE && p . name === 'slot' ) as CompilerDOM . DirectiveNode ;
283
- if ( slotDir ) {
284
- yield * generateVSlot ( options , ctx , node , slotDir ) ;
285
- }
286
- else {
287
- // #932: reference for default slot
288
- yield * generateImplicitDefaultSlot ( ctx , node ) ;
289
- yield * generateElementChildren ( options , ctx , node ) ;
290
- }
282
+ yield * generateVSlot ( options , ctx , node , slotDir ) ;
291
283
292
284
if ( ctx . currentComponent . used ) {
293
285
yield `var ${ componentCtxVar } !: __VLS_PickFunctionalComponentCtx<typeof ${ componentOriginalVar } , typeof ${ componentVNodeVar } >${ endOfLine } ` ;
@@ -297,8 +289,7 @@ export function* generateComponent(
297
289
export function * generateElement (
298
290
options : TemplateCodegenOptions ,
299
291
ctx : TemplateCodegenContext ,
300
- node : CompilerDOM . ElementNode ,
301
- isVForChild : boolean
292
+ node : CompilerDOM . ElementNode
302
293
) : Generator < Code > {
303
294
const startTagOffset = node . loc . start . offset + options . template . content . slice ( node . loc . start . offset ) . indexOf ( node . tag ) ;
304
295
const endTagOffset = ! node . isSelfClosing && options . template . lang === 'html'
@@ -349,7 +340,7 @@ export function* generateElement(
349
340
const [ refName , offset ] = yield * generateElementReference ( options , ctx , node ) ;
350
341
if ( refName && offset ) {
351
342
let typeExp = `__VLS_NativeElements['${ node . tag } ']` ;
352
- if ( isVForChild ) {
343
+ if ( ctx . inVFor ) {
353
344
typeExp += `[]` ;
354
345
}
355
346
ctx . addTemplateRef ( refName , typeExp , offset ) ;
@@ -364,7 +355,7 @@ export function* generateElement(
364
355
365
356
collectStyleScopedClassReferences ( options , ctx , node ) ;
366
357
367
- yield * generateElementChildren ( options , ctx , node ) ;
358
+ yield * generateElementChildren ( options , ctx , node . children ) ;
368
359
}
369
360
370
361
function * generateFailedPropExps (
0 commit comments