Signature
useTimelineZoomControl(options: TimelineZoomControlOptions = {}): objectParameters
| Name | Type | Description |
|---|---|---|
| options | TimelineZoomControlOptions | Optional zoom bounds, step size, label, and commit callback. |
Returns
object
Current zoom scale, formatted value text, imperative setters, and props for `Slider.Root` plus `Slider.Thumb`.
Return members
| Name | Signature | Description |
|---|---|---|
commit | (nextValue: number = control.value): void | Sets zoom scale and settles the engine interaction. |
getAriaValueText | (value: number): string | Formats a zoom-scale value for `aria-valuetext`. |
label | label: string | Accessible label used by the default thumb props. |
max | max: number | Maximum zoom scale in pixels per second. |
min | min: number | Minimum zoom scale in pixels per second. |
rootProps | rootProps: object | Props for a Base UI `Slider.Root`. |
setValue | (nextValue: number): void | Sets zoom scale without an additional explicit commit callback. |
step | step: number | Slider step in pixels per second. |
thumbProps | thumbProps: { aria-label: string; aria-valuetext: string } | Props for a Base UI `Slider.Thumb`. |
value | value: number | Current zoom scale in pixels per second. |
valueText | valueText: string | Formatted zoom value for assistive technology. |
Examples
const zoom = useTimelineZoomControl({ min: 25, max: 400, step: 25 });
return ( <Slider.Root {...zoom.rootProps}> <Slider.Control> <Slider.Track> <Slider.Indicator /> <Slider.Thumb {...zoom.thumbProps} /> </Slider.Track> </Slider.Control> </Slider.Root>);