@skel-ui/react-native
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

Skel UI resolves the challenges of implementing skeletons by eliminating the need to create dedicated loading screens and providing an easier way to manage skeleton states using React Context.

See the comparision here.

Get Started

Add Skel Provider

Wrap your application with Skel UI provider.

import * as Skel from "@skel-ui/react-native";

export default function App() {
  return <Skel.Provider> ... </Skel.Provider>;
}

Implement Skel UI

Now it's time for you to craft your user interface to life!

import * as Skel from "@skel-ui/react-native";
import RN from "react-native";

export default function PostCard() {
  const { post, isLoading } = usePost();

  return (
    <Skel.Root isLoading={isLoading}>
      <RN.View style={styles.card}>
        <Skel.Image src={post?.image} style={styles.cardImage} />
        <Skel.Text sw="65%" style={styles.cardTitle}>
          {post?.title}
        </Skel.Text>
        <Skel.Text numberOfLines={3} style={styles.cardDescription}>
          {post?.description}
        </Skel.Text>
      </RN.View>
    </Skel.Root>
  );
}

const styles = RN.StyleSheet.create({
  card: {
    width: 320,
    padding: 10,
    marginHorizontal: "auto",
    borderWidth: 1,
    borderColor: "#e2e8f0",
    borderRadius: 8,
  },
  cardImage: {
    borderRadius: 4,
    aspectRatio: 800 / 530,
  },
  cardTitle: {
    marginTop: 16,
    marginBottom: 8,
    fontSize: 24,
    lineHeight: 28,
    fontWeight: 800,
  },
  cardDescription: {
    fontSize: 14,
    lineHeight: 20,
  },
});

Now, not only have you designed the skeleton, but you have also done the actual UI. Additionally, the skeleton state for the entire UI is handled in a single place at the <Skel.Root> .

For full documentation, visit skel-ui.augustin.zip

Package Sidebar

Install

npm i @skel-ui/react-native

Weekly Downloads

212

Version

1.0.0

License

MIT

Unpacked Size

27.8 kB

Total Files

15

Last publish

Collaborators

  • sudoaugustin