{-# LANGUAGE OverloadedStrings #-}
module Miso.Native.X.Element.Overlay.Property
(
iosEnableSwipeBack_
, level_
, mode_
, visible_
, OverlayLevel (..)
, OverlayMode (..)
) where
import Miso.JSON (ToJSON(..))
import Miso.String (MisoString)
import Miso.Types (Attribute)
import Miso.Property
data OverlayLevel
= Level1
| Level2
| Level3
| Level4
deriving (Int -> OverlayLevel -> ShowS
[OverlayLevel] -> ShowS
OverlayLevel -> String
(Int -> OverlayLevel -> ShowS)
-> (OverlayLevel -> String)
-> ([OverlayLevel] -> ShowS)
-> Show OverlayLevel
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> OverlayLevel -> ShowS
showsPrec :: Int -> OverlayLevel -> ShowS
$cshow :: OverlayLevel -> String
show :: OverlayLevel -> String
$cshowList :: [OverlayLevel] -> ShowS
showList :: [OverlayLevel] -> ShowS
Show, OverlayLevel -> OverlayLevel -> Bool
(OverlayLevel -> OverlayLevel -> Bool)
-> (OverlayLevel -> OverlayLevel -> Bool) -> Eq OverlayLevel
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OverlayLevel -> OverlayLevel -> Bool
== :: OverlayLevel -> OverlayLevel -> Bool
$c/= :: OverlayLevel -> OverlayLevel -> Bool
/= :: OverlayLevel -> OverlayLevel -> Bool
Eq)
instance ToJSON OverlayLevel where
toJSON :: OverlayLevel -> Value
toJSON OverlayLevel
Level1 = Int -> Value
forall a. ToJSON a => a -> Value
toJSON (Int
1 :: Int)
toJSON OverlayLevel
Level2 = Int -> Value
forall a. ToJSON a => a -> Value
toJSON (Int
2 :: Int)
toJSON OverlayLevel
Level3 = Int -> Value
forall a. ToJSON a => a -> Value
toJSON (Int
3 :: Int)
toJSON OverlayLevel
Level4 = Int -> Value
forall a. ToJSON a => a -> Value
toJSON (Int
4 :: Int)
data OverlayMode
= ModeWindow
| ModeTop
| ModePage
| ModeOther MisoString
deriving (Int -> OverlayMode -> ShowS
[OverlayMode] -> ShowS
OverlayMode -> String
(Int -> OverlayMode -> ShowS)
-> (OverlayMode -> String)
-> ([OverlayMode] -> ShowS)
-> Show OverlayMode
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> OverlayMode -> ShowS
showsPrec :: Int -> OverlayMode -> ShowS
$cshow :: OverlayMode -> String
show :: OverlayMode -> String
$cshowList :: [OverlayMode] -> ShowS
showList :: [OverlayMode] -> ShowS
Show, OverlayMode -> OverlayMode -> Bool
(OverlayMode -> OverlayMode -> Bool)
-> (OverlayMode -> OverlayMode -> Bool) -> Eq OverlayMode
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: OverlayMode -> OverlayMode -> Bool
== :: OverlayMode -> OverlayMode -> Bool
$c/= :: OverlayMode -> OverlayMode -> Bool
/= :: OverlayMode -> OverlayMode -> Bool
Eq)
instance ToJSON OverlayMode where
toJSON :: OverlayMode -> Value
toJSON OverlayMode
ModeWindow = Value
"window"
toJSON OverlayMode
ModeTop = Value
"top"
toJSON OverlayMode
ModePage = Value
"page"
toJSON (ModeOther MisoString
cls) = MisoString -> Value
forall a. ToJSON a => a -> Value
toJSON MisoString
cls
iosEnableSwipeBack_ :: Bool -> Attribute model action
iosEnableSwipeBack_ :: forall model action. Bool -> Attribute model action
iosEnableSwipeBack_ = MisoString -> Bool -> Attribute model action
forall model action. MisoString -> Bool -> Attribute model action
boolProp MisoString
"ios-enable-swipe-back"
level_ :: OverlayLevel -> Attribute model action
level_ :: forall model action. OverlayLevel -> Attribute model action
level_ = MisoString -> OverlayLevel -> Attribute model action
forall a model action.
ToJSON a =>
MisoString -> a -> Attribute model action
prop MisoString
"level"
mode_ :: OverlayMode -> Attribute model action
mode_ :: forall model action. OverlayMode -> Attribute model action
mode_ = MisoString -> OverlayMode -> Attribute model action
forall a model action.
ToJSON a =>
MisoString -> a -> Attribute model action
prop MisoString
"mode"
visible_ :: Bool -> Attribute model action
visible_ :: forall model action. Bool -> Attribute model action
visible_ = MisoString -> Bool -> Attribute model action
forall model action. MisoString -> Bool -> Attribute model action
boolProp MisoString
"visible"