Skip to content

Commit 2fe20fd

Browse files
committed
tweaks
1 parent da9e455 commit 2fe20fd

5 files changed

Lines changed: 16 additions & 22 deletions

File tree

embed/reset.css

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Web/Atomic/CSS.hs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ module Web.Atomic.CSS
7575
, BorderStyle (..)
7676
, rounded
7777
, opacity
78+
, shadow
79+
, Shadow
80+
, Inner (..)
7881

7982
-- ** Text
8083
, bold
@@ -91,7 +94,7 @@ module Web.Atomic.CSS
9194
, transition
9295
, TransitionProperty (..)
9396

94-
-- ** Other
97+
-- ** Elements
9598
, list
9699
, ListType (..)
97100
, pointer
@@ -112,7 +115,7 @@ module Web.Atomic.CSS
112115
-- * CSS Reset
113116
, cssResetEmbed
114117

115-
-- ** Types
118+
-- * Types
116119
, Property
117120
, Declaration (..)
118121
, Style
@@ -127,6 +130,10 @@ module Web.Atomic.CSS
127130
, Wrap (..)
128131
, Sides (..)
129132
, CSS
133+
134+
-- * Other
135+
, declarations
136+
, rules
130137
) where
131138

132139
import Web.Atomic.CSS.Box hiding (sides, sides')

src/Web/Atomic/Types/ClassName.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ joinClassSegments sep (ClassName cn1) (ClassName cn2) =
5959
ClassName $ cn1 <> sep <> cn2
6060

6161

62+
-- modifiers to a class are prepended with ":", like hover\:my-class:hover
6263
addClassState :: (ToClassName a) => a -> ClassName -> ClassName
6364
addClassState a = joinClassSegments ":" (toClassName a)
6465

src/Web/Atomic/Types/Rule.hs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
{-# LANGUAGE LambdaCase #-}
2-
31
module Web.Atomic.Types.Rule where
42

53
import Data.List qualified as L
@@ -22,7 +20,7 @@ data Rule = Rule
2220
}
2321
instance Eq Rule where
2422
r1 == r2 = ruleSelector r1 == ruleSelector r2
25-
instance Ord (Rule) where
23+
instance Ord Rule where
2624
r1 <= r2 = ruleSelector r1 <= ruleSelector r2
2725
instance IsString Rule where
2826
fromString s = fromClass (fromString s)
@@ -41,21 +39,17 @@ instance Monoid RuleSelector where
4139
mempty = GeneratedRule id id
4240

4341

44-
-- rule :: ClassName -> [Declaration] -> Rule
45-
-- rule cn ds =
46-
-- (Rule cn (selector cn) mempty ds)
47-
4842
-- | An empty rule that only adds the classname
4943
fromClass :: ClassName -> Rule
5044
fromClass cn = Rule cn mempty mempty mempty
5145

5246

5347
rule :: ClassName -> [Declaration] -> Rule
54-
rule cn ds = Rule cn mempty mempty ds
48+
rule cn = Rule cn mempty mempty
5549

5650

5751
ruleMap :: [Rule] -> Map Selector Rule
58-
ruleMap rs = L.foldl' (\m r -> M.insert (ruleSelector r) r m) M.empty rs
52+
ruleMap = L.foldl' (\m r -> M.insert (ruleSelector r) r m) M.empty
5953

6054

6155
{- | Add a property to a class
@@ -80,7 +74,7 @@ mapClassName f c =
8074
uniqueRules :: [Rule] -> [Rule]
8175
uniqueRules [] = []
8276
uniqueRules (r : rs) =
83-
r : (replaceRules r $ uniqueRules rs)
77+
r : replaceRules r (uniqueRules rs)
8478

8579

8680
replaceRules :: Rule -> [Rule] -> [Rule]

test/Test/RuleSpec.hs

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,6 @@ spec = do
2323
let rs = [fs24, bold, fs12]
2424
fmap (.className) (uniqueRules rs) `shouldBe` ["fs-24", "bold"]
2525

26-
-- it "should unset same property using (~)" $ do
27-
-- let rs = [] ~ fontSize 12 . bold ~ fontSize 24
28-
-- length rs `shouldBe` 3
29-
-- fmap (.className) (uniqueRules rs) `shouldBe` ["fs-24", "bold"]
30-
3126
it "should treat hover states as unique" $ do
3227
let hoverBold = addPseudo "hover" bold
3328
hoverNormal = addPseudo "hover" normal
@@ -46,17 +41,14 @@ spec = do
4641
ruleClassName (Rule.fromClass "hello") `shouldBe` "hello"
4742

4843
it "includes pseudo" $ do
49-
ruleClassName (addPseudo "active" $ addPseudo "hover" $ "hello") `shouldBe` "active:hover:hello"
44+
ruleClassName (addPseudo "active" $ addPseudo "hover" "hello") `shouldBe` "active:hover:hello"
5045

5146
it "includes media" $ do
5247
ruleClassName (addMedia (MinWidth 100) "hello") `shouldBe` "mmnw100:hello"
5348

5449
it "includes pseudo + media" $ do
5550
ruleClassName (addMedia (MinWidth 100) $ addPseudo "hover" "hello") `shouldBe` "mmnw100:hover:hello"
5651

57-
-- it "doesn't change with custom selectors" $ do
58-
-- ruleClassName (Rule "hello" (Just ".hello") [Hover] [MinWidth 100] []) `shouldBe` "hello"
59-
6052
describe "selector" $ do
6153
it "creates selector from class name" $ do
6254
ruleSelector (Rule.fromClass "p-10") `shouldBe` ".p-10"

0 commit comments

Comments
 (0)