Skip to content

Commit 7f43dfb

Browse files
authored
Merge pull request #45 from alexmingoia/topic/text-transform-rule
Add text-transform rule.
2 parents b0ba090 + 039fdde commit 7f43dfb

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

src/CSS/Text/Transform.purs

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
module CSS.Text.Transform
2+
( TextTransform
3+
, textTransform
4+
, lowercase
5+
, uppercase
6+
, capitalize
7+
) where
8+
9+
import CSS.Common (class Inherit, class Initial, class None)
10+
import CSS.Property (class Val)
11+
import CSS.String (fromString)
12+
import CSS.Stylesheet (CSS, key)
13+
import Data.Eq (class Eq)
14+
import Data.Function (($))
15+
import Data.Generic (class Generic, gShow)
16+
import Data.Ord (class Ord)
17+
import Data.Show (class Show)
18+
19+
data TextTransform
20+
= Uppercase
21+
| Lowercase
22+
| Capitalize
23+
| None
24+
| Initial
25+
| Inherit
26+
27+
derive instance eqTextTransform :: Eq TextTransform
28+
derive instance ordTextTransform :: Ord TextTransform
29+
derive instance genericTextTransform :: Generic TextTransform
30+
31+
instance valTextTransform :: Val TextTransform where
32+
value (Uppercase) = fromString "uppercase"
33+
value (Lowercase) = fromString "lowercase"
34+
value (Capitalize) = fromString "capitalize"
35+
value (None) = fromString "none"
36+
value (Initial) = fromString "initial"
37+
value (Inherit) = fromString "inherit"
38+
39+
instance showTextTransform :: Show (TextTransform) where
40+
show = gShow
41+
42+
instance noneTextTransform :: None TextTransform where
43+
none = None
44+
45+
instance initialTextTransform :: Initial TextTransform where
46+
initial = Initial
47+
48+
instance inheritTextTransform :: Inherit TextTransform where
49+
inherit = Inherit
50+
51+
textTransform :: TextTransform -> CSS
52+
textTransform = key $ fromString "text-transform"
53+
54+
uppercase :: TextTransform
55+
uppercase = Uppercase
56+
57+
lowercase :: TextTransform
58+
lowercase = Lowercase
59+
60+
capitalize :: TextTransform
61+
capitalize = Capitalize

0 commit comments

Comments
 (0)