# Timeline Career records, profile narratives and chronological lists. - Group: Website - Import: `import { Timeline } from '@misoto22/folio/website'` - Page: https://ui.misoto22.com/components/timeline/ ## When to reach for it Present dated work, education and personal background using supplied content. ## Best practices ### Do - Supply localized labels, descriptive links and meaningful image alternatives. ### Don’t - Do not put service credentials, routing logic or backend models inside presentation components. ## RecordSection A named ledger section. The host supplies its chronology without reordering. ### Props - `title` (required) — `string`. - `count` — `string`. - `headingId` (required) — `string`. - `children` (required) — `ReactNode`. Also accepts: `HTMLAttributes`. ## CareerRecord One dated record, reusable for a role, qualification or other chronology. ### Props - `title` (required) — `string`. - `organization` (required) — `ReactNode`. - `period` (required) — `string`. - `periodLabel` (required) — `string`. - `location` (required) — `string`. - `locationLabel` (required) — `string`. - `description` (required) — `string[]`. - `tags` (required) — `string[]`. - `tagsLabel` (required) — `string`. - `mark` — `ReactNode`. - `currentLabel` — `string`. Also accepts: `Omit, 'title'>`. ## ProfileSection A profile section follows the same heading and spacing contract as its neighbors. ### Props - `headingId` (required) — `string`. - `title` (required) — `string`. - `description` — `string`. - `children` (required) — `ReactNode`. Also accepts: `HTMLAttributes`. ## ProfileNarrative A short introduction with a pull quote and a longer account alongside it. ### Props - `headingId` (required) — `string`. - `title` (required) — `string`. - `pull` (required) — `string`. - `paragraphs` (required) — `string[]`. - `action` — `ReactNode`. ## ProfileSkills Skill labels and theme-aware artwork, supplied by the host's content adapter. ### Props - `groups` (required) — `{ id: string; title: string; items: ProfileSkill[] }[]`. ## ProfileInterests A small set of interests or areas of practice. ### Props - `items` (required) — `{ id: string; title: string; description: string }[]`. ## ProfileFigure Source-faithful profile photography: retain the supplied image's aspect ratio. ### Props - `children` (required) — `ReactNode`. - `caption` — `string`. ## Timeline An ordered collection frame. No sorting or business data is owned here. ## TimelineItem A record mount, isolated so motion can follow the shared data-motion axis. ## Example — dated records ```tsx import { CareerRecord, RecordSection, Timeline, TimelineItem } from '@misoto22/folio/website' Independent studio} period="2023 — present" periodLabel="Period" location="Remote" locationLabel="Location" currentLabel="Current" description={['Designing practical tools for research and publishing.', 'Working with small teams from prototype to delivery.']} tags={['Research', 'Design systems']} tagsLabel="Areas of practice" /> ```