defmodule Paleta.Components.Breadcrumb do use Phoenix.Component attr(:title, :string, required: true) attr(:steps, :list, required: true) attr(:border, :boolean, default: false) slot(:actions, doc: "Add action") def breadcrumb(assigns) do {last, steps} = assigns[:steps] |> List.pop_at(-1) assigns |> assign(:last, last) |> assign(:steps, steps) |> assign(:border_class, border(assigns.border)) |> render() end defp render(assigns) do ~H"""

<%= @title %>

<%= render_slot(@actions) %>
""" end defp border(true), do: "flex items-center space-x-1.5 rounded-lg border border-slate-200 py-1 px-1.5 leading-none " defp border(false), do: "" end