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-spine

v1.0.5

Published

A basic layout component library for React

Downloads

6

Readme

React Spine is a simple responsive grid system for ReactJs made with flexbox and Styled Components. It works with simple or complex layouts.

NPM JavaScript Style Guide style: styled-components

Install

This package can be installed via Yarn

yarn add react-spine

Or via NPM

npm i -s react-spine

Usage

The grid system has two components: Row and Col, which represents the rows and the columns respectively. The row component defines the grid's basics, such as alignment and gutter, while the column component defines its width in each breakpoint. You can nest many grids inside each other.

Here's a simple example:

import { Grid, Container } from 'react-spine'

const { Row, Col } = Grid

const App = () => (
  <Container>
    <Row justify={{md: 'flex-end'}}>
      <Col sm="12" md="1/4" lg="6">
        Column 1
      </Col>
      <Col sm="hide" md="1/4" lg="6">
        Column 2
      </Col>
      <Col sm={12} md="1/4" lg="6">
        Column 3
      </Col>
    </Row>
  </Container>
);

export default App

Overriding default values

You can also override the default values by specifying your own Styled Components theme with a spine key.

// Default values
const customTheme = {
  spine: {
    gridColumns: 12,
    gridGap: 10,
    breakpoints: {
      sm: 0,
      md: 768,
      lg: 1024
    }
  }
}

// And then
const App = () => (
  <ThemeProvider theme={customTheme}>
    your application here
  </ThemeProvider>
);

API

Row

| Name | Type | Default | Description | | :------------ | :------- | :-------------------------------- | :---------------------------------------------------------------------------------------- | | gap | String or Number | 0px | Horizontal and vertical spacing between columns. | | gapX | String or Number | 0px | Horizontal spacing between columns. | | gapY | String or Number | 0px | Vertical spacing between columns. | | direction | String or Object | row | The direction of the columns. It can be an object specifying the direction for each breakpoint: {sm: 'row', md: 'column', lg: 'row'}. | | justify | String or Object | row | Align columns accordingly with direction. It can be an object specifying the alignment for each breakpoint: {sm: 'flex-start', md: 'center', lg: 'flex-end'}. | | align | String or Object | stretch | Align columns across main axis. It can be an object specifying the alignment for each breakpoint: {sm: 'flex-start', md: 'center', lg: 'flex-end'}. | | wrap | String or Object | wrap | Sets whether an item will be forced onto one line or can wrap into multiple lines. It can be an object specifying the wrap for each breakpoint: {sm: 'nowrap', md: 'nowrap', lg: 'nowrap'}. | | grow | String or Object | 0 | Specify if the remaining space can be assigned to the columns. It can be an object specifying the wrap for each breakpoint: {sm: 0, md: 1, lg: 0}. | | shrink | String or Object | 0 | Specify how much the columns can shrink relative to the rest of the columns. It can be an object specifying the wrap for each breakpoint: {sm: 0, md: 1, lg: 0}. |

Col

| Name | Type | Description | | :------------ | :------- | :---------------------------------------------------------------------------------------- | | span | String or Number | The default size of all breakpoints. | | sm | String or Number | The size of the column for small screens. It can be a string representing a fraction or a integer representing a column span (12 columns total). | | md | String or Number | The size of the column for medium screens. It can also be set to hide for not showing in that breakpoint. | | lg | String or Number | The size of the column for large screens. |

License

MIT © jrmiranda