UNPKG

kitchensink

Version:

Dispatch's awesome components and style guide

71 lines (59 loc) 2.56 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); exports['default'] = flexboxOld; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var _utilsCamelToDashCase = require('../utils/camelToDashCase'); var _utilsCamelToDashCase2 = _interopRequireDefault(_utilsCamelToDashCase); var alternativeValues = { 'space-around': 'justify', 'space-between': 'justify', 'flex-start': 'start', 'flex-end': 'end', 'wrap-reverse': 'multiple', wrap: 'multiple', flex: 'box', 'inline-flex': 'inline-box' }; var alternativeProps = { alignItems: 'WebkitBoxAlign', justifyContent: 'WebkitBoxPack', flexWrap: 'WebkitBoxLines' }; var otherProps = ['alignContent', 'alignSelf', 'order', 'flexGrow', 'flexShrink', 'flexBasis', 'flexDirection']; var properties = Object.keys(alternativeProps).concat(otherProps).reduce(function (result, prop) { result[prop] = true; return result; }, {}); function flexboxOld(_ref2) { var property = _ref2.property; var value = _ref2.value; var styles = _ref2.styles; var _ref2$browserInfo = _ref2.browserInfo; var browser = _ref2$browserInfo.browser; var version = _ref2$browserInfo.version; var css = _ref2.prefix.css; var keepUnprefixed = _ref2.keepUnprefixed; if ((properties[property] || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browser === 'firefox' && version < 22 || browser === 'chrome' && version < 21 || (browser === 'safari' || browser === 'ios_saf') && version <= 6.1 || browser === 'android' && version < 4.4 || browser === 'and_uc')) { if (!keepUnprefixed) { delete styles[property]; } if (property === 'flexDirection') { return { WebkitBoxOrient: value.indexOf('column') > -1 ? 'vertical' : 'horizontal', WebkitBoxDirection: value.indexOf('reverse') > -1 ? 'reverse' : 'normal' }; } if (property === 'display' && alternativeValues[value]) { return { display: css + alternativeValues[value] + (keepUnprefixed ? ';' + (0, _utilsCamelToDashCase2['default'])(property) + ':' + value : '') }; } if (alternativeProps[property]) { return _defineProperty({}, alternativeProps[property], alternativeValues[value] || value); } } } module.exports = exports['default'];