defmodule MoonWeb.Examples.Design.DrawerExample.Positions do @moduledoc false use Moon.StatefulComponent use MoonWeb, :example alias Moon.Design.Drawer alias Moon.Design.Button def render(assigns) do ~F"""

Screen start aligned Drawer

Drawer content

Screen top aligned Drawer

Drawer content

Screen end aligned Drawer

Drawer content

Screen bottom aligned Drawer

Drawer content
""" end def handle_event("open_start_drawer", _, socket) do Drawer.open("start_drawer") {:noreply, socket} end def handle_event("open_top_drawer", _, socket) do Drawer.open("top_drawer") {:noreply, socket} end def handle_event("open_bottom_drawer", _, socket) do Drawer.open("bottom_drawer") {:noreply, socket} end def handle_event("open_end_drawer", _, socket) do Drawer.open("end_drawer") {:noreply, socket} end def code() do """ alias Moon.Design.Drawer alias Moon.Design.Button def render(assigns) do ~F\"""

Screen start aligned Drawer

Drawer content

Screen top aligned Drawer

Drawer content

Screen end aligned Drawer

Drawer content

Screen bottom aligned Drawer

Drawer content
\""" end def handle_event("open_start_drawer", _, socket) do Drawer.open("start_drawer") {:noreply, socket} end def handle_event("open_top_drawer", _, socket) do Drawer.open("top_drawer") {:noreply, socket} end def handle_event("open_bottom_drawer", _, socket) do Drawer.open("bottom_drawer") {:noreply, socket} end def handle_event("open_end_drawer", _, socket) do Drawer.open("end_drawer") {:noreply, socket} end """ end end