Component size, gzipped: 13kb

Block

The Block component is a helper component that lets you write these common less-reusable elements more succinctly inline.

One of the most common needs when building web apps is creating layout elements that have certain layout and typography styles.

For more traditional apps that use global stylesheets, many of the popular CSS frameworks have helper classes to quickly create styled elements (see Bootstrap, Tachyons).

The move to CSS-in-JS sort of eliminates these classes in favor of encapsulating styles within components. This is a generally a good thing because it promotes reusability, however the reality is that there are dozens or hundreds of different layout/spacing/typography combinations in any app, and there's not always a clear semantic meaning or potential for reuse. In practice you end up just defining and naming a bunch of things at the top of the file:

Block basic Usage

first element
padding top applied to this element

Responsive Layouts

Block component props accept either a single value or array of values. When an array is provided, it will create media queries for each item based on the theme breakpoint values.

By default, the breakpoint values are

breakpoints: {
small: 320,
medium: 600,
large: 1280,
}

Given a marginTop value of ['10px', '20px', '30px', '40px'] Block will create the css rules below:

margin-top: 10px;
@media screen and (min-width: 320px) {
margin-top: 20px;
}
@media screen and (min-width: 600px) {
margin-top: 30px;
}
@media screen and (min-width: 1280px) {
margin-top: 40px;
}

Examples

Responsive Properties

Overrides

These styles are provided by styletron

API

Block API

children import

react.Node

as import

Modifies the base element used to render the block.

react.ElementType

overrides object

Block { component: ?ComponentType<<T> & { children: Node }>, props: ?{} | ({}) => ?{}, style: ?{} | ({}) => ?{} }<<T>> | ComponentType<<T> & { children: Node }>*

color <T> | Array<<T>><string>

Accepts all themeable color properties (primary200, etc.).

<T> | Array<<T>>string

backgroundAttachment <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/background-attachment

<T> | Array<<T>>string

backgroundClip <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/background-clip

<T> | Array<<T>>string

backgroundColor <T> | Array<<T>><string>

Accepts all themeable color properties (primary200, etc.).

<T> | Array<<T>>string

backgroundImage <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/background-image

<T> | Array<<T>>string

backgroundOrigin <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/background-origin

<T> | Array<<T>>string

backgroundPosition <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/background-position

<T> | Array<<T>>string

backgroundRepeat <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/background-repeat

<T> | Array<<T>>string

backgroundSize <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/background-size

<T> | Array<<T>>string

font union

Accepts all themeable font properties (font200, etc.).

One of
string,
Arraystring

alignContent <T> | Array<<T>><union>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/align-content

<T> | Array<<T>>One of
"center",
"start",
"end",
"flex-start",
"flex-end",
"normal",
"baseline",
"first baseline",
"last baseline",
"space-between",
"space-around",
"space-evenly",
"stretch",
"safe center",
"unsafe center",
"inherit",
"initial",
"unset"

alignItems <T> | Array<<T>><union>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/align-items

<T> | Array<<T>>One of
"normal",
"stretch",
"center",
"start",
"end",
"flex-start",
"flex-end",
"self-start",
"self-end",
"baseline",
"first baseline",
"last baseline",
"safe center",
"unsafe center",
"inherit",
"initial",
"unset"

alignSelf <T> | Array<<T>><union>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/align-self

<T> | Array<<T>>One of
"auto",
"normal",
"center",
"start",
"end",
"self-start",
"self-end",
"flex-start",
"flex-end",
"baseline",
"first baseline",
"last baseline",
"stretch",
"safe center",
"unsafe center",
"inherit",
"initial",
"unset"

flexDirection <T> | Array<<T>><union>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/flex-direction

<T> | Array<<T>>One of
"row",
"row-reverse",
"column",
"column-reverse",
"inherit",
"initial",
"unset"

display <T> | Array<<T>><union>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/display

<T> | Array<<T>>One of
"block",
"inline",
"run-in",
"flow",
"flow-root",
"table",
"flex",
"grid",
"ruby",
"block flow",
"inline table",
"flex run-in",
"list-item",
"list-item block",
"list-item inline",
"list-item flow",
"list-item flow-root",
"list-item block flow",
"list-item block flow-root",
"flow list-item block",
"table-row-group",
"table-header-group",
"table-footer-group",
"table-row",
"table-cell",
"table-column-group",
"table-column",
"table-caption",
"ruby-base",
"ruby-text",
"ruby-base-container",
"ruby-text-container",
"contents",
"none",
"inline-block",
"inline-table",
"inline-flex",
"inline-grid",
"inherit",
"initial",
"unset"

flex <T> | Array<<T>><union>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/flex

<T> | Array<<T>>One of
number,
string

grid <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid

<T> | Array<<T>>string

gridArea <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-area

<T> | Array<<T>>string

gridAutoColumns <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-columns

<T> | Array<<T>>string

gridAutoFlow <T> | Array<<T>><union>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-flow

<T> | Array<<T>>One of
"row",
"column",
"dense",
"row dense",
"column dense",
"inherit",
"initial",
"unset"

gridAutoRows <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-auto-rows

<T> | Array<<T>>string

gridColumn <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column

<T> | Array<<T>>string

gridColumnEnd <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column-end

<T> | Array<<T>>string

gridColumnGap <T> | Array<<T>><union>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column-gap

<T> | Array<<T>>One of
0,
string

gridColumnStart <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-column-start

<T> | Array<<T>>string

gridGap <T> | Array<<T>><union>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-gap

<T> | Array<<T>>One of
0,
string

gridRow <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row

<T> | Array<<T>>string

gridRowEnd <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row-end

<T> | Array<<T>>string

gridRowGap <T> | Array<<T>><union>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row-gap

<T> | Array<<T>>One of
0,
string

gridRowStart <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-row-start

<T> | Array<<T>>string

gridTemplate <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template

<T> | Array<<T>>string

gridTemplateAreas <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-areas

<T> | Array<<T>>string

gridTemplateColumns <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-columns

<T> | Array<<T>>string

gridTemplateRows <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/grid-template-rows

<T> | Array<<T>>string

justifyContent <T> | Array<<T>><union>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/justify-content

<T> | Array<<T>>One of
"center",
"start",
"end",
"flex-start",
"flex-end",
"left",
"right",
"space-between",
"space-around",
"space-evenly",
"stretch",
"safe center",
"unsafe center",
"inherit",
"initial",
"unset"

justifyItems <T> | Array<<T>><union>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/justify-items

<T> | Array<<T>>One of
"auto",
"normal",
"stretch",
"center",
"start",
"end",
"flex-start",
"flex-end",
"self-start",
"self-end",
"left",
"right",
"baseline",
"first baseline",
"last baseline",
"safe center",
"unsafe center",
"legacy right",
"legacy left",
"legacy center",
"inherit",
"initial",
"unset"

justifySelf <T> | Array<<T>><union>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/justify-self

<T> | Array<<T>>One of
"auto",
"normal",
"stretch",
"center",
"start",
"end",
"flex-start",
"flex-end",
"self-start",
"self-end",
"left",
"right",
"baseline",
"first baseline",
"last baseline",
"safe center",
"unsafe center",
"inherit",
"initial",
"unset"

position <T> | Array<<T>><union>

<T> | Array<<T>>One of
"static",
"absolute",
"relative",
"fixed",
"sticky"

width <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

minWidth <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

maxWidth <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

height <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

minHeight <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

maxHeight <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

overflow <T> | Array<<T>><union>

<T> | Array<<T>>One of
"visible",
"hidden",
"scroll",
"scrollX",
"scrollY",
"auto",
"inherit",
"initial",
"unset"

margin <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

marginTop <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

marginRight <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

marginBottom <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

marginLeft <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

padding <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

paddingTop <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

paddingRight <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

paddingBottom <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

paddingLeft <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

placeContent <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/place-content

<T> | Array<<T>>string

placeItems <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/place-items

<T> | Array<<T>>string

placeSelf <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/place-self

<T> | Array<<T>>string

flexWrap <T> | Array<<T>><boolean>

<T> | Array<<T>>boolean

left <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

top <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

right <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

bottom <T> | Array<<T>><union>

<T> | Array<<T>>One of
0,
string

textOverflow <T> | Array<<T>><string>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/text-overflow

<T> | Array<<T>>string

whiteSpace <T> | Array<<T>><union>

available values: https://developer.mozilla.org/en-US/docs/Web/CSS/white-space

<T> | Array<<T>>One of
"normal",
"nowrap",
"pre",
"pre-wrap",
"pre-line",
"break-spaces",
"inherit",
"initial",
"unset"