62 lines
1.7 KiB
JavaScript
62 lines
1.7 KiB
JavaScript
'use strict';
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.default = style;
|
|
|
|
var _camelizeStyle = require('../util/camelizeStyle');
|
|
|
|
var _camelizeStyle2 = _interopRequireDefault(_camelizeStyle);
|
|
|
|
var _hyphenateStyle = require('../util/hyphenateStyle');
|
|
|
|
var _hyphenateStyle2 = _interopRequireDefault(_hyphenateStyle);
|
|
|
|
var _getComputedStyle2 = require('./getComputedStyle');
|
|
|
|
var _getComputedStyle3 = _interopRequireDefault(_getComputedStyle2);
|
|
|
|
var _removeStyle = require('./removeStyle');
|
|
|
|
var _removeStyle2 = _interopRequireDefault(_removeStyle);
|
|
|
|
var _properties = require('../transition/properties');
|
|
|
|
var _isTransform = require('../transition/isTransform');
|
|
|
|
var _isTransform2 = _interopRequireDefault(_isTransform);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
function style(node, property, value) {
|
|
var css = '';
|
|
var transforms = '';
|
|
var props = property;
|
|
|
|
if (typeof property === 'string') {
|
|
if (value === undefined) {
|
|
return node.style[(0, _camelizeStyle2.default)(property)] || (0, _getComputedStyle3.default)(node).getPropertyValue((0, _hyphenateStyle2.default)(property));
|
|
} else {
|
|
(props = {})[property] = value;
|
|
}
|
|
}
|
|
|
|
Object.keys(props).forEach(function (key) {
|
|
var value = props[key];
|
|
if (!value && value !== 0) {
|
|
(0, _removeStyle2.default)(node, (0, _hyphenateStyle2.default)(key));
|
|
} else if ((0, _isTransform2.default)(key)) {
|
|
transforms += key + '(' + value + ') ';
|
|
} else {
|
|
css += (0, _hyphenateStyle2.default)(key) + ': ' + value + ';';
|
|
}
|
|
});
|
|
|
|
if (transforms) {
|
|
css += _properties.transform + ': ' + transforms + ';';
|
|
}
|
|
|
|
node.style.cssText += ';' + css;
|
|
}
|
|
module.exports = exports['default']; |