52 lines
1.5 KiB
JavaScript
52 lines
1.5 KiB
JavaScript
"use strict";
|
|
|
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
|
|
exports.__esModule = true;
|
|
exports.default = style;
|
|
|
|
var _camelizeStyle = _interopRequireDefault(require("../util/camelizeStyle"));
|
|
|
|
var _hyphenateStyle = _interopRequireDefault(require("../util/hyphenateStyle"));
|
|
|
|
var _getComputedStyle2 = _interopRequireDefault(require("./getComputedStyle"));
|
|
|
|
var _removeStyle = _interopRequireDefault(require("./removeStyle"));
|
|
|
|
var _properties = require("../transition/properties");
|
|
|
|
var _isTransform = _interopRequireDefault(require("../transition/isTransform"));
|
|
|
|
function style(node, property, value) {
|
|
var css = '';
|
|
var transforms = '';
|
|
var props = property;
|
|
|
|
if (typeof property === 'string') {
|
|
if (value === undefined) {
|
|
return node.style[(0, _camelizeStyle.default)(property)] || (0, _getComputedStyle2.default)(node).getPropertyValue((0, _hyphenateStyle.default)(property));
|
|
} else {
|
|
(props = {})[property] = value;
|
|
}
|
|
}
|
|
|
|
Object.keys(props).forEach(function (key) {
|
|
var value = props[key];
|
|
|
|
if (!value && value !== 0) {
|
|
(0, _removeStyle.default)(node, (0, _hyphenateStyle.default)(key));
|
|
} else if ((0, _isTransform.default)(key)) {
|
|
transforms += key + "(" + value + ") ";
|
|
} else {
|
|
css += (0, _hyphenateStyle.default)(key) + ": " + value + ";";
|
|
}
|
|
});
|
|
|
|
if (transforms) {
|
|
css += _properties.transform + ": " + transforms + ";";
|
|
}
|
|
|
|
node.style.cssText += ';' + css;
|
|
}
|
|
|
|
module.exports = exports["default"]; |