Preview
The mobile rollout starts with 10% of eligible accounts.
Design guidance
Use an end citation when a source supports a complete sentence. Use inline placement when the source belongs to a specific phrase. The source-title chip is the default; numbered markers remain available for interfaces that already use numbered references. CitationList groups sources by Web, Files, and Connectors in a compact footer control. A provided-source list stays named “Sources provided” when no claim order exists.
Triggers compose the canonical Button and Popover, including the popover arrow and keyboard behavior. The source-title appearance uses the subtle Button variant. Only credential-free HTTP(S) URLs become links; unsafe or missing URLs remain readable text. Unresolved IDs keep an honest unresolved label and do not receive invented source records.
Installation
Install the neutral source from the local registry endpoint.
Import foundation.css once after shared tokens when using the canonical Button and Popover owners.
Basic usage
The default placement is end, and the default appearance is source-title.
Structures
CitationProvider owns stable source order and metadata. Citation marks the claim and opens its source preview. CitationList can render a grouped footer trigger, a detailed preview list, or a legacy numbered list. MessageParts uses the grouped footer by default; set sourceList={false} when the caller places source controls in MessageFooter.
Examples
End of sentence
Place the source chip after the sentence it supports.
The mobile rollout starts with 10% of eligible accounts.
Inline phrase
Use children for readable custom text while retaining an accessible source name.
Start with 10% of eligible accounts , then confirm support coverage .
Grouped source footer
Open the footer control to browse Web, Files, and Connectors in source order. The stack shows at most three resource icons and then a remaining count.
The staged launch is ready for review.
Detailed source preview
Use variant="preview" when titles, locations, and snippets should stay visible.
Rollout evidence
- Mobile rollout planproduct.acme.coThe staged rollout starts with 10% of eligible accounts.
- Staging support SLAsupport.acme.coSupport coverage is on call during each rollout window.
- launch-review.pdflaunch-review.pdf · page 4 · Open risks · application/pdf · 240 KBThe launch review lists unresolved owner assignments.
- Rollout checklistDriveThe checklist tracks regional readiness.
Numbered legacy marker
Keep numbered markers explicit when matching an existing numbered reference pattern.
Start with a 10% rollout
Provided and unresolved sources
Provided sources do not claim support for an anchor. Missing IDs remain visibly unresolved and are not assigned a fabricated source record.
The plan is recorded .
- Mobile rollout planproduct.acme.coThe staged rollout starts with 10% of eligible accounts.
- Unresolved source future
API reference
| Prop | Type | Default | Description |
|---|---|---|---|
sourcesrequired | readonly SourceRecord[] | Provides source metadata. The first record for each ID owns the source identity. | |
mode | 'citations' | 'provided' | 'citations' | Selects claim-aware citation mode or a truthful provided-source list. |
citationOrder | readonly string[] | Supplies first-occurrence claim order in citations mode; missing records keep their reserved position. |
| Prop | Type | Default | Description |
|---|---|---|---|
sourceIdsrequired | readonly string[] | Identifies one or more sources. Duplicate IDs are removed while preserving order. | |
placement | 'end' | 'inline' | 'end' | Marks sentence-end or phrase-level placement for caller composition. |
appearance | 'source-title' | 'numbered' | 'source-title' | Shows a subtle source-title chip or an explicit legacy numbered marker. |
label | string | Sets the accessible trigger name; by default source titles and unresolved status are included. | |
children | ReactNode | Replaces the compact visual label while keeping the accessible source name. |
| Prop | Type | Default | Description |
|---|---|---|---|
variant | 'grouped' | 'preview' | 'numbered' | 'grouped' | Shows the grouped popover trigger, detailed source rows, or legacy numbered rows. |
sourceIds | readonly string[] | Selects sources in display order. Omit to use provider citation order or all provided sources. | |
mode | 'citations' | 'provided' | provider mode | Controls whether entries express claim order or only caller-provided sources. |
title | string | Sets the list heading or grouped trigger label. |
| Prop | Type | Default | Description |
|---|---|---|---|
sourceList | boolean | true | Renders the grouped source footer when source records exist. Set false when composing a separate footer control. |
sourceListVariant | CitationListVariant | 'grouped' | Selects grouped, detailed preview, or numbered legacy source-list rendering. |