UNPKG

grid-styletr

Version:

Responsive React grid system built with styletron-react

57 lines (39 loc) 1.72 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _styledSystem = require('styled-system'); var _propTypes = require('prop-types'); var _propTypes2 = require('./propTypes'); var _propTypes3 = _interopRequireDefault(_propTypes2); var _styled = require('./styled'); var _styled2 = _interopRequireDefault(_styled); var _withBox = require('./withBox'); var _withBox2 = _interopRequireDefault(_withBox); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var wrap = (0, _styledSystem.responsiveStyle)('flex-wrap', 'wrap', 'wrap'); var direction = (0, _styledSystem.responsiveStyle)('flex-direction', 'direction'); var align = (0, _styledSystem.responsiveStyle)('align-items', 'align'); var justify = (0, _styledSystem.responsiveStyle)('justify-content', 'justify'); var column = function column(props) { return props.column ? { flexDirection: 'column' } : null; }; var responsivePropType = (0, _propTypes.oneOfType)([_propTypes.number, _propTypes.string, _propTypes.array, _propTypes.bool]); var propTypes = Object.assign({}, _propTypes3.default, { wrap: responsivePropType, direction: responsivePropType, align: responsivePropType, justify: responsivePropType, column: _propTypes.bool }); var cache = {}; exports.default = function (base) { if (cache[base]) return cache[base]; var Flex = (0, _styled2.default)((0, _withBox2.default)(base), { display: 'flex' }, wrap, column, direction, align, justify); Flex.displayName = 'Flex'; Flex.propTypes = propTypes; if (typeof base === 'string') cache[base] = Flex; return Flex; };