-----------------------------------------------------------------------------
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE ExistentialQuantification  #-}
{-# LANGUAGE DerivingStrategies         #-}
{-# LANGUAGE RecordWildCards            #-}
{-# LANGUAGE OverloadedStrings          #-}
{-# LANGUAGE LambdaCase                 #-}
-----------------------------------------------------------------------------
module Miso.UI.Popover
  ( -- ** Component
    popover_
  ) where
-----------------------------------------------------------------------------
import           Miso
import qualified Miso.Html.Element as H
import qualified Miso.Html.Property as P
-----------------------------------------------------------------------------
popover_ :: Component parent model action
popover_ :: forall parent model action. Component parent model action
popover_ = model
-> (action -> Effect parent model action)
-> (model -> View model action)
-> Component parent model action
forall model action parent.
model
-> (action -> Effect parent model action)
-> (model -> View model action)
-> Component parent model action
component model
forall a. HasCallStack => a
undefined action -> Effect parent model action
forall action parent model. action -> Effect parent model action
noop (View model action -> model -> View model action
forall a b. a -> b -> a
const View model action
forall model action. View model action
view_)
-----------------------------------------------------------------------------
view_ :: View model action
view_ :: forall model action. View model action
view_ =
  [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.id_ MisoString
"demo-popover"
    , MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.class_ MisoString
"popover"
    ]
    [ [Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
H.button_
        [ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.id_ MisoString
"demo-popover-trigger"
        , MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.type_ MisoString
"button"
        , MisoString -> MisoString -> Attribute action
forall action. MisoString -> MisoString -> Attribute action
P.aria_ MisoString
"expanded" MisoString
"false"
        , MisoString -> MisoString -> Attribute action
forall action. MisoString -> MisoString -> Attribute action
P.aria_ MisoString
"controls" MisoString
"demo-popover-popover"
        , MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.class_ MisoString
"btn-outline"
        ][ View model action
"Open popover" ]
    , [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.id_ MisoString
"demo-popover-popover"
        , MisoString -> MisoString -> Attribute action
forall action. MisoString -> MisoString -> Attribute action
textProp MisoString
"data-popover" MisoString
""
        , MisoString -> MisoString -> Attribute action
forall action. MisoString -> MisoString -> Attribute action
textProp MisoString
"aria-hidden" MisoString
"true"
        , MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.class_ MisoString
"w-80"
        ]
        [ [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 gap-4" ]
            [ [Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
H.header_
                [ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.class_ MisoString
"grid gap-1.5" ]
                [ [Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
H.h4_
                    [ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.class_ MisoString
"leading-none font-medium" ][ View model action
"Dimensions" ]
                , [Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
H.p_
                    [ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.class_ MisoString
"text-muted-foreground text-sm" ][ View model action
"Set the dimensions for the layer." ]
                ]
            , [Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
H.form_
                [ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.class_ MisoString
"form grid gap-2" ]
                [ [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 grid-cols-3 items-center gap-4" ]
                    [ [Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
H.label_
                        [ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.for_ MisoString
"demo-popover-width" ][ View model action
"Width" ]
                    , [Attribute action] -> View model action
forall action model. [Attribute action] -> View model action
H.input_
                        [ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.type_ MisoString
"text"
                        , MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.id_ MisoString
"demo-popover-width"
                        , MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.value_ MisoString
"100%"
                        , MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.class_ MisoString
"col-span-2 h-8"
                        , MisoString -> MisoString -> Attribute action
forall action. MisoString -> MisoString -> Attribute action
textProp MisoString
"autofocus" MisoString
""
                        ]
                    , View model action
">"
                    ]
                , [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 grid-cols-3 items-center gap-4" ]
                    [ [Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
H.label_
                        [ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.for_ MisoString
"demo-popover-max-width" ][ View model action
"Max. width" ]
                    , [Attribute action] -> View model action
forall action model. [Attribute action] -> View model action
H.input_
                        [ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.type_ MisoString
"text"
                        , MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.id_ MisoString
"demo-popover-max-width"
                        , MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.value_ MisoString
"300px"
                        , MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.class_ MisoString
"col-span-2 h-8"
                        ]
                    , View model action
">"
                    ]
                , [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 grid-cols-3 items-center gap-4" ]
                    [ [Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
H.label_
                        [ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.for_ MisoString
"demo-popover-height" ][ View model action
"Height" ]
                    , [Attribute action] -> View model action
forall action model. [Attribute action] -> View model action
H.input_
                        [ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.type_ MisoString
"text"
                        , MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.id_ MisoString
"demo-popover-height"
                        , MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.value_ MisoString
"25px"
                        , MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.class_ MisoString
"col-span-2 h-8"
                        ]
                    , View model action
">"
                    ]
                , [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 grid-cols-3 items-center gap-4" ]
                    [ [Attribute action] -> [View model action] -> View model action
forall action model.
[Attribute action] -> [View model action] -> View model action
H.label_
                        [ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.for_ MisoString
"demo-popover-max-height" ][ View model action
"Max. height" ]
                    , [Attribute action] -> View model action
forall action model. [Attribute action] -> View model action
H.input_
                        [ MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.type_ MisoString
"text"
                        , MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.id_ MisoString
"demo-popover-max-height"
                        , MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.value_ MisoString
"none"
                        , MisoString -> Attribute action
forall action. MisoString -> Attribute action
P.class_ MisoString
"col-span-2 h-8"
                        ]
                    , View model action
">"
                    ]
                ]
            ]
        ]
    ]