Safe Haskell | None |
---|---|
Language | Haskell2010 |
Queries computed styles out of a specially-parsed CSS stylesheet.
See in particular QueryableStyleSheet
, queryRules
, & cascade
`.
Synopsis
- type QueryableStyleSheet parser = QueryableStyleSheet' (ImportanceSplitter (PropertyExpander parser (OrderedRuleStore (WhereLowerer (InterpretedRuleStore StyleIndex))))) parser
- data QueryableStyleSheet' store parser = QueryableStyleSheet' {
- store :: store
- parser :: parser
- priorities :: [Int]
- layers :: Tree
- layerNamespace :: [Text]
- queryableStyleSheet :: PropertyParser p => QueryableStyleSheet p
- queryRules :: (PropertyParser p, RuleStore s) => QueryableStyleSheet' s p -> Element -> HashMap Text [StyleRule']
- class PropertyParser a where
- cascade :: PropertyParser p => QueryableStyleSheet p -> Element -> Props -> p -> p
- cascade' :: PropertyParser p => [StyleRule'] -> Props -> p -> p
- data VarParser a = VarParser {
- vars :: Props
- innerParser :: a
- data TrivialPropertyParser = TrivialPropertyParser (HashMap String [Token])
- data Element = ElementNode {}
- data Attribute = Attribute Text Text String
Documentation
type QueryableStyleSheet parser = QueryableStyleSheet' (ImportanceSplitter (PropertyExpander parser (OrderedRuleStore (WhereLowerer (InterpretedRuleStore StyleIndex))))) parser Source #
A parsed CSS stylesheet from which you can query styles to match an element.
data QueryableStyleSheet' store parser Source #
More generic version of QueryableStyleSheet
.
QueryableStyleSheet' | |
|
Instances
(RuleStore s, PropertyParser p) => StyleSheet (QueryableStyleSheet' s p) Source # | |
Defined in Data.CSS.Style setPriority :: Int -> QueryableStyleSheet' s p -> QueryableStyleSheet' s p # setPriorities :: [Int] -> QueryableStyleSheet' s p -> QueryableStyleSheet' s p # addRule :: QueryableStyleSheet' s p -> StyleRule -> QueryableStyleSheet' s p # addAtRule :: QueryableStyleSheet' s p -> Text -> [Token] -> (QueryableStyleSheet' s p, [Token]) # |
queryableStyleSheet :: PropertyParser p => QueryableStyleSheet p Source #
Constructs an empty QueryableStyleSheet'.
queryRules :: (PropertyParser p, RuleStore s) => QueryableStyleSheet' s p -> Element -> HashMap Text [StyleRule'] Source #
Looks up style rules matching the specified element, grouped by psuedoelement.
class PropertyParser a where #
shorthand :: a -> Text -> [Token] -> [(Text, [Token])] #
Instances
PropertyParser TrivialPropertyParser | |
Defined in Stylist temp :: TrivialPropertyParser # inherit :: TrivialPropertyParser -> TrivialPropertyParser # priority :: TrivialPropertyParser -> [Text] # shorthand :: TrivialPropertyParser -> Text -> [Token] -> [(Text, [Token])] # longhand :: TrivialPropertyParser -> TrivialPropertyParser -> Text -> [Token] -> Maybe TrivialPropertyParser # getVars :: TrivialPropertyParser -> Props # setVars :: Props -> TrivialPropertyParser -> TrivialPropertyParser # pseudoEl :: TrivialPropertyParser -> Text -> (TrivialPropertyParser -> Maybe TrivialPropertyParser -> TrivialPropertyParser) -> TrivialPropertyParser # | |
PropertyParser TrivialPropertyParser Source # | |
Defined in Data.CSS.Style.Cascade temp :: TrivialPropertyParser # inherit :: TrivialPropertyParser -> TrivialPropertyParser # priority :: TrivialPropertyParser -> [Text] # shorthand :: TrivialPropertyParser -> Text -> [Token] -> [(Text, [Token])] # longhand :: TrivialPropertyParser -> TrivialPropertyParser -> Text -> [Token] -> Maybe TrivialPropertyParser # getVars :: TrivialPropertyParser -> Props # setVars :: Props -> TrivialPropertyParser -> TrivialPropertyParser # pseudoEl :: TrivialPropertyParser -> Text -> (TrivialPropertyParser -> Maybe TrivialPropertyParser -> TrivialPropertyParser) -> TrivialPropertyParser # | |
PropertyParser p => PropertyParser (VarParser p) Source # | |
Defined in Data.CSS.Style inherit :: VarParser p -> VarParser p # priority :: VarParser p -> [Text] # shorthand :: VarParser p -> Text -> [Token] -> [(Text, [Token])] # longhand :: VarParser p -> VarParser p -> Text -> [Token] -> Maybe (VarParser p) # getVars :: VarParser p -> Props # setVars :: Props -> VarParser p -> VarParser p # pseudoEl :: VarParser p -> Text -> (VarParser p -> Maybe (VarParser p) -> VarParser p) -> VarParser p # | |
PropertyParser p => PropertyParser (TextStyle p) Source # | |
Defined in Data.CSS.Preprocessor.Text inherit :: TextStyle p -> TextStyle p # priority :: TextStyle p -> [Text] # shorthand :: TextStyle p -> Text -> [Token] -> [(Text, [Token])] # longhand :: TextStyle p -> TextStyle p -> Text -> [Token] -> Maybe (TextStyle p) # getVars :: TextStyle p -> Props # setVars :: Props -> TextStyle p -> TextStyle p # pseudoEl :: TextStyle p -> Text -> (TextStyle p -> Maybe (TextStyle p) -> TextStyle p) -> TextStyle p # |
cascade :: PropertyParser p => QueryableStyleSheet p -> Element -> Props -> p -> p Source #
Facade over queryRules
& cascade
`.
Instead of exposing pseudoelements to callers it exposes pseudoelements to
the PropertyParser
implementation.
cascade' :: PropertyParser p => [StyleRule'] -> Props -> p -> p Source #
Selects used property values from the given style rules,
& populates into a new PropertyParser
inheriting from the one given.
PropertyParser
that lowers var() calls before forwarding to another.
VarParser | |
|
Instances
PropertyParser p => PropertyParser (VarParser p) Source # | |
Defined in Data.CSS.Style inherit :: VarParser p -> VarParser p # priority :: VarParser p -> [Text] # shorthand :: VarParser p -> Text -> [Token] -> [(Text, [Token])] # longhand :: VarParser p -> VarParser p -> Text -> [Token] -> Maybe (VarParser p) # getVars :: VarParser p -> Props # setVars :: Props -> VarParser p -> VarParser p # pseudoEl :: VarParser p -> Text -> (VarParser p -> Maybe (VarParser p) -> VarParser p) -> VarParser p # |
data TrivialPropertyParser Source #
Gather properties into a hashmap.
TrivialPropertyParser (HashMap String [Token]) |