module Web.HTML.Common where

import HPrelude

newtype PropName value = PropName Text
  deriving (PropName value -> PropName value -> Bool
(PropName value -> PropName value -> Bool)
-> (PropName value -> PropName value -> Bool)
-> Eq (PropName value)
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
forall k (value :: k). PropName value -> PropName value -> Bool
$c== :: forall k (value :: k). PropName value -> PropName value -> Bool
== :: PropName value -> PropName value -> Bool
$c/= :: forall k (value :: k). PropName value -> PropName value -> Bool
/= :: PropName value -> PropName value -> Bool
Eq, Eq (PropName value)
Eq (PropName value) =>
(PropName value -> PropName value -> Ordering)
-> (PropName value -> PropName value -> Bool)
-> (PropName value -> PropName value -> Bool)
-> (PropName value -> PropName value -> Bool)
-> (PropName value -> PropName value -> Bool)
-> (PropName value -> PropName value -> PropName value)
-> (PropName value -> PropName value -> PropName value)
-> Ord (PropName value)
PropName value -> PropName value -> Bool
PropName value -> PropName value -> Ordering
PropName value -> PropName value -> PropName value
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall k (value :: k). Eq (PropName value)
forall k (value :: k). PropName value -> PropName value -> Bool
forall k (value :: k). PropName value -> PropName value -> Ordering
forall k (value :: k).
PropName value -> PropName value -> PropName value
$ccompare :: forall k (value :: k). PropName value -> PropName value -> Ordering
compare :: PropName value -> PropName value -> Ordering
$c< :: forall k (value :: k). PropName value -> PropName value -> Bool
< :: PropName value -> PropName value -> Bool
$c<= :: forall k (value :: k). PropName value -> PropName value -> Bool
<= :: PropName value -> PropName value -> Bool
$c> :: forall k (value :: k). PropName value -> PropName value -> Bool
> :: PropName value -> PropName value -> Bool
$c>= :: forall k (value :: k). PropName value -> PropName value -> Bool
>= :: PropName value -> PropName value -> Bool
$cmax :: forall k (value :: k).
PropName value -> PropName value -> PropName value
max :: PropName value -> PropName value -> PropName value
$cmin :: forall k (value :: k).
PropName value -> PropName value -> PropName value
min :: PropName value -> PropName value -> PropName value
Ord, Int -> PropName value -> ShowS
[PropName value] -> ShowS
PropName value -> String
(Int -> PropName value -> ShowS)
-> (PropName value -> String)
-> ([PropName value] -> ShowS)
-> Show (PropName value)
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
forall k (value :: k). Int -> PropName value -> ShowS
forall k (value :: k). [PropName value] -> ShowS
forall k (value :: k). PropName value -> String
$cshowsPrec :: forall k (value :: k). Int -> PropName value -> ShowS
showsPrec :: Int -> PropName value -> ShowS
$cshow :: forall k (value :: k). PropName value -> String
show :: PropName value -> String
$cshowList :: forall k (value :: k). [PropName value] -> ShowS
showList :: [PropName value] -> ShowS
Show, String -> PropName value
(String -> PropName value) -> IsString (PropName value)
forall a. (String -> a) -> IsString a
forall k (value :: k). String -> PropName value
$cfromString :: forall k (value :: k). String -> PropName value
fromString :: String -> PropName value
IsString)

newtype AttrName = AttrName Text
  deriving (AttrName -> AttrName -> Bool
(AttrName -> AttrName -> Bool)
-> (AttrName -> AttrName -> Bool) -> Eq AttrName
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: AttrName -> AttrName -> Bool
== :: AttrName -> AttrName -> Bool
$c/= :: AttrName -> AttrName -> Bool
/= :: AttrName -> AttrName -> Bool
Eq, Eq AttrName
Eq AttrName =>
(AttrName -> AttrName -> Ordering)
-> (AttrName -> AttrName -> Bool)
-> (AttrName -> AttrName -> Bool)
-> (AttrName -> AttrName -> Bool)
-> (AttrName -> AttrName -> Bool)
-> (AttrName -> AttrName -> AttrName)
-> (AttrName -> AttrName -> AttrName)
-> Ord AttrName
AttrName -> AttrName -> Bool
AttrName -> AttrName -> Ordering
AttrName -> AttrName -> AttrName
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: AttrName -> AttrName -> Ordering
compare :: AttrName -> AttrName -> Ordering
$c< :: AttrName -> AttrName -> Bool
< :: AttrName -> AttrName -> Bool
$c<= :: AttrName -> AttrName -> Bool
<= :: AttrName -> AttrName -> Bool
$c> :: AttrName -> AttrName -> Bool
> :: AttrName -> AttrName -> Bool
$c>= :: AttrName -> AttrName -> Bool
>= :: AttrName -> AttrName -> Bool
$cmax :: AttrName -> AttrName -> AttrName
max :: AttrName -> AttrName -> AttrName
$cmin :: AttrName -> AttrName -> AttrName
min :: AttrName -> AttrName -> AttrName
Ord, Int -> AttrName -> ShowS
[AttrName] -> ShowS
AttrName -> String
(Int -> AttrName -> ShowS)
-> (AttrName -> String) -> ([AttrName] -> ShowS) -> Show AttrName
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> AttrName -> ShowS
showsPrec :: Int -> AttrName -> ShowS
$cshow :: AttrName -> String
show :: AttrName -> String
$cshowList :: [AttrName] -> ShowS
showList :: [AttrName] -> ShowS
Show, String -> AttrName
(String -> AttrName) -> IsString AttrName
forall a. (String -> a) -> IsString a
$cfromString :: String -> AttrName
fromString :: String -> AttrName
IsString)

newtype ClassName = ClassName Text
  deriving (ClassName -> ClassName -> Bool
(ClassName -> ClassName -> Bool)
-> (ClassName -> ClassName -> Bool) -> Eq ClassName
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ClassName -> ClassName -> Bool
== :: ClassName -> ClassName -> Bool
$c/= :: ClassName -> ClassName -> Bool
/= :: ClassName -> ClassName -> Bool
Eq, Eq ClassName
Eq ClassName =>
(ClassName -> ClassName -> Ordering)
-> (ClassName -> ClassName -> Bool)
-> (ClassName -> ClassName -> Bool)
-> (ClassName -> ClassName -> Bool)
-> (ClassName -> ClassName -> Bool)
-> (ClassName -> ClassName -> ClassName)
-> (ClassName -> ClassName -> ClassName)
-> Ord ClassName
ClassName -> ClassName -> Bool
ClassName -> ClassName -> Ordering
ClassName -> ClassName -> ClassName
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: ClassName -> ClassName -> Ordering
compare :: ClassName -> ClassName -> Ordering
$c< :: ClassName -> ClassName -> Bool
< :: ClassName -> ClassName -> Bool
$c<= :: ClassName -> ClassName -> Bool
<= :: ClassName -> ClassName -> Bool
$c> :: ClassName -> ClassName -> Bool
> :: ClassName -> ClassName -> Bool
$c>= :: ClassName -> ClassName -> Bool
>= :: ClassName -> ClassName -> Bool
$cmax :: ClassName -> ClassName -> ClassName
max :: ClassName -> ClassName -> ClassName
$cmin :: ClassName -> ClassName -> ClassName
min :: ClassName -> ClassName -> ClassName
Ord, Int -> ClassName -> ShowS
[ClassName] -> ShowS
ClassName -> String
(Int -> ClassName -> ShowS)
-> (ClassName -> String)
-> ([ClassName] -> ShowS)
-> Show ClassName
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> ClassName -> ShowS
showsPrec :: Int -> ClassName -> ShowS
$cshow :: ClassName -> String
show :: ClassName -> String
$cshowList :: [ClassName] -> ShowS
showList :: [ClassName] -> ShowS
Show, String -> ClassName
(String -> ClassName) -> IsString ClassName
forall a. (String -> a) -> IsString a
$cfromString :: String -> ClassName
fromString :: String -> ClassName
IsString)