diff options
Diffstat (limited to 'vanilla/node_modules/@acemir/cssom/lib/CSSContainerRule.js')
| -rw-r--r-- | vanilla/node_modules/@acemir/cssom/lib/CSSContainerRule.js | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/vanilla/node_modules/@acemir/cssom/lib/CSSContainerRule.js b/vanilla/node_modules/@acemir/cssom/lib/CSSContainerRule.js new file mode 100644 index 0000000..68fa332 --- /dev/null +++ b/vanilla/node_modules/@acemir/cssom/lib/CSSContainerRule.js @@ -0,0 +1,70 @@ +//.CommonJS +var CSSOM = { + CSSRule: require("./CSSRule").CSSRule, + CSSRuleList: require("./CSSRuleList").CSSRuleList, + CSSGroupingRule: require("./CSSGroupingRule").CSSGroupingRule, + CSSConditionRule: require("./CSSConditionRule").CSSConditionRule, +}; +///CommonJS + + +/** + * @constructor + * @see https://drafts.csswg.org/css-contain-3/ + * @see https://www.w3.org/TR/css-contain-3/ + */ +CSSOM.CSSContainerRule = function CSSContainerRule() { + CSSOM.CSSConditionRule.call(this); +}; + +CSSOM.CSSContainerRule.prototype = Object.create(CSSOM.CSSConditionRule.prototype); +CSSOM.CSSContainerRule.prototype.constructor = CSSOM.CSSContainerRule; + +Object.setPrototypeOf(CSSOM.CSSContainerRule, CSSOM.CSSConditionRule); + +Object.defineProperty(CSSOM.CSSContainerRule.prototype, "type", { + value: 17, + writable: false +}); + +Object.defineProperties(CSSOM.CSSContainerRule.prototype, { + "cssText": { + get: function() { + var values = ""; + var valuesArr = [" {"]; + if (this.cssRules.length) { + valuesArr.push(this.cssRules.reduce(function(acc, rule){ + if (rule.cssText !== "") { + acc.push(rule.cssText); + } + return acc; + }, []).join("\n ")); + } + values = valuesArr.join("\n ") + "\n}"; + return "@container " + this.conditionText + values; + } + }, + "containerName": { + get: function() { + var parts = this.conditionText.trim().split(/\s+/); + if (parts.length > 1 && parts[0] !== '(' && !parts[0].startsWith('(')) { + return parts[0]; + } + return ""; + } + }, + "containerQuery": { + get: function() { + var parts = this.conditionText.trim().split(/\s+/); + if (parts.length > 1 && parts[0] !== '(' && !parts[0].startsWith('(')) { + return parts.slice(1).join(' '); + } + return this.conditionText; + } + }, +}); + + +//.CommonJS +exports.CSSContainerRule = CSSOM.CSSContainerRule; +///CommonJS |
