UNPKG

kitchensink

Version:

Dispatch's awesome components and style guide

65 lines (55 loc) 2.15 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); exports['default'] = flexboxIE; 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': 'distribute', 'space-between': 'justify', 'flex-start': 'start', 'flex-end': 'end', flex: 'flexbox', 'inline-flex': 'inline-flexbox' }; var alternativeProps = { alignContent: 'msFlexLinePack', alignSelf: 'msFlexItemAlign', alignItems: 'msFlexAlign', justifyContent: 'msFlexPack', order: 'msFlexOrder', flexGrow: 'msFlexPositive', flexShrink: 'msFlexNegative', flexBasis: 'msPreferredSize' }; var properties = Object.keys(alternativeProps).reduce(function (result, prop) { result[prop] = true; return result; }, {}); function flexboxIE(_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 === 'ie_mob' || browser === 'ie') && version == 10) { if (!keepUnprefixed) { delete styles[property]; } 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'];