diff --git a/src/compiler/compile/css/Selector.ts b/src/compiler/compile/css/Selector.ts index 19fac1f314..4d33d09082 100644 --- a/src/compiler/compile/css/Selector.ts +++ b/src/compiler/compile/css/Selector.ts @@ -470,7 +470,11 @@ function get_element_parent(node: Element): Element | null { return parent as Element | null; } -function find_previous_sibling_ignoring_slots(node: INode): INode { +function find_previous_sibling_considering_slots(node: INode): INode { + if (node.component.compile_options.customElement) { + return node.prev; + } + let current_node: INode = node; do { // @ts-ignore @@ -497,7 +501,7 @@ function find_previous_sibling_ignoring_slots(node: INode): INode { function get_possible_element_siblings(node: INode, adjacent_only: boolean): Map { const result: Map = new Map(); let prev: INode = node; - while (prev = find_previous_sibling_ignoring_slots(prev)) { + while (prev = find_previous_sibling_considering_slots(prev)) { if (prev.type === 'Element') { if (!prev.attributes.find(attr => attr.type === 'Attribute' && attr.name.toLowerCase() === 'slot')) { result.set(prev, NodeExist.Definitely);