{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE MultilineStrings #-}
{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE LambdaCase #-}
module Miso.UI.Alert
(
alert_
, alertHeader_
, alertSection_
, successIcon
, destructiveIcon
, alertSample
, alertCodeSample
) where
import Miso hiding (alert)
import qualified Miso.Svg as S
import qualified Miso.Svg.Property as SP
import qualified Miso.Html.Element as H
import qualified Miso.Html.Property as P
alert_
:: [Attribute action]
-> [View model action]
-> View model action
alert_ :: forall action model.
[Attribute action] -> [View model action] -> View model action
alert_ [Attribute action]
attrs [View model action]
kids = do
([Attribute action] -> [View model action] -> View model action)
-> [Attribute action]
-> Bool
-> [Attribute action]
-> [View model action]
-> View model action
forall action model.
([Attribute action] -> [View model action] -> View model action)
-> [Attribute action]
-> Bool
-> [Attribute action]
-> [View model action]
-> View model action
optionalAttrs
[Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
H.div_
[Attribute action]
attrs
Bool
True
[ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.class_ MisoString
"alert" ]
[View model action]
kids
alertHeader_
:: [Attribute action]
-> [View model action]
-> View model action
[Attribute action]
attrs [View model action]
kids =
([Attribute action] -> [View model action] -> View model action)
-> [Attribute action]
-> Bool
-> [Attribute action]
-> [View model action]
-> View model action
forall action model.
([Attribute action] -> [View model action] -> View model action)
-> [Attribute action]
-> Bool
-> [Attribute action]
-> [View model action]
-> View model action
optionalAttrs
[Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
H.h2_
[Attribute action]
attrs
Bool
True
[]
[View model action]
kids
alertSection_
:: [Attribute action]
-> [View model action]
-> View model action
alertSection_ :: forall action model.
[Attribute action] -> [View model action] -> View model action
alertSection_ [Attribute action]
attrs [View model action]
kids =
([Attribute action] -> [View model action] -> View model action)
-> [Attribute action]
-> Bool
-> [Attribute action]
-> [View model action]
-> View model action
forall action model.
([Attribute action] -> [View model action] -> View model action)
-> [Attribute action]
-> Bool
-> [Attribute action]
-> [View model action]
-> View model action
optionalAttrs
[Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
H.section_
[Attribute action]
attrs
Bool
True
[]
[View model action]
kids
successIcon :: View model action
successIcon :: forall model action. View model action
successIcon = [Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
S.svg_
[ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.xmlns_ MisoString
"http://www.w3.org/2000/svg"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.width_ MisoString
"24"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.height_ MisoString
"24"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.viewBox_ MisoString
"0 0 24 24"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.fill_ MisoString
"none"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.stroke_ MisoString
"currentColor"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.strokeWidth_ MisoString
"2"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.strokeLinecap_ MisoString
"round"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.strokeLinejoin_ MisoString
"round"
]
[ [Attribute action] -> View model action
forall action model. [Attribute action] -> View model action
S.circle_
[ MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.cx_ MisoString
"12"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.cy_ MisoString
"12"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.r_ MisoString
"10"
]
, [Attribute action] -> View model action
forall action model. [Attribute action] -> View model action
S.path_
[ MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.d_ MisoString
"m9 12 2 2 4-4"
]
]
destructiveIcon :: View model action
destructiveIcon :: forall model action. View model action
destructiveIcon =
[Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
S.svg_
[ MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.strokeWidth_ MisoString
"2"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.strokeLinecap_ MisoString
"round"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.strokeLinejoin_ MisoString
"round"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.stroke_ MisoString
"currentColor"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.fill_ MisoString
"none"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.viewBox_ MisoString
"0 0 24 24"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.height_ MisoString
"24"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.width_ MisoString
"24"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.xmlns_ MisoString
"http://www.w3.org/2000/svg"
]
[ [Attribute action] -> View model action
forall action model. [Attribute action] -> View model action
S.circle_
[ MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.r_ MisoString
"10"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.cy_ MisoString
"12"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.cx_ MisoString
"12"
]
, [Attribute action] -> View model action
forall action model. [Attribute action] -> View model action
S.line_
[ MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.y2_ MisoString
"12"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.y1_ MisoString
"8"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.x2_ MisoString
"12"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.x1_ MisoString
"12"
]
, [Attribute action] -> View model action
forall action model. [Attribute action] -> View model action
S.line_
[ MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.y2_ MisoString
"16"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.y1_ MisoString
"16"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.x2_ MisoString
"12.01"
, MisoString -> Attribute action
forall action. MisoString -> Attribute action
SP.x1_ MisoString
"12"
]
]
alertSample :: View model action
alertSample :: forall model action. View model action
alertSample =
[Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
H.div_
[ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.class_ MisoString
"p-4" ]
[ [Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
H.div_ [ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.class_ MisoString
"grid max-w-xl items-start gap-4" ]
[ [Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
alert_ []
[ View model action
forall model action. View model action
successIcon
, [Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
alertHeader_ [] [ View model action
"Success!" ]
, [Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
alertSection_ []
[ View model action
"""
Congratulations this is a
successful alert !
"""
]
]
, [Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
alert_
[ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.class_ MisoString
"alert-destructive" ]
[ View model action
forall model action. View model action
destructiveIcon
, [Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
alertHeader_ [] [ View model action
"Warning!" ]
, [Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
alertSection_ []
[ View model action
"""
Something bad happened :( you're getting
a destructive alert!
"""
]
]
]
]
alertCodeSample :: View model action
alertCodeSample :: forall model action. View model action
alertCodeSample =
View model action
"""
-----------------------------------------------------------------------------
module MyAlert (alertSample) where
-----------------------------------------------------------------------------
import Miso
import qualified Miso.Html as H
import qualified Miso.Html.Property as P
-----------------------------------------------------------------------------
import qualified Miso.UI.Alert as Alert
-----------------------------------------------------------------------------
alertSample :: View model action
alertSample =
H.div_
[ P.class_ "p-4" ]
[ H.div_
[ P.class_ "grid max-w-xl items-start gap-4"
]
[ Alert.alert_ []
[ Alert.successIcon
, Alert.alertHeader_ [] [ "Success!" ]
, Alert.alertSection_ []
[ \"\"\"
Congratulations this is a
successful alert !
\"\"\"
]
]
, Alert.alert_
[ P.class_ "alert-destructive" ]
[ Alert.destructiveIcon
, Alert.alertHeader_ [] [ "Warning!" ]
, Alert.alertSection_ []
[ \"\"\"
Something bad happened :( you're getting
a destructive alert!
\"\"\"
]
]
]
]
"""