UNPKG

fela-dom

Version:

Fela package for working with the DOM

57 lines (46 loc) 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = getStyleSheetStyle; var _felaUtils = require("fela-utils"); function getRules(cssRules) { var rules = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; for (var i = 0; i < cssRules.length; ++i) { var rule = cssRules[i]; var selectorText = rule.selectorText, conditionText = rule.conditionText, style = rule.style; if (conditionText) { rules[conditionText] = getRules(rule.cssRules); continue; } var key = cssRules.indexOf(rule) + '_' + selectorText; rules[key] = {}; for (var j = 0; j < style.length; ++j) { var property = style[j]; rules[key][property] = style[property]; } } return rules; } function getStyleSheetStyle(node) { var media = node.media, sheet = node.sheet, textContent = node.textContent; var type = node.getAttribute('data-fela-type'); var support = node.getAttribute('data-fela-support') || false; if (type !== _felaUtils.RULE_TYPE) { return { _type: type, style: textContent }; } var rules = getRules(sheet.cssRules); return { _type: type, _media: media, _support: support, style: rules }; }