import { type Define, type PrimitiveSignal, type SharedValue } from '@sigx/lynx'; import { type ColorToken } from '../contract.js'; /** * Visual style for the swiper page indicator. * * - `dots` — equally-spaced circles, the active one fades in via opacity. * Today's default. Cheap (opacity-only MT mapper, no layout each frame). * - `bar` — fixed track with a single sliding thumb. Single MT binding * regardless of page count, so cheapest for very long carousels. * - `pill` — the active dot stretches horizontally into a pill while * neighbours stay circular. Uses `scaleX` so siblings don't reflow. * - `numbered` — text counter like `2 / 5`. Pure BG-thread, no animation. * - `scale-pulse` — circles where the active one scales up. No colour * crossfade — pairs well with monochrome palettes. */ export type SwiperIndicatorVariant = 'dots' | 'bar' | 'pill' | 'numbered' | 'scale-pulse'; export type SwiperIndicatorSize = 'xs' | 'sm' | 'md' | 'lg'; export type SwiperIndicatorProps = Define.Prop<'variant', SwiperIndicatorVariant, false> /** * Live MT pixel offset from the parent `` — full scroll-linked * fidelity for the animated variants. When omitted but `index` is wired, * the indicator derives one internally (#211): it glides between page * positions with a timing curve on every index change. Mode is fixed at * mount. */ & Define.Prop<'offset', SharedValue, false> /** Page width in CSS px. Must match the Swiper's effective page width. */ & Define.Prop<'pageWidth', number, false> /** Total page count. */ & Define.Prop<'count', number, true> /** * Current page (whole-units). Required for `numbered`, drives the * derived offset in index-only mode, and consumed by all variants for * tap-to-jump. */ & Define.Prop<'index', PrimitiveSignal, false> & Define.Prop<'color', ColorToken, false> & Define.Prop<'inactiveColor', ColorToken, false> & Define.Prop<'size', SwiperIndicatorSize, false> /** * Tap-to-jump handler. The receiver should typically write * `index.value = i` to glide the swiper to that page. */ & Define.Prop<'onDotPress', (index: number) => void, false> & Define.Prop<'class', string, false> & Define.Prop<'style', Record, false>; export declare const SwiperIndicator: import("@sigx/runtime-core").ComponentFactory; //# sourceMappingURL=SwiperIndicator.d.ts.map