Component
Minimal Accordion
Borderless, typography-led accordion with a plus/minus indicator that animates into a minus. Ultra-clean hierarchy for modern SaaS and marketing pages.
- Component
- Tailwind
- HTML
- MIT
What it does
Capabilities
- Plus/minus indicator
- Borderless design
- Typography hierarchy
- Smooth indicator animation
- Hover dim
- Focus rings
Preview
Live component
9:41 100%
devsnips.site/library/tailwind/components/accordions/minimal-accordion/ fluid · no fixed width 100%
Install
Add to your project
npx devsnips add Tailwind/Components/Accordions/minimal-accordion Tailwind/Components/Accordions/minimal-accordion <!--
Snippet Name: Minimal Accordion
Description: Borderless, ultra-clean accordion with a plus/minus indicator. Typography-led hierarchy for modern SaaS UIs.
Author: DevSnips Contributors
Usage Example: Marketing or product pages where visual quietness matters.
-->
<div class="divide-y divide-gray-100" data-accordion="minimal">
<div class="py-1" data-accordion-item>
<h3>
<button type="button" id="minimal-trigger-1" aria-controls="minimal-panel-1" aria-expanded="false" class="accordion-trigger group flex w-full items-center justify-between gap-6 py-4 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-gray-900 focus-visible:ring-offset-4 rounded-sm">
<span class="text-base font-medium text-gray-900 transition-colors group-hover:text-gray-600">What is included in the free plan?</span>
<span class="relative flex h-5 w-5 shrink-0 items-center justify-center text-gray-400">
<span class="absolute h-[1.5px] w-3 rounded-full bg-current transition-transform duration-300 ease-out accordion-minus-h"></span>
<span class="absolute h-3 w-[1.5px] rounded-full bg-current transition-transform duration-300 ease-out accordion-plus-v"></span>
</span>
</button>
</h3>
<div id="minimal-panel-1" role="region" aria-labelledby="minimal-trigger-1" class="accordion-panel grid grid-rows-[0fr] transition-[grid-template-rows] duration-300 ease-out">
<div class="overflow-hidden">
<p class="max-w-prose pb-5 text-[15px] leading-relaxed text-gray-500">The free plan includes unlimited projects, three collaborators per workspace, and community support. There are no seat limits during your trial, so you can evaluate the full workflow before committing to a paid tier.</p>
</div>
</div>
</div>
<div class="py-1" data-accordion-item>
<h3>
<button type="button" id="minimal-trigger-2" aria-controls="minimal-panel-2" aria-expanded="false" class="accordion-trigger group flex w-full items-center justify-between gap-6 py-4 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-gray-900 focus-visible:ring-offset-4 rounded-sm">
<span class="text-base font-medium text-gray-900 transition-colors group-hover:text-gray-600">Can I change plans at any time?</span>
<span class="relative flex h-5 w-5 shrink-0 items-center justify-center text-gray-400">
<span class="absolute h-[1.5px] w-3 rounded-full bg-current transition-transform duration-300 ease-out accordion-minus-h"></span>
<span class="absolute h-3 w-[1.5px] rounded-full bg-current transition-transform duration-300 ease-out accordion-plus-v"></span>
</span>
</button>
</h3>
<div id="minimal-panel-2" role="region" aria-labelledby="minimal-trigger-2" class="accordion-panel grid grid-rows-[0fr] transition-[grid-template-rows] duration-300 ease-out">
<div class="overflow-hidden">
<p class="max-w-prose pb-5 text-[15px] leading-relaxed text-gray-500">Yes. Upgrades apply immediately and we prorate the difference for the remainder of the billing cycle. Downgrades take effect at the start of your next cycle so you keep the features you paid for.</p>
</div>
</div>
</div>
<div class="py-1" data-accordion-item>
<h3>
<button type="button" id="minimal-trigger-3" aria-controls="minimal-panel-3" aria-expanded="false" class="accordion-trigger group flex w-full items-center justify-between gap-6 py-4 text-left focus:outline-none focus-visible:ring-2 focus-visible:ring-gray-900 focus-visible:ring-offset-4 rounded-sm">
<span class="text-base font-medium text-gray-900 transition-colors group-hover:text-gray-600">How do you handle data ownership?</span>
<span class="relative flex h-5 w-5 shrink-0 items-center justify-center text-gray-400">
<span class="absolute h-[1.5px] w-3 rounded-full bg-current transition-transform duration-300 ease-out accordion-minus-h"></span>
<span class="absolute h-3 w-[1.5px] rounded-full bg-current transition-transform duration-300 ease-out accordion-plus-v"></span>
</span>
</button>
</h3>
<div id="minimal-panel-3" role="region" aria-labelledby="minimal-trigger-3" class="accordion-panel grid grid-rows-[0fr] transition-[grid-template-rows] duration-300 ease-out">
<div class="overflow-hidden">
<p class="max-w-prose pb-5 text-[15px] leading-relaxed text-gray-500">You own your data, full stop. Export everything as JSON or CSV at any time, and deletion requests are processed within 30 days. We never sell user data or use it to train third-party models.</p>
</div>
</div>
</div>
<script>
(function () {
const root = document.currentScript.closest('[data-accordion]');
if (!root) return;
root.querySelectorAll('[data-accordion-item]').forEach((item) => {
const trigger = item.querySelector('.accordion-trigger');
const panel = item.querySelector('.accordion-panel');
const vBar = item.querySelector('.accordion-plus-v');
if (!trigger || !panel) return;
const toggle = () => {
const open = trigger.getAttribute('aria-expanded') === 'true';
trigger.setAttribute('aria-expanded', String(!open));
panel.classList.toggle('grid-rows-[1fr]', !open);
panel.classList.toggle('grid-rows-[0fr]', open);
if (vBar) vBar.style.transform = open ? '' : 'scaleY(0)';
};
trigger.addEventListener('click', toggle);
});
})();
</script>
</div> # Minimal Accordion
Borderless, typography-led accordion.
## Usage
```bash
npx devsnips add Tailwind/Components/Accordions/minimal-accordion
```
Copy from `code.html`.
## File Structure
`code.html` · `preview.html` · `metadata.json` · `README.md` 79 lines UTF-8 · LF · Spaces: 2
DevSnips AI ready Claude · Cursor · Windsurf
Agent skill & Model Context Protocol
Pass this component straight into your AI workflow. DevSnips exposes each resource as a structured, addressable registry entry, so your agent installs the real files instead of approximating them.
devsnips://components/accordions/minimal-accordion I want to use this DevSnips resource in production: Page: https://devsnips.site/library/tailwind/components/accordions/minimal-accordion/ Install: npx devsnips add Tailwind/Components/Accordions/minimal-accordion This is the Minimal Accordion — Borderless, typography-led accordion with a plus/minus indicator that animates into a minus. Ultra-clean hierarchy for modern SaaS and marketing pages. Use this DevSnips resource as the starting point for my project. Adapt it to my project's stack and conventions, fix any issues, and make it production-ready while preserving its intended design and behavior.
Paste into ChatGPT, Claude or your agent — it already carries the page URL and the exact install path.
Resource URI
devsnips://components/accordions/minimal-accordion