| 'use strict'; |
| |
| Object.defineProperty(exports, "__esModule", { |
| value: true |
| }); |
| |
| var _plugin = require('../plugin'); |
| |
| var _plugin2 = _interopRequireDefault(_plugin); |
| |
| var _browsers = require('../dictionary/browsers'); |
| |
| var _identifiers = require('../dictionary/identifiers'); |
| |
| var _postcss = require('../dictionary/postcss'); |
| |
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
| |
| const hacks = '!_$_&_*_)_=_%_+_,_._/_`_]_#_~_?_:_|'.split('_'); |
| |
| exports.default = (0, _plugin2.default)([_browsers.IE_5_5, _browsers.IE_6, _browsers.IE_7], [_postcss.ATRULE, _postcss.DECL], function (node) { |
| if (node.type === _postcss.DECL) { |
| // some values are not picked up by before, so ensure they are |
| // at the beginning of the value |
| hacks.some(hack => { |
| if (!node.prop.indexOf(hack)) { |
| this.push(node, { |
| identifier: _identifiers.PROPERTY, |
| hack: node.prop |
| }); |
| return true; |
| } |
| }); |
| let { before } = node.raws; |
| if (!before) { |
| return; |
| } |
| hacks.some(hack => { |
| if (~before.indexOf(hack)) { |
| this.push(node, { |
| identifier: _identifiers.PROPERTY, |
| hack: `${before.trim()}${node.prop}` |
| }); |
| return true; |
| } |
| }); |
| } else { |
| // test for the @property: value; hack |
| let { name } = node; |
| let len = name.length - 1; |
| if (name.lastIndexOf(':') === len) { |
| this.push(node, { |
| identifier: _identifiers.PROPERTY, |
| hack: `@${name.substr(0, len)}` |
| }); |
| } |
| } |
| }); |
| module.exports = exports['default']; |