Skip to main content

priv/registry/textarea.json

{
  "files": [
    {
      "content": "defmodule Shadix.Components.Textarea do\n  @moduledoc \"\"\"\n  Textarea component translated from the shadcn-ui \"textarea\" component.\n\n  Renders a `<textarea>` element with `data-slot=\"textarea\"`. Supports an\n  optional `inner_block` slot to provide initial text content.\n  \"\"\"\n  use Phoenix.Component\n\n  import Shadix.Cn\n\n  @base \"flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40\"\n\n  attr(:class, :string, default: nil)\n\n  attr(:rest, :global,\n    include: ~w(name placeholder disabled required readonly rows cols autofocus)\n  )\n\n  slot(:inner_block)\n\n  def textarea(assigns) do\n    class = cn([@base, assigns.class])\n    assigns = assign(assigns, :computed_class, class)\n\n    ~H\"\"\"\n    <textarea data-slot=\"textarea\" class={@computed_class} {@rest}>{render_slot(@inner_block)}</textarea>\n    \"\"\"\n  end\nend\n",
      "path": "textarea.ex"
    }
  ],
  "hooks": [],
  "name": "textarea",
  "npm_deps": [],
  "registry_deps": [
    "cn"
  ]
}