defmodule <%= @module_name %>.UI.Alert do @moduledoc """ A simple alert component for displaying important messages. ## Example Usage Here is a basic example of setting up an alert with a title and description: ```elixir Heads up! You can add components to your app using the CLI. ``` This structure allows you to create styled alert messages with customizable content. """ use Phoenix.Component use CVA.Component import <%= @module_name %>.UI.Helper variant( :variant, [ default: "bg-background text-foreground", warning: ~s"bg-amber-50 dark:bg-amber-950 text-amber-900 dark:text-amber-100 border-amber-300 dark:border-amber-700 [&>svg]:text-amber-900 [&>svg]:stroke-amber-900 dark:[&>svg]:stroke-amber-100 dark:[&>svg]:text-amber-100", destructive: ~s"bg-background border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive [&>svg]:stroke-destructive" ], default: :default ) attr(:class, :any, default: nil) attr(:rest, :global) slot(:inner_block, required: true) def root(assigns) do ~H""" """ end attr(:class, :any, default: nil) attr(:rest, :global) slot(:inner_block, required: true) def title(assigns) do ~H"""
<%= render_slot(@inner_block) %>
""" end attr(:class, :any, default: nil) attr(:rest, :global) slot(:inner_block, required: true) def description(assigns) do ~H"""
<%= render_slot(@inner_block) %>
""" end end