UNPKG

vcc-ui

Version:

VCC UI is a collection of React UI Components that can be used for developing front-end applications at Volvo Car Corporation.

35 lines (29 loc) 953 B
import React from 'react'; import PropTypes from 'prop-types'; import { useFela } from 'react-fela'; export const Spacer = React.forwardRef(({ size = 1 }, ref) => { const { css, theme } = useFela(); const actualSize = typeof size == 'object' ? size.default : size; const breakpointSizes = {}; if (typeof size == 'object') { Object.keys(size).forEach(key => { if (key === 'default') return; breakpointSizes[key] = { flexBasis: size[key] * theme.baselineGrid, width: size[key] * theme.baselineGrid, }; }); } const style = { flexShrink: 0, flexBasis: actualSize * theme.baselineGrid, width: actualSize * theme.baselineGrid, ...breakpointSizes, }; return <div ref={ref} className={css(style)} />; }); Spacer.displayName = 'Spacer'; Spacer.propTypes = { /** Spacer size (multiple of macro baseline grid) */ size: PropTypes.oneOfType([PropTypes.object, PropTypes.number]), };