PERSON CARD: Horizontal tw-card for displaying people (siblings, parents, students)
VARIANTS: Default | Accent (.person-card-accent) | Compact (.person-card-sm) | With expand/collapse | With actions
Used in drawer panels and record pages to display family members, siblings, and connected people. Composes with avatar component and supports expand/collapse via collapsible_controller.js.
Base: Avatar + name + role/relation + optional metadata line. Uses existing avatar component.
<div class="tw-person-card"><div class="tw-person-card-header"><div class="tw-avatar tw-avatar-sm tw-avatar-primary">OC</div><div class="tw-person-card-info">...</div></div></div>
Accent: Add .person-card-accent to show a left-border accent highlighting a linked/active person
(e.g. a sibling with an existing enquiry).
<div class="tw-person-card tw-person-card-accent">...</div>
Actions: Add buttons or badges in the .person-card-actions area on the right.
<div class="tw-person-card-actions"><button class="tw-btn tw-btn-secondary tw-btn-sm">...</button></div>
Expandable: Uses collapsible_controller.js to reveal detail content.
Add a chevron in the actions area and wrap detail content in .collapsible-content.
Works with .info-grid pattern inside the detail section.
<div class="tw-person-card" data-controller="collapsible"><button class="tw-person-card-header" data-action="click->collapsible#toggle">...</button><div class="tw-collapsible-content" data-collapsible-target="content">...</div></div>
Compact: Tighter spacing and smaller text for drawer panels.
Add .person-card-sm alongside .person-card.
<div class="tw-person-card tw-person-card-sm">...</div>
Parents: No avatar. Name + role inline via <span>. Relationship badges in
.person-card-body. Full-width action button in .person-card-footer.
<div class="tw-person-card"><div class="tw-person-card-header">...</div><div class="tw-person-card-body">badges...</div><div class="tw-person-card-footer">button...</div></div>
Siblings: Avatar + inline name/role in header. Date meta below name.
Full-width action button in .person-card-footer.
<div class="tw-person-card"><div class="tw-person-card-header"><div class="tw-avatar ...">...</div><div class="tw-person-card-info">...</div></div><div class="tw-person-card-footer">button...</div></div>
Example: Typical usage inside a record sidebar showing family members with expand/collapse.
Empty: When no family members are linked, show a helpful message with an optional action.
No family members linked