From 3b2a5f011bc4832d97652cfa132194b0926e241e Mon Sep 17 00:00:00 2001 From: Damien Braillard Date: Fri, 14 Aug 2026 14:59:39 +0200 Subject: [PATCH] Fix code viewer editor when line numbers are enabled When `ShowLineNumbers` and `Editable` are both set to `true` on the `MudCodViewer`, there is a shift between the caret and the shown highlighted content. This is due to the fact that the `
` overlay is shifted right by `3.8em` and the underlying `
             
         }
diff --git a/src/CodeBeam.MudBlazor.Extensions.Code/Components/MudCodeViewer.razor.cs b/src/CodeBeam.MudBlazor.Extensions.Code/Components/MudCodeViewer.razor.cs
index 53c7bf0d..e7d26d7f 100644
--- a/src/CodeBeam.MudBlazor.Extensions.Code/Components/MudCodeViewer.razor.cs
+++ b/src/CodeBeam.MudBlazor.Extensions.Code/Components/MudCodeViewer.razor.cs
@@ -79,6 +79,14 @@ public MudCodeViewer()
         .AddClass($"language-{_language.Value.ToDescriptionString()}", !_showLineNumbers.Value)
         .Build();
 
+    /// 
+    /// Gets the CSS class string used for the textarea element based on the line number display settings.
+    /// 
+    private string TextAreaClass => new CssBuilder()
+        .AddClass("mud-codeviewer-textarea")
+        .AddClass("line-numbers", _showLineNumbers.Value)
+        .Build();
+
     /// 
     /// Gets or sets the code snippet to be displayed or processed by the component.
     /// 
diff --git a/src/CodeBeam.MudBlazor.Extensions.Code/wwwroot/prism/prism.min.css b/src/CodeBeam.MudBlazor.Extensions.Code/wwwroot/prism/prism.min.css
index fb929a09..705fbc23 100644
--- a/src/CodeBeam.MudBlazor.Extensions.Code/wwwroot/prism/prism.min.css
+++ b/src/CodeBeam.MudBlazor.Extensions.Code/wwwroot/prism/prism.min.css
@@ -87,3 +87,7 @@ pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-
     font: inherit;
     padding: 16px;
 }
+
+.mud-codeviewer-textarea.line-numbers {
+    padding-left: 3.8em
+}
\ No newline at end of file