Files
markitect-main/node_modules/css-tree/cjs/syntax/atrule/container.cjs
tegwick c5a5b26797
Some checks failed
Test Suite / code-quality (push) Has been cancelled
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
refactor: Still trying to reorganize edit mode to be more robust
2025-11-04 21:59:22 +01:00

33 lines
896 B
JavaScript

'use strict';
const types = require('../../tokenizer/types.cjs');
// 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']);
const container = {
parse: {
prelude() {
const children = this.createList();
if (this.tokenType === types.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);
}
}
};
module.exports = container;