# dvtng/react-loading-skeleton

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/dvtng-react-loading-skeleton).**

4,204 stars · 162 forks · TypeScript · MIT

## Links

- GitHub: https://github.com/dvtng/react-loading-skeleton
- awesome-repositories: https://awesome-repositories.com/repository/dvtng-react-loading-skeleton.md

## Topics

`javascript` `loading-animations` `placeholder` `react`

## Description

react-loading-skeleton is a React library for rendering placeholder shapes that simulate content loading states. It provides a collection of themed UI components used to represent loading interfaces before data is fetched and displayed.

The library features a hierarchical theme provider that allows for the global or nested management of colors and animations. It includes customizable placeholders that support various dimensions and shapes, such as circular indicators for profile elements and block-level shapes for general content.

The system implements accessibility standards by mapping components to screen reader attributes and detecting system-level reduced-motion preferences to modify animations. It utilizes CSS-driven shimmer effects and dimension-inheriting placeholders to maintain layout stability.

## Tags

### User Interface & Experience

- [Loading Skeletons](https://awesome-repositories.com/f/user-interface-experience/loading-skeletons.md) — Provides placeholder skeleton screens to indicate content is loading and reduce perceived wait times.
- [Skeleton Placeholders](https://awesome-repositories.com/f/user-interface-experience/skeleton-placeholders.md) — Provides a comprehensive set of customizable placeholder shapes and containers to simulate content loading states. ([source](https://github.com/dvtng/react-loading-skeleton/blob/master/README.md))
- [Layout Configurations](https://awesome-repositories.com/f/user-interface-experience/appearance-customizations/skeleton/layout-configurations.md) — Implements controls for adjusting placeholder counts, circular shapes, and block or inline display modes. ([source](https://github.com/dvtng/react-loading-skeleton/blob/master/README.md))
- [Context-Based Theme Injection](https://awesome-repositories.com/f/user-interface-experience/context-based-theme-injection.md) — Uses a React context provider to broadcast theme configuration and design tokens to all nested skeleton components.
- [Layout Placeholders](https://awesome-repositories.com/f/user-interface-experience/layout-placeholders.md) — Generates adaptable placeholder shapes and lines that mimic the structure of content before data arrives.
- [Loading Indicators](https://awesome-repositories.com/f/user-interface-experience/loading-indicators.md) — Provides customizable visual elements that represent loading states while honoring accessibility preferences and screen reader needs.
- [Themed Component Libraries](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/theme-systems/component-theming/themed-component-libraries.md) — Ships a collection of themed placeholders with a hierarchical provider for consistent global or nested styling.
- [React Component Styling](https://awesome-repositories.com/f/user-interface-experience/react-component-styling.md) — Builds visually consistent loading indicators that inherit the layout and styles of the surrounding React application.
- [Theme Providers](https://awesome-repositories.com/f/user-interface-experience/theme-providers.md) — Implements a hierarchical provider that manages and propagates theme colors to all nested loading placeholders. ([source](https://github.com/dvtng/react-loading-skeleton/tree/v2))
- [Loading Placeholders](https://awesome-repositories.com/f/user-interface-experience/ui-components/feedback-overlay-components/loading-indicators/loading-placeholders.md) — Provides a set of customizable visual placeholder components used to indicate loading states while data is being fetched.
- [Accessibility Motion Controls](https://awesome-repositories.com/f/user-interface-experience/accessibility-motion-controls.md) — Detects system-level reduced-motion preferences to automatically disable or modify shimmer animations for accessibility.
- [Skeleton](https://awesome-repositories.com/f/user-interface-experience/appearance-customizations/skeleton.md) — Provides a mechanism to adjust colors, animations, and layout directions via theme settings to match application designs. ([source](https://github.com/dvtng/react-loading-skeleton/blob/master/CHANGELOG.md))
- [Accessible](https://awesome-repositories.com/f/user-interface-experience/buttons/loading-indicators/accessible.md) — Provides loading indicators that respect reduced-motion settings and include ARIA attributes for screen reader accessibility. ([source](https://github.com/dvtng/react-loading-skeleton/blob/master/CHANGELOG.md))
- [Adaptive Loading Skeletons](https://awesome-repositories.com/f/user-interface-experience/list-views/skeleton-placeholders/adaptive-loading-skeletons.md) — Generates placeholder shapes that inherit dimensions and layout styles from surrounding content to maintain stability. ([source](https://github.com/dvtng/react-loading-skeleton#readme))
- [Circular Placeholder Rendering](https://awesome-repositories.com/f/user-interface-experience/list-views/skeleton-placeholders/circular-placeholder-rendering.md) — Renders loading indicators as circles to represent profile pictures or other round user interface elements. ([source](https://github.com/dvtng/react-loading-skeleton/tree/v2))
- [Dimension-Inheriting Placeholders](https://awesome-repositories.com/f/user-interface-experience/list-views/skeleton-placeholders/dimension-inheriting-placeholders.md) — Calculates placeholder sizes based on the parent container or inline styles to maintain layout stability during loading.
- [Placeholder Styling](https://awesome-repositories.com/f/user-interface-experience/list-views/skeleton-placeholders/placeholder-styling.md) — Allows customization of colors, animation speed, dimensions, and border radius for individual placeholders or globally. ([source](https://github.com/dvtng/react-loading-skeleton/blob/master/README.md))
- [Web Accessibility Implementations](https://awesome-repositories.com/f/user-interface-experience/web-accessibility-implementations.md) — Ensures loading placeholders are accessible to screen readers and respect system settings for reduced motion.

### Part of an Awesome List

- [Shimmer Effects](https://awesome-repositories.com/f/awesome-lists/devtools/animation-and-transitions/loading-animations/shimmer-effects.md) — Employs CSS keyframe animations to create a moving gradient shimmer effect that simulates content loading.

### Web Development

- [Accessibility Attribute Mapping](https://awesome-repositories.com/f/web-development/standard-html-attribute-mapping/accessibility-attribute-mapping.md) — Implements dynamic mapping of component props to ARIA attributes to notify screen readers of loading states.
