New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

jss-grid

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jss-grid

Define CSS Grids using visual syntax.

latest
npmnpm
Version
0.1.11
Version published
Maintainers
1
Created
Source

jss-grid

Makes CSS Grid code readable by giving it a visual syntax.

100% native Javascript, no dependencies.

Install

npm install --save jss-grid

yarn add jss-grid

Usage

  • Import the grid() function.

  • Spread ... the return value of grid() in the desired JSS class.

  • Sketch your grid in a `template literal` string.

    • Columns use | | (pipe) delimiters
    • Rows use -- (dash) delimiters.
    • Gaps use { } (curly braces).
    • The entire sketch must be wrapped in `` , normal strings aren't multiline.
import grid from 'jss-grid'

const styles = {
  className: {
    background: '#eee',
    ...grid(
      `
      {1em, 2em} | 1fr | 8fr | 1fr |
      --
      15fr
      --
      1fr
      --
      `
    )
  }
}

NOTE: You can add any # of columns/rows (of the same size) by adding n followed by a factor inside a column or row definition.

Reference

...grid()

grid() returns an object, therefore you must spread the result of the function call in your JSS.

grid()

( sketch ) => gridProperties

( template literal string ) => object

Takes sketch `template literal` and returns object of CSS/JSS grid properties.

Do not call grid() with (multiple) normal strings.

sketch

`

{row gap, column gap} | column | column | column | column |
--
row
--
row
--

`

Whitespace and line breaks don't matter.

But each group of definitions (gaps, columns and rows) must begin and end with their respective delimiters. In other words, don't forget to place |, --, { and } and their correct positions.

Example.

This template string literal

`

{1em, 2em} | 1fr | 8fr | 1fr |
--
15fr
--
1fr
--

`

creates these JSS properties

'grid-template-columns': '1fr 8fr 1fr',
'grid-template-rows': '15fr 1fr',
'grid-row-gap': '1em',
'grid-column-gap': '2em',

Multiple columns or rows of the same size

You can add multiple columns/rows of the same size by adding n followed by a integer factor inside a column or row definition.

1em n 8 will add 8 columns/rows of 1em.

The proper order of columns/rows before and after multiplication is maintained.

The following example

`

{5%} | 1fr | 2fr n 11 |
--
1fr n 10
--
2fr
--

`

produces

'grid-template-columns': '1fr 2fr 2fr 2fr 2fr 2fr 2fr 2fr 2fr 2fr 2fr 2fr',
'grid-template-rows': '1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 2fr',
'grid-gap': '5%',

Gaps

{ grid gap }

{ row gap, column gap }

{ row gap, } { , column gap }

One value defines gap for BOTH rows and column.

Two comma-separated values define DIFFERENT gaps.

One value WITH comma defines row gap OR column gap.

Columns

| column |

| column n factor |

Can be any valid CSS/JSS value.

Factor has to be an integer.

Rows

--
row
--
--
row n factor
--

Can be any valid CSS/JSS value.

Factor has to be an integer.

FAQs

Package last updated on 22 Aug 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts