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' {}
- 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 Source # addRule :: QueryableStyleSheet' s p -> StyleRule -> QueryableStyleSheet' s p Source # addAtRule :: QueryableStyleSheet' s p -> Text -> [Token] -> (QueryableStyleSheet' s p, [Token]) Source # |
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 Source #
Defines how to parse CSS properties into an output "style" format.
Default styles.
Creates a style inherited from a parent style.
shorthand :: a -> Text -> [Token] -> [(Text, [Token])] Source #
Expand a shorthand property into longhand properties.
longhand :: a -> a -> Text -> [Token] -> Maybe a Source #
getVars :: a -> Props Source #
Retrieve stored variables, optional.
setVars :: Props -> a -> a Source #
Save variable values, optional.
Instances
PropertyParser TrivialPropertyParser Source # | |
Defined in Data.CSS.Style.Cascade temp :: TrivialPropertyParser Source # inherit :: TrivialPropertyParser -> TrivialPropertyParser Source # shorthand :: TrivialPropertyParser -> Text -> [Token] -> [(Text, [Token])] Source # longhand :: TrivialPropertyParser -> TrivialPropertyParser -> Text -> [Token] -> Maybe TrivialPropertyParser Source # getVars :: TrivialPropertyParser -> Props Source # setVars :: Props -> TrivialPropertyParser -> TrivialPropertyParser Source # | |
PropertyParser p => PropertyParser (VarParser p) Source # | |
PropertyParser p => PropertyParser (TextStyle p) Source # | |
cascade :: PropertyParser p => QueryableStyleSheet p -> Element -> Props -> p -> p Source #
Facade over queryRules
& cascade
` for simple cases you don't care about psuedoelements.
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 # | |
data TrivialPropertyParser Source #
Gather properties into a hashmap.
Instances
Eq TrivialPropertyParser Source # | |
Defined in Data.CSS.Style.Cascade (==) :: TrivialPropertyParser -> TrivialPropertyParser -> Bool # (/=) :: TrivialPropertyParser -> TrivialPropertyParser -> Bool # | |
Show TrivialPropertyParser Source # | |
Defined in Data.CSS.Style.Cascade showsPrec :: Int -> TrivialPropertyParser -> ShowS # show :: TrivialPropertyParser -> String # showList :: [TrivialPropertyParser] -> ShowS # | |
PropertyParser TrivialPropertyParser Source # | |
Defined in Data.CSS.Style.Cascade temp :: TrivialPropertyParser Source # inherit :: TrivialPropertyParser -> TrivialPropertyParser Source # shorthand :: TrivialPropertyParser -> Text -> [Token] -> [(Text, [Token])] Source # longhand :: TrivialPropertyParser -> TrivialPropertyParser -> Text -> [Token] -> Maybe TrivialPropertyParser Source # getVars :: TrivialPropertyParser -> Props Source # setVars :: Props -> TrivialPropertyParser -> TrivialPropertyParser Source # |
An inversely-linked tree of elements, to apply CSS selectors to.