Skip to main content

priv/registry/aspect_ratio.json

{
  "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"
  ]
}