// noPage import MaskedView from '@react-native-masked-view/masked-view'; import { LibComponent } from 'esoftplay/cache/lib/component/import'; import { LibStyle } from 'esoftplay/cache/lib/style/import'; import { LinearGradient } from 'expo-linear-gradient'; import React, { useEffect } from 'react'; import { View } from 'react-native'; import Animated, { useAnimatedStyle, useSharedValue, withRepeat, withTiming } from 'react-native-reanimated'; export interface LibSkeletonProps { } export interface LibSkeletonState { } export interface LibSkeletonStatic { size: number } /** Klik [disini](https://github.com/dev-esoftplay/mobile-docs/blob/main/modules/lib/skeleton.md) untuk melihat dokumentasi*/ export default class m extends LibComponent { constructor(props: LibSkeletonProps) { super(props); } /** Klik [disini](https://github.com/dev-esoftplay/mobile-docs/blob/main/modules/lib/skeleton.md#BoxFull) untuk melihat dokumentasi*/ static BoxFull(props: LibSkeletonStatic): any { return } /** Klik [disini](https://github.com/dev-esoftplay/mobile-docs/blob/main/modules/lib/skeleton.md#BoxFlex) untuk melihat dokumentasi*/ static BoxFlex(props: LibSkeletonStatic): any { return () } /** Klik [disini](https://github.com/dev-esoftplay/mobile-docs/blob/main/modules/lib/skeleton.md#BoxHalf) untuk melihat dokumentasi*/ static BoxHalf(props: LibSkeletonStatic): any { return } /** Klik [disini](https://github.com/dev-esoftplay/mobile-docs/blob/main/modules/lib/skeleton.md#Box) untuk melihat dokumentasi*/ static Box(props: LibSkeletonStatic): any { return } /** Klik [disini](https://github.com/dev-esoftplay/mobile-docs/blob/main/modules/lib/skeleton.md#Circle) untuk melihat dokumentasi*/ static Circle(props: LibSkeletonStatic): any { return } render(): any { return ( ) } } export interface LibSkeletonArgs { } export interface LibSkeletonProps { duration?: number reverse?: boolean, colors?: string[], backgroundStyle?: any, children?: any } const AnimatedLinearGradient = Animated.createAnimatedComponent(LinearGradient) function Skeleton(props: LibSkeletonProps): any { const offset = useSharedValue(-LibStyle.width * 0.75) const animatedStyle = useAnimatedStyle(() => { return { transform: [{ translateX: offset.value }] } }) /* sd */useEffect(() => { offset.value = -LibStyle.width * 0.75 offset.value = withRepeat(withTiming(LibStyle.width * 0.5, { duration: props.duration || 1000 }), -1, props.reverse ?? false) }, []) return ( {props.children} : }> ) }