summaryrefslogtreecommitdiff
path: root/node_modules/doiuse/data/features/css-sel3.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/doiuse/data/features/css-sel3.js')
-rw-r--r--node_modules/doiuse/data/features/css-sel3.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/node_modules/doiuse/data/features/css-sel3.js b/node_modules/doiuse/data/features/css-sel3.js
new file mode 100644
index 00000000..c82db473
--- /dev/null
+++ b/node_modules/doiuse/data/features/css-sel3.js
@@ -0,0 +1,34 @@
+import { checkSelector } from '../../utils/util.js';
+
+const ATTRIBUTE_IDENTIFIER = '[^\\~|^$*\\]]*';
+
+// Export for testing
+export const REGEXES = {
+ 'SIBLING_SELECTOR': /^[^[]*~/,
+ 'STARTSWITH_ATTRIBUTE': new RegExp(`\\[${ATTRIBUTE_IDENTIFIER}\\^=${ATTRIBUTE_IDENTIFIER}\\]`),
+ 'ENDSWITH_ATTRIBUTE': new RegExp(`\\[${ATTRIBUTE_IDENTIFIER}\\$=${ATTRIBUTE_IDENTIFIER}\\]`),
+ 'INSENSITIVE_ATTRIBUTE': new RegExp(`\\[${ATTRIBUTE_IDENTIFIER}\\*=${ATTRIBUTE_IDENTIFIER}\\]`),
+};
+
+export default checkSelector([
+ ':root',
+ ':nth-child',
+ ':nth-last-child',
+ 'nth-of-type',
+ 'nth-last-of-type',
+ ':last-child',
+ ':first-of-type',
+ ':last-of-type',
+ ':only-child',
+ ':only-of-type',
+ ':empty',
+ ':target',
+ ':enabled',
+ ':disabled',
+ ':checked',
+ ':not',
+ REGEXES.SIBLING_SELECTOR,
+ REGEXES.STARTSWITH_ATTRIBUTE,
+ REGEXES.ENDSWITH_ATTRIBUTE,
+ REGEXES.INSENSITIVE_ATTRIBUTE,
+]);