{-# 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.LegendPosition
-- 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.LegendPosition
  ( LegendPosition
      ( ..,
        LegendPosition_AUTO,
        LegendPosition_BOTTOM,
        LegendPosition_RIGHT,
        LegendPosition_TOP
      ),
  )
where

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

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

pattern LegendPosition_AUTO :: LegendPosition
pattern $bLegendPosition_AUTO :: LegendPosition
$mLegendPosition_AUTO :: forall {r}. LegendPosition -> ((# #) -> r) -> ((# #) -> r) -> r
LegendPosition_AUTO = LegendPosition' "AUTO"

pattern LegendPosition_BOTTOM :: LegendPosition
pattern $bLegendPosition_BOTTOM :: LegendPosition
$mLegendPosition_BOTTOM :: forall {r}. LegendPosition -> ((# #) -> r) -> ((# #) -> r) -> r
LegendPosition_BOTTOM = LegendPosition' "BOTTOM"

pattern LegendPosition_RIGHT :: LegendPosition
pattern $bLegendPosition_RIGHT :: LegendPosition
$mLegendPosition_RIGHT :: forall {r}. LegendPosition -> ((# #) -> r) -> ((# #) -> r) -> r
LegendPosition_RIGHT = LegendPosition' "RIGHT"

pattern LegendPosition_TOP :: LegendPosition
pattern $bLegendPosition_TOP :: LegendPosition
$mLegendPosition_TOP :: forall {r}. LegendPosition -> ((# #) -> r) -> ((# #) -> r) -> r
LegendPosition_TOP = LegendPosition' "TOP"

{-# COMPLETE
  LegendPosition_AUTO,
  LegendPosition_BOTTOM,
  LegendPosition_RIGHT,
  LegendPosition_TOP,
  LegendPosition'
  #-}