From 76cb9c2a39d477a64824a985ade40507e3bbade1 Mon Sep 17 00:00:00 2001 From: Adam Mathes Date: Fri, 13 Feb 2026 21:34:48 -0800 Subject: feat(vanilla): add testing infrastructure and tests (NK-wjnczv) --- .../@acemir/cssom/lib/CSSContainerRule.js | 70 ++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 vanilla/node_modules/@acemir/cssom/lib/CSSContainerRule.js (limited to 'vanilla/node_modules/@acemir/cssom/lib/CSSContainerRule.js') 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 -- cgit v1.2.3