This repository was archived by the owner on Nov 18, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdeclarations.js
More file actions
119 lines (119 loc) · 3.67 KB
/
declarations.js
File metadata and controls
119 lines (119 loc) · 3.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
export default [
[
'custom-properties',
{
type: 'at-rule',
name: 'apply',
hasBlock: false,
},
'declarations',
{
type: 'rule',
selector: '^&::(?!before|after)',
// Matches pseudo-elements like '&::placeholder' but not '&::before' and '&::after'
},
{
type: 'rule',
selector: '^&::before',
// Matches pseudo-element '&::before'
},
{
type: 'rule',
selector: '^&::after',
// Matches pseudo-element '&::after'
},
{
type: 'rule',
selector: '^\\*',
// Matches universal selector '*'
},
{
type: 'rule',
selector: '^[^&\\+~]*[^:&]$',
// Matches child-elements like '.example'
},
{
type: 'rule',
selector: '^\\+',
// Matches elements that are placed immediately after, like '+ .example'
},
{
type: 'rule',
selector: '^~',
// Matches elements that are placed somewhere after, like '~ .example'
},
{
type: 'rule',
selector: '^&:(open|popover-open|modal|fullscreen|picture-in-picture)',
// Matches element display state pseudo-classes
},
{
type: 'rule',
selector:
'^&:(enabled|disabled|read-only|read-write|placeholder-shown|autofill|default|checked|indeterminate|blank|valid|invalid|range|required|optional|user-valid|user-invalid)',
// Matches input pseudo-classes
},
{
type: 'rule',
selector: '^&:(dir|lang)',
// Matches linguistic pseudo-classes
},
{
type: 'rule',
selector: '^&:(any-link|link|visited|local-link|target|target-within|scope)',
// Matches location pseudo-classes
},
{
type: 'rule',
selector: '^&:(playing|paused|seeking|stalled|muted|volume-locked)',
// Matches resource state pseudo-classes
},
{
type: 'rule',
selector: '^&:(current|past|future)',
// Matches time-dimensional pseudo-classes
},
{
type: 'rule',
selector: '^&:(hover|active|focus|focus-visible|focus-within)',
// Matches user-action pseudo-classes
},
{
type: 'at-rule',
name: 'variant',
parameter: '(hover|focus|hoverfocus|mouse|touch)',
// Matches media-queries '@variant hoverfocus', '@variant mouse' and '@variant touch'
hasBlock: true,
},
{
type: 'rule',
selector: '^&((\\.|\\[)|(.*(empty|child|type|is|not|where|has|state)).*)',
// Matches modifiers like '&.example' and tree-structural, functional, custom state pseudo-classes
},
{
type: 'rule',
selector: '&$',
// Matches parent-modifiers like '.example &'
},
{
type: 'at-rule',
name: 'keyframes',
},
{
type: 'at-rule',
name: 'variant',
parameter: '(?!hover|focus|hoverfocus|mouse|touch)',
// Matches all other media-queries like '@variant xl' and '@variant motionOK'
hasBlock: true,
},
{
type: 'at-rule',
name: 'media',
// Matches all other media-queries like '@media (width > 1472px)'
hasBlock: true,
},
],
{
unspecified: 'ignore',
},
];