name:                react-haskell
version:             2.0.0
synopsis:            Haskell React bindings
description:
  This package provides high level bindings to Facebook's <http://facebook.github.io/react/ React> library, meant for use with GHCJS.
  .
  React is a JavaScript library for building user interfaces. React (and React-Haskell) is focused on just UI - it's not a framework.
  .
  Currently React-Haskell can render simple stateful components, but not what React calls classes. Put another way, React-Haskell doesn't support lifecycle methods yet.
  .
  Here's a simple example which demonstrates basic elements, attributes, state, and handling events.
  .
  > -- We're creating a class with JSString state
  > data Example
  > instance ReactKey Example where
  >     type ClassState Example = JSString
  >     type AnimationState Example = ()
  >     type Signal Example = JSString
  >
  > -- updating to the new state without animation
  > transition :: JSString -> JSString -> (JSString, [AnimConfig Example])
  > transition oldState signal = (signal, [])
  >
  > view :: JSString -> React Example ()
  > view str = div_ [ class_ "container" ] $ do
  >     input_ [ value_ str, onChange (Just . value . target) ]
  >
  > main :: IO ()
  > main = withElem "id" $ \elem ->
  >     render elem =<< createClass view transition "" () []
license:             MIT
license-file:        LICENSE
author:              Joel Burget
maintainer:          joelburget@gmail.com
category:            Web
build-type:          Simple
cabal-version:       >=1.10

homepage: https://github.com/joelburget/react-haskell
bug-reports: https://github.com/joelburget/react-haskell/issues

data-dir: lib
data-files: stubs.js, react.js

source-repository head
  type: git
  location: https://github.com/joelburget/react-haskell.git

flag ghcjs
    description: tell cabal we're using ghcjs
    default: True

library
  exposed-modules:
    React,
    React.DOM,
    React.GHCJS,
    React.Rebindable
  other-modules:
    React.Attrs,
    React.Class,
    React.Elements,
    React.Events,
    React.Imports,
    React.Interpret,
    React.Local,
    React.PropTypes,
    React.Registry,
    React.Render,
    React.Types
  other-extensions:
    CPP,
    FlexibleInstances,
    FlexibleContexts,
    ForeignFunctionInterface,
    GADTs,
    GeneralizedNewtypeDeriving,
    LambdaCase,
    MultiParamTypeClasses,
    NamedFieldPuns,
    OverloadedStrings
  build-depends:
    base >= 4.5 && < 5,
    transformers,
    monads-tf,
    deepseq,
    lens-family,
    void == 0.7,
    aeson,
    text,
    unordered-containers
  if flag(ghcjs)
    build-depends:
      ghcjs-base >= 0.1,
      ghcjs-prim >= 0.1.0.0,
      ghcjs-dom >= 0.1
  hs-source-dirs:      src
  default-language:    Haskell2010