Basic
A compact disclosure row for short answers and supporting details.
Icons by @ng-icons/tabler-icons
The component library does not provide icons.
Component Blueprint
Single-panel disclosure primitive for toggling additional content.
TS
import { FrBadgeModule } from '@frame-ui-ng/components/badge';
import { FrButtonModule } from '@frame-ui-ng/components/button';
import { FrCardModule } from '@frame-ui-ng/components/card';
import { FrCollapsibleModule } from '@frame-ui-ng/components/collapsible';
import { FrInputModule } from '@frame-ui-ng/components/input';HTML
<section frCollapsible>
<button frCollapsibleTrigger type="button">
<span>Can I use this in my project?</span>
<ng-icon name="tablerChevronDown" size="18" />
</button>
<div frCollapsibleContent>
Yes. Use collapsible when a short answer or supporting details should stay one click away.
</div>
</section>A compact disclosure row for short answers and supporting details.
Use open and openChange when the surrounding component owns the expanded state.
Support handoff
Disable the root when the disclosure should stay visible but not interactive.
Reveal advanced controls without making the default form feel heavy.
Use a collapsible card when secondary metadata should stay available but quiet.
Collapsible uses logical properties, so spacing and nested content adapt in RTL.
Override collapsible tokens locally to tune trigger spacing, content typography, and reveal motion.
Inspect the collapsible trigger, disclosure content, and animation tokens.
Use these CSS custom properties to tune trigger spacing, content typography, and disclosure motion.
SCSS
--frame-collapsible-trigger-gap: 0.5rem;
--frame-collapsible-trigger-color: var(--frame-foreground);
--frame-collapsible-trigger-open-color: var(--frame-foreground);
--frame-collapsible-trigger-disabled-opacity: 0.55;
--frame-collapsible-content-color: var(--frame-muted-foreground);
--frame-collapsible-content-font-size: 0.875rem;
--frame-collapsible-content-line-height: 1.6;
--frame-collapsible-content-padding-block-start: 0.75rem;
--frame-collapsible-content-transition-duration: 220ms;
--frame-collapsible-content-transition-timing: ease;