Timelinx

UI Components

Component map, editor surfaces, panels, and styling guidance for @timelinx/ui

@timelinx/ui is the visual editor layer. It provides composable React components that read the UI provider context, subscribe to the React engine, and render a timeline editing surface.

Component Map

AreaComponents
Editor shellTimelineEditor, TopNav, Sidebar, StatusBar, CommandPalette, KeyboardShortcutsOverlay.
Timeline canvasTimelineToolbar, TimelineRuler, TrackList, TimelineTrack, TimelineClip, TimelinePlayhead, SnapIndicator, ZoomControls.
Media and previewAssetBin, DropZone, MediaPreview, CompositorPreview, TransportControls.
Inspection panelsInspectorPanel, EffectsPanel, KeyframesPanel, TransitionsPanel, CaptionsPanel, MarkersPanel, TextPanel, ExportDialog.
Composition helpersTabbedPanel, CollapsibleSection, icons, design tokens, presets, and shared time/geometry utilities.

How To Use It

import { TimelineEngine } from '@timelinx/react';
import { TimelineEditor, TimelineProvider } from '@timelinx/ui';

const engine = new TimelineEngine({ initialState });

export function Editor() {
  return (
    <TimelineProvider engine={engine} initialPpf={4}>
      <TimelineEditor />
    </TimelineProvider>
  );
}

Import the design system once:

@import '@timelinx/ui/styles/tokens';
@import '@timelinx/ui/styles/structure';
@import '@timelinx/ui/styles/presets/dark-pro';

Composition Patterns

PatternUse when
Full editorUse TimelineEditor when you want the main editing surface composed for you: toolbar, ruler, tracks, clips, playhead, and transport-oriented layout.
Custom shellAssemble TopNav, Sidebar, TrackList, TimelineRuler, TimelineTrack, TimelineClip, and panels when your product has its own app frame.
Focused panelsUse InspectorPanel, EffectsPanel, KeyframesPanel, TransitionsPanel, CaptionsPanel, MarkersPanel, and ExportDialog next to your own preview or media browser.
Interactive timelineComponents connect to the engine context for selection, tool changes, provisional state, snapping, zoom, scroll, and playhead rendering.

Styling Notes

The UI package exports tokens and presets rather than forcing one app shell. The dark preset is tuned for editor surfaces: low-glare panels, visible borders, blue accent chrome, and yellow selection affordances.

Use the shared CSS imports before overriding component-level styles. This keeps clip colors, track types, selected states, disabled states, scrollbars, and panel chrome consistent across the editor.

Keep engine state and layout state separate. Timeline data belongs in TimelineState. Zoom, scroll, viewport width, and panel placement belong in the UI provider or your app shell.

On this page