@@ -297,7 +297,7 @@ ${title}
297297 name : 'slidev:context-transform:pre' ,
298298 enforce : 'pre' ,
299299 async transform ( code , id ) {
300- if ( ! id . endsWith ( '.vue' ) )
300+ if ( ! id . endsWith ( '.vue' ) || id . includes ( '/@slidev/client/' ) || id . includes ( '/packages/client/' ) )
301301 return
302302 return transformVue ( code )
303303 } ,
@@ -347,12 +347,12 @@ ${title}
347347 const imports = [
348348 'import { inject as _vueInject, toRef as _vueToRef } from "vue"' ,
349349 `import InjectedLayout from "${ toAtFS ( layouts [ layoutName ] ) } "` ,
350- 'import { injectionSlidevContext } from "@slidev/client/constants.ts"' ,
350+ 'import { injectionSlidevContext as _injectionSlidevContext, injectionClicks as _injectionClicks } from "@slidev/client/constants.ts"' ,
351351 `const frontmatter = ${ JSON . stringify ( frontmatter ) } ` ,
352352 'const $frontmatter = frontmatter' ,
353- 'const $slidev = _vueInject(injectionSlidevContext )' ,
353+ 'const $slidev = _vueInject(_injectionSlidevContext )' ,
354354 'const $nav = _vueToRef($slidev, "nav")' ,
355- 'const $clicks = _vueToRef($slidev.nav, "clicks" )' ,
355+ 'const $clicks = _vueInject(_injectionClicks )' ,
356356 ]
357357
358358 code = code . replace ( / ( < s c r i p t s e t u p .* > ) / g, `$1\n${ imports . join ( '\n' ) } \n` )
@@ -367,14 +367,14 @@ ${title}
367367 }
368368
369369 function transformVue ( code : string ) : string {
370- if ( code . includes ( 'injectionSlidevContext' ) )
370+ if ( code . includes ( 'injectionSlidevContext' ) || code . includes ( 'injectionClicks' ) || code . includes ( 'const $slidev' ) )
371371 return code // Assume that the context is already imported and used
372372 const imports = [
373373 'import { inject as _vueInject, toRef as _vueToRef } from "vue"' ,
374- 'import { injectionSlidevContext } from "@slidev/client/constants.ts"' ,
375- 'const $slidev = _vueInject(injectionSlidevContext )' ,
374+ 'import { injectionSlidevContext as _injectionSlidevContext, injectionClicks as _injectionClicks } from "@slidev/client/constants.ts"' ,
375+ 'const $slidev = _vueInject(_injectionSlidevContext )' ,
376376 'const $nav = _vueToRef($slidev, "nav")' ,
377- 'const $clicks = _vueToRef($slidev.nav, "clicks" )' ,
377+ 'const $clicks = _vueInject(_injectionClicks )' ,
378378 ]
379379 const matchScript = code . match ( / < s c r i p t ( (? ! s e t u p ) .) * ( s e t u p ) ? .* > / )
380380 if ( matchScript && matchScript [ 2 ] ) {
0 commit comments