defmodule Observer.Web.Components.Icons do
@moduledoc false
use Observer.Web, :html
# Helpers
attr :name, :atom, required: true
def content(assigns) do
~H"""
<%= case @name do %>
<% :logo -> %>
<% :tracing -> %>
<% :profiling -> %>
<% :metrics -> %>
<% :applications -> %>
<% :root -> %>
<% end %>
"""
end
attr :rest, :global,
default: %{
"stroke-width": "1.5",
class: "w-6 h-6",
fill: "none",
stroke: "currentColor",
viewBox: "0 0 24 24"
}
slot :inner_block, required: true
defp svg_outline(assigns) do
~H"""
"""
end
attr :rest, :global
def check_circle(assigns) do
~H"""
<.svg_outline {@rest}>
"""
end
attr :rest, :global
def x_mark(assigns) do
~H"""
<.svg_outline {@rest}>
"""
end
attr :rest, :global
def x_circle(assigns) do
~H"""
<.svg_outline {@rest}>
"""
end
attr :rest, :global
def moon(assigns) do
~H"""
<.svg_outline {@rest}>
"""
end
attr :rest, :global
def sun(assigns) do
~H"""
<.svg_outline {@rest}>
"""
end
attr :rest, :global
def computer_desktop(assigns) do
~H"""
<.svg_outline {@rest}>
"""
end
attr :rest, :global
def exclamation_circle(assigns) do
~H"""
<.svg_outline {@rest}>
"""
end
end