-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Functional reactive user interface programming -- -- More to come @package slim @version 0.0.1 module Slim data Local t data Shared data Event t a data Behavior t a stepper :: a -> Event (Local t) a -> Behavior (Local t) a accumB :: a -> Event (Local t) (a -> a) -> Behavior (Local t) a track :: Eq k => Behavior (Local t) [k] -> (k -> StartComponent a) -> Behavior (Local t) [Component (Dynamic t) a] never :: Event (Local t) a merge :: Event (Local t) a -> Event (Local t) a -> Event (Local t) a mergeAll :: [Event (Local t) a] -> Event (Local t) a useB :: Behavior Shared a -> Behavior (Local t) a useE :: Event Shared a -> Event (Local t) a whenJust :: Event t (Maybe a) -> Event t a data Component t a data Static data Dynamic t type MasterDomEvent = Event Shared DomEventInfo type DomEventInfo = (ElementId, EventName, EventData) type ElementId = Int type Namespace = Maybe String type TagName = String type AttributeName = String type AttributeValue = String type EventName = String type EventData = String data ElementAction Create :: ElementId -> Namespace -> TagName -> ElementAction Replace :: ElementId -> ElementId -> ElementAction Destroy :: ElementId -> ElementAction SetAttribute :: ElementId -> AttributeName -> AttributeValue -> ElementAction UnsetAttribute :: ElementId -> AttributeName -> ElementAction SetText :: ElementId -> (Maybe String) -> ElementAction AddChildren :: ElementId -> [ElementId] -> ElementAction Subscribe :: ElementId -> EventName -> ElementAction Unsubscribe :: ElementId -> EventName -> ElementAction data Start t a newtype StartComponent a StartComponent :: (forall s. Start s (Component (Dynamic s) a)) -> StartComponent a [unStartComponent] :: StartComponent a -> forall s. Start s (Component (Dynamic s) a) -- | Uninhabited data type data Void :: * runStartRoot :: StartComponent a -> IO ([ElementAction], ElementId, DomEventInfo -> IO [ElementAction]) startC :: Behavior (Local t) (Component Static a) -> Start t (Component (Dynamic t) a) startB :: Behavior (Local t) a -> Start t (Behavior Shared a) silence :: Component Static void -> Component Static a getEvent :: Component (Dynamic t) a -> Event (Local t) a addEvent :: EventName -> (EventData -> a) -> Component Static a -> Component Static a replaceEvent :: EventName -> Component Static void -> Component Static EventData textComponent :: Maybe String -> String -> [(String, String)] -> String -> Component Static Void containerComponent :: Maybe String -> String -> [(String, String)] -> [Component Static a] -> Component Static a emptyComponent :: Maybe String -> String -> [(String, String)] -> Component Static Void mount :: Component (Dynamic t) a -> Component Static a instance Control.Monad.Fix.MonadFix (Slim.Start t) instance GHC.Base.Monad (Slim.Start t) instance GHC.Base.Applicative (Slim.Start t) instance GHC.Base.Functor (Slim.Start t) instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Slim.Deferred m) instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (Slim.Deferred m) instance GHC.Base.Monad m => GHC.Base.Monad (Slim.Deferred m) instance GHC.Base.Applicative m => GHC.Base.Applicative (Slim.Deferred m) instance GHC.Base.Functor m => GHC.Base.Functor (Slim.Deferred m) instance GHC.Show.Show Slim.ElementDefinition instance GHC.Show.Show Slim.ElementAction instance GHC.Show.Show (Slim.Component t a) instance GHC.Show.Show Slim.RenderedComponent instance GHC.Base.Functor (Slim.Event (Slim.Local t)) instance GHC.Base.Functor (Slim.Event Slim.Shared) instance GHC.Base.Monoid (Slim.Event (Slim.Local t) a) instance GHC.Base.Monoid (Slim.Event Slim.Shared a) instance GHC.Base.Functor (Slim.Behavior (Slim.Local t)) instance GHC.Base.Functor (Slim.Behavior Slim.Shared) instance GHC.Base.Applicative (Slim.Behavior (Slim.Local t)) instance GHC.Base.Applicative (Slim.Behavior Slim.Shared) instance GHC.Base.Functor (Slim.EventRouter a) instance GHC.Base.Functor (Slim.Component t) instance Control.Monad.Trans.Class.MonadTrans Slim.Deferred instance GHC.Show.Show (Slim.EventRouter a b) instance GHC.Show.Show (Slim.Event t a) module Slim.Sim type Document = (Map ElementId Node, ElementId) data Node Node :: ElementId -> Namespace -> TagName -> Map AttributeName AttributeValue -> Maybe String -> Set EventName -> [ElementId] -> Node [n_elementId] :: Node -> ElementId [n_namespace] :: Node -> Namespace [n_tagName] :: Node -> TagName [n_attributes] :: Node -> Map AttributeName AttributeValue [n_text] :: Node -> Maybe String [n_eventSources] :: Node -> Set EventName [n_children] :: Node -> [ElementId] newNode :: ElementId -> Namespace -> TagName -> Node applyAction :: Document -> ElementAction -> Document ppDocument :: Document -> String findNode :: Document -> (Node -> Bool) -> Node findNodeN :: Int -> Document -> (Node -> Bool) -> Node findNodes :: Document -> (Node -> Bool) -> [Node] startSim :: StartComponent void -> IO (Document, Node -> EventName -> EventData -> IO Document) instance GHC.Show.Show Slim.Sim.Node