syncfusion-react-timeline — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited syncfusion-react-timeline (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The Timeline component displays events or steps in chronological order with visual indicators. It supports vertical and horizontal layouts, multiple alignment modes, customizable dots and connectors, templates, and events for complete flexibility.
Use the Timeline component when:
Choose Timeline over alternatives:
import { TimelineComponent, ItemsDirective, ItemDirective } from '@syncfusion/ej2-react-layouts';
import '@syncfusion/ej2-base/styles/tailwind3.css';
import '@syncfusion/ej2-layouts/styles/tailwind3.css';
function App() {
return (
<div style={{ height: '350px' }}>
<TimelineComponent>
<ItemsDirective>
<ItemDirective content="Shipped" />
<ItemDirective content="Departed" />
<ItemDirective content="Arrived" />
<ItemDirective content="Out for Delivery" />
</ItemsDirective>
</TimelineComponent>
</div>
);
}
export default App;TimelineComponent is the root container that manages the timeline layout and behavior.
Key Properties:
orientation: Layout direction (Vertical | Horizontal)align: Content positioning (Before | After | Alternate | AlternateReverse)reverse: Invert display order (most recent first)cssClass: Apply custom stylestemplate: Custom rendering for timeline itemsItemsDirective & ItemDirective define timeline items within the component.
Item Properties:
content: Main event text or templateoppositeContent: Secondary text on opposite sidedotCss: CSS class for dot styling (icons, images, custom appearance)cssClass: Individual item stylingdisabled: Disable interaction and dim appearance📄 Read: references/getting-started.md
📄 Read: references/layout-configuration.md
📄 Read: references/items-and-content.md
📄 Read: references/styling-and-customization.md
📄 Read: references/events-and-callbacks.md
created event when component rendersbeforeItemRender event for item customization📄 Read: references/advanced-features.md
📄 Read: references/accessibility.md
<TimelineComponent orientation='Vertical' align='Before'>
<ItemsDirective>
<ItemDirective content='Step 1' oppositeContent='Description' />
<ItemDirective content='Step 2' oppositeContent='Description' />
</ItemsDirective>
</TimelineComponent><TimelineComponent orientation='Horizontal' align='Alternate'>
<ItemsDirective>
<ItemDirective content='Event 1' oppositeContent='Date 1' />
<ItemDirective content='Event 2' oppositeContent='Date 2' />
</ItemsDirective>
</TimelineComponent><TimelineComponent>
<ItemsDirective>
<ItemDirective content='Shipped' dotCss='e-icons e-package' />
<ItemDirective content='Delivered' dotCss='e-icons e-check' cssClass='state-completed' />
</ItemsDirective>
</TimelineComponent><TimelineComponent reverse={true}>
<ItemsDirective>
<ItemDirective content='Latest activity' />
<ItemDirective content='Previous activity' />
</ItemsDirective>
</TimelineComponent>| Prop | Type | Values | Purpose | |
|---|---|---|---|---|
orientation | string | Vertical (default), Horizontal | Layout direction | |
align | string | Before, After, Alternate, AlternateReverse | Content positioning | |
reverse | boolean | true, false (default) | Reverse item order | |
cssClass | string | CSS class name | Global styling | |
template | function | React function | Custom item rendering | |
content (item) | string \ | function | Text or template | Event text/content |
oppositeContent (item) | string \ | function | Text or template | Secondary content |
dotCss (item) | string | CSS class | Dot styling | |
disabled (item) | boolean | true, false | Disable item | |
cssClass (item) | string | CSS class | Per-item styling |
Timeline not displaying:
style={{ height: '350px' }}Items not centered vertically:
height to TimelineComponent container--dot-size, --dot-outer-spaceContent positioning unexpected:
align property: Before, After, Alternate, AlternateReverseoppositeContent is defined for two-sided layoutsorientation matches your layout intentDots not visible:
e-outline class or custom CSS stylingdotCss property contains valid CSS class namesTemplates not rendering:
props.item, props.itemIndex(props: any) => JSX.Element~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.