defmodule PetalComponents.Container do use Phoenix.Component # <.container max_width="sm|md|lg|xl" /> # <.container no_padding_on_mobile={true} /> def container(assigns) do assigns = assign_new(assigns, :max_width, fn -> "lg" end) ~H"""
<%= render_slot(@inner_block) %>
""" end defp get_full_width_classes(assigns) do base_classes = "mx-auto sm:px-6 lg:px-8" max_width_class = case assigns.max_width do "sm" -> "max-w-3xl" "md" -> "max-w-5xl" "lg" -> "max-w-7xl" "full" -> "max-w-full" end custom_classes = assigns[:class] || "" underline_classes = if assigns[:no_padding_on_mobile], do: "", else: "px-4" [max_width_class, base_classes, custom_classes, underline_classes] |> Enum.join(" ") end end