{
"files": [
{
"content": "defmodule Shadix.Components.AspectRatio do\n @moduledoc \"\"\"\n Aspect ratio component, translated from the shadcn/ui (new-york-v4) aspect-ratio.\n\n shadcn re-exports Radix's `AspectRatio.Root`, which carries no Tailwind classes\n of its own. This presentational version renders a `<div data-slot=\"aspect-ratio\">`\n and applies the ratio via the CSS `aspect-ratio` property.\n \"\"\"\n use Phoenix.Component\n\n import Shadix.Cn\n\n attr(:ratio, :string, default: \"1 / 1\")\n attr(:class, :string, default: nil)\n attr(:rest, :global)\n slot(:inner_block, required: true)\n\n def aspect_ratio(assigns) do\n assigns = assign(assigns, :computed_class, cn([assigns.class]))\n\n ~H\"\"\"\n <div data-slot=\"aspect-ratio\" class={@computed_class} style={\"aspect-ratio: #{@ratio}\"} {@rest}>\n {render_slot(@inner_block)}\n </div>\n \"\"\"\n end\nend\n",
"path": "aspect_ratio.ex"
}
],
"hooks": [],
"name": "aspect_ratio",
"npm_deps": [],
"registry_deps": [
"cn"
]
}