defmodule Shino.UI.AspectRatio do @moduledoc """ Provides aspect ratio related components. > Displays content within a desired ratio. ## References * [@radix-ui/primitives - AspectRatio](https://www.radix-ui.com/primitives/docs/components/aspect-ratio) * [shadcn/ui - AspectRatio](https://ui.shadcn.com/docs/components/aspect-ratio) """ use Shino.UI, :component @doc """ Renders a div with fixed ratio. ## Examples ```heex <.aspect_ratio ratio={16 / 9}> Landscape photograph by Tobias Tullius ``` """ attr :ratio, :float, required: true attr :style, :string, default: nil attr :rest, :global slot :inner_block, required: true def aspect_ratio(assigns) do ~H"""
<%= render_slot(@inner_block) %>
""" end defp padding_bottom(ratio) do "#{Float.ceil(1 / ratio * 100, 2)}%" end end