Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 

68 linhas
2.4 KiB

  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = flexboxOld;
  6. var _getPrefixedValue = require('../../utils/getPrefixedValue');
  7. var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);
  8. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  9. var alternativeValues = {
  10. 'space-around': 'justify',
  11. 'space-between': 'justify',
  12. 'flex-start': 'start',
  13. 'flex-end': 'end',
  14. 'wrap-reverse': 'multiple',
  15. wrap: 'multiple',
  16. flex: 'box',
  17. 'inline-flex': 'inline-box'
  18. };
  19. var alternativeProps = {
  20. alignItems: 'WebkitBoxAlign',
  21. justifyContent: 'WebkitBoxPack',
  22. flexWrap: 'WebkitBoxLines'
  23. };
  24. var otherProps = ['alignContent', 'alignSelf', 'order', 'flexGrow', 'flexShrink', 'flexBasis', 'flexDirection'];
  25. var properties = Object.keys(alternativeProps).concat(otherProps);
  26. function flexboxOld(property, value, style, _ref) {
  27. var browserName = _ref.browserName,
  28. browserVersion = _ref.browserVersion,
  29. cssPrefix = _ref.cssPrefix,
  30. keepUnprefixed = _ref.keepUnprefixed,
  31. requiresPrefix = _ref.requiresPrefix;
  32. if ((properties.indexOf(property) > -1 || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browserName === 'firefox' && browserVersion < 22 || browserName === 'chrome' && browserVersion < 21 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion <= 6.1 || browserName === 'android' && browserVersion < 4.4 || browserName === 'and_uc')) {
  33. delete requiresPrefix[property];
  34. if (!keepUnprefixed && !Array.isArray(style[property])) {
  35. delete style[property];
  36. }
  37. if (property === 'flexDirection' && typeof value === 'string') {
  38. if (value.indexOf('column') > -1) {
  39. style.WebkitBoxOrient = 'vertical';
  40. } else {
  41. style.WebkitBoxOrient = 'horizontal';
  42. }
  43. if (value.indexOf('reverse') > -1) {
  44. style.WebkitBoxDirection = 'reverse';
  45. } else {
  46. style.WebkitBoxDirection = 'normal';
  47. }
  48. }
  49. if (property === 'display' && alternativeValues.hasOwnProperty(value)) {
  50. return (0, _getPrefixedValue2.default)(cssPrefix + alternativeValues[value], value, keepUnprefixed);
  51. }
  52. if (alternativeProps.hasOwnProperty(property)) {
  53. style[alternativeProps[property]] = alternativeValues[value] || value;
  54. }
  55. }
  56. }
  57. module.exports = exports['default'];