{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

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

-- |
-- Module      : Amazonka.QuickSight.Types.KPIOptions
-- 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.KPIOptions where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.QuickSight.Types.ComparisonConfiguration
import Amazonka.QuickSight.Types.FontConfiguration
import Amazonka.QuickSight.Types.PrimaryValueDisplayType
import Amazonka.QuickSight.Types.ProgressBarOptions
import Amazonka.QuickSight.Types.SecondaryValueOptions
import Amazonka.QuickSight.Types.TrendArrowOptions

-- | The options that determine the presentation of a KPI visual.
--
-- /See:/ 'newKPIOptions' smart constructor.
data KPIOptions = KPIOptions'
  { -- | The comparison configuration of a KPI visual.
    KPIOptions -> Maybe ComparisonConfiguration
comparison :: Prelude.Maybe ComparisonConfiguration,
    -- | The options that determine the primary value display type.
    KPIOptions -> Maybe PrimaryValueDisplayType
primaryValueDisplayType :: Prelude.Maybe PrimaryValueDisplayType,
    -- | The options that determine the primary value font configuration.
    KPIOptions -> Maybe FontConfiguration
primaryValueFontConfiguration :: Prelude.Maybe FontConfiguration,
    -- | The options that determine the presentation of the progress bar of a KPI
    -- visual.
    KPIOptions -> Maybe ProgressBarOptions
progressBar :: Prelude.Maybe ProgressBarOptions,
    -- | The options that determine the presentation of the secondary value of a
    -- KPI visual.
    KPIOptions -> Maybe SecondaryValueOptions
secondaryValue :: Prelude.Maybe SecondaryValueOptions,
    -- | The options that determine the secondary value font configuration.
    KPIOptions -> Maybe FontConfiguration
secondaryValueFontConfiguration :: Prelude.Maybe FontConfiguration,
    -- | The options that determine the presentation of trend arrows in a KPI
    -- visual.
    KPIOptions -> Maybe TrendArrowOptions
trendArrows :: Prelude.Maybe TrendArrowOptions
  }
  deriving (KPIOptions -> KPIOptions -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: KPIOptions -> KPIOptions -> Bool
$c/= :: KPIOptions -> KPIOptions -> Bool
== :: KPIOptions -> KPIOptions -> Bool
$c== :: KPIOptions -> KPIOptions -> Bool
Prelude.Eq, Int -> KPIOptions -> ShowS
[KPIOptions] -> ShowS
KPIOptions -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [KPIOptions] -> ShowS
$cshowList :: [KPIOptions] -> ShowS
show :: KPIOptions -> String
$cshow :: KPIOptions -> String
showsPrec :: Int -> KPIOptions -> ShowS
$cshowsPrec :: Int -> KPIOptions -> ShowS
Prelude.Show, forall x. Rep KPIOptions x -> KPIOptions
forall x. KPIOptions -> Rep KPIOptions x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep KPIOptions x -> KPIOptions
$cfrom :: forall x. KPIOptions -> Rep KPIOptions x
Prelude.Generic)

-- |
-- Create a value of 'KPIOptions' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'comparison', 'kPIOptions_comparison' - The comparison configuration of a KPI visual.
--
-- 'primaryValueDisplayType', 'kPIOptions_primaryValueDisplayType' - The options that determine the primary value display type.
--
-- 'primaryValueFontConfiguration', 'kPIOptions_primaryValueFontConfiguration' - The options that determine the primary value font configuration.
--
-- 'progressBar', 'kPIOptions_progressBar' - The options that determine the presentation of the progress bar of a KPI
-- visual.
--
-- 'secondaryValue', 'kPIOptions_secondaryValue' - The options that determine the presentation of the secondary value of a
-- KPI visual.
--
-- 'secondaryValueFontConfiguration', 'kPIOptions_secondaryValueFontConfiguration' - The options that determine the secondary value font configuration.
--
-- 'trendArrows', 'kPIOptions_trendArrows' - The options that determine the presentation of trend arrows in a KPI
-- visual.
newKPIOptions ::
  KPIOptions
newKPIOptions :: KPIOptions
newKPIOptions =
  KPIOptions'
    { $sel:comparison:KPIOptions' :: Maybe ComparisonConfiguration
comparison = forall a. Maybe a
Prelude.Nothing,
      $sel:primaryValueDisplayType:KPIOptions' :: Maybe PrimaryValueDisplayType
primaryValueDisplayType = forall a. Maybe a
Prelude.Nothing,
      $sel:primaryValueFontConfiguration:KPIOptions' :: Maybe FontConfiguration
primaryValueFontConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:progressBar:KPIOptions' :: Maybe ProgressBarOptions
progressBar = forall a. Maybe a
Prelude.Nothing,
      $sel:secondaryValue:KPIOptions' :: Maybe SecondaryValueOptions
secondaryValue = forall a. Maybe a
Prelude.Nothing,
      $sel:secondaryValueFontConfiguration:KPIOptions' :: Maybe FontConfiguration
secondaryValueFontConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:trendArrows:KPIOptions' :: Maybe TrendArrowOptions
trendArrows = forall a. Maybe a
Prelude.Nothing
    }

-- | The comparison configuration of a KPI visual.
kPIOptions_comparison :: Lens.Lens' KPIOptions (Prelude.Maybe ComparisonConfiguration)
kPIOptions_comparison :: Lens' KPIOptions (Maybe ComparisonConfiguration)
kPIOptions_comparison = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KPIOptions' {Maybe ComparisonConfiguration
comparison :: Maybe ComparisonConfiguration
$sel:comparison:KPIOptions' :: KPIOptions -> Maybe ComparisonConfiguration
comparison} -> Maybe ComparisonConfiguration
comparison) (\s :: KPIOptions
s@KPIOptions' {} Maybe ComparisonConfiguration
a -> KPIOptions
s {$sel:comparison:KPIOptions' :: Maybe ComparisonConfiguration
comparison = Maybe ComparisonConfiguration
a} :: KPIOptions)

-- | The options that determine the primary value display type.
kPIOptions_primaryValueDisplayType :: Lens.Lens' KPIOptions (Prelude.Maybe PrimaryValueDisplayType)
kPIOptions_primaryValueDisplayType :: Lens' KPIOptions (Maybe PrimaryValueDisplayType)
kPIOptions_primaryValueDisplayType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KPIOptions' {Maybe PrimaryValueDisplayType
primaryValueDisplayType :: Maybe PrimaryValueDisplayType
$sel:primaryValueDisplayType:KPIOptions' :: KPIOptions -> Maybe PrimaryValueDisplayType
primaryValueDisplayType} -> Maybe PrimaryValueDisplayType
primaryValueDisplayType) (\s :: KPIOptions
s@KPIOptions' {} Maybe PrimaryValueDisplayType
a -> KPIOptions
s {$sel:primaryValueDisplayType:KPIOptions' :: Maybe PrimaryValueDisplayType
primaryValueDisplayType = Maybe PrimaryValueDisplayType
a} :: KPIOptions)

-- | The options that determine the primary value font configuration.
kPIOptions_primaryValueFontConfiguration :: Lens.Lens' KPIOptions (Prelude.Maybe FontConfiguration)
kPIOptions_primaryValueFontConfiguration :: Lens' KPIOptions (Maybe FontConfiguration)
kPIOptions_primaryValueFontConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KPIOptions' {Maybe FontConfiguration
primaryValueFontConfiguration :: Maybe FontConfiguration
$sel:primaryValueFontConfiguration:KPIOptions' :: KPIOptions -> Maybe FontConfiguration
primaryValueFontConfiguration} -> Maybe FontConfiguration
primaryValueFontConfiguration) (\s :: KPIOptions
s@KPIOptions' {} Maybe FontConfiguration
a -> KPIOptions
s {$sel:primaryValueFontConfiguration:KPIOptions' :: Maybe FontConfiguration
primaryValueFontConfiguration = Maybe FontConfiguration
a} :: KPIOptions)

-- | The options that determine the presentation of the progress bar of a KPI
-- visual.
kPIOptions_progressBar :: Lens.Lens' KPIOptions (Prelude.Maybe ProgressBarOptions)
kPIOptions_progressBar :: Lens' KPIOptions (Maybe ProgressBarOptions)
kPIOptions_progressBar = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KPIOptions' {Maybe ProgressBarOptions
progressBar :: Maybe ProgressBarOptions
$sel:progressBar:KPIOptions' :: KPIOptions -> Maybe ProgressBarOptions
progressBar} -> Maybe ProgressBarOptions
progressBar) (\s :: KPIOptions
s@KPIOptions' {} Maybe ProgressBarOptions
a -> KPIOptions
s {$sel:progressBar:KPIOptions' :: Maybe ProgressBarOptions
progressBar = Maybe ProgressBarOptions
a} :: KPIOptions)

-- | The options that determine the presentation of the secondary value of a
-- KPI visual.
kPIOptions_secondaryValue :: Lens.Lens' KPIOptions (Prelude.Maybe SecondaryValueOptions)
kPIOptions_secondaryValue :: Lens' KPIOptions (Maybe SecondaryValueOptions)
kPIOptions_secondaryValue = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KPIOptions' {Maybe SecondaryValueOptions
secondaryValue :: Maybe SecondaryValueOptions
$sel:secondaryValue:KPIOptions' :: KPIOptions -> Maybe SecondaryValueOptions
secondaryValue} -> Maybe SecondaryValueOptions
secondaryValue) (\s :: KPIOptions
s@KPIOptions' {} Maybe SecondaryValueOptions
a -> KPIOptions
s {$sel:secondaryValue:KPIOptions' :: Maybe SecondaryValueOptions
secondaryValue = Maybe SecondaryValueOptions
a} :: KPIOptions)

-- | The options that determine the secondary value font configuration.
kPIOptions_secondaryValueFontConfiguration :: Lens.Lens' KPIOptions (Prelude.Maybe FontConfiguration)
kPIOptions_secondaryValueFontConfiguration :: Lens' KPIOptions (Maybe FontConfiguration)
kPIOptions_secondaryValueFontConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KPIOptions' {Maybe FontConfiguration
secondaryValueFontConfiguration :: Maybe FontConfiguration
$sel:secondaryValueFontConfiguration:KPIOptions' :: KPIOptions -> Maybe FontConfiguration
secondaryValueFontConfiguration} -> Maybe FontConfiguration
secondaryValueFontConfiguration) (\s :: KPIOptions
s@KPIOptions' {} Maybe FontConfiguration
a -> KPIOptions
s {$sel:secondaryValueFontConfiguration:KPIOptions' :: Maybe FontConfiguration
secondaryValueFontConfiguration = Maybe FontConfiguration
a} :: KPIOptions)

-- | The options that determine the presentation of trend arrows in a KPI
-- visual.
kPIOptions_trendArrows :: Lens.Lens' KPIOptions (Prelude.Maybe TrendArrowOptions)
kPIOptions_trendArrows :: Lens' KPIOptions (Maybe TrendArrowOptions)
kPIOptions_trendArrows = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\KPIOptions' {Maybe TrendArrowOptions
trendArrows :: Maybe TrendArrowOptions
$sel:trendArrows:KPIOptions' :: KPIOptions -> Maybe TrendArrowOptions
trendArrows} -> Maybe TrendArrowOptions
trendArrows) (\s :: KPIOptions
s@KPIOptions' {} Maybe TrendArrowOptions
a -> KPIOptions
s {$sel:trendArrows:KPIOptions' :: Maybe TrendArrowOptions
trendArrows = Maybe TrendArrowOptions
a} :: KPIOptions)

instance Data.FromJSON KPIOptions where
  parseJSON :: Value -> Parser KPIOptions
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"KPIOptions"
      ( \Object
x ->
          Maybe ComparisonConfiguration
-> Maybe PrimaryValueDisplayType
-> Maybe FontConfiguration
-> Maybe ProgressBarOptions
-> Maybe SecondaryValueOptions
-> Maybe FontConfiguration
-> Maybe TrendArrowOptions
-> KPIOptions
KPIOptions'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"Comparison")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"PrimaryValueDisplayType")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"PrimaryValueFontConfiguration")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"ProgressBar")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"SecondaryValue")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"SecondaryValueFontConfiguration")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"TrendArrows")
      )

instance Prelude.Hashable KPIOptions where
  hashWithSalt :: Int -> KPIOptions -> Int
hashWithSalt Int
_salt KPIOptions' {Maybe PrimaryValueDisplayType
Maybe FontConfiguration
Maybe TrendArrowOptions
Maybe ComparisonConfiguration
Maybe SecondaryValueOptions
Maybe ProgressBarOptions
trendArrows :: Maybe TrendArrowOptions
secondaryValueFontConfiguration :: Maybe FontConfiguration
secondaryValue :: Maybe SecondaryValueOptions
progressBar :: Maybe ProgressBarOptions
primaryValueFontConfiguration :: Maybe FontConfiguration
primaryValueDisplayType :: Maybe PrimaryValueDisplayType
comparison :: Maybe ComparisonConfiguration
$sel:trendArrows:KPIOptions' :: KPIOptions -> Maybe TrendArrowOptions
$sel:secondaryValueFontConfiguration:KPIOptions' :: KPIOptions -> Maybe FontConfiguration
$sel:secondaryValue:KPIOptions' :: KPIOptions -> Maybe SecondaryValueOptions
$sel:progressBar:KPIOptions' :: KPIOptions -> Maybe ProgressBarOptions
$sel:primaryValueFontConfiguration:KPIOptions' :: KPIOptions -> Maybe FontConfiguration
$sel:primaryValueDisplayType:KPIOptions' :: KPIOptions -> Maybe PrimaryValueDisplayType
$sel:comparison:KPIOptions' :: KPIOptions -> Maybe ComparisonConfiguration
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ComparisonConfiguration
comparison
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe PrimaryValueDisplayType
primaryValueDisplayType
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FontConfiguration
primaryValueFontConfiguration
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ProgressBarOptions
progressBar
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SecondaryValueOptions
secondaryValue
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe FontConfiguration
secondaryValueFontConfiguration
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TrendArrowOptions
trendArrows

instance Prelude.NFData KPIOptions where
  rnf :: KPIOptions -> ()
rnf KPIOptions' {Maybe PrimaryValueDisplayType
Maybe FontConfiguration
Maybe TrendArrowOptions
Maybe ComparisonConfiguration
Maybe SecondaryValueOptions
Maybe ProgressBarOptions
trendArrows :: Maybe TrendArrowOptions
secondaryValueFontConfiguration :: Maybe FontConfiguration
secondaryValue :: Maybe SecondaryValueOptions
progressBar :: Maybe ProgressBarOptions
primaryValueFontConfiguration :: Maybe FontConfiguration
primaryValueDisplayType :: Maybe PrimaryValueDisplayType
comparison :: Maybe ComparisonConfiguration
$sel:trendArrows:KPIOptions' :: KPIOptions -> Maybe TrendArrowOptions
$sel:secondaryValueFontConfiguration:KPIOptions' :: KPIOptions -> Maybe FontConfiguration
$sel:secondaryValue:KPIOptions' :: KPIOptions -> Maybe SecondaryValueOptions
$sel:progressBar:KPIOptions' :: KPIOptions -> Maybe ProgressBarOptions
$sel:primaryValueFontConfiguration:KPIOptions' :: KPIOptions -> Maybe FontConfiguration
$sel:primaryValueDisplayType:KPIOptions' :: KPIOptions -> Maybe PrimaryValueDisplayType
$sel:comparison:KPIOptions' :: KPIOptions -> Maybe ComparisonConfiguration
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe ComparisonConfiguration
comparison
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe PrimaryValueDisplayType
primaryValueDisplayType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FontConfiguration
primaryValueFontConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ProgressBarOptions
progressBar
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SecondaryValueOptions
secondaryValue
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe FontConfiguration
secondaryValueFontConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TrendArrowOptions
trendArrows

instance Data.ToJSON KPIOptions where
  toJSON :: KPIOptions -> Value
toJSON KPIOptions' {Maybe PrimaryValueDisplayType
Maybe FontConfiguration
Maybe TrendArrowOptions
Maybe ComparisonConfiguration
Maybe SecondaryValueOptions
Maybe ProgressBarOptions
trendArrows :: Maybe TrendArrowOptions
secondaryValueFontConfiguration :: Maybe FontConfiguration
secondaryValue :: Maybe SecondaryValueOptions
progressBar :: Maybe ProgressBarOptions
primaryValueFontConfiguration :: Maybe FontConfiguration
primaryValueDisplayType :: Maybe PrimaryValueDisplayType
comparison :: Maybe ComparisonConfiguration
$sel:trendArrows:KPIOptions' :: KPIOptions -> Maybe TrendArrowOptions
$sel:secondaryValueFontConfiguration:KPIOptions' :: KPIOptions -> Maybe FontConfiguration
$sel:secondaryValue:KPIOptions' :: KPIOptions -> Maybe SecondaryValueOptions
$sel:progressBar:KPIOptions' :: KPIOptions -> Maybe ProgressBarOptions
$sel:primaryValueFontConfiguration:KPIOptions' :: KPIOptions -> Maybe FontConfiguration
$sel:primaryValueDisplayType:KPIOptions' :: KPIOptions -> Maybe PrimaryValueDisplayType
$sel:comparison:KPIOptions' :: KPIOptions -> Maybe ComparisonConfiguration
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"Comparison" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ComparisonConfiguration
comparison,
            (Key
"PrimaryValueDisplayType" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PrimaryValueDisplayType
primaryValueDisplayType,
            (Key
"PrimaryValueFontConfiguration" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe FontConfiguration
primaryValueFontConfiguration,
            (Key
"ProgressBar" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ProgressBarOptions
progressBar,
            (Key
"SecondaryValue" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe SecondaryValueOptions
secondaryValue,
            (Key
"SecondaryValueFontConfiguration" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe FontConfiguration
secondaryValueFontConfiguration,
            (Key
"TrendArrows" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TrendArrowOptions
trendArrows
          ]
      )