-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Parsing, rendering and manipulating css selectors in Haskell. -- -- A library for parsing, manipulating, and rendering css selectors (not -- css files, just the selectors). -- -- It has a quasiquoter to enable Haskell to validate the css -- selector at compile time. -- -- Currently the css grammar is implemented without the -- pseudo-classes, pseudo-elements and negations. One can furthermore -- calculate the specificity of a css-selector, and thus perform an -- analysis over what css-selector will take precedence. @package css-selectors @version 0.4.0.2 -- | A module to encode and decode css selector strings. These are used in -- the parser and renderer to parse and render css selector strings. module Css3.Selector.Utils -- | Parse a given css identifier to the content of the identifier. readIdentifier :: String -> String -- | Encode a given identifier to its css selector equivalent by escaping -- certain characters. encodeIdentifier :: Text -> Text -- | Check if the given identifier is a valid css selector identifier. isValidIdentifier :: String -> Bool -- | Convert the given string to a given object by first checking if it is -- a valid identifier, and if not raising an error. If it is a valid -- identifier, the string is packed, and wrapped in the given function. toIdentifier :: (Text -> a) -> String -> a -- | Parses a css string literal to a string that ontains the content of -- that string literal. readCssString :: String -> String -- | Convert a string to a css selector string literal. This is done by -- putting quotes around the content, and escaping certain characters. encodeString :: Char -> String -> String -- | Convert a string to a css selector string literal. This is done by -- putting quotes around the content, and escaping certain characters. encodeText :: Char -> Text -> Text -- | A module that defines the tree of types to represent and manipulate a -- css selector. These data types are members of several typeclasses to -- make these more useful. module Css3.Selector.Core -- | A class that defines that the given type can be converted to a css -- selector value, and has a certain specificity. class ToCssSelector a -- | Convert the given element to a Text object that contains the -- css selector. toCssSelector :: ToCssSelector a => a -> Text -- | Lift the given ToCssSelector type object to a -- SelectorGroup, which is the "root type" of the css selector -- hierarchy. toSelectorGroup :: ToCssSelector a => a -> SelectorGroup -- | Calculate the specificity of the css selector by returing a -- SelectorSpecificity object. specificity' :: ToCssSelector a => a -> SelectorSpecificity toPattern :: ToCssSelector a => a -> Pat normalize :: ToCssSelector a => a -> a -- | The type of a single selector. This is a sequence of -- SelectorSequences that are combined with a -- SelectorCombinator. data Selector -- | Convert a given SelectorSequence to a Selector. Selector :: SelectorSequence -> Selector -- | Create a combined selector where we have a SelectorSequence -- that is combined with a given SelectorCombinator to a -- Selector. Combined :: SelectorSequence -> SelectorCombinator -> Selector -> Selector -- | A type that contains the possible ways to combine -- SelectorSequences. data SelectorCombinator -- | The second tag is a descendant of the first one, denoted in css with a -- space. Descendant :: SelectorCombinator -- | The second tag is the (direct) child of the first one, denoted with a -- > in css. Child :: SelectorCombinator -- | The second tag is directly preceded by the first one, denoted with a -- + in css. DirectlyPreceded :: SelectorCombinator -- | The second tag is preceded by the first one, denoted with a ~ -- in css. Preceded :: SelectorCombinator -- | The root type of a css selector. This is a comma-separated list of -- selectors. newtype SelectorGroup SelectorGroup :: NonEmpty Selector -> SelectorGroup -- | Unwrap the given NonEmpty list of Selectors from the -- SelectorGroup object. [unSelectorGroup] :: SelectorGroup -> NonEmpty Selector -- | A SelectorSequence is a TypeSelector (that can be -- Universal) followed by zero, one or more SelectorFilters -- these filter the selector further, for example with a Hash, a -- Class, or an Attrib. data SelectorSequence -- | Convert a TypeSelector into a SimpleSelector. SimpleSelector :: TypeSelector -> SelectorSequence -- | Apply an additional SelectorFilter to the -- SelectorSequence. Filter :: SelectorSequence -> SelectorFilter -> SelectorSequence -- | Convert the SelectorCombinator to the equivalent css selector -- text. A space for Descendant, a > for Child, -- a + for DirectlyPreceded, and a ~ for -- Preceded combinatorText :: SelectorCombinator -> Text -- | Combines two Selectors with the given -- SelectorCombinator. combine :: SelectorCombinator -> Selector -> Selector -> Selector -- | Combines two Selectors with the Child combinator. (.>) :: Selector -> Selector -> Selector -- | Combines two Selectors with the DirectlyPreceded -- combinator. (.+) :: Selector -> Selector -> Selector -- | Combines two Selectors with the Preceded combinator. (.~) :: Selector -> Selector -> Selector -- | A type that sums up the different ways to filter a type selector: with -- an id (hash), a class, and an attribute. data SelectorFilter -- | A Hash object as filter. SHash :: Hash -> SelectorFilter -- | A Class object as filter. SClass :: Class -> SelectorFilter -- | An Attrib object as filter. SAttrib :: Attrib -> SelectorFilter -- | Obtain the list of filters that are applied in the given -- SelectorSequence. filters :: SelectorSequence -> [SelectorFilter] -- | Obtain the list of filters that are applied in the given -- SelectorSequence in reversed order. filters' :: SelectorSequence -> [SelectorFilter] -- | Add a given list of SelectorFilters to the given -- SelectorSequence. The filters are applied left-to-right. addFilters :: SelectorSequence -> [SelectorFilter] -> SelectorSequence -- | An infix variant of the addFilters function. (.:) :: SelectorSequence -> [SelectorFilter] -> SelectorSequence -- | The namespace of a css selector tag. The namespace can be NAny -- (all possible namespaces), or a namespace with a given text (this text -- can be empty). data Namespace -- | A typeselector part that specifies that we accept all namespaces, in -- css denoted with *. NAny :: Namespace -- | A typselector part that specifies that we accept a certain namespace -- name. Namespace :: Text -> Namespace -- | The empty namespace. This is not the wildcard namespace -- (*). This is a bidirectional namespace and can thus be used -- in expressions as well. pattern NEmpty :: Namespace -- | The element name of a css selector tag. The element name can be -- EAny (all possible tag names), or an element name with a given -- text. data ElementName -- | A typeselector part that specifies that we accept all element names, -- in css denoted with *. EAny :: ElementName -- | A typeselector part that specifies that we accept a certain element -- name. ElementName :: Text -> ElementName -- | A typeselector is a combination of a selector for a namespace, and a -- selector for an element name. One, or both can be a wildcard. data TypeSelector TypeSelector :: Namespace -> ElementName -> TypeSelector -- | The selector for the namespace. [selectorNamespace] :: TypeSelector -> Namespace -- | The selector for the element name. [elementName] :: TypeSelector -> ElementName -- | The universal type selector: a selector that matches all types in all -- namespaces (including the empty namespace). This pattern is -- bidirectional and thus can be used in expressions as well. pattern Universal :: TypeSelector -- | Construct a TypeSelector with a given Namespace and -- ElementName. (.|) :: Namespace -> ElementName -> TypeSelector -- | A css attribute can come in two flavors: either a constraint that the -- attribute should exists, or a constraint that a certain attribute -- should have a certain value (prefix, suffix, etc.). data Attrib -- | A constraint that the given AttributeName should exist. Exist :: AttributeName -> Attrib -- | A constraint about the value associated with the given -- AttributeName. Attrib :: AttributeName -> AttributeCombinator -> AttributeValue -> Attrib -- | The possible ways to match an attribute with a given value in a css -- selector. data AttributeCombinator -- | The attribute has exactly the value of the value, denoted with -- = in css. Exact :: AttributeCombinator -- | The attribute has a whitespace separated list of items, one of these -- items is the value, denoted with ~= in css. Include :: AttributeCombinator -- | The attribute has a hyphen separated list of items, the first item is -- the value, denoted with |= in css. DashMatch :: AttributeCombinator -- | The value is a prefix of the value in the attribute, denoted with -- ^= in css. PrefixMatch :: AttributeCombinator -- | The value is a suffix of the value in the attribute, denoted with -- $= in css. SuffixMatch :: AttributeCombinator -- | The value is a substring of the value in the attribute, denoted with -- *= in css. SubstringMatch :: AttributeCombinator -- | An attribute name is a name that optionally has a namespace, and the -- name of the attribute. data AttributeName AttributeName :: Namespace -> Text -> AttributeName -- | The namespace to which the attribute name belongs. This can be -- NAny as well. [attributeNamespace] :: AttributeName -> Namespace -- | The name of the attribute over which we make a claim. [attributeName] :: AttributeName -> Text -- | We use Text as the type to store an attribute value. type AttributeValue = Text -- | Create an Attrib where the given AttributeName is -- constrainted to be exactly the given value. (.=) :: AttributeName -> AttributeValue -> Attrib -- | Create an Attrib where the given AttributeName is -- constrainted such that the attribute is a whitespace seperated list of -- items, and the value is one of these items. (.~=) :: AttributeName -> AttributeValue -> Attrib -- | Create an Attrib where the given AttributeName is -- constrainted such that the attribute is a dash seperated list of -- items, and the value is the first of these items. (.|=) :: AttributeName -> AttributeValue -> Attrib -- | Create an Attrib where the given AttributeName is -- constrainted such that the attribute has as prefix the given -- AttributeValue. (.^=) :: AttributeName -> AttributeValue -> Attrib -- | Create an Attrib where the given AttributeName is -- constrainted such that the attribute has as suffix the given -- AttributeValue. (.$=) :: AttributeName -> AttributeValue -> Attrib -- | Create an Attrib where the given AttributeName is -- constrainted such that the attribute has as substring the given -- AttributeValue. (.*=) :: AttributeName -> AttributeValue -> Attrib -- | A flipped version of the Attrib data constructor, where one -- first specifies the conbinator, then the AttributeName and -- finally the value. attrib :: AttributeCombinator -> AttributeName -> AttributeValue -> Attrib -- | Convert the given AttributeCombinator to its css selector -- counterpart. attributeCombinatorText :: AttributeCombinator -> AttributeValue -- | A css class, this is wrapped in a data type. The type only wraps the -- class name, not the dot prefix. newtype Class Class :: Text -> Class -- | Obtain the name from the class. [unClass] :: Class -> Text -- | Filter a given SelectorSequence with a given Class. (...) :: SelectorSequence -> Class -> SelectorSequence -- | A css hash (used to match an element with a given id). The type only -- wraps the hash name, not the hash (#) prefix. newtype Hash Hash :: Text -> Hash -- | Obtain the name from the hash. [unHash] :: Hash -> Text -- | Filter a given SelectorSequence with a given Hash. (.#) :: SelectorSequence -> Hash -> SelectorSequence -- | A datastructure that specifies the selectivity of a css selector. The -- specificity is calculated based on three integers: a, -- b and c. -- -- The specificity is calculated with 100*a+10*b+c where -- a, b and c count certain elements of the -- css selector. data SelectorSpecificity -- | Create a SelectorSpecificity object with a given value for -- a, b, and c. SelectorSpecificity :: Int -> Int -> Int -> SelectorSpecificity -- | Calculate the specificity of a ToCssSelector type object. This -- is done by calculating the SelectorSpecificity object, and then -- calculating the value of that object. specificity :: ToCssSelector a => a -> Int -- | Calculate the specificity value of the SelectorSpecificity specificityValue :: SelectorSpecificity -> Int -- | Encode a value using binary serialisation to a lazy ByteString. encode :: Binary a => a -> ByteString -- | Decode a value from a lazy ByteString, reconstructing the original -- structure. decode :: Binary a => ByteString -> a -- | Convert the given item to a compressed ByteString. This can be -- used to write to and read from a file for example. The econding format -- is not an official format: it is constructed based on the structure of -- the Haskell types. That stream is then passed through a gzip -- implementation. compressEncode :: (Binary a, ToCssSelector a) => a -> ByteString -- | Convert the given item to a compressed ByteString. This can be -- used to write to and read from a file for example. The econding format -- is not an official format: it is constructed based on the structure of -- the Haskell types. That stream is then passed through a gzip -- implementation. compressEncodeWith :: (Binary a, ToCssSelector a) => CompressParams -> a -> ByteString -- | Convert the given item to a compressed ByteString. This can be -- used to write to and read from a file for example. The econding format -- is not an official format: it is constructed based on the structure of -- the Haskell types. That stream is then passed through a gzip -- implementation. decompressDecode :: (Binary a, ToCssSelector a) => ByteString -> a instance GHC.Show.Show Css3.Selector.Core.SelectorSpecificity instance GHC.Generics.Generic Css3.Selector.Core.SelectorSpecificity instance Data.Data.Data Css3.Selector.Core.SelectorSpecificity instance GHC.Show.Show Css3.Selector.Core.SelectorCombinator instance GHC.Read.Read Css3.Selector.Core.SelectorCombinator instance GHC.Classes.Ord Css3.Selector.Core.SelectorCombinator instance GHC.Generics.Generic Css3.Selector.Core.SelectorCombinator instance GHC.Classes.Eq Css3.Selector.Core.SelectorCombinator instance GHC.Enum.Enum Css3.Selector.Core.SelectorCombinator instance Data.Data.Data Css3.Selector.Core.SelectorCombinator instance GHC.Enum.Bounded Css3.Selector.Core.SelectorCombinator instance GHC.Show.Show Css3.Selector.Core.Namespace instance GHC.Classes.Ord Css3.Selector.Core.Namespace instance GHC.Generics.Generic Css3.Selector.Core.Namespace instance GHC.Classes.Eq Css3.Selector.Core.Namespace instance Data.Data.Data Css3.Selector.Core.Namespace instance GHC.Show.Show Css3.Selector.Core.ElementName instance GHC.Classes.Ord Css3.Selector.Core.ElementName instance GHC.Generics.Generic Css3.Selector.Core.ElementName instance GHC.Classes.Eq Css3.Selector.Core.ElementName instance Data.Data.Data Css3.Selector.Core.ElementName instance GHC.Show.Show Css3.Selector.Core.TypeSelector instance GHC.Classes.Ord Css3.Selector.Core.TypeSelector instance GHC.Generics.Generic Css3.Selector.Core.TypeSelector instance GHC.Classes.Eq Css3.Selector.Core.TypeSelector instance Data.Data.Data Css3.Selector.Core.TypeSelector instance GHC.Show.Show Css3.Selector.Core.AttributeName instance GHC.Classes.Ord Css3.Selector.Core.AttributeName instance GHC.Generics.Generic Css3.Selector.Core.AttributeName instance GHC.Classes.Eq Css3.Selector.Core.AttributeName instance Data.Data.Data Css3.Selector.Core.AttributeName instance GHC.Show.Show Css3.Selector.Core.AttributeCombinator instance GHC.Read.Read Css3.Selector.Core.AttributeCombinator instance GHC.Classes.Ord Css3.Selector.Core.AttributeCombinator instance GHC.Generics.Generic Css3.Selector.Core.AttributeCombinator instance GHC.Classes.Eq Css3.Selector.Core.AttributeCombinator instance GHC.Enum.Enum Css3.Selector.Core.AttributeCombinator instance Data.Data.Data Css3.Selector.Core.AttributeCombinator instance GHC.Enum.Bounded Css3.Selector.Core.AttributeCombinator instance GHC.Show.Show Css3.Selector.Core.Attrib instance GHC.Classes.Ord Css3.Selector.Core.Attrib instance GHC.Generics.Generic Css3.Selector.Core.Attrib instance GHC.Classes.Eq Css3.Selector.Core.Attrib instance Data.Data.Data Css3.Selector.Core.Attrib instance GHC.Show.Show Css3.Selector.Core.Class instance GHC.Classes.Ord Css3.Selector.Core.Class instance GHC.Generics.Generic Css3.Selector.Core.Class instance GHC.Classes.Eq Css3.Selector.Core.Class instance Data.Data.Data Css3.Selector.Core.Class instance GHC.Show.Show Css3.Selector.Core.Hash instance GHC.Classes.Ord Css3.Selector.Core.Hash instance GHC.Generics.Generic Css3.Selector.Core.Hash instance GHC.Classes.Eq Css3.Selector.Core.Hash instance Data.Data.Data Css3.Selector.Core.Hash instance GHC.Show.Show Css3.Selector.Core.SelectorFilter instance GHC.Classes.Ord Css3.Selector.Core.SelectorFilter instance GHC.Generics.Generic Css3.Selector.Core.SelectorFilter instance GHC.Classes.Eq Css3.Selector.Core.SelectorFilter instance Data.Data.Data Css3.Selector.Core.SelectorFilter instance GHC.Show.Show Css3.Selector.Core.SelectorSequence instance GHC.Classes.Ord Css3.Selector.Core.SelectorSequence instance GHC.Generics.Generic Css3.Selector.Core.SelectorSequence instance GHC.Classes.Eq Css3.Selector.Core.SelectorSequence instance Data.Data.Data Css3.Selector.Core.SelectorSequence instance GHC.Show.Show Css3.Selector.Core.Selector instance GHC.Classes.Ord Css3.Selector.Core.Selector instance GHC.Generics.Generic Css3.Selector.Core.Selector instance GHC.Classes.Eq Css3.Selector.Core.Selector instance Data.Data.Data Css3.Selector.Core.Selector instance GHC.Show.Show Css3.Selector.Core.SelectorGroup instance GHC.Classes.Ord Css3.Selector.Core.SelectorGroup instance GHC.Generics.Generic Css3.Selector.Core.SelectorGroup instance GHC.Classes.Eq Css3.Selector.Core.SelectorGroup instance Data.Data.Data Css3.Selector.Core.SelectorGroup instance Css3.Selector.Core.ToCssSelector Css3.Selector.Core.SelectorGroup instance Css3.Selector.Core.ToCssSelector Css3.Selector.Core.Class instance Css3.Selector.Core.ToCssSelector Css3.Selector.Core.Attrib instance Css3.Selector.Core.ToCssSelector Css3.Selector.Core.AttributeName instance Css3.Selector.Core.ToCssSelector Css3.Selector.Core.Hash instance Css3.Selector.Core.ToCssSelector Css3.Selector.Core.Namespace instance Css3.Selector.Core.ToCssSelector Css3.Selector.Core.SelectorSequence instance Css3.Selector.Core.ToCssSelector Css3.Selector.Core.TypeSelector instance Css3.Selector.Core.ToCssSelector Css3.Selector.Core.ElementName instance Css3.Selector.Core.ToCssSelector Css3.Selector.Core.SelectorFilter instance Css3.Selector.Core.ToCssSelector Css3.Selector.Core.Selector instance Data.Hashable.Class.Hashable Css3.Selector.Core.SelectorGroup instance GHC.Base.Semigroup Css3.Selector.Core.SelectorGroup instance GHC.Exts.IsList Css3.Selector.Core.SelectorGroup instance Data.Default.Class.Default Css3.Selector.Core.SelectorGroup instance Data.Binary.Class.Binary Css3.Selector.Core.SelectorGroup instance Language.Haskell.TH.Syntax.Lift Css3.Selector.Core.SelectorGroup instance Text.Blaze.ToMarkup Css3.Selector.Core.SelectorGroup instance Text.Julius.ToJavascript Css3.Selector.Core.SelectorGroup instance Data.Aeson.Types.ToJSON.ToJSON Css3.Selector.Core.SelectorGroup instance Test.QuickCheck.Arbitrary.Arbitrary Css3.Selector.Core.SelectorGroup instance Data.Hashable.Class.Hashable Css3.Selector.Core.Selector instance GHC.Base.Semigroup Css3.Selector.Core.Selector instance Data.Default.Class.Default Css3.Selector.Core.Selector instance Data.Binary.Class.Binary Css3.Selector.Core.Selector instance Language.Haskell.TH.Syntax.Lift Css3.Selector.Core.Selector instance Text.Blaze.ToMarkup Css3.Selector.Core.Selector instance Text.Julius.ToJavascript Css3.Selector.Core.Selector instance Data.Aeson.Types.ToJSON.ToJSON Css3.Selector.Core.Selector instance Test.QuickCheck.Arbitrary.Arbitrary Css3.Selector.Core.Selector instance Data.Hashable.Class.Hashable Css3.Selector.Core.SelectorSequence instance Data.Default.Class.Default Css3.Selector.Core.SelectorSequence instance Data.Binary.Class.Binary Css3.Selector.Core.SelectorSequence instance Language.Haskell.TH.Syntax.Lift Css3.Selector.Core.SelectorSequence instance Text.Blaze.ToMarkup Css3.Selector.Core.SelectorSequence instance Text.Julius.ToJavascript Css3.Selector.Core.SelectorSequence instance Data.Aeson.Types.ToJSON.ToJSON Css3.Selector.Core.SelectorSequence instance Test.QuickCheck.Arbitrary.Arbitrary Css3.Selector.Core.SelectorSequence instance Data.Hashable.Class.Hashable Css3.Selector.Core.SelectorFilter instance Data.Binary.Class.Binary Css3.Selector.Core.SelectorFilter instance Language.Haskell.TH.Syntax.Lift Css3.Selector.Core.SelectorFilter instance Text.Blaze.ToMarkup Css3.Selector.Core.SelectorFilter instance Text.Julius.ToJavascript Css3.Selector.Core.SelectorFilter instance Data.Aeson.Types.ToJSON.ToJSON Css3.Selector.Core.SelectorFilter instance Test.QuickCheck.Arbitrary.Arbitrary Css3.Selector.Core.SelectorFilter instance Data.Hashable.Class.Hashable Css3.Selector.Core.Hash instance Data.String.IsString Css3.Selector.Core.Hash instance Data.Binary.Class.Binary Css3.Selector.Core.Hash instance Test.QuickCheck.Arbitrary.Arbitrary Css3.Selector.Core.Hash instance Data.Hashable.Class.Hashable Css3.Selector.Core.Class instance Data.String.IsString Css3.Selector.Core.Class instance Data.Binary.Class.Binary Css3.Selector.Core.Class instance Test.QuickCheck.Arbitrary.Arbitrary Css3.Selector.Core.Class instance Data.Hashable.Class.Hashable Css3.Selector.Core.Attrib instance Data.String.IsString Css3.Selector.Core.Attrib instance Data.Binary.Class.Binary Css3.Selector.Core.Attrib instance Language.Haskell.TH.Syntax.Lift Css3.Selector.Core.Attrib instance Text.Blaze.ToMarkup Css3.Selector.Core.Attrib instance Text.Julius.ToJavascript Css3.Selector.Core.Attrib instance Data.Aeson.Types.ToJSON.ToJSON Css3.Selector.Core.Attrib instance Test.QuickCheck.Arbitrary.Arbitrary Css3.Selector.Core.Attrib instance Data.Hashable.Class.Hashable Css3.Selector.Core.AttributeCombinator instance Data.Default.Class.Default Css3.Selector.Core.AttributeCombinator instance Data.Binary.Class.Binary Css3.Selector.Core.AttributeCombinator instance Test.QuickCheck.Arbitrary.Arbitrary Css3.Selector.Core.AttributeCombinator instance Data.Hashable.Class.Hashable Css3.Selector.Core.AttributeName instance Data.String.IsString Css3.Selector.Core.AttributeName instance Data.Binary.Class.Binary Css3.Selector.Core.AttributeName instance Test.QuickCheck.Arbitrary.Arbitrary Css3.Selector.Core.AttributeName instance Data.Hashable.Class.Hashable Css3.Selector.Core.TypeSelector instance Data.Default.Class.Default Css3.Selector.Core.TypeSelector instance Data.Binary.Class.Binary Css3.Selector.Core.TypeSelector instance Test.QuickCheck.Arbitrary.Arbitrary Css3.Selector.Core.TypeSelector instance Data.Hashable.Class.Hashable Css3.Selector.Core.ElementName instance GHC.Base.Semigroup Css3.Selector.Core.ElementName instance GHC.Base.Monoid Css3.Selector.Core.ElementName instance Data.String.IsString Css3.Selector.Core.ElementName instance Data.Default.Class.Default Css3.Selector.Core.ElementName instance Data.Binary.Class.Binary Css3.Selector.Core.ElementName instance Test.QuickCheck.Arbitrary.Arbitrary Css3.Selector.Core.ElementName instance Data.Hashable.Class.Hashable Css3.Selector.Core.Namespace instance GHC.Base.Semigroup Css3.Selector.Core.Namespace instance GHC.Base.Monoid Css3.Selector.Core.Namespace instance Data.String.IsString Css3.Selector.Core.Namespace instance Data.Default.Class.Default Css3.Selector.Core.Namespace instance Data.Binary.Class.Binary Css3.Selector.Core.Namespace instance Test.QuickCheck.Arbitrary.Arbitrary Css3.Selector.Core.Namespace instance Data.Hashable.Class.Hashable Css3.Selector.Core.SelectorCombinator instance Data.Default.Class.Default Css3.Selector.Core.SelectorCombinator instance Data.Binary.Class.Binary Css3.Selector.Core.SelectorCombinator instance Language.Haskell.TH.Syntax.Lift Css3.Selector.Core.SelectorCombinator instance Test.QuickCheck.Arbitrary.Arbitrary Css3.Selector.Core.SelectorCombinator instance Data.Hashable.Class.Hashable Css3.Selector.Core.SelectorSpecificity instance GHC.Base.Semigroup Css3.Selector.Core.SelectorSpecificity instance GHC.Base.Monoid Css3.Selector.Core.SelectorSpecificity instance GHC.Classes.Eq Css3.Selector.Core.SelectorSpecificity instance GHC.Classes.Ord Css3.Selector.Core.SelectorSpecificity instance Data.Default.Class.Default Css3.Selector.Core.SelectorSpecificity instance Data.Binary.Class.Binary Css3.Selector.Core.SelectorSpecificity -- | A module that defines a quasiquoter to parse a string to a css -- selector. module Css3.Selector.QuasiQuoters -- | A quasiquoter that can be used to construct a SelectorGroup for -- the given css selector. In case the css selector is invalid. A -- compiler error will be thrown (at compile time). csssel :: QuasiQuoter -- | A quasiquoter that takes the content from the file, and then runs the -- content of that file as a csssel quasiquote. cssselFile :: QuasiQuoter -- | Parse the string to a SelectorGroup. parseCss :: String -> SelectorGroup -- | A module for backwards compatibility that re-exports -- QuasiQuoters. This module is deprecated and eventually will be -- removed. -- | Deprecated: Use Css3.Selector.QuasiQuoters instead module Css.Selector.QuasiQuoters -- | A module for backwards compatibility that re-exports Core. This -- module is deprecated and eventually will be removed. -- | Deprecated: Use Css3.Selector.Core instead module Css.Selector.Core -- | A module to define css selectors by making use of a quasiquoter, and -- manipulating these css selectors. module Css3.Selector -- | A module for backwards compatibility that re-exports Selector. -- This module is deprecated and eventually will be removed. -- | Deprecated: Use Css3.Selector instead module Css.Selector -- | A module for backwards compatibility that re-exports Utils. -- This module is deprecated and eventually will be removed. -- | Deprecated: Use Css3.Selector.Utils instead module Css.Selector.Utils