1
- namespace AngleSharp . Css . Dom
1
+ namespace AngleSharp . Css . Dom
2
2
{
3
+ using AngleSharp . Css . Values ;
3
4
using AngleSharp . Text ;
4
5
using System ;
5
6
using System . IO ;
@@ -13,8 +14,9 @@ sealed class MediaFeature : IMediaFeature
13
14
14
15
private readonly Boolean _min ;
15
16
private readonly Boolean _max ;
16
- private readonly String _name ;
17
+ private readonly ICssValue _name ;
17
18
private readonly ICssValue _value ;
19
+ private readonly String _op ;
18
20
19
21
#endregion
20
22
@@ -26,17 +28,28 @@ internal MediaFeature(String name)
26
28
27
29
internal MediaFeature ( String name , ICssValue value )
28
30
{
29
- _name = name ;
31
+ _name = new CssAnyValue ( name ) ;
30
32
_value = value ;
31
33
_min = name . StartsWith ( "min-" ) ;
32
34
_max = name . StartsWith ( "max-" ) ;
33
35
}
34
36
37
+ internal MediaFeature ( String name , ICssValue value , String op )
38
+ : this ( new CssAnyValue ( name ) , value , op )
39
+ { }
40
+
41
+ internal MediaFeature ( ICssValue name , ICssValue value , String op )
42
+ {
43
+ _name = name ;
44
+ _value = value ;
45
+ _op = op ;
46
+ }
47
+
35
48
#endregion
36
49
37
50
#region Properties
38
51
39
- public String Name => _name ;
52
+ public String Name => _name ? . CssText ?? String . Empty ;
40
53
41
54
public Boolean IsMinimum => _min ;
42
55
@@ -53,9 +66,16 @@ internal MediaFeature(String name, ICssValue value)
53
66
public void ToCss ( TextWriter writer , IStyleFormatter formatter )
54
67
{
55
68
writer . Write ( Symbols . RoundBracketOpen ) ;
56
- writer . Write ( _name ) ;
69
+ writer . Write ( Name ) ;
57
70
58
- if ( _value != null )
71
+ if ( _op is not null )
72
+ {
73
+ writer . Write ( " " ) ;
74
+ writer . Write ( _op ) ;
75
+ writer . Write ( " " ) ;
76
+ writer . Write ( Value ) ;
77
+ }
78
+ else if ( _value is not null )
59
79
{
60
80
writer . Write ( ": " ) ;
61
81
writer . Write ( Value ) ;
0 commit comments