UNPKG

react-spectrum

Version:
121 lines (90 loc) 6.46 kB
<p align="left"> <img src="./assets/samples/1.png" alt="1" width="260"> <img src="./assets/samples/2.png" alt="2" width="260"> <img src="./assets/samples/3.png" alt="3" width="260"> <img src="./assets/samples/4.png" alt="4" width="260"> <img src="./assets/samples/5.png" alt="5" width="260"> <img src="./assets/samples/6.png" alt="6" width="260"> </p> # React Spectrum A tiny(**around 1.3kb gzip**) React library to generate colorful text placeholders 🎨 Inspired by [this code illustration](./assets/codesandbox-illustration.png) on [CodeSandbox](https://codesandbox.io) homepage 🙏 Try out the generator at [react-spectrum.netlify.com](https://react-spectrum.netlify.com) 🎊 Also, check out [@BotSpectrum](https://twitter.com/BotSpectrum) twitter bot that tweets randomly generated colorful text placeholders for inspiration 🎊 [![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php) [![Open Source Love](https://badges.frapsoft.com/os/v2/open-source.svg?v=103)](https://github.com/ganapativs/react-spectrum/) [![Build Status](https://travis-ci.com/ganapativs/react-spectrum.svg?branch=master)](https://travis-ci.com/ganapativs/react-spectrum) [![npm version](https://badge.fury.io/js/react-spectrum.svg)](https://badge.fury.io/js/react-spectrum) [![GitHub version](https://badge.fury.io/gh/ganapativs%2Freact-spectrum.svg)](https://badge.fury.io/gh/ganapativs%2Freact-spectrum) [![Greenkeeper badge](https://badges.greenkeeper.io/ganapativs/react-spectrum.svg)](https://greenkeeper.io/) ## Demo - [Basic](https://stackblitz.com/edit/react-spectrum-basic) - [Advanced](https://stackblitz.com/edit/react-spectrum-advanced) - [Animating using CSS](https://stackblitz.com/edit/react-spectrum-animated) ## Table of Contents - [Install](#install) - [Usage](#usage) - [Props](#props) - [Contribute](#contribute) - [License](#license) ## Install ### NPM ```sh npm install react-spectrum ``` ### Yarn ```sh yarn add react-spectrum ``` ### UMD build ```html <script src="https://unpkg.com/react-spectrum/dist/react-spectrum.umd.js"></script> ``` ## Usage ```jsx import React from "react"; // Import library import Spectrum from "react-spectrum"; // or const Spectrum = require('react-spectrum'); // Render the placeholder function Placeholder() { return ( <Spectrum width={500} colors={["#757575", "#999999", "#0871F2", "#BF5AF2"]} /> ); } ``` ## Props | Property | Type | Default | Description | | ------------------- | --------------- | ----------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | | `width` | `number` | `500` | Width of the placeholder container | | `colors` | `Array<string>` | `['#eee']` | Possible colors of words, will be picked randomly | | `wordWidths` | `Array<number>` | `[30, 60, 90, 120, 150]` | Possible widths of words, will be picked randomly | | `wordDistances` | `Array<number>` | `[4, 8, 12]` | Possible distance between words, will be picked randomly | | `wordHeight` | `number` | `12` | Height of every word placeholder | | `wordRadius` | `number` | `20` | Border radius of every word | | `lineDistance` | `number` | `12` | Distance(margin) between the lines | | `linesPerParagraph` | `number` | `8` | Lines per paragraph. if there are multiple paragraphs, all of them will have same number of lines | | `paragraphs` | `number` | `1` | Number of paragraphs in the placeholder | | `paragraphDistance` | `number` | `24` | Distance(margin) between the paragraphs | | `truncateLastLine` | `boolean` | `true` | Show less words in the last line for more natural feel | | `renderWord` | `function` | `({ key, style}) => <span key={key} style={style} />` | Render word with customizations(avoid overriding passed style properties. it might break the functionality) | ## Contribute Thanks for taking the time to contribute, please check out the [src](src) to understand how things work. ### Reporting Issues Found a problem? Want a new feature? First of all, see if your issue or idea has [already been reported](../../issues). If don't, just open a [new clear and descriptive issue](../../issues/new). ### Submitting pull requests Pull requests are the greatest contributions, so be sure they are focused in scope and do avoid unrelated commits. - Fork it! - Clone your fork: `git clone https://github.com/<your-username>/react-spectrum` - Navigate to the newly cloned directory: `cd react-spectrum` - Create a new branch for the new feature: `git checkout -b my-new-feature` - Install the tools necessary for development: `yarn` - Make your changes. - Commit your changes: `git commit -am 'Add some feature'` - Push to the branch: `git push origin my-new-feature` - Submit a pull request with full remarks documenting your changes ## License [MIT License](https://opensource.org/licenses/MIT) © [Ganapati V S](https://meetguns.com)