-- 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.3
-- | 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