mirror of
https://github.com/khairul169/vaulterm.git
synced 2025-04-28 16:49:39 +07:00
31 lines
762 B
TypeScript
31 lines
762 B
TypeScript
import React, { ComponentPropsWithoutRef, forwardRef } from "react";
|
|
import RNPagerView from "react-native-pager-view";
|
|
|
|
export type PagerViewProps = ComponentPropsWithoutRef<typeof RNPagerView> & {
|
|
onChangePage?: (page: number) => void;
|
|
};
|
|
|
|
export type PagerViewRef = {
|
|
setPage: (page: number) => void;
|
|
setPageWithoutAnimation: (page: number) => void;
|
|
};
|
|
|
|
const PagerView = forwardRef<PagerViewRef, PagerViewProps>(
|
|
({ onChangePage, children, ...props }, ref) => {
|
|
return (
|
|
<RNPagerView
|
|
ref={ref as never}
|
|
{...props}
|
|
onPageSelected={(e) => {
|
|
const pos = e.nativeEvent.position;
|
|
onChangePage?.(pos);
|
|
}}
|
|
>
|
|
{children}
|
|
</RNPagerView>
|
|
);
|
|
}
|
|
);
|
|
|
|
export default PagerView;
|