UNPKG

fannypack

Version:

An accessible, composable, and friendly React UI Kit

85 lines (79 loc) 2.15 kB
// @flow import React, { type Node } from 'react'; import type { ColumnSpread, ColumnSpreadOffset } from '../types'; import ColumnsContext from '../Columns/ColumnsContext'; import _Column from './styled'; type Props = { children: Node, className?: string, spread?: ColumnSpread, spreadMobile?: ColumnSpread, spreadTablet?: ColumnSpread, spreadDesktop?: ColumnSpread, spreadWidescreen?: ColumnSpread, spreadFullHD?: ColumnSpread, spreadOffset?: ColumnSpreadOffset, spreadMobileOffset?: ColumnSpreadOffset, spreadTabletOffset?: ColumnSpreadOffset, spreadDesktopOffset?: ColumnSpreadOffset, spreadWidescreenOffset?: ColumnSpreadOffset, spreadFullHDOffset?: ColumnSpreadOffset }; const Column = ({ children, className, spread, spreadMobile, spreadTablet, spreadDesktop, spreadWidescreen, spreadFullHD, spreadOffset, spreadMobileOffset, spreadTabletOffset, spreadDesktopOffset, spreadWidescreenOffset, spreadFullHDOffset, ...props }: Props) => ( <ColumnsContext.Consumer> {({ isGapless, minBreakpoint }) => ( <_Column className={className} isGapless={isGapless} minBreakpoint={minBreakpoint} spread={spread} spreadMobile={spreadMobile} spreadTablet={spreadTablet} spreadDesktop={spreadDesktop} spreadWidescreen={spreadWidescreen} spreadFullHD={spreadFullHD} spreadOffset={spreadOffset} spreadMobileOffset={spreadMobileOffset} spreadTabletOffset={spreadTabletOffset} spreadDesktopOffset={spreadDesktopOffset} spreadWidescreenOffset={spreadWidescreenOffset} spreadFullHDOffset={spreadFullHDOffset} {...props} > {children} </_Column> )} </ColumnsContext.Consumer> ); Column.defaultProps = { className: null, spread: null, spreadMobile: null, spreadTablet: null, spreadDesktop: null, spreadWidescreen: null, spreadFullHD: null, spreadOffset: null, spreadMobileOffset: null, spreadTabletOffset: null, spreadDesktopOffset: null, spreadWidescreenOffset: null, spreadFullHDOffset: null }; export default Column;