packages feed

clay 0.9.0.1 → 0.10

raw patch · 5 files changed

+165/−15 lines, 5 filesdep ~basedep ~textPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base, text

API changes (from Hackage documentation)

+ Clay.Display: baseline :: VerticalAlignValue Value
+ Clay.Display: class Val a => Cursor a where cursor = key "cursor"
+ Clay.Display: class Val a => VerticalAlign a where verticalAlign = key "vertical-align"
+ Clay.Display: crosshair :: CursorValue Value
+ Clay.Display: cursor :: Cursor a => a -> Css
+ Clay.Display: cursorDefault :: CursorValue Value
+ Clay.Display: cursorProgress :: CursorValue Value
+ Clay.Display: cursorText :: CursorValue Value
+ Clay.Display: cursorUrl :: Text -> CursorValue Value
+ Clay.Display: eResize :: CursorValue Value
+ Clay.Display: help :: CursorValue Value
+ Clay.Display: instance Auto (CursorValue a)
+ Clay.Display: instance Cursor (CursorValue a)
+ Clay.Display: instance Inherit (CursorValue a)
+ Clay.Display: instance Val (CursorValue a)
+ Clay.Display: instance Val (VerticalAlignValue a)
+ Clay.Display: instance VerticalAlign (Size a)
+ Clay.Display: instance VerticalAlign (VerticalAlignValue a)
+ Clay.Display: middle :: VerticalAlignValue Value
+ Clay.Display: move :: CursorValue Value
+ Clay.Display: nResize :: CursorValue Value
+ Clay.Display: neResize :: CursorValue Value
+ Clay.Display: nwResize :: CursorValue Value
+ Clay.Display: pointer :: CursorValue Value
+ Clay.Display: sResize :: CursorValue Value
+ Clay.Display: seResize :: CursorValue Value
+ Clay.Display: swResize :: CursorValue Value
+ Clay.Display: textBottom :: VerticalAlignValue Value
+ Clay.Display: textTop :: VerticalAlignValue Value
+ Clay.Display: vAlignBottom :: VerticalAlignValue Value
+ Clay.Display: vAlignSub :: VerticalAlignValue Value
+ Clay.Display: vAlignTop :: VerticalAlignValue Value
+ Clay.Display: verticalAlign :: VerticalAlign a => a -> Css
+ Clay.Display: wResize :: CursorValue Value
+ Clay.Display: wait :: CursorValue Value
+ Clay.List: armenian :: ListStyleType
+ Clay.List: circleListStyle :: ListStyleType
+ Clay.List: cjkIdeographic :: ListStyleType
+ Clay.List: data ListStyleImage
+ Clay.List: data ListStylePosition
+ Clay.List: decimalLeadingZero :: ListStyleType
+ Clay.List: georgian :: ListStyleType
+ Clay.List: hebrew :: ListStyleType
+ Clay.List: hiraganaIroha :: ListStyleType
+ Clay.List: imageUrl :: Text -> ListStyleImage
+ Clay.List: inside :: ListStylePosition
+ Clay.List: instance Inherit ListStyleImage
+ Clay.List: instance Inherit ListStylePosition
+ Clay.List: instance Initial ListStyleImage
+ Clay.List: instance Initial ListStylePosition
+ Clay.List: instance None ListStyleImage
+ Clay.List: instance None ListStylePosition
+ Clay.List: instance Other ListStyleImage
+ Clay.List: instance Other ListStylePosition
+ Clay.List: instance Val ListStyleImage
+ Clay.List: instance Val ListStylePosition
+ Clay.List: katakana :: ListStyleType
+ Clay.List: katakanaIroha :: ListStyleType
+ Clay.List: listStyle :: ListStyleType -> ListStylePosition -> ListStyleImage -> Css
+ Clay.List: listStyleImage :: ListStyleImage -> Css
+ Clay.List: listStylePosition :: ListStylePosition -> Css
+ Clay.List: lowerAlpha :: ListStyleType
+ Clay.List: lowerGreek :: ListStyleType
+ Clay.List: lowerLatin :: ListStyleType
+ Clay.List: lowerRoman :: ListStyleType
+ Clay.List: outside :: ListStylePosition
+ Clay.List: square :: ListStyleType
+ Clay.List: upperAlpha :: ListStyleType
+ Clay.List: upperLatin :: ListStyleType
+ Clay.List: upperRoman :: ListStyleType
+ Clay.Size: rem :: Double -> Size Rel
- Clay.Geometry: bottom :: Size Abs -> Css
+ Clay.Geometry: bottom :: Size a -> Css
- Clay.Geometry: left :: Size Abs -> Css
+ Clay.Geometry: left :: Size a -> Css
- Clay.Geometry: margin :: Size Abs -> Size Abs -> Size Abs -> Size Abs -> Css
+ Clay.Geometry: margin :: Size a -> Size a -> Size a -> Size a -> Css
- Clay.Geometry: marginBottom :: Size Abs -> Css
+ Clay.Geometry: marginBottom :: Size a -> Css
- Clay.Geometry: marginLeft :: Size Abs -> Css
+ Clay.Geometry: marginLeft :: Size a -> Css
- Clay.Geometry: marginRight :: Size Abs -> Css
+ Clay.Geometry: marginRight :: Size a -> Css
- Clay.Geometry: marginTop :: Size Abs -> Css
+ Clay.Geometry: marginTop :: Size a -> Css
- Clay.Geometry: padding :: Size Abs -> Size Abs -> Size Abs -> Size Abs -> Css
+ Clay.Geometry: padding :: Size a -> Size a -> Size a -> Size a -> Css
- Clay.Geometry: paddingBottom :: Size Abs -> Css
+ Clay.Geometry: paddingBottom :: Size a -> Css
- Clay.Geometry: paddingLeft :: Size Abs -> Css
+ Clay.Geometry: paddingLeft :: Size a -> Css
- Clay.Geometry: paddingRight :: Size Abs -> Css
+ Clay.Geometry: paddingRight :: Size a -> Css
- Clay.Geometry: paddingTop :: Size Abs -> Css
+ Clay.Geometry: paddingTop :: Size a -> Css
- Clay.Geometry: right :: Size Abs -> Css
+ Clay.Geometry: right :: Size a -> Css
- Clay.Geometry: size :: Size Abs -> Css
+ Clay.Geometry: size :: Size a -> Css
- Clay.Geometry: top :: Size Abs -> Css
+ Clay.Geometry: top :: Size a -> Css

Files

clay.cabal view
@@ -1,5 +1,5 @@ Name:     clay-Version:  0.9.0.1+Version:  0.10 Synopsis: CSS preprocessor as embedded Haskell. Description:   Clay is a CSS preprocessor like LESS and Sass, but implemented as an embedded@@ -11,8 +11,14 @@   .   The API documentation can be found in the top level module "Clay".   .-  > 0.9 -> 0.9.0.1-  >  - Fixed bug in easing properties.+  > 0.9 -> 0.10+  > - Bumped up text requirement.+  > - Added cursor property.+  > - Added vertical-align property.+  > - Removed Abs constraint from Geometry functions.+  > - Added support for rem dimensions.+  > - Added support for ListStyle.+  > Thanks to Lorenzo Bolla, Fraser Murray, Heather and Sergey!  Author:        Sebastiaan Visser Maintainer:    Sebastiaan Visser <code@fvisser.nl>@@ -67,7 +73,7 @@   Build-Depends:     base  >= 4    && < 5,     mtl   >= 1    && < 2.3,-    text  >= 0.11 && < 1.2+    text  >= 0.11 && < 1.3  Test-Suite Test-Clay   Type: exitcode-stdio-1.0@@ -76,7 +82,7 @@   Build-Depends:     base                 >= 4    && < 5,     mtl                  >= 1    && < 2.3,-    text                 >= 0.11 && < 1.2,+    text                 >= 0.11 && < 1.3,     HUnit                >= 1.2  && < 1.3,     test-framework       >= 0.8  && < 0.9,     test-framework-hunit >= 0.3  && < 0.4
src/Clay/Display.hs view
@@ -61,6 +61,16 @@ , visiblePainted, visibleFill, visibleStroke, painted , fillEvents, strokeEvents, allEvents +-- * Vertical align.++, VerticalAlign(..)+, baseline, middle, vAlignSub, textTop, textBottom, vAlignTop, vAlignBottom++-- * Cursor++, Cursor(..)+, crosshair, cursorDefault, pointer, move, eResize, neResize, nwResize, nResize, seResize, swResize, sResize, wResize, cursorText, wait, cursorProgress, help, cursorUrl+           ) where @@ -71,6 +81,7 @@ import Clay.Property import Clay.Stylesheet import Clay.Common+import Data.Text (Text)      ------------------------------------------------------------------------------- @@ -211,3 +222,56 @@  pointerEvents :: PointerEvents -> Css pointerEvents = key "pointer-events"++-------------------------------------------------------------------------------++class (Val a) => VerticalAlign a where+    verticalAlign :: a -> Css+    verticalAlign = key "vertical-align"++newtype VerticalAlignValue a = VerticalAlignValue Value deriving (Val)++instance VerticalAlign (VerticalAlignValue a)+instance VerticalAlign (Size a)++baseline,middle,vAlignSub,textTop,textBottom,vAlignTop,vAlignBottom :: VerticalAlignValue Value++baseline = VerticalAlignValue "baseline"+middle = VerticalAlignValue "middle"+vAlignSub = VerticalAlignValue "sub"+textTop = VerticalAlignValue "text-top"+textBottom = VerticalAlignValue "text-bottom"+vAlignTop = VerticalAlignValue "top"+vAlignBottom = VerticalAlignValue "bottom"++-------------------------------------------------------------------------------               ++class (Val a) => Cursor a where+    cursor :: a -> Css+    cursor = key "cursor"++newtype CursorValue a = CursorValue Value deriving (Val,Inherit,Auto)++instance Cursor (CursorValue a)++crosshair,cursorDefault,pointer,move,eResize,neResize,nwResize,nResize,seResize,swResize,sResize,wResize,cursorText,wait,cursorProgress,help :: CursorValue Value+                                                                                                                                          +crosshair = CursorValue "crosshair"+cursorDefault = CursorValue "cursorDefault"+pointer = CursorValue "pointer"+move = CursorValue "move"+eResize = CursorValue "e-resize"+neResize = CursorValue "ne-resize"+nwResize = CursorValue "nw-resize"+nResize = CursorValue "n-resize"+seResize = CursorValue "se-resize"+swResize = CursorValue "sw-resize"+sResize = CursorValue "sResize"+wResize = CursorValue "sResize"+cursorText = CursorValue "text"+wait = CursorValue "wait"+cursorProgress = CursorValue "progress"+help = CursorValue "help"++cursorUrl :: Text -> CursorValue Value+cursorUrl u = CursorValue $ value ("url(\"" <> u <> "\")")
src/Clay/Geometry.hs view
@@ -23,7 +23,7 @@  ------------------------------------------------------------------------------- -size, top, left, bottom, right :: Size Abs -> Css+size, top, left, bottom, right :: Size a -> Css  size      = key "size" top       = key "top"@@ -42,10 +42,10 @@  ------------------------------------------------------------------------------- -padding :: Size Abs -> Size Abs -> Size Abs -> Size Abs -> Css+padding :: Size a -> Size a -> Size a -> Size a -> Css padding a b c d = key "padding" (a ! b ! c ! d) -paddingTop, paddingLeft, paddingRight, paddingBottom :: Size Abs -> Css+paddingTop, paddingLeft, paddingRight, paddingBottom :: Size a -> Css  paddingTop    = key "padding-top" paddingLeft   = key "padding-left"@@ -54,10 +54,10 @@  ------------------------------------------------------------------------------- -margin :: Size Abs -> Size Abs -> Size Abs -> Size Abs -> Css+margin :: Size a -> Size a -> Size a -> Size a -> Css margin a b c d = key "margin"  (a ! b ! c ! d) -marginTop, marginLeft, marginRight, marginBottom :: Size Abs -> Css+marginTop, marginLeft, marginRight, marginBottom :: Size a -> Css  marginTop     = key "margin-top" marginLeft    = key "margin-left"
src/Clay/List.hs view
@@ -3,11 +3,42 @@ ( ListStyleType , listStyleType , disc+, armenian+, circleListStyle+, cjkIdeographic , decimal+, decimalLeadingZero+, georgian+, hebrew , hiragana+, hiraganaIroha+, katakana+, katakanaIroha+, lowerAlpha+, lowerGreek+, lowerLatin+, lowerRoman+, square+, upperAlpha+, upperLatin+, upperRoman++, ListStylePosition+, listStylePosition+, inside+, outside++, ListStyleImage+, listStyleImage+, imageUrl++, listStyle ) where +import Data.Monoid+import Data.Text (Text)+ import Clay.Common import Clay.Property import Clay.Stylesheet@@ -15,11 +46,53 @@ newtype ListStyleType = ListStyleType Value   deriving (Val, Initial, Inherit, None, Other) -disc, decimal, hiragana  :: ListStyleType+disc, armenian, circleListStyle, cjkIdeographic, decimal, decimalLeadingZero, georgian+    , hebrew, hiragana, hiraganaIroha, katakana, katakanaIroha, lowerAlpha+    , lowerGreek, lowerLatin, lowerRoman, square, upperAlpha, upperLatin, upperRoman :: ListStyleType -disc        = ListStyleType "disc"-decimal     = ListStyleType "decimal"-hiragana    = ListStyleType "hiragana"+disc                = ListStyleType "disc"+armenian            = ListStyleType "armenian"+circleListStyle     = ListStyleType "circle"+cjkIdeographic      = ListStyleType "cjk-ideographic"+decimal             = ListStyleType "decimal"+decimalLeadingZero  = ListStyleType "decimal-leading-zero"+georgian            = ListStyleType "georgian"+hebrew              = ListStyleType "hebrew"+hiragana            = ListStyleType "hiragana"+hiraganaIroha       = ListStyleType "hiragana-iroha"+katakana            = ListStyleType "katakana"+katakanaIroha       = ListStyleType "katakana-iroha"+lowerAlpha          = ListStyleType "lower-alpha"+lowerGreek          = ListStyleType "lower-greek"+lowerLatin          = ListStyleType "lower-latin"+lowerRoman          = ListStyleType "lower-roman"+square              = ListStyleType "square"+upperAlpha          = ListStyleType "upper-alpha"+upperLatin          = ListStyleType "upper-latin"+upperRoman          = ListStyleType "upper-roman"  listStyleType :: ListStyleType -> Css listStyleType = key "list-style-type"++newtype ListStylePosition = ListStylePosition Value+  deriving (Val, Initial, Inherit, None, Other)++inside, outside :: ListStylePosition++inside  = ListStylePosition "inside"+outside = ListStylePosition "outside"++listStylePosition :: ListStylePosition -> Css+listStylePosition = key "list-style-position"++newtype ListStyleImage = ListStyleImage Value+  deriving (Val, Initial, Inherit, None, Other)++listStyleImage :: ListStyleImage -> Css+listStyleImage = key "list-style-image"++imageUrl :: Text -> ListStyleImage+imageUrl u = ListStyleImage ("url(" <> value (Literal u) <> ")")++listStyle :: ListStyleType -> ListStylePosition -> ListStyleImage -> Css+listStyle a b c = key "list-style" (a ! b ! c)
src/Clay/Size.hs view
@@ -20,6 +20,7 @@ , em , ex , pct+, rem  -- * Shorthands for properties that can be applied separately to each box side. @@ -42,6 +43,7 @@ where  import Data.Monoid+import Prelude hiding (rem)  import Clay.Common import Clay.Property@@ -49,7 +51,7 @@  ------------------------------------------------------------------------------- --- | Sizes can be relative like percentages.+-- | Sizes can be relative like percentages or rems. data Rel  -- | Sizes can be absolute like pixels, points, etc.@@ -85,6 +87,11 @@  pct :: Double -> Size Rel pct i = Size (value i <> "%")++-- | Size in rem's.++rem :: Double -> Size Rel+rem i = Size (value i <> "rem")  instance Num (Size Abs) where   fromInteger = px