Module

Halogen.VDom.Types

#VDom

data VDom a w

The core virtual-dom tree type, where a is the type of attributes, and w is the type of "widgets". Widgets are machines that have complete control over the lifecycle of some DOM.Node.

The Grafted constructor and associated machinery enables bimap fusion using a Coyoneda-like encoding.

Constructors

Instances

#renderWidget

renderWidget :: forall a b w x. (a -> b) -> (w -> VDom b x) -> VDom a w -> VDom b x

Replaces "widgets" in the VDom with the ability to turn them into other VDom nodes.

Using this function will fuse any Grafts present in the VDom.

#Graft

data Graft :: Type -> Type -> Type

Instances

#GraftX

data GraftX a a' w w'

Constructors

#graft

graft :: forall a a' w w'. GraftX a a' w w' -> Graft a' w'

#unGraft

unGraft :: forall a' w' r. (forall a w. GraftX a a' w w' -> r) -> Graft a' w' -> r

#runGraft

runGraft :: forall a' w'. Graft a' w' -> VDom a' w'

#ElemName

#Namespace

Modules