defmodule <%= @module_name %>.Components.UI.Breadcrumb do
@moduledoc """
Breadcrumb navigation component.
Ejected from PhiaUI — you own this copy. Customise freely.
## Example
<.breadcrumb>
<.breadcrumb_list>
<.breadcrumb_item>
<.breadcrumb_link href="/">Home
<.breadcrumb_separator />
<.breadcrumb_item>
<.breadcrumb_page>Current
"""
use Phoenix.Component
import <%= @module_name %>.ClassMerger, only: [cn: 1]
attr :class, :string, default: nil
attr :rest, :global
slot :inner_block, required: true
def breadcrumb(assigns) do
~H"""
"""
end
attr :class, :string, default: nil
attr :rest, :global
slot :inner_block, required: true
def breadcrumb_list(assigns) do
~H"""
<%%= render_slot(@inner_block) %>
"""
end
attr :class, :string, default: nil
attr :rest, :global
slot :inner_block, required: true
def breadcrumb_item(assigns) do
~H"""
<%%= render_slot(@inner_block) %>
"""
end
attr :href, :string, default: nil
attr :navigate, :string, default: nil
attr :class, :string, default: nil
attr :rest, :global
slot :inner_block, required: true
def breadcrumb_link(assigns) do
~H"""
<%%= render_slot(@inner_block) %>
"""
end
attr :class, :string, default: nil
attr :rest, :global
slot :inner_block, required: true
def breadcrumb_page(assigns) do
~H"""
<%%= render_slot(@inner_block) %>
"""
end
attr :class, :string, default: nil
slot :inner_block
def breadcrumb_separator(assigns) do
~H"""
svg]:size-3.5", @class])}>
<%%= if @inner_block != [] do %>
<%%= render_slot(@inner_block) %>
<%% else %>
/
<%% end %>
"""
end
attr :class, :string, default: nil
attr :rest, :global
def breadcrumb_ellipsis(assigns) do
~H"""
…
"""
end
end