A set of combinators for working with stateful (and effectful) components.
Using this library you can do this:
import Browser
import CheckBox
import Counter
import Html
import TeaCombine exposing (..)
import TeaCombine.Pure.Pair exposing (..)
main =
Browser.sandbox
{ init =
Counter.init 0
|> initWith (CheckBox.init False)
|> initWith (CheckBox.init False)
, view =
Html.div []
<< (joinViews Counter.view CheckBox.view
|> withView CheckBox.view
)
, update =
Counter.update
|> updateWith CheckBox.update
|> updateWith CheckBox.update
}
and have an app that looks like this (image is clickable!):
Here you can find a good explanatory article (thanks to Maldus512!) about how all this stuff works!
(All the sources you can find here)