"""
end
slot :inner_block, required: true
def card_menu(assigns) do
~H"""
<.dropdown_menu class="[grid-area:menu] justify-self-end opacity-5 group-hovered/card:opacity-100 z-10">
<.dropdown_menu_trigger>
<.button variant="btn-outline" size="btn-icon" class="overflow-hidden rounded-full">
<.icon icon="lucide-settings" class="size-5" />
<.dropdown_menu_content side="bottom" align="end">
<.menu>
<.menu_group>
<%= render_slot(@inner_block) %>
"""
end
attr :icon, :string, default: nil
attr :class, :string, default: nil
attr :disabled, :boolean, default: false
attr :rest, :global,
include:
~w(disabled form name value download hreflang referrerpolicy rel target type navigate patch href replace method type csrf_token)
slot :inner_block, required: true
def card_menu_action(%{"phx-click": nil} = assigns) do
~H"""
<.link {@rest}>
<.menu_item class={@class} disabled={@disabled}>
<.icon :if={@icon} icon={@icon} class="size-4 mr-2" />
<%= render_slot(@inner_block) %>
"""
end
def card_menu_action(assigns) do
~H"""
"""
end
slot :inner_block, required: true
def card_footer(assigns) do
~H"""
"""
end
slot :inner_block, required: true
def card_header(assigns) do
~H"""
<%= render_slot(@inner_block) %>
"""
end
attr :text, :string, required: true
def card_footer_muted_text(assigns) do
~H"""
<.card_footer>
<.card_muted_text>
<.text text={@text} />
"""
end
end