Packages
moon
2.87.6
2.90.5
retired
2.90.4
2.90.3
2.90.2
2.90.1
2.90.0
2.89.4
2.89.1
2.89.0
2.88.0
2.87.11
2.87.10
2.87.9
2.87.8
2.87.7
2.87.6
2.87.5
2.87.4
2.87.3
2.87.2
2.87.1
2.87.0
2.86.1
2.86.0
2.85.1
2.85.0
2.84.0
2.83.0
2.82.0
2.81.4
2.81.3
2.81.2
2.81.1
2.81.0
2.80.2
2.80.1
2.80.0
2.79.13
2.79.12
2.79.11
2.79.10
2.79.9
2.79.8
2.79.7
2.79.6
2.79.5
2.79.4
2.79.3
2.79.2
2.79.1
2.79.0
2.78.4
2.78.3
2.78.2
2.78.1
2.78.0
2.77.0
2.76.5
2.76.4
2.76.3
2.76.2
2.76.1
2.76.0
2.75.0
2.74.1
2.74.0
2.73.8
2.73.7
2.73.6
2.73.5
2.73.4
2.73.3
2.73.2
2.73.1
2.73.0
2.72.5
2.72.4
2.72.3
2.72.2
2.72.1
2.72.0
2.71.1
2.71.0
2.70.0
2.69.2
2.69.1
2.69.0
2.68.11
2.68.10
Components-based design system written in elixir
Current section
Files
Jump to
Current section
Files
lib/moon_web/examples/design/switch_example/with_icons.ex
defmodule MoonWeb.Examples.Design.SwitchExample.WithIcons do
@moduledoc false
use Moon.StatefulComponent
use MoonWeb, :example
alias Moon.Icons.GenericCheckRounded
alias Moon.Icons.GenericClose
alias Moon.Design.Switch
data(checked, :boolean, default: false)
def handle_event("toggle_switch", _params, socket) do
{:noreply, assign(socket, checked: !socket.assigns.checked)}
end
def render(assigns) do
~F"""
<div class="w-full flex items-center justify-around">
<Switch size="2xs" {=@checked} on_change="toggle_switch">
<:on_icon><GenericCheckRounded /></:on_icon>
<:off_icon><GenericClose /></:off_icon>
</Switch>
<Switch size="xs" {=@checked} on_change="toggle_switch">
<:on_icon><GenericCheckRounded /></:on_icon>
<:off_icon><GenericClose /></:off_icon>
</Switch>
<Switch {=@checked} on_change="toggle_switch">
<:on_icon><GenericCheckRounded /></:on_icon>
<:off_icon><GenericClose /></:off_icon>
</Switch>
</div>
"""
end
def code() do
"""
alias Moon.Icons.GenericCheckRounded
alias Moon.Icons.GenericClose
alias Moon.Design.Switch
data(checked, :boolean, default: false)
def handle_event("toggle_switch", _params, socket) do
{:noreply, assign(socket, checked: !socket.assigns.checked)}
end
def render(assigns) do
~F\"""
<div class="w-full flex items-center justify-around">
<Switch size="2xs" {=@checked} on_change="toggle_switch">
<:on_icon><GenericCheckRounded /></:on_icon>
<:off_icon><GenericClose /></:off_icon>
</Switch>
<Switch size="xs" {=@checked} on_change="toggle_switch">
<:on_icon><GenericCheckRounded /></:on_icon>
<:off_icon><GenericClose /></:off_icon>
</Switch>
<Switch {=@checked} on_change="toggle_switch">
<:on_icon><GenericCheckRounded /></:on_icon>
<:off_icon><GenericClose /></:off_icon>
</Switch>
</div>
\"""
end
"""
end
end