<Accordion
expand={expanded}
size={Size::Medium}
expanded={Box::new(|| view! { <h3>"Accordion Expanded"</h3> })}
collapsed={Box::new(|| view! { <h3>"Accordion Collapsed"</h3> })}
>
<List>
<Item align={Align::Left}>
"Item 1 Left Aligned"
</Item>
<Item align={Align::Center}>
"Item 2 Centered"
</Item>
</List>
</Accordion><Accordion
expand={expanded}
size={Size::Custom("20rem")}
expanded={Box::new(|| view! { <h3 class="text-blue-500">"Styled Accordion Expanded"</h3> })}
collapsed={Box::new(|| view! { <h3 class="text-red-500">"Styled Accordion Collapsed"</h3> })}
class="bg-gray-900 text-gray-400 border border-gray-700 p-4 rounded-md"
expanded_class="bg-gray-800 text-white"
collapsed_class="bg-gray-900 text-gray-500"
duration={400}
>
<List class="list-disc pl-5">
<Item align={Align::Right}>
"Styled Item A"
</Item>
<Item align={Align::Justify}>
"Styled Item B with custom align."
</Item>
</List>
</Accordion><Accordion
expand={expanded_1}
size={Size::Large}
expanded={Box::new(|| view! { <div class="text-white font-semibold">"What are nested accordions?"</div> })}
collapsed={Box::new(|| view! { <div class="text-white font-semibold">"What are nested accordions?"</div> })}
class="bg-gray-900 text-gray-400 border border-gray-600 p-4 rounded-md"
>
<List>
<Item>
"Nested accordions allow you to place one accordion inside another for organizing related content."
</Item>
<Accordion
expand={expanded_2}
size={Size::Medium}
expanded={Box::new(|| view! { <div class="text-white font-semibold">"Nested Item 1"</div> })}
collapsed={Box::new(|| view! { <div class="text-white font-semibold">"Nested Item 1"</div> })}
class="bg-gray-800 border border-gray-600 p-3 rounded-md"
>
<List>
<Item>
"This is a nested item within the parent accordion."
</Item>
</List>
</Accordion>
</List>
</Accordion><Accordion
expand={expand_signal}
size={Size::XLarge}
expanded={Box::new(|| view! { <h3 class="text-white bg-gray-900 font-semibold">"Accordion with Emojis Expanded"</h3> })}
collapsed={Box::new(|| view! { <h3 class="text-gray-400 bg-gray-900 font-semibold">"Accordion with Emojis Collapsed"</h3> })}
class="bg-gray-900 text-gray-300 border border-gray-700 p-4 rounded-lg"
expanded_class="text-white bg-gray-800"
collapsed_class="text-gray-400 bg-gray-900"
duration=300
>
<List>
<Item title="Item with Icon" icon="🔍">"Search content"</Item>
<Item title="Another Icon Item" icon="📦">"Package content"</Item>
</List>
</Accordion><Accordion
expand={expand_signal}
size={Size::XLarge}
expanded={Box::new(|| view! { <h3 class="text-white bg-gray-900 font-semibold">"Form Inputs Accordion Expanded"</h3> }.into_any())}
collapsed={Box::new(|| view! { <h3 class="text-gray-400 bg-gray-900 font-semibold">"Form Inputs Accordion Collapsed"</h3> }.into_any())}
class="bg-gray-900 text-gray-300 border border-gray-700 p-4 rounded-lg"
expanded_class="text-white bg-gray-800"
collapsed_class="text-gray-400 bg-gray-900"
duration=400
>
<List>
<Item title="Form Item">
<form>
<label class="block text-sm text-gray-300 mb-2" for="name">"Name: "</label>
<input class="w-full p-2 border border-gray-600 rounded mb-4" type="text" id="name" name="name" />
<label class="block text-sm text-gray-300 mb-2" for="email">"Email: "</label>
<input class="w-full p-2 border border-gray-600 rounded" type="email" id="email" name="email" />
</form>
</Item>
</List>
</Accordion><Accordion
expand={expand_signal}
size={Size::XLarge}
expanded={Box::new(|| view! { <div class="text-white bg-gray-900 font-semibold">"What is Leptos?"</div> }.into_any())}
collapsed={Box::new(|| view! { <div class="text-gray-400 bg-gray-900 font-semibold">"What is Leptos?"</div> }.into_any())}
class="bg-gray-900 text-gray-300 border border-gray-700 p-4 rounded-lg"
expanded_class="text-white bg-gray-800"
collapsed_class="text-gray-400 bg-gray-900"
>
<List>
<Item>
"Leptos is a web framework for building reactive web applications in Rust."
</Item>
</List>
</Accordion>
<Accordion
expand={expand_signal}
size={Size::XLarge}
expanded={Box::new(|| view! { <div class="text-white bg-gray-900 font-semibold">"Is Leptos production-ready?"</div> }.into_any())}
collapsed={Box::new(|| view! { <div class="text-gray-400 bg-gray-900 font-semibold">"Is Leptos production-ready?"</div> }.into_any())}
class="bg-gray-900 text-gray-300 border border-gray-700 p-4 rounded-lg"
expanded_class="text-white bg-gray-800"
collapsed_class="text-gray-400 bg-gray-900"
>
<List>
<Item>
"Yes, Leptos is production-ready, offering excellent performance with its reactive system and Rust safety."
</Item>
</List>
</Accordion><Accordion
expand={expand_signal}
size=Size::XLarge
expanded=Box::new(|| view! { <h3>"Accordion Expanded"</h3> }.into_any())
collapsed=Box::new(|| view! { <h3>"Accordion Collapsed"</h3> }.into_any())
class="bg-gray-900 text-gray-300 border border-gray-700 p-4 rounded-lg"
expanded_class="text-white bg-gray-800"
collapsed_class="text-gray-400 bg-gray-800"
did_open={move || on_did_open()}
will_open={move || on_will_open()}
did_close={move || on_did_close()}
will_close={move || on_will_close()}
>
<List>
<Item Align::Left>"Item 1 - Left"</Item>
<Item Align::Right>"Item 2 - Right"</Item>
</List>
</Accordion>