From 5369e96ab70b88abf1492c50f191dcf9e3bb7108 Mon Sep 17 00:00:00 2001 From: adamelmore <2363879+adamdottv@users.noreply.github.com> Date: Sun, 25 Jan 2026 19:07:19 -0600 Subject: fix(app): line selection colors --- packages/ui/src/pierre/index.ts | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) (limited to 'packages/ui/src/pierre') 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] { -- cgit v1.2.3