Packages
moon
2.90.1
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/pages/example_page.ex
defmodule MoonWeb.Pages.ExamplePage do
@moduledoc "Page for visual/automated screen-shot tests in Moon DS"
use MoonWeb, :live_view
import Moon.Helpers.MoonRender
data(example_module, :module)
data(direction, :string, default: "ltr")
data(theme_name, :string, default: "theme-moon-light")
def mount(params, _session, socket) do
{:ok,
assign(socket,
example_module: String.to_existing_atom("Elixir.MoonWeb.Examples." <> params["example"]),
direction: params["direction"] || "ltr",
theme_name: params["theme_name"] || "theme-moon-light"
)}
end
def render(assigns) do
~F"""
<div role="main" class={"pt-16 lg:pt-0 bg-gohan text-bulma flex", @theme_name} dir={@direction}>
<.moon module={@example_module} id="main-example" />
</div>
"""
end
end