Read these files first:
- /isomer/packages/components/src/templates/next/components/complex/Blockquote/Blockquote.tsx
- /isomer/packages/components/src/templates/next/components/complex/Callout/Callout.tsx
- /isomer/packages/components/src/interfaces/complex/Blockquote.ts
- /isomer/packages/components/src/interfaces/complex/Callout.ts
Then generate a new component to the spec below. Follow these rules strictly:
- Use tv() only if the component has variants. Otherwise use plain classnames like Callout.
- Only use semantic colour and type tokens. Never raw Tailwind colours (e.g. text-gray-500) or arbitrary values (e.g. w-[372px]).
- When choosing tokens, match the intent: use base-content-default for body and interactive text, base-content-strong only for emphasis, prose-headline-lg-medium for structural labels, bg-base-canvas-alt for container backgrounds, border-base-divider for borders.
- For icons, use react-icons/bi. Prefer BiChevronRight for directional/navigation cues.
- Props interface goes in ~/interfaces/complex/[ComponentName].ts
- File structure:
- /complex/RelatedLinks/index.ts
- /complex/RelatedLinks/RelatedLinks.tsx
- /complex/RelatedLinks/RelatedLinks.stories.tsx
- index.ts should re-export the component.
- Stories file should have a Default story, one edge case, and add the component to the Layout-level story.
- No data fetching. All event data is passed in directly as props.
Spec
Name: RelatedLinks
Type: complex
Has homepage variant: no
Purpose: Displays a list of related page links, typically at the bottom of a content page
Required props: links (array of { title: string, url: string })
Optional props: heading (string, defaults to "Related links")
Max items: 7
Visual description: A box with a heading and a vertical list of linked page titles, each with a right-facing chevron icon
Behaviour notes: No data fetching — links are passed in directly as props. Each link opens normally (no new tab). Use LinkComponent instead of native anchor tags.
References: Callout (similar box treatment), Cards (similar link pattern)
Read these files first:
Then generate a new component to the spec below. Follow these rules strictly:
Spec
Name: RelatedLinks
Type: complex
Has homepage variant: no
Purpose: Displays a list of related page links, typically at the bottom of a content page
Required props: links (array of { title: string, url: string })
Optional props: heading (string, defaults to "Related links")
Max items: 7
Visual description: A box with a heading and a vertical list of linked page titles, each with a right-facing chevron icon
Behaviour notes: No data fetching — links are passed in directly as props. Each link opens normally (no new tab). Use LinkComponent instead of native anchor tags.
References: Callout (similar box treatment), Cards (similar link pattern)