UNPKG

js-web-tools

Version:
70 lines (57 loc) 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.convertStyle = convertStyle; exports.domStyle = domStyle; exports["default"] = void 0; var _domUtils = require("./domUtils"); function hyphenate(s) { var str = s.replace(/([A-Z])/g, '-$1').toLowerCase(); return str.replace(/^ms-/, '-ms-'); } function convertStyle(styleObj) { var style = ''; for (var prop in styleObj) { /* istanbul ignore else */ if (Object.prototype.hasOwnProperty.call(styleObj, prop)) { style += prop + ':' + styleObj[prop] + ';'; } } return style; } function domStyle(ele, prop) { /* istanbul ignore else */ if (typeof prop === 'string') { return ele.style.getPropertyValue(hyphenate(prop)) || (0, _domUtils.getComputedStyle)(ele).getPropertyValue(hyphenate(prop)); } var resCss = ''; var transforms = ''; Object.keys(prop).forEach(function (key) { var value = prop[key]; if (!value && value !== 0) { ele.style.removeProperty(hyphenate(key)); } else if ((0, _domUtils.isTransform)(key)) { transforms += "".concat(key, "(").concat(value, ") "); } else { resCss += "".concat(hyphenate(key), ": ").concat(value, ";"); } }); /* istanbul ignore else */ if (transforms) { resCss += "transform: ".concat(transforms, ";"); } var cssText = ele.style.cssText; if (cssText) { /* istanbul ignore else */ if (/;$/.test(cssText)) { ele.style.cssText += "".concat(resCss); } else { ele.style.cssText += ";".concat(resCss); } } else { ele.style.cssText = "".concat(resCss); } } var _default = domStyle; exports["default"] = _default;