112 lines
4.6 KiB
Plaintext
112 lines
4.6 KiB
Plaintext
// @flow strict
|
|
|
|
// eslint-disable-next-line
|
|
import { Component, type Node } from 'react';
|
|
|
|
declare module 'react-native-swiper' {
|
|
// eslint-disable-next-line no-undef
|
|
declare export type SwiperProps = $ReadOnly<{|
|
|
// Basic
|
|
// If true, the scroll view's children are arranged horizontally in a row instead of vertically in a column.
|
|
horizontal?: ?boolean,
|
|
// If no specify default enable fullscreen mode by flex: 1.
|
|
loop?: ?boolean,
|
|
// Index number of initial slide.
|
|
index?: ?number,
|
|
// Set to true make control buttons visible.
|
|
showsButtons?: ?boolean,
|
|
// Set to false to disable continuous loop mode.
|
|
autoplay?: ?boolean,
|
|
// Called with the new index when the user swiped
|
|
onIndexChanged?: ?(index?: number) => void,
|
|
|
|
// Custom basic style & content
|
|
// Set to true enable auto play mode.
|
|
width?: ?number,
|
|
// If no specify default fullscreen mode by flex: 1.
|
|
height?: ?number,
|
|
// See default style in source.
|
|
style?: ?Object,
|
|
// Only load current index slide , loadMinimalSize slides before and after.
|
|
loadMinimal?: ?boolean,
|
|
// see loadMinimal
|
|
loadMinimalSize?: ?boolean,
|
|
// Custom loader to display when slides aren't loaded
|
|
loadMinimalLoader?: ?boolean,
|
|
|
|
// Pagination
|
|
// Set to true make pagination visible.
|
|
showsPagination?: ?boolean,
|
|
// Custom styles will merge with the default styles.
|
|
paginationStyle?: ?Object,
|
|
// Complete control how to render pagination with three params (index, total, context) ref to this.state.index / this.state.total / this, For example: show numbers instead of dots.
|
|
renderPagination?: ?(index: number, total: number, context: any) => Node,
|
|
// Allow custom the dot element.
|
|
dot?: ?Node,
|
|
// Allow custom the active-dot element.
|
|
activeDot?: ?Node,
|
|
// Allow custom the active-dot element.
|
|
dotStyle?: ?Object,
|
|
// Allow custom the active-dot element.
|
|
dotColor?: ?string,
|
|
// Allow custom the active-dot element.
|
|
activeDotColor?: ?string,
|
|
// Allow custom the active-dot element.
|
|
activeDotStyle?: ?Object,
|
|
|
|
// Autoplay
|
|
// Delay between auto play transitions (in second).
|
|
autoplayTimeout?: ?number,
|
|
// Cycle direction control.
|
|
autoplayDirection?: ?boolean,
|
|
|
|
// Control buttons
|
|
// Set to true make control buttons visible.
|
|
buttonWrapperStyle?: ?Object,
|
|
// Allow custom the next button.
|
|
nextButton?: ?Node,
|
|
// Allow custom the prev button.
|
|
prevButton?: ?Node,
|
|
|
|
// Supported ScrollResponder
|
|
// When animation begins after letting up
|
|
onScrollBeginDrag?: ?(event?: any, state?: any, context?: any) => void,
|
|
// Makes no sense why this occurs first during bounce
|
|
onMomentumScrollEnd?: ?(event?: any, state?: any, context?: any) => void,
|
|
// Immediately after onMomentumScrollEnd
|
|
onTouchStartCapture?: ?(event?: any, state?: any, context?: any) => void,
|
|
// Same, but bubble phase
|
|
onTouchStart?: ?(event?: any, state?: any, context?: any) => void,
|
|
// You could hold the touch start for a long time
|
|
onTouchEnd?: ?(event?: any, state?: any, context?: any) => void,
|
|
// When lifting up - you could pause forever before * lifting
|
|
onResponderRelease?: ?(event?: any, state?: any, context?: any) => void,
|
|
|
|
// If true, the scroll view stops on multiples of the scroll view's size when scrolling. This can be used for
|
|
// horizontal pagination.
|
|
pagingEnabled?: ?boolean,
|
|
// Set to true if you want to show horizontal scroll bar.
|
|
showsHorizontalScrollIndicator?: ?boolean,
|
|
// Set to true if you want to show vertical scroll bar.
|
|
showsVerticalScrollIndicator?: ?boolean,
|
|
// If true, the scroll view bounces when it reaches the end of the content if the content is larger then the
|
|
// scroll view along the axis of the scroll direction. If false, it disables all bouncing even if the
|
|
// alwaysBounce* props are true.
|
|
bounces?: ?boolean,
|
|
// If true, the scroll view scrolls to top when the status bar is tapped.
|
|
scrollsToTop?: ?boolean,
|
|
// If true, offscreen child views (whose overflow value is hidden) are removed from their native backing
|
|
// superview when offscreen. This canimprove scrolling performance on long lists.
|
|
removeClippedSubviews?: ?boolean,
|
|
// Set to true if you need adjust content insets automation.
|
|
automaticallyAdjustContentInsets?: ?boolean,
|
|
// Enables/Disables swiping
|
|
scrollEnabled?: ?boolean
|
|
|}>;
|
|
|
|
// eslint-disable-next-line no-undef
|
|
declare export default class Swiper extends Component<SwiperProps> {
|
|
scrollBy(index: number, animated?: boolean): void;
|
|
}
|
|
}
|