defmodule SaladUI.Accordion do @moduledoc """ Accordion component for displaying collapsible content. ## Example <.accordion> <.accordion_item> <.accordion_trigger group="exclusive"> Is it accessible? <.accordion_content> Yes. It adheres to the WAI-ARIA design pattern. <.accordion_item> <.accordion_trigger group="exclusive"> Is it styled? <.accordion_content> Yes. It comes with default styles that matches the other components' aesthetic. <.accordion_item> <.accordion_trigger group="exclusive"> Is it animated? <.accordion_content> Yes. It's animated by default, but you can disable it if you prefer. """ use SaladUI, :component attr :class, :string, default: nil slot :inner_block, required: true def accordion(assigns) do ~H"""
{render_slot(@inner_block)}
""" end attr :class, :string, default: nil slot :inner_block, required: true def accordion_item(assigns) do ~H"""
{render_slot(@inner_block)}
""" end attr :group, :string, default: nil attr :class, :string, default: nil attr :open, :boolean, default: false slot :inner_block, required: true def accordion_trigger(assigns) do ~H"""

{render_slot(@inner_block)}

""" end attr :class, :string, default: nil slot :inner_block, required: true def accordion_content(assigns) do ~H"""
{render_slot(@inner_block)}
""" end end