'use client'; import * as React from 'react'; import type { ToolcraftTimelineKeyframeEasing } from '../../state/types'; import type { TimelineBezierControlPoints } from './timeline-easing-model'; import { getEasingIconPath, timelineEasingPresetIconLineColor, timelineEasingPresetIconSize, timelineEasingPresetIconViewBoxSize, } from './timeline-easing-geometry'; export function TimelineEasingCurveIcon({ className, easing, size = 20, }: { className?: string; easing: ToolcraftTimelineKeyframeEasing; size?: number; }): React.JSX.Element { if (easing.type === 'step') { return ( ); } return ( ); } export function TimelineEasingPresetIcon({ controlPoints, }: { controlPoints: TimelineBezierControlPoints; }): React.JSX.Element { const iconSize = timelineEasingPresetIconViewBoxSize; const iconInset = 4; const iconGridSize = iconSize - iconInset * 2; const pointX = (point: number): number => iconInset + point * iconGridSize; const pointY = (point: number): number => iconInset + (1 - point) * iconGridSize; const path = `M ${pointX(0)} ${pointY(0)} C ${pointX(controlPoints[0])} ${pointY( controlPoints[1], )}, ${pointX(controlPoints[2])} ${pointY(controlPoints[3])}, ${pointX(1)} ${pointY(1)}`; return ( ); } export function TimelineEasingStepPresetIcon(): React.JSX.Element { return ( ); }