Packages
moon
2.76.4
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/drawer_example/with_close.ex
defmodule MoonWeb.Examples.Design.DrawerExample.WithClose do
@moduledoc false
use Moon.StatefulComponent
use MoonWeb, :example
alias Moon.Design.Button.IconButton
alias Moon.Design.Drawer
alias Moon.Design.Button
def render(assigns) do
~F"""
<div>
<Button variant="outline" on_click="set_open" id="with_close">
Show Drawer with Close button
</Button>
<Drawer id="with_close_drawer">
<Drawer.Panel>
<div class="flex justify-between items-center p-3 border-b border-trunks">
<p>Header</p>
<IconButton icon="controls_close_small" variant="ghost" on_click="set_close" id="close_drawer" />
</div>
<div class="p-3">Drawer content</div>
</Drawer.Panel>
</Drawer>
</div>
"""
end
def handle_event("set_open", _, socket) do
Drawer.open("with_close_drawer")
{:noreply, socket}
end
def handle_event("set_close", _, socket) do
Drawer.close("with_close_drawer")
{:noreply, socket}
end
def code() do
"""
alias Moon.Design.Button.IconButton
alias Moon.Design.Drawer
alias Moon.Design.Button
def render(assigns) do
~F\"""
<div>
<Button variant="outline" on_click="set_open">
Show Drawer with Close button
</Button>
<Drawer id="with_close_drawer">
<Drawer.Panel>
<div class="flex justify-between items-center p-3 border-b border-trunks">
<p>Header</p>
<IconButton icon="controls_close_small" variant="ghost" on_click="set_close" />
</div>
<div class="p-3">Drawer content</div>
</Drawer.Panel>
</Drawer>
</div>
\"""
end
def handle_event("set_open", _, socket) do
Drawer.open("with_close_drawer")
{:noreply, socket}
end
def handle_event("set_close", _, socket) do
Drawer.close("with_close_drawer")
{:noreply, socket}
end
"""
end
end