react-patterns
v3.0.7
Published
Minimal Pattern Library (style guide) React component for displaying HTML and CSS
Downloads
7
Maintainers
Readme
Install
npm install react-patterns
yarn add react-patterns
What is a Pattern Library?
A pattern library (part of a Style Guide or a Design System), is a way of documenting usage of components and how they're made with HTML, CSS, and other assets.
Having this documented can help siloed teams or different vendors coordinate to achieve design consistency.
What is React-Patterns?
A component that autodetects the HTML and CSS of your components, and provides a download cart.
How can I make a pattern library with React-Patterns?
One of the advantages of react-patterns is that it detects the CSS Rules being applied, so you can put your production site's CSS files on the page and write HTML that uses them and react-patterns will only display the relevant CSS. This means that a lot less effort to repurpose your existing CSS as a pattern library.
Usage:
import React from "react";
import Pattern from "react-patterns";
import "h6.css"; // contains h6 { color: red; }
export default () => (
<Pattern>
<h6>My Heading 6</h6>
</Pattern>
);
Will render as
Syntax Highlighting
Use react-patterns/theme/solarize.css
.
Demo
This is a pattern library so where's the dev webserver?
Great question.
react-patterns
doesn't include a dev server because other projects do it better.
So instead just use Create-React-App or, add <Pattern>
tags to a new route in your existing app, or use whatever boilerplate you like.
How does react-patterns organise the page of patterns... with headings, accordions, tabs, or what?
Here's a hypothetical... if your pattern library had 5 components then it probably should be organised quite differently to another library with 1000 components, so this software is intentionally unopinionated about the presentation of your components. react-patterns just tries to do one thing well -- rendering the component preview. Decide for yourself how to organise them (do try react-accessible-accordion
though!).
Features
Props
The only requirement is a wrapped children
node. All other props are optional.