From 2b99ed5d38aa289a17301a0c85d8c2745a7b4e78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Gonz=C3=A1lez?= Date: Fri, 18 Sep 2026 20:55:04 +0200 Subject: [PATCH] Fix invisible text selection inside pre blocks (#3096) --- .changeset/pre-selection-contrast.md | 5 +++++ core/scss/_variables.scss | 1 + core/scss/ui/_type.scss | 7 +++++++ 3 files changed, 13 insertions(+) create mode 100644 .changeset/pre-selection-contrast.md diff --git a/.changeset/pre-selection-contrast.md b/.changeset/pre-selection-contrast.md new file mode 100644 index 000000000..fdb811e81 --- /dev/null +++ b/.changeset/pre-selection-contrast.md @@ -0,0 +1,5 @@ +--- +"@tabler/core": patch +--- + +Fix invisible text selection inside `pre` blocks in light mode diff --git a/core/scss/_variables.scss b/core/scss/_variables.scss index 1c9d3f6d1..6d4b48648 100644 --- a/core/scss/_variables.scss +++ b/core/scss/_variables.scss @@ -747,6 +747,7 @@ $code-font-size: $font-size-reative-sm !default; $pre-padding: 1rem !default; $pre-bg: var(--bg-surface-dark) !default; $pre-color: var(--light) !default; +$pre-selection-bg: color-transparent(var(--primary), 0.4) !default; $kbd-padding-x: 0.5rem !default; $kbd-padding-y: 0.25rem !default; diff --git a/core/scss/ui/_type.scss b/core/scss/ui/_type.scss index 03ccb9e0b..4cec84c77 100644 --- a/core/scss/ui/_type.scss +++ b/core/scss/ui/_type.scss @@ -136,6 +136,13 @@ pre { @include scrollbar(); + // pre keeps its dark surface in both color schemes, so the light-mode + // selection tint (10% primary) is invisible here - use the dark-mode value + &::selection, + ::selection { + background-color: $pre-selection-bg; + } + code { padding: 0; background: transparent;