Generate a collapsible accordion component for FAQ sections, expandable content, or any collapsible interface.
Generates collapsible accordion components with dynamic styling and accessibility features.
/plugin marketplace add vcode-sh/vibe-tools/plugin install greenshift-blocks@vibe-toolsGenerate a collapsible accordion component for FAQ sections, expandable content, or any collapsible interface.
greenshift-blocks skill documentation, specifically docs/08-variations.md for accordion structuredata-type="accordion-component".gs_accordion (container, isVariation: "accordion")
└── .gs_item (accordion item)
├── .gs_title (h3)
│ └── button.gs_click_sync
│ ├── .gs_name (title text)
│ └── .gs_icon (chevron SVG)
└── .gs_content
└── .gs_content_inner (content)
{
"isVariation": "accordion",
"className": "gs_accordion_XXX gs_collapsible",
"dynamicAttributes": [{"name": "data-type", "value": "accordion-component"}],
"styleAttributes": {
"display": ["flex"],
"flexDirection": ["column"],
"rowGap": ["15px"]
}
}
{
"className": "gs_item",
"type": "inner"
}
{
"tag": "button",
"className": "gs_click_sync",
"formAttributes": {"type": "button"},
"dynamicAttributes": [{"name": "aria-expanded", "value": "false"}]
}
{
"className": "gs_content",
"dynamicAttributes": [
{"name": "role", "value": "region"},
{"name": "aria-hidden", "value": "true"}
]
}
<svg viewBox="0 0 512 1024" width="512" height="1024" class="gs_icon">
<path d="M49.414 76.202l-39.598 39.596c-9.372 9.372-9.372 24.568 0 33.942l361.398 362.26-361.398 362.26c-9.372 9.372-9.372 24.568 0 33.942l39.598 39.598c9.372 9.372 24.568 9.372 33.942 0l418.828-418.828c9.372-9.372 9.372-24.568 0-33.942l-418.828-418.828c-9.374-9.374-24.57-9.374-33.942 0z" />
</svg>
> .gs_item - Item borders and radius .gs_title - Title reset (margins/padding to 0) .gs_title button - Button styling (background, padding, layout) .gs_title .gs_icon - Icon size and transition> .gs_item > .gs_content - Hidden state (max-height: 0, opacity: 0) > .gs_item[data-active] > .gs_content - Open state (max-height: 5000px, opacity: 1) .gs_content > .gs_content_inner - Content padding > .gs_item[data-active] > .gs_title .gs_icon - Rotated icon (90deg)var(--wp--preset--color--border, #00000012)#0000000dmax-height 0.5s cubic-bezier(0.42, 0, 0.58, 1)accordion-faq.html)IMPORTANT: Always save output to a .html file. Never just display the code in chat.