This PR fixes the initial inferred selector for the transform/resolve process for a mapped selector that is created using a @custom-selector with the new experimentalSelectorInference=true(only in flat-mode and not the new structure-mode).
The difference between the old and new inference is that with the old mode the default context was the root of the stylesheet, so any internal custom states/parts were inferred against the root, and that worked fine because only flat structured were allowed, so any custom selector mapping that started with ::part would refer to a part of the root.
With the new experimentalSelectorInference, the selector context defaults to * (universal selector), making ::part unknown. So to handle mapping to ::part, it is assumed that any mapped-selector from a pseudo-element starts with an inferred root, while keeping the context after combinators as *.
This PR fixes the initial inferred selector for the transform/resolve process for a mapped selector that is created using a
@custom-selector
with the newexperimentalSelectorInference=true
(only in flat-mode and not the new structure-mode).The difference between the old and new inference is that with the old mode the default context was the
root
of the stylesheet, so any internal custom states/parts were inferred against the root, and that worked fine because only flat structured were allowed, so any custom selector mapping that started with::part
would refer to a part of theroot
.With the new
experimentalSelectorInference
, the selector context defaults to*
(universal selector), making::part
unknown. So to handle mapping to::part
, it is assumed that any mapped-selector from a pseudo-element starts with an inferredroot
, while keeping the context after combinators as*
.