UNPKG

@skeleton-elements/react

Version:

Skeleton elements (aka UI Skeletons, Skeleton Screens, Ghost Elements) are representations of UI that will be available (loaded) soon. They are designed to improve perceived performance.

111 lines (79 loc) 2.96 kB
# Skeleton Elements React Skeleton elements (aka UI Skeletons, Skeleton Screens, Ghost Elements) - UI for improved perceived performance * [Documentation](#documentation) * [Installation](#installation) * [Styles](#styles) * [Components](#components) * [Usage](#usage) * [Contribution](#contribution) * [Licence](#licence) ## Documentation See the [documentation]() with examples and API documentation. ## Installation With npm: ``` npm i @skeleton-elements/react --save ``` ## Styles Skeleton Elements requires stylesheet to be included: ``` <link rel="stylesheet" href="path/to/skeleton-elements.css> ``` Wiht bunder (like webpack) you can import syles directly from JavaScript: ``` import '@skeleton-elements/react/skeleton-elements.css'; ``` Or it can be included for each component separately: * `@skeleton-elements/react/skeleton-avatar.css` - Avatar component * `@skeleton-elements/react/skeleton-block.css` - Block component * `@skeleton-elements/react/skeleton-image.css` - Image component * `@skeleton-elements/react/skeleton-text.css` - Text component * `@skeleton-elements/react/skeleton-effects.css` - Effects ### SCSS `SCSS` styles are also included: * `@skeleton-elements/react/skeleton-elements.scss` - All styles * `@skeleton-elements/react/skeleton-avatar.scss` - Avatar component * `@skeleton-elements/react/skeleton-block.scss` - Block component * `@skeleton-elements/react/skeleton-image.scss` - Image component * `@skeleton-elements/react/skeleton-text.scss` - Text component * `@skeleton-elements/react/skeleton-effects.scss` - Effects ## Components The following components are available: * `SkeletonAvatar` - responsive avatar placeholder * `SkeletonBlock` - block placeholder * `SkeletonImage` - responsive image placeholder * `SkeletonText` - skeleton text (uses custom Skeleton font) ## Usage See the [documentation](https://skeleton-elements.dev/react/) with examples and API documentation. ```jsx import React, { useState } from 'react'; // import Skeleton components import { SkeletonAvatar, SkeletonText } from '@skeleton-elements/react'; // import Skeleton styles import '@skeleton-elements/react/skeleton-elements.css'; const App = () => { const [ loading, setLoading ] = useState(true); // ... return ( <div id="app"> ... {loading && ( <div className="user"> <div className="user-avatar"> <SkeletonAvatar effect="fade" size={120} /> </div> <div className="user-name"> <SkeletonText effect="fade">John Doe</SkeletonText> </div> </div> )} ... </div> ); } export default App; ``` ## Contribution Yes please! See the [contributing guidelines](https://github.com/nolimits4web/skeleton-elements/blob/master/CONTRIBUTING.md) for details. ## Licence This project is licensed under the terms of the [MIT license](https://github.com/nolimits4web/skeleton-elements/blob/master/LICENSE).