diff --git a/docs/.vitepress/api/gh-icon/stroke-width/[...data].get.ts b/docs/.vitepress/api/gh-icon/stroke-width/[...data].get.ts
index 5618ec53a..1354b1ae4 100644
--- a/docs/.vitepress/api/gh-icon/stroke-width/[...data].get.ts
+++ b/docs/.vitepress/api/gh-icon/stroke-width/[...data].get.ts
@@ -22,10 +22,19 @@ export default eventHandler((event) => {
const svg = Buffer.from(
// We can't use jsx here, is not supported here by nitro.
- renderToString(createElement(Icon, { strokeWidth })).replace(
- />/,
- '>'
- )
+ renderToString(createElement(Icon, { strokeWidth }))
+ .replace(/fill\="none"/, 'fill="#fff"')
+ .replace(
+ />/,
+ `>`
+ )
).toString('utf8');
defaultContentType(event, 'image/svg+xml')
diff --git a/docs/.vitepress/lib/SvgPreview/index.tsx b/docs/.vitepress/lib/SvgPreview/index.tsx
index 056b9ae5e..4120be93d 100644
--- a/docs/.vitepress/lib/SvgPreview/index.tsx
+++ b/docs/.vitepress/lib/SvgPreview/index.tsx
@@ -4,7 +4,7 @@ import { getPaths, assert } from './utils';
const Grid = ({
radius,
- fill,
+ fill = '#fff',
...props
}: {
strokeWidth: number;
@@ -12,6 +12,7 @@ const Grid = ({
} & PathProps<'stroke', 'strokeWidth'>) => (
(({ src, children, showGrid = false, ...props }, ref) => {
const paths = typeof src === 'string' ? getPaths(src) : src;
- const darkModeCss = `@media screen and (prefers-color-scheme: dark) {
+ const darkModeCss = `@media screen and (prefers-color-scheme: light) {
+ .svg-preview-grid-rect { fill: none }
+}
+@media screen and (prefers-color-scheme: dark) {
+ .svg-preview-grid-rect { fill: none }
+ .svg
.svg-preview-grid-group,
.svg-preview-radii-group,
.svg-preview-shadow-mask-group,