{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.QuickSight.Types.Icon
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.QuickSight.Types.Icon
  ( Icon
      ( ..,
        Icon_ARROW_DOWN,
        Icon_ARROW_DOWN_LEFT,
        Icon_ARROW_DOWN_RIGHT,
        Icon_ARROW_LEFT,
        Icon_ARROW_RIGHT,
        Icon_ARROW_UP,
        Icon_ARROW_UP_LEFT,
        Icon_ARROW_UP_RIGHT,
        Icon_CARET_DOWN,
        Icon_CARET_UP,
        Icon_CHECKMARK,
        Icon_CIRCLE,
        Icon_FACE_DOWN,
        Icon_FACE_FLAT,
        Icon_FACE_UP,
        Icon_FLAG,
        Icon_MINUS,
        Icon_ONE_BAR,
        Icon_PLUS,
        Icon_SQUARE,
        Icon_THREE_BAR,
        Icon_THUMBS_DOWN,
        Icon_THUMBS_UP,
        Icon_TRIANGLE,
        Icon_TWO_BAR,
        Icon_X
      ),
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude

newtype Icon = Icon' {Icon -> Text
fromIcon :: Data.Text}
  deriving stock
    ( Int -> Icon -> ShowS
[Icon] -> ShowS
Icon -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Icon] -> ShowS
$cshowList :: [Icon] -> ShowS
show :: Icon -> String
$cshow :: Icon -> String
showsPrec :: Int -> Icon -> ShowS
$cshowsPrec :: Int -> Icon -> ShowS
Prelude.Show,
      ReadPrec [Icon]
ReadPrec Icon
Int -> ReadS Icon
ReadS [Icon]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Icon]
$creadListPrec :: ReadPrec [Icon]
readPrec :: ReadPrec Icon
$creadPrec :: ReadPrec Icon
readList :: ReadS [Icon]
$creadList :: ReadS [Icon]
readsPrec :: Int -> ReadS Icon
$creadsPrec :: Int -> ReadS Icon
Prelude.Read,
      Icon -> Icon -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Icon -> Icon -> Bool
$c/= :: Icon -> Icon -> Bool
== :: Icon -> Icon -> Bool
$c== :: Icon -> Icon -> Bool
Prelude.Eq,
      Eq Icon
Icon -> Icon -> Bool
Icon -> Icon -> Ordering
Icon -> Icon -> Icon
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
min :: Icon -> Icon -> Icon
$cmin :: Icon -> Icon -> Icon
max :: Icon -> Icon -> Icon
$cmax :: Icon -> Icon -> Icon
>= :: Icon -> Icon -> Bool
$c>= :: Icon -> Icon -> Bool
> :: Icon -> Icon -> Bool
$c> :: Icon -> Icon -> Bool
<= :: Icon -> Icon -> Bool
$c<= :: Icon -> Icon -> Bool
< :: Icon -> Icon -> Bool
$c< :: Icon -> Icon -> Bool
compare :: Icon -> Icon -> Ordering
$ccompare :: Icon -> Icon -> Ordering
Prelude.Ord,
      forall x. Rep Icon x -> Icon
forall x. Icon -> Rep Icon x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep Icon x -> Icon
$cfrom :: forall x. Icon -> Rep Icon x
Prelude.Generic
    )
  deriving newtype
    ( Eq Icon
Int -> Icon -> Int
Icon -> Int
forall a. Eq a -> (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: Icon -> Int
$chash :: Icon -> Int
hashWithSalt :: Int -> Icon -> Int
$chashWithSalt :: Int -> Icon -> Int
Prelude.Hashable,
      Icon -> ()
forall a. (a -> ()) -> NFData a
rnf :: Icon -> ()
$crnf :: Icon -> ()
Prelude.NFData,
      Text -> Either String Icon
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String Icon
$cfromText :: Text -> Either String Icon
Data.FromText,
      Icon -> Text
forall a. (a -> Text) -> ToText a
toText :: Icon -> Text
$ctoText :: Icon -> Text
Data.ToText,
      Icon -> ByteString
forall a. (a -> ByteString) -> ToByteString a
toBS :: Icon -> ByteString
$ctoBS :: Icon -> ByteString
Data.ToByteString,
      Icon -> ByteStringBuilder
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: Icon -> ByteStringBuilder
$cbuild :: Icon -> ByteStringBuilder
Data.ToLog,
      HeaderName -> Icon -> [Header]
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> Icon -> [Header]
$ctoHeader :: HeaderName -> Icon -> [Header]
Data.ToHeader,
      Icon -> QueryString
forall a. (a -> QueryString) -> ToQuery a
toQuery :: Icon -> QueryString
$ctoQuery :: Icon -> QueryString
Data.ToQuery,
      Value -> Parser [Icon]
Value -> Parser Icon
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [Icon]
$cparseJSONList :: Value -> Parser [Icon]
parseJSON :: Value -> Parser Icon
$cparseJSON :: Value -> Parser Icon
Data.FromJSON,
      FromJSONKeyFunction [Icon]
FromJSONKeyFunction Icon
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [Icon]
$cfromJSONKeyList :: FromJSONKeyFunction [Icon]
fromJSONKey :: FromJSONKeyFunction Icon
$cfromJSONKey :: FromJSONKeyFunction Icon
Data.FromJSONKey,
      [Icon] -> Encoding
[Icon] -> Value
Icon -> Encoding
Icon -> Value
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [Icon] -> Encoding
$ctoEncodingList :: [Icon] -> Encoding
toJSONList :: [Icon] -> Value
$ctoJSONList :: [Icon] -> Value
toEncoding :: Icon -> Encoding
$ctoEncoding :: Icon -> Encoding
toJSON :: Icon -> Value
$ctoJSON :: Icon -> Value
Data.ToJSON,
      ToJSONKeyFunction [Icon]
ToJSONKeyFunction Icon
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [Icon]
$ctoJSONKeyList :: ToJSONKeyFunction [Icon]
toJSONKey :: ToJSONKeyFunction Icon
$ctoJSONKey :: ToJSONKeyFunction Icon
Data.ToJSONKey,
      [Node] -> Either String Icon
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String Icon
$cparseXML :: [Node] -> Either String Icon
Data.FromXML,
      Icon -> XML
forall a. (a -> XML) -> ToXML a
toXML :: Icon -> XML
$ctoXML :: Icon -> XML
Data.ToXML
    )

pattern Icon_ARROW_DOWN :: Icon
pattern $bIcon_ARROW_DOWN :: Icon
$mIcon_ARROW_DOWN :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_ARROW_DOWN = Icon' "ARROW_DOWN"

pattern Icon_ARROW_DOWN_LEFT :: Icon
pattern $bIcon_ARROW_DOWN_LEFT :: Icon
$mIcon_ARROW_DOWN_LEFT :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_ARROW_DOWN_LEFT = Icon' "ARROW_DOWN_LEFT"

pattern Icon_ARROW_DOWN_RIGHT :: Icon
pattern $bIcon_ARROW_DOWN_RIGHT :: Icon
$mIcon_ARROW_DOWN_RIGHT :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_ARROW_DOWN_RIGHT = Icon' "ARROW_DOWN_RIGHT"

pattern Icon_ARROW_LEFT :: Icon
pattern $bIcon_ARROW_LEFT :: Icon
$mIcon_ARROW_LEFT :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_ARROW_LEFT = Icon' "ARROW_LEFT"

pattern Icon_ARROW_RIGHT :: Icon
pattern $bIcon_ARROW_RIGHT :: Icon
$mIcon_ARROW_RIGHT :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_ARROW_RIGHT = Icon' "ARROW_RIGHT"

pattern Icon_ARROW_UP :: Icon
pattern $bIcon_ARROW_UP :: Icon
$mIcon_ARROW_UP :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_ARROW_UP = Icon' "ARROW_UP"

pattern Icon_ARROW_UP_LEFT :: Icon
pattern $bIcon_ARROW_UP_LEFT :: Icon
$mIcon_ARROW_UP_LEFT :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_ARROW_UP_LEFT = Icon' "ARROW_UP_LEFT"

pattern Icon_ARROW_UP_RIGHT :: Icon
pattern $bIcon_ARROW_UP_RIGHT :: Icon
$mIcon_ARROW_UP_RIGHT :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_ARROW_UP_RIGHT = Icon' "ARROW_UP_RIGHT"

pattern Icon_CARET_DOWN :: Icon
pattern $bIcon_CARET_DOWN :: Icon
$mIcon_CARET_DOWN :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_CARET_DOWN = Icon' "CARET_DOWN"

pattern Icon_CARET_UP :: Icon
pattern $bIcon_CARET_UP :: Icon
$mIcon_CARET_UP :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_CARET_UP = Icon' "CARET_UP"

pattern Icon_CHECKMARK :: Icon
pattern $bIcon_CHECKMARK :: Icon
$mIcon_CHECKMARK :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_CHECKMARK = Icon' "CHECKMARK"

pattern Icon_CIRCLE :: Icon
pattern $bIcon_CIRCLE :: Icon
$mIcon_CIRCLE :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_CIRCLE = Icon' "CIRCLE"

pattern Icon_FACE_DOWN :: Icon
pattern $bIcon_FACE_DOWN :: Icon
$mIcon_FACE_DOWN :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_FACE_DOWN = Icon' "FACE_DOWN"

pattern Icon_FACE_FLAT :: Icon
pattern $bIcon_FACE_FLAT :: Icon
$mIcon_FACE_FLAT :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_FACE_FLAT = Icon' "FACE_FLAT"

pattern Icon_FACE_UP :: Icon
pattern $bIcon_FACE_UP :: Icon
$mIcon_FACE_UP :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_FACE_UP = Icon' "FACE_UP"

pattern Icon_FLAG :: Icon
pattern $bIcon_FLAG :: Icon
$mIcon_FLAG :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_FLAG = Icon' "FLAG"

pattern Icon_MINUS :: Icon
pattern $bIcon_MINUS :: Icon
$mIcon_MINUS :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_MINUS = Icon' "MINUS"

pattern Icon_ONE_BAR :: Icon
pattern $bIcon_ONE_BAR :: Icon
$mIcon_ONE_BAR :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_ONE_BAR = Icon' "ONE_BAR"

pattern Icon_PLUS :: Icon
pattern $bIcon_PLUS :: Icon
$mIcon_PLUS :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_PLUS = Icon' "PLUS"

pattern Icon_SQUARE :: Icon
pattern $bIcon_SQUARE :: Icon
$mIcon_SQUARE :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_SQUARE = Icon' "SQUARE"

pattern Icon_THREE_BAR :: Icon
pattern $bIcon_THREE_BAR :: Icon
$mIcon_THREE_BAR :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_THREE_BAR = Icon' "THREE_BAR"

pattern Icon_THUMBS_DOWN :: Icon
pattern $bIcon_THUMBS_DOWN :: Icon
$mIcon_THUMBS_DOWN :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_THUMBS_DOWN = Icon' "THUMBS_DOWN"

pattern Icon_THUMBS_UP :: Icon
pattern $bIcon_THUMBS_UP :: Icon
$mIcon_THUMBS_UP :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_THUMBS_UP = Icon' "THUMBS_UP"

pattern Icon_TRIANGLE :: Icon
pattern $bIcon_TRIANGLE :: Icon
$mIcon_TRIANGLE :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_TRIANGLE = Icon' "TRIANGLE"

pattern Icon_TWO_BAR :: Icon
pattern $bIcon_TWO_BAR :: Icon
$mIcon_TWO_BAR :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_TWO_BAR = Icon' "TWO_BAR"

pattern Icon_X :: Icon
pattern $bIcon_X :: Icon
$mIcon_X :: forall {r}. Icon -> ((# #) -> r) -> ((# #) -> r) -> r
Icon_X = Icon' "X"

{-# COMPLETE
  Icon_ARROW_DOWN,
  Icon_ARROW_DOWN_LEFT,
  Icon_ARROW_DOWN_RIGHT,
  Icon_ARROW_LEFT,
  Icon_ARROW_RIGHT,
  Icon_ARROW_UP,
  Icon_ARROW_UP_LEFT,
  Icon_ARROW_UP_RIGHT,
  Icon_CARET_DOWN,
  Icon_CARET_UP,
  Icon_CHECKMARK,
  Icon_CIRCLE,
  Icon_FACE_DOWN,
  Icon_FACE_FLAT,
  Icon_FACE_UP,
  Icon_FLAG,
  Icon_MINUS,
  Icon_ONE_BAR,
  Icon_PLUS,
  Icon_SQUARE,
  Icon_THREE_BAR,
  Icon_THUMBS_DOWN,
  Icon_THUMBS_UP,
  Icon_TRIANGLE,
  Icon_TWO_BAR,
  Icon_X,
  Icon'
  #-}