From 47a5a0e7dd82e39d0a1a3369218f5eef13dfa1a0 Mon Sep 17 00:00:00 2001 From: Jivin Sardine Date: Thu, 26 Mar 2026 12:48:11 +0530 Subject: [PATCH] fix: ensure .form-select in .input-group gets proper border-radius Adds standalone .form-select to the border-radius rules in .input-group: - In .has-validation: adds .form-select:nth-last-child(n+3) selector so form-select not in last 3 children gets border-end-radius: 0 - Adds .form-select:not(:first-child) to the border-start-radius: 0 rule so form-select after another element (e.g. .input-group-text) correctly has left radius removed Fixes issue where .input-group > .input-group-text + .form-select would incorrectly apply full border-radius to the select element instead of removing the shared right border-radius from the text addon. AI-assisted contribution. --- scss/forms/_input-group.scss | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scss/forms/_input-group.scss b/scss/forms/_input-group.scss index 8078ebb151ab..27ad950a3733 100644 --- a/scss/forms/_input-group.scss +++ b/scss/forms/_input-group.scss @@ -108,6 +108,7 @@ &.has-validation { > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating), + > .form-select:nth-last-child(n + 3), > .dropdown-toggle:nth-last-child(n + 4), > .form-floating:nth-last-child(n + 3) > .form-control, > .form-floating:nth-last-child(n + 3) > .form-select { @@ -120,7 +121,8 @@ $validation-messages: $validation-messages + ":not(." + unquote($state) + "-tooltip)" + ":not(." + unquote($state) + "-feedback)"; } - > :not(:first-child):not(.dropdown-menu)#{$validation-messages} { + > :not(:first-child):not(.dropdown-menu)#{$validation-messages}, + > .form-select:not(:first-child) { margin-left: calc(-1 * #{$input-border-width}); // stylelint-disable-line function-disallowed-list @include border-start-radius(0); }