Skip to content

Commit a875531

Browse files
authored
Fixed false positives when using <slot> with <transition>. (#18)
1 parent a0ff678 commit a875531

File tree

3 files changed

+96
-1
lines changed

3 files changed

+96
-1
lines changed

lib/styles/selectors/query/elements.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ export function getWrapperTransition(
9494
if (isTransitionElement(parent) || isTransitionGroupElement(parent)) {
9595
return parent
9696
}
97-
if (!isSkipElement(parent)) {
97+
if (!isSlotElement(parent) && !isSkipElement(parent)) {
9898
return null
9999
}
100100
parent = parent.parent

tests/lib/rules/no-unused-selector.ts

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,54 @@ tester.run("no-unused-selector", rule, {
206206
.foo > div {}
207207
</style>
208208
`,
209+
// transition
210+
`
211+
<template>
212+
<transition>
213+
<div/>
214+
</transition>
215+
</template>
216+
<style scoped>
217+
.v-enter,
218+
.v-enter-active,
219+
.v-enter-to,
220+
.v-leave,
221+
.v-leave-to,
222+
.v-leave-active {}
223+
</style>
224+
`,
225+
`
226+
<template>
227+
<transition name="foo">
228+
<div/>
229+
</transition>
230+
</template>
231+
<style scoped>
232+
.foo-enter,
233+
.foo-enter-active,
234+
.foo-enter-to,
235+
.foo-leave,
236+
.foo-leave-to,
237+
.foo-leave-active {}
238+
</style>
239+
`,
240+
`
241+
<template>
242+
<!-- transition + slot -->
243+
<transition name="foo">
244+
<slot />
245+
</transition>
246+
</template>
247+
<style scoped>
248+
.foo-enter,
249+
.foo-enter-active,
250+
.foo-enter-to,
251+
.foo-leave,
252+
.foo-leave-to,
253+
.foo-leave-active {}
254+
</style>
255+
`,
256+
209257
// options
210258
// ignoreBEMModifier
211259
{

tests/lib/rules/require-selector-used-inside.ts

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,53 @@ tester.run("require-selector-used-inside", rule, {
168168
:not(.a) {}
169169
</style>
170170
`,
171+
// transition
172+
`
173+
<template>
174+
<transition>
175+
<div/>
176+
</transition>
177+
</template>
178+
<style scoped>
179+
.v-enter,
180+
.v-enter-active,
181+
.v-enter-to,
182+
.v-leave,
183+
.v-leave-to,
184+
.v-leave-active {}
185+
</style>
186+
`,
187+
`
188+
<template>
189+
<transition name="foo">
190+
<div/>
191+
</transition>
192+
</template>
193+
<style scoped>
194+
.foo-enter,
195+
.foo-enter-active,
196+
.foo-enter-to,
197+
.foo-leave,
198+
.foo-leave-to,
199+
.foo-leave-active {}
200+
</style>
201+
`,
202+
`
203+
<template>
204+
<!-- transition + slot -->
205+
<transition name="foo">
206+
<slot />
207+
</transition>
208+
</template>
209+
<style scoped>
210+
.foo-enter,
211+
.foo-enter-active,
212+
.foo-enter-to,
213+
.foo-leave,
214+
.foo-leave-to,
215+
.foo-leave-active {}
216+
</style>
217+
`,
171218
// options
172219
// ignoreBEMModifier
173220
{

0 commit comments

Comments
 (0)