miso-css-0.0.1: src/Miso/Css/Style/AncestorConstraint.hs
module Miso.Css.Style.AncestorConstraint where
import Miso.Css.Prelude ( KnownSymbol, Proxy )
import Miso.Css.Segment
import Miso.Css.Sibling ( AddSiblingBr, SiblingBranch )
data AncestorConstraint (p :: [Seg]) where
CssOrphan :: Proxy ms -> AncestorConstraint '[ '( ms, '[], '[], '[] )]
AddRoot ::
AncestorConstraint ac -> AncestorConstraint (AddSubSeg R ac)
AddSiblingBranch ::
SiblingBranch sgs ->
AncestorConstraint ac ->
AncestorConstraint (AddSiblingBr sgs ac)
NextAncestor :: -- CSS star
Proxy ms ->
AncestorConstraint ac ->
AncestorConstraint ('( ms, '[], '[], '[]) : ac)
AddSubSegConstraint ::
KnownSymbol a =>
Proxy c -> Proxy a -> AncestorConstraint ac -> AncestorConstraint (AddSubSeg (c a) ac)