1.2.5 • Published 2 months ago

styled-mini-props v1.2.5

Weekly downloads
-
License
MIT
Repository
github
Last release
2 months ago

NPM Version NPM License

Getting Started

To get a local copy up and running follow these simple example steps.

Prerequisites

You need to have version 5 or 6 of styled-components installed.

Installation

  • With yarn

    yarn add styled-mini-props -D
  • Or npm

    npm i styled-mini-props --save-dev

Configuration

// styled-component configuration file
import styled from 'styled-components';
import { responsiveProps, hovProps, setBreakpoints } from 'styled-mini-props';

// Optional
setBreakpoints({
  base: 0,
  sm: '576px',
  md: '768px',
  lg: '992px',
  xl: '1200px',
  '2xl': '1400px',
  '3xl': '1600px',
});

// Example component
// ${responsiveProps} or ${hovProps} or both
const Text = styled.p`
  font-family: Nunito;
  font-weight: normal;
  font-size: 14px;
  color: black;
  margin: 0;
  ${responsiveProps}
  ${hovProps}
`;

Usage

// In the react component
import React from 'react';
import { Text } from './path/for/Text';

const helloWorld = () => {
  return (
    <Text
      color="red"
      margin={['10px', null, '20px']}
      fontSize={{ base: '12px', lg: '27px' }}
      _hover={{ color: 'blue' }}
    >
      Hello World
    </Text>
  );
};

You can also use focus, active, link and visited in the same way as hover. At the moment it is not possible to use breakpoints within these pseudoclasses.

For more examples, please view the Demo

Breakpoints

Usage

They can be declared in two ways:

  • As an Array

    <Text margin={['10px', null, '20px']}>Hello World</Text>

    In this way we declare the following breakpoints

    • base: 10px
    • sm: null (so it is still 10px)
    • md: 20px (md and up)
  • As an Object: is the declarative form of the previous one

    <Text fontSize={{ base: '12px', lg: '27px' }}>Hello World</Text>

Breakpoint sizes

The default sizes are:

BreakpointSize
base0em
sm30em
md48em
lg62em
xl80em
2xl96em
3xl107em

CSS Shortcuts

Some css shortcuts have been added to facilitate coding

ShortcutShortcut
mmargin
mlmargin-left
mrmargin-right
mtmargin-top
mbmargin-bottom
mymargin-block
mxmargin-inline
ppadding
plpadding-left
prpadding-right
ptpadding-top
pbpadding-bottom
pypadding-block
pxpadding-inline
bgColorbackground-color
bgbackground
wwidth
hheight
maxWmax-width
minWmin-width
maxHmax-height
minHmin-height

License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact

Matias Sanhueza - manoloesanhueza@gmail.com

LinkedIn

1.2.5

2 months ago

1.2.4

3 months ago

1.2.3

3 months ago

1.2.2

3 months ago

1.2.1

7 months ago

1.2.0

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago