UNPKG

aero-slider

Version:

A lightweight, CSS-first slider library for the modern web

33 lines (32 loc) • 1.23 kB
import type { GoToOptions, SliderConfig, SliderEvent, SliderEventData, SliderInstance } from "./types.js"; export declare const SLIDE_INDEX_ATTR = "data-aero-slider-index"; export declare const CLONE_ATTR = "data-aero-slider-clone"; /** What the UI features (nav, dots, keyboard, autoplay) need from the core. */ export interface SliderCore { container: HTMLElement; track: HTMLElement; config: Required<SliderConfig>; signal: AbortSignal; reducedMotion: MediaQueryList; /** A scrollDuration animation is in flight. */ easing(): boolean; current(): number; maxIndex(): number; pageCount(): number; loop(): boolean; next(): void; prev(): void; goTo(index: number, options?: GoToOptions): void; emit<E extends SliderEvent>(event: E, data: SliderEventData<E>): void; isVertical(): boolean; isRtl(): boolean; position(): number; maxScroll(): number; jumpTo(position: number): void; /** One full lap of real slides: where its teleport-safe band starts, and its length. */ cycle(): { start: number; width: number; } | null; } export declare function createSlider(container: HTMLElement, userConfig?: SliderConfig): SliderInstance;