---
source: crates/biome_formatter_test/src/snapshot_builder.rs
info: css/case/case.css
---
# Input
```css
@custom-media --KeepName (MIN-WIDTH: 500PX);
.foo {
color: hsl(0.75TURN, 60%, 70%);
}
p:FIRST-CHILD {
color: lime;
background-color: black;
padding: 5px;
}
a::AFTER {
content: "→";
}
a:AFTER {
content: "→";
}
::-WEBKIT-PROGRESS-BAR {
background-color: orange;
}
TABLE {}
/* apply a dashed border to all unresolved elements */
:unresolved {
border: 1px dashed red;
display: inline-block;
}
/* x-panel's that are unresolved are red */
x-panel:unresolved {
color: red;
}
/* once the definition of x-panel is registered, it becomes green */
x-panel {
color: green;
display: block;
padding: 5px;
display: block;
}
:host {
all: initial;
display: block;
contain: content;
text-align: center;
background: linear-gradient(to left, hotpink, transparent);
max-width: 500px;
margin: 0 auto;
border-radius: 8px;
transition: transform .2s ease-out;
}
:host([hidden]) {
display: none;
}
:host(:hover) {
transform: scale(1.1);
}
```
# Prettier differences
```diff
@@ -1,4 +1,6 @@
-@custom-media --KeepName (min-width: 500px);
+@
+custom-media --KeepName (MIN-WIDTH: 500PX)
+;
.foo {
color: hsl(0.75turn, 60%, 70%);
@@ -22,7 +24,7 @@
background-color: orange;
}
-TABLE {
+table {
}
/* apply a dashed border to all unresolved elements */
@@ -53,7 +55,7 @@
max-width: 500px;
margin: 0 auto;
border-radius: 8px;
- transition: transform 0.2s ease-out;
+ transition: transform .2s ease-out;
}
:host([hidden]) {
display: none;
```
# Output
```css
@
custom-media --KeepName (MIN-WIDTH: 500PX)
;
.foo {
color: hsl(0.75turn, 60%, 70%);
}
p:first-child {
color: lime;
background-color: black;
padding: 5px;
}
a::after {
content: "→";
}
a:after {
content: "→";
}
::-webkit-progress-bar {
background-color: orange;
}
table {
}
/* apply a dashed border to all unresolved elements */
:unresolved {
border: 1px dashed red;
display: inline-block;
}
/* x-panel's that are unresolved are red */
x-panel:unresolved {
color: red;
}
/* once the definition of x-panel is registered, it becomes green */
x-panel {
color: green;
display: block;
padding: 5px;
display: block;
}
:host {
all: initial;
display: block;
contain: content;
text-align: center;
background: linear-gradient(to left, hotpink, transparent);
max-width: 500px;
margin: 0 auto;
border-radius: 8px;
transition: transform .2s ease-out;
}
:host([hidden]) {
display: none;
}
:host(:hover) {
transform: scale(1.1);
}
```
# Errors
```
case.css:1:2 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
× Unexpected value or character.
> 1 │ @custom-media --KeepName (MIN-WIDTH: 500PX);
│ ^^^^^^^^^^^^
2 │
3 │ .foo {
i Expected one of:
- charset
- color-profile
- container
- counter-style
- document
- font-face
- font-feature-values
- font-palette-values
- import
- keyframes
- layer
- media
- namespace
- page
- property
- supports
- viewport
- scope
case.css:1:26 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
× Expected a compound selector but instead found '('.
> 1 │ @custom-media --KeepName (MIN-WIDTH: 500PX);
│ ^
2 │
3 │ .foo {
i Expected a compound selector here.
> 1 │ @custom-media --KeepName (MIN-WIDTH: 500PX);
│ ^
2 │
3 │ .foo {
case.css:1:27 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
× expected `,` but instead found `MIN-WIDTH`
> 1 │ @custom-media --KeepName (MIN-WIDTH: 500PX);
│ ^^^^^^^^^
2 │
3 │ .foo {
i Remove MIN-WIDTH
case.css:1:38 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
× Unexpected value or character.
> 1 │ @custom-media --KeepName (MIN-WIDTH: 500PX);
│ ^^^
2 │
3 │ .foo {
i Expected one of:
- hover
- focus
- active
- first-child
- last-child
- nth-child
- nth-last-child
- first-of-type
- last-of-type
- nth-of-type
- nth-last-of-type
- only-child
- only-of-type
- checked
- disabled
- enabled
- required
- optional
- valid
- invalid
- in-range
- out-of-range
- read-only
- read-write
- placeholder-shown
- default
- checked
- indeterminate
- blank
- empty
- root
- target
- lang
- not
- is
- where
- fullscreen
- link
- visited
- any-link
- local-link
- scope
- current
- past
- future
case.css:1:41 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
× expected `,` but instead found `PX`
> 1 │ @custom-media --KeepName (MIN-WIDTH: 500PX);
│ ^^
2 │
3 │ .foo {
i Remove PX
case.css:1:43 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
× expected `,` but instead found `)`
> 1 │ @custom-media --KeepName (MIN-WIDTH: 500PX);
│ ^
2 │
3 │ .foo {
i Remove )
case.css:1:44 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
× expected `,` but instead found `;`
> 1 │ @custom-media --KeepName (MIN-WIDTH: 500PX);
│ ^
2 │
3 │ .foo {
i Remove ;
```