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.model
|> 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!):
Examples (sources you can find here):