defmodule MoonWeb.Pages.Components.ListItemsPage do
@moduledoc false
use MoonWeb, :live_view
alias Moon.Assets.Icons.IconChartArea
alias Moon.Assets.Icons.IconChevronDownRounded
alias Moon.Autolayouts.TopToDown
alias Moon.Components.ListItems.SingleLineItem
alias MoonWeb.Components.ExampleAndCode
alias MoonWeb.Components.Page
alias MoonWeb.Components.ComponentPageDescription
alias MoonWeb.Components.PropsTable
alias MoonWeb.Components.Facing.DeprecationWarning
data(breadcrumbs, :any,
default: [
%{
to: "#",
name: "Components v1"
},
%{
to: "/components/list_items",
name: "List Items"
}
]
)
data(props_info_array, :list,
default: [
%{
:name => ~c"default",
:type => ~c"slot",
:required => ~c"Yes",
:default => ~c"-",
:description => ~c"List item subtext"
},
%{
:name => ~c"size",
:type => ~c"md | lg | xl",
:required => ~c"No",
:default => ~c"md",
:description => ~c"List item size"
},
%{
:name => ~c"background_color",
:type => ~c"string",
:required => ~c"No",
:default => ~c"gohan",
:description => ~c"List item background color"
},
%{
:name => ~c"color",
:type => ~c"-",
:required => ~c"-",
:default => ~c"-",
:description => ~c"TODO - List item color"
},
%{
:name => ~c"left_icon",
:type => ~c"slot",
:required => ~c"No",
:default => ~c"-",
:description => ~c"Element on the left"
},
%{
:name => ~c"right_icon",
:type => ~c"slot",
:required => ~c"No",
:default => ~c"-",
:description => ~c"Element on the right"
}
]
)
def handle_params(_params, uri, socket) do
{:noreply, assign(socket, uri: uri)}
end
def render(assigns) do
~F"""
<:example>
Single line item
Single line item
<:left_icon>
Single line item
<:left_icon>
Single line item
<:right_icon>
Single line item
<:left_icon>
<:right_icon>
Single line item
<:code>{get_list_item_1_code()}
<:example>
Single line item
Single line item
<:left_icon>
Single line item
<:left_icon>
Single line item
<:right_icon>
Single line item
<:left_icon>
<:right_icon>
Single line item
<:code>{get_list_item_2_code()}
"""
end
def get_list_item_1_code() do
"""
alias Moon.Autolayouts.TopToDown
alias Moon.Components.ListItems.SingleLineItem
Single line item
Single line item
<:left_icon>
Single line item
<:left_icon>
Single line item
<:right_icon>
Single line item
<:left_icon>
<:right_icon>
Single line item
"""
end
def get_list_item_2_code() do
"""
alias Moon.Autolayouts.TopToDown
alias Moon.Components.ListItems.SingleLineItem
Single line item
Single line item
<:left_icon>
Single line item
<:left_icon>
Single line item
<:right_icon>
Single line item
<:left_icon>
<:right_icon>
Single line item
"""
end
end