@@ -57,17 +57,17 @@ render :: forall a. StyleM a -> Rendered
57
57
render = rules [] <<< runS
58
58
59
59
kframe :: Keyframes -> Rendered
60
- kframe (Keyframes ident xs) = Just <<< That <<< Sheet $ " @-webkit-keyframes " <> ident <> " { " <> intercalate " " (uncurry frame <$> xs) <> " }"
60
+ kframe (Keyframes ident xs) = Just <<< That <<< Sheet $ " @-webkit-keyframes " <> ident <> " { " <> intercalate " " (uncurry frame <$> xs) <> " }\n "
61
61
62
62
frame :: Number -> [Rule ] -> String
63
63
frame p rs = show p <> " % " <> " { " <> x <> " }"
64
64
where x = fromMaybe " " <<< renderedInline $ rules [] rs
65
65
66
66
face :: [Rule ] -> Rendered
67
- face rs = Just <<< That <<< Sheet $ " @font-face { " <> fromMaybe " " (renderedInline $ rules [] rs) <> " }"
67
+ face rs = Just <<< That <<< Sheet $ " @font-face { " <> fromMaybe " " (renderedInline $ rules [] rs) <> " }\n "
68
68
69
69
rules :: [App ] -> [Rule ] -> Rendered
70
- rules sel rs = topRules <> nestedSheets <> keyframeRules <> faceRules
70
+ rules sel rs = topRules <> importRules <> keyframeRules <> faceRules <> nestedSheets
71
71
where property (Property k v) = Just (Tuple k v)
72
72
property _ = Nothing
73
73
nested (Nested a ns ) = Just (Tuple a ns)
@@ -76,11 +76,17 @@ rules sel rs = topRules <> nestedSheets <> keyframeRules <> faceRules
76
76
kframes _ = Nothing
77
77
faces (Face ns ) = Just ns
78
78
faces _ = Nothing
79
- topRules = rule' sel (mapMaybe property rs)
80
- nestedSheets = intercalate (Just (That (Sheet " " ))) $ uncurry nestedRules <$> mapMaybe nested rs
79
+ imports (Import i ) = Just i
80
+ imports _ = Nothing
81
+ topRules = rule' sel (mapMaybe property rs)
82
+ nestedSheets = intercalate (Just (That (Sheet " " ))) $ uncurry nestedRules <$> mapMaybe nested rs
81
83
nestedRules a = rules (a : sel)
82
84
keyframeRules = foldMap kframe $ mapMaybe kframes rs
83
- faceRules = foldMap face $ mapMaybe faces rs
85
+ faceRules = foldMap face $ mapMaybe faces rs
86
+ importRules = foldMap imp $ mapMaybe imports rs
87
+
88
+ imp :: String -> Rendered
89
+ imp t = Just <<< That <<< Sheet <<< fromString $ " @import url(" <> t <> " );\n "
84
90
85
91
rule' :: forall a . [App ] -> [Tuple (Key a ) Value ] -> Rendered
86
92
rule' sel props = maybe q o $ nel sel
0 commit comments