0.7.0 • Published 7 months ago

react-native-dynamic-skeletons v0.7.0

Weekly downloads
-
License
MIT
Repository
github
Last release
7 months ago

React Native Dynamic Skeletons

npm version

React Native Dynamic Skeletons is an easy, customizable, and dynamic solution to create beautiful loading experiences in your React Native apps.

This library provides a simple and intuitive way to create dynamic skeletons that mimic the appearance of your app's content.

The skeletons can be easily customized to match your app's design, and the library provides a wide range of options to create dynamic and engaging loading experiences.

Developed in Typescript, this library is fully compatible with both iOS and Android. And it's also compatible with Expo.

This library does not use any third-party dependencies, and it's fully customizable.

You decide how the skeleton should look like. By providing a custom component, you can create skeletons that match your app's design.

You can use react-native-linear-gradient, expo-linear-gradient, react-native-skia or any other library.

Table of Contents

Installation

  npm install react-native-dynamic-skeletons

or:

  yarn add react-native-dynamic-skeletons

Usage

import react-native-dynamic-skeletons

import { SkeletonContainer } from 'react-native-dynamic-skeletons';

Wrap your content with SkeletonContainer and provide the Gradient component.

import { LinearGradient } from 'expo-linear-gradient';
import {
  SkeletonContainer,
  GradientProps,
} from 'react-native-dynamic-skeletons';

const Gradient = (props: GradientProps) => <LinearGradient {...props} />;
export default function App() {
  return (
    <SkeletonContainer
      isLoading={true}
      Gradient={Gradient}
    >
      <View
        style={{
          backgroundColor: 'red',
          width: 100,
          height: 100,
          borderRadius: 50,
        }}
      />
      <Text>My App</Text>
      <Text>Some content</Text>
    </SkeletonContainer>
  );
}

Props

PropTypeDefaultDescription
isLoadingbooleanrequiredWhether the skeleton should be displayed or not.
animationType'leftRight' | 'rightLeft' | 'topBottom' | 'bottomTop''leftRight'The animation direction. Descripted in the Animation Types section.
colorsstring[]'#e1e1e1', '#f2f2f2', '#e1e1e1'The colors of the gradient.
styleViewStyle{ backgroundColor: '#e1e1e1' }The style of the skeleton.
durationnumber1000The duration of the animation in milliseconds.
Gradientfunction that returns gradient componentrequiredThe gradient component. It can be react-native-linear-gradient, expo-linear-gradient, react-native-skia or any other library.

Animation Types

The animation type can be one of the following:

TypeDescription
leftRightThe skeleton moves from left to right.
rightLeftThe skeleton moves from right to left.
topBottomThe skeleton moves from top to bottom.
bottomTopThe skeleton moves from bottom to top.

Left to Right

Right to Left

Top to Bottom

Bottom to Top