Box
To implement Box component into your project you’ll need to add the import:
import Box from "@kiwicom/orbit-components/lib/Box";
After adding import into your project you can use it simply like:
<Box>Hello World!</Box>
Props
Table below contains all types of the props available in the Box component.
Name | Type | Default | Description |
---|---|---|---|
as | string | "div" | Render as element. |
className | string | The optional className of Box. | |
children | React.Node | The children of the Box. | |
dataTest | string | Optional prop for testing purposes. | |
id | string | Set id for Box | |
display | enum | The display of the Box | |
padding | spacingObject | spacingToken | The padding of the Box | |
margin | spacingObject | spacingToken | The margin of the Box | |
wrap | enum | The flex-wrap of the Box | |
shrink | number | The flex-shrink of the Box | |
grow | number | The flex-grow of the Box | |
align | enum | The align-items of the Box | |
justify | enum | The justify-content of the Box | |
direction | enum | The flex-direction of the Box | |
width | enum | The width of the Box | |
minWidth | string | The min-width of the Box | |
maxWidth | string | The max-width of the Box | |
height | enum | The height of the Box | |
maxHeight | string | The max-height of the Box | |
position | position | The position of the Box | |
left | string | The left of the Box | |
zIndex | number | The z-index of the Box | |
top | string | The top of the Box | |
right | string | The right of the Box | |
bottom | string | The bottom of the Box | |
textAlign | textAlign | The text-align of the Box | |
elevation | elevation | The box-shadow of the Box | |
color | string | The color of the Box | |
background | string | The background of the Box | |
borderRadius | borderRadius | The border-radius of the Box | |
overflow | overflow | The overflow of the Box | |
largeDesktop | MediaQueries | Object for setting up properties for the largeDesktop viewport. | |
desktop | MediaQueries | Object for setting up properties for the desktop viewport. | |
tablet | MediaQueries | Object for setting up properties for the tablet viewport. | |
largeMobile | MediaQueries | Object for setting up properties for the largeMobile viewport. | |
mediumMobile | MediaQueries | Object for setting up properties for the mediumMobile viewport. |
Media Queries
When you need to specify some different behavior of the Box component on different viewport, you can use properties for it.
There are mediumMobile
, largeMobile
, tablet
, desktop
and largeDesktop
available and it behaves the same as mediaQueries functions.
All this properties - objects have the some own properties and none is required.
Name | Type | Default | Description |
---|---|---|---|
padding | spacingObject | spacingToken | The padding of the Box | |
margin | spacingObject | spacingToken | The margin of the Box | |
wrap | enum | The flex-wrap of the Box | |
shrink | number | The flex-shrink of the Box | |
grow | number | The flex-grow of the Box | |
align | enum | The align-items of the Box | |
justify | enum | The justify-content of the Box | |
direction | enum | The flex-direction of the Box | |
width | enum | The width of the Box | |
maxWidth | string | The max-width of the Box | |
height | enum | The height of the Box | |
maxHeight | string | The max-height of the Box | |
position | position | The position of the Box | |
left | string | The left of the Box | |
top | string | The top of the Box | |
right | string | The right of the Box | |
bottom | string | The bottom of the Box | |
textAlign | textAlign | The text-align of the Box | |
elevation | elevation | The box-shadow of the Box | |
color | string | The color of the Box | |
background | string | The background of the Box | |
borderRadius | borderRadius | The border-radius of the Box | |
overflow | overflow | The overflow of the Box |
enum
display | justify | direction | align | wrap | width | height |
---|---|---|---|---|---|---|
"none" | "start" | "row" | "start" | "nowrap" | "full" | "full" |
"flex" | "end" | "column" | "end" | "wrap" | "auto" | "auto" |
"inline-flex" | "center" | "row-reverse" | "center" | string | string | |
"block" | "between" | "column-reverse" | "stretch" | |||
"inline" | "around" | |||||
"inline-block" | ||||||
"list-item" |
position
position |
---|
"relative" |
"absolute" |
"fixed" |
textAlign
textAlign |
---|
"start" |
"end" |
"left" |
"center" |
"right" |
borderRadius
borderRadius |
---|
"small" |
"normal" |
"large" |
"circle" |
overflow
overflow |
---|
"auto" |
"hidden" |
"scroll" |
"visible" |
elevation
elevation |
---|
"action" |
"fixed" |
"overlay" |
"raised" |
spacingObject
key | value |
---|---|
"top" | spacingToken |
"right" | spacingToken |
"left" | spacingToken |
"bottom" | spacingToken |
If you want to define spacingObject
, you can define specific directions like this:
<Box margin={{ top: "XXSmall", bottom: "XXSmall" }} />
spacingToken
spacingToken |
---|
"none" |
"XXXSmall" |
"XXSmall" |
"XSmall" |
"small" |
"medium" |
"large" |
"XLarge" |
"XXLarge" |
"XXXLarge" |