@pierre/theme 0.0.22 → 0.0.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,75 @@
1
+ # Pierre Theme
2
+
3
+ Light and dark themes for Visual Studio Code, Cursor, Zed, and Shiki. Built for [Diffs.com](https://diffs.com) by [The Pierre Computer Company](https://pierre.computer).
4
+
5
+ ## Preview
6
+
7
+ ![Pierre dark theme screenshot](https://github.com/user-attachments/assets/e8b2a6e0-995b-4515-997a-f805f4fbc5bf)
8
+ ![Pierre light theme screenshot](https://github.com/user-attachments/assets/2ebb09d0-eb42-4c28-9617-35873d96ed8f)
9
+
10
+ ## Install
11
+
12
+ ### Visual Studio Code
13
+
14
+ From the menu in Visual Studio Code:
15
+
16
+ - View > Extensions (or hit Command+Shift+X or Control+Shift+X)
17
+ - Search for `Pierre Theme`
18
+ - Click install
19
+
20
+ You can also install or download from the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=pierrecomputer.pierre-theme).
21
+
22
+ ### Cursor
23
+
24
+ From the menu in Cursor:
25
+
26
+ - View > Extensions (or hit Command+Shift+X or Control+Shift+X)
27
+ - Search for `Pierre Theme`
28
+ - Click install
29
+
30
+ You can also install or download from the [Open VSX registry](https://open-vsx.org/extension/pierrecomputer/pierre-theme).
31
+
32
+ ### Zed
33
+
34
+ From the menu in Zed:
35
+
36
+ - Zed > Extensions (or hit Command+Shift+X or Control+Shift+X)
37
+ - Search for `Pierre`
38
+ - Click install
39
+
40
+ ## Vibrant themes (Display P3)
41
+
42
+ > [!NOTE]
43
+ > Vibrant themes do not work in VS Code or Cursor at this time as it does not support color formats other than Hex or RGB. You can, however, use these with [Diffs](https://diffs.com) or any [Shiki](https://shiki.style) project to render code.
44
+
45
+ The **Vibrant** theme variants use CSS's `color(display-p3 r g b)` format with enhanced saturation to fully utilize Display P3's wider color gamut. Display P3 can represent ~25% more colors than standard sRGB, and these themes are optimized to take full advantage of that on compatible displays.
46
+
47
+ The conversion algorithm transforms sRGB colors to Display P3 through proper linear color space transformations, then enhances saturation (15-30%) and luminance (5% for vibrant colors) to push colors into the wider P3 gamut that isn't accessible in sRGB.
48
+
49
+ ## Override
50
+
51
+ To override this (or any other) theme in your personal config file, please follow the guide in the [color theme](https://code.visualstudio.com/api/extension-guides/color-theme) documentation. This is handy for small tweaks to the theme without having to fork and maintain your own theme.
52
+
53
+ ## Contribute
54
+
55
+ 1. Clone and open this [repo](https://github.com/pierrecomputer/theme) in your editor
56
+ 2. Run `npm install` to install the dependencies.
57
+ 3. Press `F5` to open a new window with your extension loaded
58
+ 4. Open `Code > Preferences > Color Theme` [`⌘k ⌘t`] and pick the "Pierre…" theme you want to test.
59
+ 5. Make changes to the [`/src/theme.ts`](https://github.com/pierrecomputer/theme/blob/main/src/theme.ts) file.
60
+ 6. Run `npm run build` to update the theme. You can also run `npm run start` instead to automatically rebuild the theme while making changes and no reloading should be necessary.
61
+ 7. Run `npm test` to validate your changes (this runs automatically on PRs).
62
+ 8. Once you're happy, commit your changes and open a PR.
63
+
64
+ ## Scripts
65
+
66
+ | Script | Description |
67
+ | --- | --- |
68
+ | `npm run build` | Builds the theme `.json` files in `./themes` directory |
69
+ | `npm test` | Runs validation tests on the theme (includes build) |
70
+ | `npm run package` | Compiles the theme `.vsix` file at the project root |
71
+ | `npm start` | Automatically runs build on file change |
72
+
73
+ ## Credit
74
+
75
+ This theme was built on top of [GitHub's Visual Studio Code Theme](https://github.com/primer/github-vscode-theme). All credit to them for the technique and build tooling, which we've since iterated on for more specific language tokens.
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 The Pierre Computer Company
3
+ Copyright (c) 2026 The Pierre Computer Company
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,75 +1,16 @@
1
- # Pierre Theme
1
+ ```
2
+ PIERRE COMPUTER COMPANY █
3
+ PROJECT: THEME
2
4
 
3
- Light and dark themes for Visual Studio Code, Cursor, Zed, and Shiki. Built for [Diffs.com](https://diffs.com) by [The Pierre Computer Company](https://pierre.computer).
5
+ ~~~
4
6
 
5
- ## Preview
7
+ CONTACT: SUPPORT@PIERRE.CO
8
+ LOCATION: USA
9
+ STATUS: ONLINE
10
+ OPEN POSITIONS: [Systems Engineer](https://pierre.computer/careers/systems-engineer)
6
11
 
7
- ![Pierre dark theme screenshot](https://github.com/user-attachments/assets/e8b2a6e0-995b-4515-997a-f805f4fbc5bf)
8
- ![Pierre light theme screenshot](https://github.com/user-attachments/assets/2ebb09d0-eb42-4c28-9617-35873d96ed8f)
12
+ ~~~
9
13
 
10
- ## Install
11
-
12
- ### Visual Studio Code
13
-
14
- From the menu in Visual Studio Code:
15
-
16
- - View > Extensions (or hit Command+Shift+X or Control+Shift+X)
17
- - Search for `Pierre Theme`
18
- - Click install
19
-
20
- You can also install or download from the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=pierrecomputer.pierre-theme).
21
-
22
- ### Cursor
23
-
24
- From the menu in Cursor:
25
-
26
- - View > Extensions (or hit Command+Shift+X or Control+Shift+X)
27
- - Search for `Pierre Theme`
28
- - Click install
29
-
30
- You can also install or download from the [Open VSX registry](https://open-vsx.org/extension/pierrecomputer/pierre-theme).
31
-
32
- ### Zed
33
-
34
- From the menu in Zed:
35
-
36
- - Zed > Extensions (or hit Command+Shift+X or Control+Shift+X)
37
- - Search for `Pierre`
38
- - Click install
39
-
40
- ## Vibrant themes (Display P3)
41
-
42
- > [!NOTE]
43
- > Vibrant themes do not work in VS Code or Cursor at this time as it does not support color formats other than Hex or RGB. You can, however, use these with [Diffs](https://diffs.com) or any [Shiki](https://shiki.style) project to render code.
44
-
45
- The **Vibrant** theme variants use CSS's `color(display-p3 r g b)` format with enhanced saturation to fully utilize Display P3's wider color gamut. Display P3 can represent ~25% more colors than standard sRGB, and these themes are optimized to take full advantage of that on compatible displays.
46
-
47
- The conversion algorithm transforms sRGB colors to Display P3 through proper linear color space transformations, then enhances saturation (15-30%) and luminance (5% for vibrant colors) to push colors into the wider P3 gamut that isn't accessible in sRGB.
48
-
49
- ## Override
50
-
51
- To override this (or any other) theme in your personal config file, please follow the guide in the [color theme](https://code.visualstudio.com/api/extension-guides/color-theme) documentation. This is handy for small tweaks to the theme without having to fork and maintain your own theme.
52
-
53
- ## Contribute
54
-
55
- 1. Clone and open this [repo](https://github.com/pierrecomputer/theme) in your editor
56
- 2. Run `npm install` to install the dependencies.
57
- 3. Press `F5` to open a new window with your extension loaded
58
- 4. Open `Code > Preferences > Color Theme` [`⌘k ⌘t`] and pick the "Pierre…" theme you want to test.
59
- 5. Make changes to the [`/src/theme.ts`](https://github.com/pierrecomputer/theme/blob/main/src/theme.ts) file.
60
- 6. Run `npm run build` to update the theme. You can also run `npm run start` instead to automatically rebuild the theme while making changes and no reloading should be necessary.
61
- 7. Run `npm test` to validate your changes (this runs automatically on PRs).
62
- 8. Once you're happy, commit your changes and open a PR.
63
-
64
- ## Scripts
65
-
66
- | Script | Description |
67
- | --- | --- |
68
- | `npm run build` | Builds the theme `.json` files in `./themes` directory |
69
- | `npm test` | Runs validation tests on the theme (includes build) |
70
- | `npm run package` | Compiles the theme `.vsix` file at the project root |
71
- | `npm start` | Automatically runs build on file change |
72
-
73
- ## Credit
74
-
75
- This theme was built on top of [GitHub's Visual Studio Code Theme](https://github.com/primer/github-vscode-theme). All credit to them for the technique and build tooling, which we've since iterated on for more specific language tokens.
14
+ Overview:
15
+ - Light and dark themes for Visual Studio Code, Cursor, Zed, and Shiki.
16
+ - Built for [Diffs.com](https://diffs.com)
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@pierre/theme",
3
3
  "displayName": "Pierre Theme",
4
4
  "description": "Pierre theme for Shiki, VS Code, and more",
5
- "version": "0.0.22",
5
+ "version": "0.0.24",
6
6
  "publisher": "pierrecomputer",
7
7
  "icon": "icon.png",
8
8
  "galleryBanner": {
package/src/palette.ts CHANGED
@@ -277,7 +277,7 @@ export const light: Roles = {
277
277
  namespace: yellow["600"],
278
278
  decorator: blue["500"],
279
279
  escape: cyan["600"],
280
- invalid: "#ffffff",
280
+ invalid: gray["1040"],
281
281
  tag: red["600"],
282
282
  attribute: mint["600"]
283
283
  },
@@ -354,7 +354,7 @@ export const dark: Roles = {
354
354
  namespace: yellow["500"],
355
355
  decorator: blue["400"],
356
356
  escape: cyan["400"],
357
- invalid: "#ffffff",
357
+ invalid: gray["020"],
358
358
  tag: red["400"],
359
359
  attribute: mint["400"]
360
360
  },
@@ -1405,7 +1405,7 @@
1405
1405
  {
1406
1406
  "scope": "constant.other.color.rgb-value.xi",
1407
1407
  "settings": {
1408
- "foreground": "color(display-p3 1.000000 1.000000 1.000000)"
1408
+ "foreground": "color(display-p3 0.984314 0.984314 0.984314)"
1409
1409
  }
1410
1410
  },
1411
1411
  {
@@ -1874,25 +1874,25 @@
1874
1874
  {
1875
1875
  "scope": "invalid.illegal",
1876
1876
  "settings": {
1877
- "foreground": "color(display-p3 1.000000 1.000000 1.000000)"
1877
+ "foreground": "color(display-p3 0.984314 0.984314 0.984314)"
1878
1878
  }
1879
1879
  },
1880
1880
  {
1881
1881
  "scope": "invalid.broken",
1882
1882
  "settings": {
1883
- "foreground": "color(display-p3 1.000000 1.000000 1.000000)"
1883
+ "foreground": "color(display-p3 0.984314 0.984314 0.984314)"
1884
1884
  }
1885
1885
  },
1886
1886
  {
1887
1887
  "scope": "invalid.deprecated",
1888
1888
  "settings": {
1889
- "foreground": "color(display-p3 1.000000 1.000000 1.000000)"
1889
+ "foreground": "color(display-p3 0.984314 0.984314 0.984314)"
1890
1890
  }
1891
1891
  },
1892
1892
  {
1893
1893
  "scope": "invalid.unimplemented",
1894
1894
  "settings": {
1895
- "foreground": "color(display-p3 1.000000 1.000000 1.000000)"
1895
+ "foreground": "color(display-p3 0.984314 0.984314 0.984314)"
1896
1896
  }
1897
1897
  }
1898
1898
  ],
@@ -1405,7 +1405,7 @@
1405
1405
  {
1406
1406
  "scope": "constant.other.color.rgb-value.xi",
1407
1407
  "settings": {
1408
- "foreground": "#ffffff"
1408
+ "foreground": "#fbfbfb"
1409
1409
  }
1410
1410
  },
1411
1411
  {
@@ -1874,25 +1874,25 @@
1874
1874
  {
1875
1875
  "scope": "invalid.illegal",
1876
1876
  "settings": {
1877
- "foreground": "#ffffff"
1877
+ "foreground": "#fbfbfb"
1878
1878
  }
1879
1879
  },
1880
1880
  {
1881
1881
  "scope": "invalid.broken",
1882
1882
  "settings": {
1883
- "foreground": "#ffffff"
1883
+ "foreground": "#fbfbfb"
1884
1884
  }
1885
1885
  },
1886
1886
  {
1887
1887
  "scope": "invalid.deprecated",
1888
1888
  "settings": {
1889
- "foreground": "#ffffff"
1889
+ "foreground": "#fbfbfb"
1890
1890
  }
1891
1891
  },
1892
1892
  {
1893
1893
  "scope": "invalid.unimplemented",
1894
1894
  "settings": {
1895
- "foreground": "#ffffff"
1895
+ "foreground": "#fbfbfb"
1896
1896
  }
1897
1897
  }
1898
1898
  ],
@@ -1405,7 +1405,7 @@
1405
1405
  {
1406
1406
  "scope": "constant.other.color.rgb-value.xi",
1407
1407
  "settings": {
1408
- "foreground": "color(display-p3 1.000000 1.000000 1.000000)"
1408
+ "foreground": "color(display-p3 0.027451 0.027451 0.027451)"
1409
1409
  }
1410
1410
  },
1411
1411
  {
@@ -1874,25 +1874,25 @@
1874
1874
  {
1875
1875
  "scope": "invalid.illegal",
1876
1876
  "settings": {
1877
- "foreground": "color(display-p3 1.000000 1.000000 1.000000)"
1877
+ "foreground": "color(display-p3 0.027451 0.027451 0.027451)"
1878
1878
  }
1879
1879
  },
1880
1880
  {
1881
1881
  "scope": "invalid.broken",
1882
1882
  "settings": {
1883
- "foreground": "color(display-p3 1.000000 1.000000 1.000000)"
1883
+ "foreground": "color(display-p3 0.027451 0.027451 0.027451)"
1884
1884
  }
1885
1885
  },
1886
1886
  {
1887
1887
  "scope": "invalid.deprecated",
1888
1888
  "settings": {
1889
- "foreground": "color(display-p3 1.000000 1.000000 1.000000)"
1889
+ "foreground": "color(display-p3 0.027451 0.027451 0.027451)"
1890
1890
  }
1891
1891
  },
1892
1892
  {
1893
1893
  "scope": "invalid.unimplemented",
1894
1894
  "settings": {
1895
- "foreground": "color(display-p3 1.000000 1.000000 1.000000)"
1895
+ "foreground": "color(display-p3 0.027451 0.027451 0.027451)"
1896
1896
  }
1897
1897
  }
1898
1898
  ],
@@ -1405,7 +1405,7 @@
1405
1405
  {
1406
1406
  "scope": "constant.other.color.rgb-value.xi",
1407
1407
  "settings": {
1408
- "foreground": "#ffffff"
1408
+ "foreground": "#070707"
1409
1409
  }
1410
1410
  },
1411
1411
  {
@@ -1874,25 +1874,25 @@
1874
1874
  {
1875
1875
  "scope": "invalid.illegal",
1876
1876
  "settings": {
1877
- "foreground": "#ffffff"
1877
+ "foreground": "#070707"
1878
1878
  }
1879
1879
  },
1880
1880
  {
1881
1881
  "scope": "invalid.broken",
1882
1882
  "settings": {
1883
- "foreground": "#ffffff"
1883
+ "foreground": "#070707"
1884
1884
  }
1885
1885
  },
1886
1886
  {
1887
1887
  "scope": "invalid.deprecated",
1888
1888
  "settings": {
1889
- "foreground": "#ffffff"
1889
+ "foreground": "#070707"
1890
1890
  }
1891
1891
  },
1892
1892
  {
1893
1893
  "scope": "invalid.unimplemented",
1894
1894
  "settings": {
1895
- "foreground": "#ffffff"
1895
+ "foreground": "#070707"
1896
1896
  }
1897
1897
  }
1898
1898
  ],
package/zed/LICENSE.md ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 The Pierre Computer Company
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,7 +1,7 @@
1
- id = "pierre"
1
+ id = "pierre-theme"
2
2
  name = "Pierre"
3
3
  description = "A warm, orange-accented color theme with light and dark variants"
4
- version = "0.0.1"
4
+ version = "0.0.24"
5
5
  schema_version = 1
6
6
  authors = ["pierrecomputer"]
7
7
  repository = "https://github.com/pierrecomputer/pierre-theme"
@@ -1,234 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Pierre Theme - Display P3 Color Comparison</title>
7
- <style>
8
- body {
9
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
10
- max-width: 1200px;
11
- margin: 40px auto;
12
- padding: 20px;
13
- background: #141415;
14
- color: #fbfbfb;
15
- }
16
- h1 { text-align: center; margin-bottom: 40px; }
17
- .comparison-grid {
18
- display: grid;
19
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
20
- gap: 30px;
21
- margin: 40px 0;
22
- }
23
- .color-card {
24
- background: #1f1f21;
25
- border-radius: 12px;
26
- padding: 20px;
27
- border: 1px solid #39393c;
28
- }
29
- .color-card h3 {
30
- margin-top: 0;
31
- color: #fbfbfb;
32
- }
33
- .color-swatch {
34
- height: 100px;
35
- border-radius: 8px;
36
- margin: 10px 0;
37
- display: flex;
38
- align-items: center;
39
- justify-content: center;
40
- font-weight: 600;
41
- font-family: 'Monaco', 'Courier New', monospace;
42
- font-size: 12px;
43
- color: white;
44
- text-shadow: 0 0 2px rgba(0,0,0,0.5);
45
- }
46
-
47
- .label {
48
- font-size: 12px;
49
- color: #adadb1;
50
- margin-bottom: 5px;
51
- margin-top: 15px;
52
- }
53
- .hex-value {
54
- font-family: 'Monaco', 'Courier New', monospace;
55
- font-size: 11px;
56
- color: #c6c6c8;
57
- margin-top: 5px;
58
- word-break: break-all;
59
- }
60
- .info {
61
- background: #2e2e30;
62
- padding: 20px;
63
- border-radius: 8px;
64
- margin: 20px 0;
65
- border-left: 4px solid color(display-p3 0.340 0.734 0.360);
66
- }
67
- .info h3 {
68
- margin-top: 0;
69
- }
70
- .p3-notice {
71
- text-align: center;
72
- padding: 15px;
73
- background: #39393c;
74
- border-radius: 8px;
75
- margin: 20px 0;
76
- }
77
- .supports { color: color(display-p3 0.340 0.734 0.360); }
78
- .no-support { color: #ff6762; }
79
-
80
- code {
81
- background: #2e2e30;
82
- padding: 2px 6px;
83
- border-radius: 4px;
84
- font-size: 13px;
85
- }
86
- </style>
87
- </head>
88
- <body>
89
- <h1>Pierre Theme: Display P3 Color Comparison</h1>
90
-
91
- <div class="p3-notice" id="p3-status">
92
- Checking Display P3 support...
93
- </div>
94
-
95
- <div class="info">
96
- <h3>About Display P3 Enhanced Colors</h3>
97
- <p>Display P3 is a wider color gamut that can display ~25% more colors than standard sRGB. The Pierre Vibrant themes use CSS <code>color(display-p3 r g b)</code> format with <strong>enhanced saturation</strong> to fully utilize the P3 color space.</p>
98
- <p><strong>Enhancement:</strong> Colors are boosted by 15-30% saturation (depending on original saturation) and 5% luminance for highly saturated colors. This pushes colors into the wider P3 gamut that isn't available in sRGB.</p>
99
- <p><strong>Important:</strong> To see the difference, you need a P3-capable display (most Macs from 2015+, iPhones, iPads).</p>
100
- </div>
101
-
102
- <div class="comparison-grid">
103
- <div class="color-card">
104
- <h3>Blue</h3>
105
- <div class="label">Standard (sRGB)</div>
106
- <div class="color-swatch srgb" style="background-color: #008cff;">
107
- #008cff
108
- </div>
109
- <div class="label">Vibrant (Display P3 Enhanced)</div>
110
- <div class="color-swatch p3" style="background-color: color(display-p3 0.267653 0.570512 1.000000);">
111
- P3
112
- </div>
113
- <div class="hex-value">color(display-p3 0.267653 0.570512 1.000000)</div>
114
- </div>
115
-
116
- <div class="color-card">
117
- <h3>Green</h3>
118
- <div class="label">Standard (sRGB)</div>
119
- <div class="color-swatch srgb" style="background-color: #0dbe4e;">
120
- #0dbe4e
121
- </div>
122
- <div class="label">Vibrant (Display P3 Enhanced)</div>
123
- <div class="color-swatch p3" style="background-color: color(display-p3 0.298067 0.776115 0.322484);">
124
- P3
125
- </div>
126
- <div class="hex-value">color(display-p3 0.298067 0.776115 0.322484)</div>
127
- </div>
128
-
129
- <div class="color-card">
130
- <h3>Red</h3>
131
- <div class="label">Standard (sRGB)</div>
132
- <div class="color-swatch srgb" style="background-color: #ff2e3f;">
133
- #ff2e3f
134
- </div>
135
- <div class="label">Vibrant (Display P3 Enhanced)</div>
136
- <div class="color-swatch p3" style="background-color: color(display-p3 1.000000 0.250216 0.262337);">
137
- P3
138
- </div>
139
- <div class="hex-value">color(display-p3 1.000000 0.250216 0.262337)</div>
140
- </div>
141
-
142
- <div class="color-card">
143
- <h3>Purple</h3>
144
- <div class="label">Standard (sRGB)</div>
145
- <div class="color-swatch srgb" style="background-color: #c635e4;">
146
- #c635e4
147
- </div>
148
- <div class="label">Vibrant (Display P3 Enhanced)</div>
149
- <div class="color-swatch p3" style="background-color: color(display-p3 0.770871 0.230698 0.945253);">
150
- P3
151
- </div>
152
- <div class="hex-value">color(display-p3 0.770871 0.230698 0.945253)</div>
153
- </div>
154
-
155
- <div class="color-card">
156
- <h3>Pink</h3>
157
- <div class="label">Standard (sRGB)</div>
158
- <div class="color-swatch srgb" style="background-color: #fc2b73;">
159
- #fc2b73
160
- </div>
161
- <div class="label">Vibrant (Display P3 Enhanced)</div>
162
- <div class="color-swatch p3" style="background-color: color(display-p3 0.995522 0.233444 0.460772);">
163
- P3
164
- </div>
165
- <div class="hex-value">color(display-p3 0.995522 0.233444 0.460772)</div>
166
- </div>
167
-
168
- <div class="color-card">
169
- <h3>Orange</h3>
170
- <div class="label">Standard (sRGB)</div>
171
- <div class="color-swatch srgb" style="background-color: #fe8c2c;">
172
- #fe8c2c
173
- </div>
174
- <div class="label">Vibrant (Display P3 Enhanced)</div>
175
- <div class="color-swatch p3" style="background-color: color(display-p3 1.000000 0.598672 0.265916);">
176
- P3
177
- </div>
178
- <div class="hex-value">color(display-p3 1.000000 0.598672 0.265916)</div>
179
- </div>
180
-
181
- <div class="color-card">
182
- <h3>Cyan</h3>
183
- <div class="label">Standard (sRGB)</div>
184
- <div class="color-swatch srgb" style="background-color: #08c0ef;">
185
- #08c0ef
186
- </div>
187
- <div class="label">Vibrant (Display P3 Enhanced)</div>
188
- <div class="color-swatch p3" style="background-color: color(display-p3 0.327292 0.790977 0.995660);">
189
- P3
190
- </div>
191
- <div class="hex-value">color(display-p3 0.327292 0.790977 0.995660)</div>
192
- </div>
193
-
194
- <div class="color-card">
195
- <h3>Teal</h3>
196
- <div class="label">Standard (sRGB)</div>
197
- <div class="color-swatch srgb" style="background-color: #00c5d2;">
198
- #00c5d2
199
- </div>
200
- <div class="label">Vibrant (Display P3 Enhanced)</div>
201
- <div class="color-swatch p3" style="background-color: color(display-p3 0.342284 0.816699 0.877157);">
202
- P3
203
- </div>
204
- <div class="hex-value">color(display-p3 0.342284 0.816699 0.877157)</div>
205
- </div>
206
- </div>
207
-
208
- <div class="info">
209
- <h3>Browser Support</h3>
210
- <p>CSS <code>color(display-p3 ...)</code> is supported in:</p>
211
- <ul>
212
- <li>Safari 10+ (macOS and iOS)</li>
213
- <li>Chrome 111+</li>
214
- <li>Firefox 113+</li>
215
- <li>Edge 111+</li>
216
- </ul>
217
- <p>Browsers without P3 support will automatically fall back to the closest sRGB color.</p>
218
- </div>
219
-
220
- <script>
221
- // Check for P3 support
222
- const supportsP3 = window.matchMedia('(color-gamut: p3)').matches;
223
- const statusEl = document.getElementById('p3-status');
224
-
225
- if (supportsP3) {
226
- statusEl.innerHTML = '<span class="supports">✓</span> Your display supports Display P3! You should see more vibrant colors in the P3 swatches above. Compare the top and bottom colors in each card.';
227
- statusEl.style.borderLeft = '4px solid color(display-p3 0.340 0.734 0.360)';
228
- } else {
229
- statusEl.innerHTML = '<span class="no-support">✗</span> Your display does not support Display P3, or your browser doesn\'t support the color(display-p3) syntax. The P3 colors will appear similar to the standard sRGB colors.';
230
- statusEl.style.borderLeft = '4px solid #ff6762';
231
- }
232
- </script>
233
- </body>
234
- </html>