-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeclarations.js
117 lines (117 loc) · 3.33 KB
/
declarations.js
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
export default [
[
'custom-properties',
{
type: 'at-rule',
name: 'extend',
},
{
type: 'at-rule',
name: 'mixin',
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: '^&:(fullscreen|modal|picture-in-picture)',
// Matches element display state pseudo-classes
},
{
type: 'rule',
selector:
'^&:(autofill|enabled|disabled|read|placeholder-shown|default|checked|indeterminate|blank|valid|range|required|optional)',
// Matches input pseudo-classes
},
{
type: 'rule',
selector: '^&:(dir|lang)',
// Matches linguistic pseudo-classes
},
{
type: 'rule',
selector: '^&:(link|visited|target|scope)',
// Matches location pseudo-classes
},
{
type: 'rule',
selector: '^&:(playing|paused)',
// Matches resource state pseudo-classes
},
{
type: 'rule',
selector: '^&:(current|past|future)',
// Matches time-dimensional pseudo-classes
},
{
type: 'rule',
selector: '^&:(hover|active|focus)',
// Matches user-action pseudo-classes
},
{
type: 'at-rule',
name: 'media',
parameter: '--(mouse|touch)',
// Matches media-queries '@media (--mouse) and '@media (--touch)'
hasBlock: true,
},
{
type: 'rule',
selector: '^&((\\.|\\[)|(.*(empty|child|type|is|not|where|has)).*)',
// Matches modifiers like '&.example', tree-structural pseudo-classes and functional pseudo-classes
},
{
type: 'rule',
selector: '&$',
// Matches parent-modifiers like '.example &'
},
{
type: 'at-rule',
name: 'keyframes',
},
{
type: 'at-rule',
name: 'media',
parameter: '--(?!mouse|touch)',
// Matches all other media-queries like '@media (--xl-up)'
hasBlock: true,
},
],
{
unspecified: 'ignore',
},
];