summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/pierre
diff options
context:
space:
mode:
Diffstat (limited to 'packages/ui/src/pierre')
-rw-r--r--packages/ui/src/pierre/index.ts25
1 files changed, 16 insertions, 9 deletions
diff --git a/packages/ui/src/pierre/index.ts b/packages/ui/src/pierre/index.ts
index a83af9890..f0da51979 100644
--- a/packages/ui/src/pierre/index.ts
+++ b/packages/ui/src/pierre/index.ts
@@ -35,9 +35,22 @@ const unsafeCSS = `
--diffs-selection-base: var(--surface-warning-strong);
--diffs-selection-border: var(--border-warning-base);
--diffs-selection-number-fg: #1c1917;
- --diffs-bg-selection: var(--diffs-bg-selection-override, color-mix(in oklch, var(--surface-warning-base) 65%, transparent));
- --diffs-bg-selection-number: var(--diffs-bg-selection-number-override, color-mix(in oklch, var(--surface-warning-base) 85%, transparent));
- --diffs-bg-selection-text: color-mix(in oklch, var(--surface-warning-strong) 20%, transparent);
+ /* Use explicit alpha instead of color-mix(..., transparent) to avoid Safari's non-premultiplied interpolation bugs. */
+ --diffs-bg-selection: var(--diffs-bg-selection-override, rgb(from var(--surface-warning-base) r g b / 0.65));
+ --diffs-bg-selection-number: var(
+ --diffs-bg-selection-number-override,
+ rgb(from var(--surface-warning-base) r g b / 0.85)
+ );
+ --diffs-bg-selection-text: rgb(from var(--surface-warning-strong) r g b / 0.2);
+}
+
+:host([data-color-scheme='dark']) [data-diffs] {
+ --diffs-selection-number-fg: #fdfbfb;
+ --diffs-bg-selection: var(--diffs-bg-selection-override, rgb(from var(--solaris-dark-6) r g b / 0.65));
+ --diffs-bg-selection-number: var(
+ --diffs-bg-selection-number-override,
+ rgb(from var(--solaris-dark-6) r g b / 0.85)
+ );
}
[data-diffs] ::selection {
@@ -78,12 +91,6 @@ const unsafeCSS = `
);
}
-:host-context([data-color-scheme='dark']) [data-diffs] {
- --diffs-selection-number-fg: #fdfbfb;
- --diffs-bg-selection: var(--diffs-bg-selection-override, color-mix(in oklch, var(--solaris-dark-6) 65%, transparent));
- --diffs-bg-selection-number: var(--diffs-bg-selection-number-override, color-mix(in oklch, var(--solaris-dark-6) 85%, transparent));
-}
-
[data-diffs-header],
[data-diffs] {
[data-separator-wrapper] {