react-native-auto-skeleton
Version:
🚀 Automatically generates skeleton based on your existing UI layout without manual configuration.
30 lines (28 loc) • 1.29 kB
JavaScript
;
// export { default as AutoSkeletonView } from './AutoSkeletonViewNativeComponent';
export { default as AutoSkeletonIgnoreView } from './AutoSkeletonIgnoreViewNativeComponent';
import { Platform, processColor } from 'react-native';
import { default as AutoSkeletonView__ } from './AutoSkeletonViewNativeComponent';
import { useMemo } from 'react';
import React from 'react';
import { jsx as _jsx } from "react/jsx-runtime";
const DEFAULT_GRADIENT_COLORS = ['#D3D3D3', '#FFFFFF'];
const DEFAULT_BORDER_RADIUS = 4;
const DEFAULT_ANIMATION_DURATION = 1.0; // seconds
export const AutoSkeletonView = /*#__PURE__*/React.memo(props => {
const gColors = useMemo(() => {
//@ts-ignore
if (Platform.OS === 'ios' && global._IS_FABRIC === false) {
return (props.gradientColors ?? DEFAULT_GRADIENT_COLORS).map(color => processColor(color));
}
return props.gradientColors ?? DEFAULT_GRADIENT_COLORS;
}, [props.gradientColors]);
return /*#__PURE__*/_jsx(AutoSkeletonView__, {
...props,
gradientColors: gColors,
shimmerBackgroundColor: props.shimmerBackgroundColor ?? '#CECECE',
defaultRadius: props.defaultRadius ?? DEFAULT_BORDER_RADIUS,
shimmerSpeed: props.shimmerSpeed ?? DEFAULT_ANIMATION_DURATION
});
});
//# sourceMappingURL=index.js.map