npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-style-guide

v3.0.0

Published

A component to display React components with their JSX source in style guides

Downloads

2,329

Readme

React Style Guide

A simple React component for building living style guides with React. Check out the example.

Features

  • Markup samples based on React elements passed in as children.
  • Custom markup strings if you don't want auto-generated ones.
  • Built-in syntax highlighting with highlight.js (or include your own).
  • Highly configurable (maybe too configurable).
    • Allows custom class names and text on every element.
    • Titles, descriptions, and expand/collapse controls are optional.

Usage

<StyleGuideItem
  title="Cool Button"
  description="This is a very cool button!"
>
  <CoolButton>
    Button!
  </CoolButton>

  <CoolButton type="primary">
    Primary Button!
  </CoolButton>
</StyleGuideItem>

Optionally, include the CSS in react-style-guide.css for a nice set of default styles.

Building the Examples

npm install
npm run example

Then you can browse to http://localhost:8080/

To build the example files once:

npm run build-example

Then you can open ./examples/index.html

Props

title

Type: String Optional

A text title for the section.

description

Type: String Optional

An expanded description.

descriptionIsHtml

Type: Boolean Default: false

Set to true to use HTML for the section description.

staticMarkup

Type: String

Example markup as a string. Use when you don't want auto-generated JSX markup for a section.

highlighter

Type: Function

A custom syntax highlighting function. Takes the code example markup as a string, must return the example as HTML with syntax highlighting markup.

expandingMarkup

Type: Boolean Default: true

Set to false to disable expandable markup samples (making markup visible all the time).

markupExpandedByDefault

Type: Boolean Default: false

Set to true to make markup samples expanded by default.

sectionAnchor

Type: Boolean Default: true

Set to true to prevent section titles from being wrapped in anchor tags (allowing users to easily link to sections).

headingTag

Type: String Default: h2

HTML tag name for style guide headings.

componentClass

Type: String Default: Guide

HTML class for the top level element of the component.

headingClass

Type: String Default: Guide-heading

HTML class for the heading element.

descriptionClass

Type: String Default: Guide-description

HTML class for the description element.

exampleClass

Type: String Default: Guide-example

HTML class for the example element.

markupClass

Type: String Default: Guide-markup

HTML class for the markup sample element.

anchorClass

Type: String Default: Guide-anchor

HTML class for the anchor wrapping the heading element.

expanderSectionClass

Type: String Default: Guide-expanderSection

HTML class for the element containing the section expander button.

expanderClass

Type: String Default: Guide-expander

HTML class for the section expander button.

expanderInactiveText

Type: String Default: Expand

Text content of the section expander button when section is not expanded.

expanderActiveText

Type: String Default: Collapse

Text content of the section expander button when section is expanded.