Define columns with stable ids, labels and optional descriptions. Each row supplies its items; start identifies a column id and span extends across consecutive columns. The grid clamps spans to the available columns and ignores items with an unknown start. Use tone, subtitle and meta to describe activities. minColumnWidth preserves readable columns and the schedule scrolls locally on narrow screens.
These inputs require a model or function, not a checkbox. Edit the same-named field in the Source component and bind it in the template; data already used by this preview appears in the state above.
itemClick and slotClick report activation; they do not apply selection automatically. Update selectedItemId or selectedSlot to show the selection your application accepts. Clear the other value for mutually exclusive item/slot selection. This component displays data; it does not implement dragging or editing. It has no Templates.
Items and slots are native buttons named from their row and content. Use Tab to reach them and Enter or Space to activate them. Applied selections expose aria-pressed. The scroll viewport is keyboard focusable; stickyLabels keeps row names visible while scrolling.
Key
Action
Tab
Reach the scroll viewport and the enabled item/slot buttons.
Enter
Activate the focused item or slot; applied selection controls aria-pressed.
Space
Activate the focused item or slot; applied selection controls aria-pressed.
ng-content projects content into the component. TemplateRef inputs receive a template; ng-template directives identify templates with a typed context. A directive shared by an entrypoint is not necessarily a slot of this component.
This component does not expose content projection or public customization templates.
Public Types
Open a type to inspect its definition and interface fields.
NeuDensity.d.ts
import type { NeuDensity } from '@neural-ui/core';
// Public declaration (reference only)
type NeuDensity = 'compact' | 'normal' | 'relaxed';
NeuTimelineGridColumn.d.ts
import type { NeuTimelineGridColumn } from '@neural-ui/core/timeline-grid';
// Public declaration (reference only)
export interface NeuTimelineGridColumn {
description?: string;
id: string;
label: string;
}
NeuTimelineGridItem.d.ts
import type { NeuTimelineGridItemTone } from '@neural-ui/core/timeline-grid';
import type { NeuTimelineGridItem } from '@neural-ui/core/timeline-grid';
// Public declaration (reference only)
export interface NeuTimelineGridItem {
id: string;
meta?: string;
span?: number;
start: string;
subtitle?: string;
title: string;
tone?: NeuTimelineGridItemTone;
}
NeuTimelineGridItemTone.d.ts
import type { NeuTimelineGridItemTone } from '@neural-ui/core/timeline-grid';
// Public declaration (reference only)
export type NeuTimelineGridItemTone = 'neutral' | 'success' | 'warning' | 'danger' | 'info';
NeuTimelineGridRow.d.ts
import type { NeuTimelineGridItem } from '@neural-ui/core/timeline-grid';
import type { NeuTimelineGridRow } from '@neural-ui/core/timeline-grid';
// Public declaration (reference only)
export interface NeuTimelineGridRow {
description?: string;
id: string;
items: readonly NeuTimelineGridItem[];
label: string;
}
NeuTimelineGridSlotSelection.d.ts
import type { NeuTimelineGridSlotSelection } from '@neural-ui/core/timeline-grid';
// Public declaration (reference only)
export interface NeuTimelineGridSlotSelection {
columnId: string;
rowId: string;
}