packages feed

Shpadoinkle-widgets-0.2.0.1: Shpadoinkle-widgets.cabal

cabal-version: 2.2
name:          Shpadoinkle-widgets
version:       0.2.0.1
category:      Web
author:        Isaac Shapira
maintainer:    isaac.shapira@platonic.systems
license:       BSD-3-Clause
license-file:  LICENSE
build-type:    Simple
extra-source-files:
  README.md
synopsis:
  A collection of common reusable types and components.
description:
  There are many shared abstractions between various UIs
  that represent themselves in frameworks and applications.
  This package provides a useful subset of these concepts
  as types along with implementations consuming these types.


source-repository head
  type: git
  location: https://gitlab.com/platonic/shpadoinkle.git


flag testing
  description: Provide test kit around QuickCheck
  manual: True
  default: False


common ghc-options
  ghc-options:
    -Wall
    -Wcompat
    -fwarn-redundant-constraints
    -fwarn-incomplete-uni-patterns
    -fwarn-tabs
    -fwarn-incomplete-record-updates
    -fwarn-identities


library
  import: ghc-options

  exposed-modules:
    Shpadoinkle.Widgets.Form.Input
    Shpadoinkle.Widgets.Form.Dropdown
    Shpadoinkle.Widgets.Table
    Shpadoinkle.Widgets.Table.Lazy
    Shpadoinkle.Widgets.Types
    Shpadoinkle.Widgets.Types.Choice
    Shpadoinkle.Widgets.Types.ConsideredChoice
    Shpadoinkle.Widgets.Types.Core
    Shpadoinkle.Widgets.Types.Form
    Shpadoinkle.Widgets.Types.Pagination
    Shpadoinkle.Widgets.Types.Physical
    Shpadoinkle.Widgets.Types.Remote
    Shpadoinkle.Widgets.Types.Search
    Shpadoinkle.Widgets.Validation

  hs-source-dirs: .

  build-depends:
      Shpadoinkle
    , Shpadoinkle-html
    , attoparsec >=0.13 && <0.15
    , aeson >=1.4.4 && <1.6
    , base >=4.12.0 && <4.16
    , bytestring >=0.10.8 && <0.12
    , compactable >=0.1.2 && <0.2
    , containers >=0.6.0 && <0.7
    , edit-distance >=0.2.2 && <0.3
    , either >=5.0 && <5.1
    , email-validate >=2.3.2 && <2.4
    , jsaddle >=0.9.7 && <0.20
    , mtl >=2.2.2 && <2.3
    , servant >=0.16 && <0.19
    , stm >=2.5.0 && <2.6
    , template-haskell >=2.14.0 && <2.17
    , text >=1.2.3 && <1.3
    , transformers >=0.5.0 && <0.6
    , unliftio >=0.2.12 && <0.3

  if flag(testing)
    exposed-modules:
      Test.QuickCheck.Classes.Hspec
      Test.QuickCheck.Classes.FoldableOrd

    cpp-options: -DTESTING

    build-depends:
        QuickCheck
      , hspec
      , quickcheck-classes
      , quickcheck-classes-base
      , transformers

  default-language: Haskell2010


test-suite unit
  import: ghc-options

  type: exitcode-stdio-1.0

  main-is: Test.hs

  hs-source-dirs: tests

  cpp-options: -DTESTING

  build-depends:
      QuickCheck
    , Shpadoinkle-widgets
    , base >=4.12.0 && <4.16
    , containers
    , hspec
    , quickcheck-classes
    , quickcheck-classes-base

  default-language: Haskell2010