aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/css-tree/lib/syntax/atrule/container.js
diff options
context:
space:
mode:
authorAdam Mathes <adam@adammathes.com>2026-02-13 21:34:48 -0800
committerAdam Mathes <adam@adammathes.com>2026-02-13 21:34:48 -0800
commit76cb9c2a39d477a64824a985ade40507e3bbade1 (patch)
tree41e997aa9c6f538d3a136af61dae9424db2005a9 /vanilla/node_modules/css-tree/lib/syntax/atrule/container.js
parent819a39a21ac992b1393244a4c283bbb125208c69 (diff)
downloadneko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.gz
neko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.bz2
neko-76cb9c2a39d477a64824a985ade40507e3bbade1.zip
feat(vanilla): add testing infrastructure and tests (NK-wjnczv)
Diffstat (limited to 'vanilla/node_modules/css-tree/lib/syntax/atrule/container.js')
-rw-r--r--vanilla/node_modules/css-tree/lib/syntax/atrule/container.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/vanilla/node_modules/css-tree/lib/syntax/atrule/container.js b/vanilla/node_modules/css-tree/lib/syntax/atrule/container.js
new file mode 100644
index 0000000..aa550de
--- /dev/null
+++ b/vanilla/node_modules/css-tree/lib/syntax/atrule/container.js
@@ -0,0 +1,28 @@
+import { Ident } from '../../tokenizer/index.js';
+
+// https://drafts.csswg.org/css-contain-3/#container-rule
+// The keywords `none`, `and`, `not`, and `or` are excluded from the <custom-ident> above.
+const nonContainerNameKeywords = new Set(['none', 'and', 'not', 'or']);
+
+export default {
+ parse: {
+ prelude() {
+ const children = this.createList();
+
+ if (this.tokenType === Ident) {
+ const name = this.substring(this.tokenStart, this.tokenEnd);
+
+ if (!nonContainerNameKeywords.has(name.toLowerCase())) {
+ children.push(this.Identifier());
+ }
+ }
+
+ children.push(this.Condition('container'));
+
+ return children;
+ },
+ block(nested = false) {
+ return this.Block(nested);
+ }
+ }
+};