mirror of
https://github.com/NoRedInk/noredink-ui.git
synced 2024-12-21 04:31:30 +03:00
a5743b0639
the styleguide shouldn't imply that styles like those of medium body are att ached when they're not
70 lines
1.7 KiB
Elm
70 lines
1.7 KiB
Elm
module Examples.Switch exposing (Msg, State, example)
|
|
|
|
{-|
|
|
|
|
@docs Msg, State, example
|
|
|
|
-}
|
|
|
|
import Category
|
|
import Example exposing (Example)
|
|
import Html.Styled as Html
|
|
import Nri.Ui.Heading.V2 as Heading
|
|
import Nri.Ui.Switch.V1 as Switch
|
|
|
|
|
|
{-| -}
|
|
type alias State =
|
|
Bool
|
|
|
|
|
|
{-| -}
|
|
type Msg
|
|
= Switch Bool
|
|
|
|
|
|
example : Example State Msg
|
|
example =
|
|
{ name = "Switch"
|
|
, version = 1
|
|
, state = True
|
|
, update = \(Switch new) _ -> ( new, Cmd.none )
|
|
, subscriptions = \_ -> Sub.none
|
|
, preview =
|
|
[ Switch.view [ Switch.label (Html.text "Toggle On") ] False
|
|
, Switch.view [ Switch.label (Html.text "Toggle Off") ] True
|
|
]
|
|
, view =
|
|
\interactiveIsOn ->
|
|
[ Heading.h3 [] [ Html.text "Interactive" ]
|
|
, Switch.view
|
|
[ Switch.onSwitch Switch
|
|
, Switch.id "switch-interactive"
|
|
, Switch.label
|
|
(if interactiveIsOn then
|
|
Html.text "On"
|
|
|
|
else
|
|
Html.text "Off"
|
|
)
|
|
]
|
|
interactiveIsOn
|
|
, Heading.h3 [] [ Html.text "Disabled (On)" ]
|
|
, Switch.view
|
|
[ Switch.disabled
|
|
, Switch.id "switch-disabled-on"
|
|
, Switch.label (Html.text "Permanently on")
|
|
]
|
|
True
|
|
, Heading.h3 [] [ Html.text "Disabled (Off)" ]
|
|
, Switch.view
|
|
[ Switch.disabled
|
|
, Switch.id "switch-disabled-off"
|
|
, Switch.label (Html.text "Permanently off")
|
|
]
|
|
False
|
|
]
|
|
, categories = [ Category.Inputs ]
|
|
, keyboardSupport = [{- TODO -}]
|
|
}
|