3.2.1 • Published 5 years ago
evokit-flex v3.2.1
EvoKit - Flex
The block for building flexible layouts. Contains two elements <Flex> and <Flex.Item>
Install
npm install evokit-flex --saveUsage
More about usage
import React from 'react';
import { Flex } from 'evokit-flex';
import 'evokit-flex/style.css';
const App = () => (
<Flex flex-content='center'>
<Flex.Item>...</Flex.Item>
</Flex>
);Props
Also supports other valid props of the React Element. More about use props
<Flex />
| Prop name | Default value | Possible value | Description |
|---|---|---|---|
flex-content * | start | start end center between around stretch | Space between flex lines on the cross axis |
| flex-direction | row | row row-reverse column column-reverse | Direction of all items |
| flex-display | flex | flex inline-flex none | Display type |
| flex-height | auto | auto inherit 1-1 | Set the height |
| flex-items | start | start end center baseline stretch | Alignment of all items on the cross axis |
| flex-wrap | wrap | nowrap wrap wrap-reverse | Wrap rules |
<Flex.Item />
| Prop name | Default value | Possible value | Description |
|---|---|---|---|
| flex-item-align | start | start end center baseline stretch | Alignment item on the cross axis |
| flex-item-display | block | block none | Display type |
| flex-item-empty | null | hidden | Hide if contain either nothing or only an HTML comment. |
| flex-item-order | null | 0 1 2 3 4 5 6 7 8 9 10 | Set the order |
*— prop has advanced params
Customize
This set of css variables is default, if you want to override one or more value, please use the rules css-variable-usage, define them below the css import.
@custom-media --ek-flex-media-small only screen and (min-width: 480px);
@custom-media --ek-flex-media-medium only screen and (min-width: 768px);
@custom-media --ek-flex-media-large only screen and (min-width: 960px);
@custom-media --ek-flex-media-wide only screen and (min-width: 1200px);
@custom-media --ek-flex-media-huge only screen and (min-width: 1400px);flex-display
<Flex flex-display='inline-flex'>
...
</Flex>flex-items
start- The cross-start margin edges of the flex items are flushed with the cross-start edge of the lineend- The cross-end margin edges of the flex items are flushed with the cross-end edge of the linecenter- The flex items' margin boxes are centered within the line on the cross-axisbaseline- All flex items are aligned such that their flex container baselines alignstretch- Flex items are stretched such that the cross-size of the item's margin box is the same as the line while respecting width and height constraints
<Flex flex-items='center'>
...
</Flex>flex-content
Advanced props
flex-content-alignflex-content-justify
Multi values (set value separated by a space)
flex-content="{1} {2}"
List of values
start- Lines are packed toward the start of the flex containerend- Lines are packed toward the end of the flex containercenter- Lines are packed toward the center of the flex containerbetween- Lines are evenly distributed in the flex container. If the leftover free-space is negative or there is only a single flex line in the flex container, this value is identical to flex-startaround- Lines are evenly distributed in the flex container, with half-size spaces on either endstretch- Lines stretch to take up the remaining space
| flex-content | flex-content-align | flex-content-justify |
|---|---|---|
flex-direction
row- The flex container’s main axis has the same orientation as the inline axis of the current writing moderow-reverse- Same as row, except the main-start and main-end directions are swappedcolumn- The flex container’s main axis has the same orientation as the block axis of the current writing modecolumn-reverse- Same as column, except the main-start and main-end directions are swapped
<Flex flex-direction='column'>
...
</Flex>flex-wrap
nowrap- The flex container is single-linewrap- The flex container is multi-linewrap-reverse- Same as wrap, except the directions are swapped
<Flex flex-wrap='wrap'>
...
</Flex>flex-height
Set the height
auto- value:autoinherit- value:inherit1-1- value:100%
<Flex flex-height='1-1'>
...
</Flex>flex-item-align
start- The cross-start margin edges of the flex item are flushed with the cross-start edge of the lineend- The cross-end margin edges of the flex item are flushed with the cross-end edge of the linecenter- The flex item' margin boxes are centered within the line on the cross-axisbaseline- All flex item are aligned such that their flex container baselines alignstretch- Flex item are stretched such that the cross-size of the item's margin box is the same as the line while respecting width and height constraints
<Flex flex-item-align='center'>
...
</Flex>flex-item-display
block- shown as blocky (default)none- remove block from document
<Flex>
<Flex.Item flex-item-display='none'>
...
</Flex.Item>
</Flex>flex-item-order
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10- only affects the visual order
<Flex>
<Flex.Item flex-item-order='2'>
...
</Flex.Item>
</Flex>flex-item-empty
The <Flex.Item> will be hidden display: none that contain either nothing or only an HTML comment.
<Flex>
<Flex.Item flex-item-empty='hidden'>
{null}
</Flex.Item>
</Flex>3.2.1
5 years ago
3.2.0
5 years ago
3.1.0
6 years ago
3.1.0-alpha.0
6 years ago
3.0.0-alpha.2
6 years ago
3.0.0-alpha.1
6 years ago
3.0.0-alpha.0
6 years ago