mirror of https://github.com/vuejs/core.git
Merge bfd11af474
into ba391f5fdf
This commit is contained in:
commit
11d51a44bc
|
@ -158,6 +158,24 @@ color: red
|
||||||
}
|
}
|
||||||
}"
|
}"
|
||||||
`)
|
`)
|
||||||
|
expect(compileScoped(`.foo { :deep(.bar) { color: red; }}`))
|
||||||
|
.toMatchInlineSnapshot(`
|
||||||
|
".foo {
|
||||||
|
&[data-v-test] .bar { color: red;
|
||||||
|
}}"
|
||||||
|
`)
|
||||||
|
expect(compileScoped(`.foo { :deep(.bar),:deep(.baz) { color: red; }}`))
|
||||||
|
.toMatchInlineSnapshot(`
|
||||||
|
".foo {
|
||||||
|
&[data-v-test] .bar,&[data-v-test] .baz { color: red;
|
||||||
|
}}"
|
||||||
|
`)
|
||||||
|
expect(compileScoped(`.foo { & :deep(.bar) { color: red; }}`))
|
||||||
|
.toMatchInlineSnapshot(`
|
||||||
|
".foo {
|
||||||
|
&[data-v-test] .bar { color: red;
|
||||||
|
}}"
|
||||||
|
`)
|
||||||
})
|
})
|
||||||
|
|
||||||
test('::v-slotted', () => {
|
test('::v-slotted', () => {
|
||||||
|
|
|
@ -133,6 +133,22 @@ function rewriteSelector(
|
||||||
selector.insertAfter(last, ss)
|
selector.insertAfter(last, ss)
|
||||||
last = ss
|
last = ss
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// if css nesting is used, we need to insert a nesting selector
|
||||||
|
// before the ::v-deep's inner selector.
|
||||||
|
// .foo { ::v-deep(.bar) } -> .foo { &[xxxxxxx] .bar }
|
||||||
|
const isNestedRule = rule.parent && rule.parent.type === 'rule'
|
||||||
|
if (isNestedRule && n.parent) {
|
||||||
|
const hasNestingSelector = n.parent.nodes
|
||||||
|
.slice(0, n.parent.index(n))
|
||||||
|
.some(node => node.type === 'nesting')
|
||||||
|
|
||||||
|
if (!hasNestingSelector) {
|
||||||
|
node = selectorParser.nesting()
|
||||||
|
selector.insertBefore(n, node)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// insert a space combinator before if it doesn't already have one
|
// insert a space combinator before if it doesn't already have one
|
||||||
const prev = selector.at(selector.index(n) - 1)
|
const prev = selector.at(selector.index(n) - 1)
|
||||||
if (!prev || !isSpaceCombinator(prev)) {
|
if (!prev || !isSpaceCombinator(prev)) {
|
||||||
|
|
Loading…
Reference in New Issue