diff --git a/Gemfile b/Gemfile
index e0e47ae03da75db4c214d048534c3ce1a9616c6c..966ef908d4eee5d2c8f1824fe468925e09dedf10 100644
--- a/Gemfile
+++ b/Gemfile
@@ -25,7 +25,7 @@ gem 'responders', '~> 3.0'
 
 gem 'sprockets', '~> 3.7.0'
 
-gem 'view_component', '~> 2.74.1'
+gem 'view_component', '~> 2.82.0'
 
 # Supported DBs
 gem 'pg', '~> 1.4.6'
diff --git a/Gemfile.checksum b/Gemfile.checksum
index fc98269df219fecfd7b7d3391f2f0f989887d20a..3dcc0ceca92ec8601322db2102bf2446773aea71 100644
--- a/Gemfile.checksum
+++ b/Gemfile.checksum
@@ -666,7 +666,7 @@
 {"name":"validates_hostname","version":"1.0.11","platform":"ruby","checksum":"d506bae0342ec14c920eb319e057fc1886c321a59b85b4b6e966ee4b88fab8c3"},
 {"name":"version_gem","version":"1.1.0","platform":"ruby","checksum":"6b009518020db57f51ec7b410213fae2bf692baea9f1b51770db97fbc93d9a80"},
 {"name":"version_sorter","version":"2.3.0","platform":"ruby","checksum":"2147f2a1a3804fbb8f60d268b7d7c1ec717e6dd727ffe2c165b4e05e82efe1da"},
-{"name":"view_component","version":"2.74.1","platform":"ruby","checksum":"0bbd47a9c11455a45043dc01aa604db708654718a4d8755c911425482e8392c0"},
+{"name":"view_component","version":"2.82.0","platform":"ruby","checksum":"c8b69561e19d8f9c4ba8c16df7f3bf2a5f0bba439dd25a597948e118f6bc9baf"},
 {"name":"virtus","version":"2.0.0","platform":"ruby","checksum":"8841dae4eb7fcc097320ba5ea516bf1839e5d056c61ee27138aa4bddd6e3d1c2"},
 {"name":"vmstat","version":"2.3.0","platform":"ruby","checksum":"ab5446a3e3bd0a9cdb9d9ac69a0bbd119c4f161d945a0846a519dd7018af656d"},
 {"name":"warden","version":"1.2.9","platform":"ruby","checksum":"46684f885d35a69dbb883deabf85a222c8e427a957804719e143005df7a1efd0"},
diff --git a/Gemfile.lock b/Gemfile.lock
index 09e6a018d56f05831b1343a6781a2d29dd8d1eb4..772afcdcf7700e735a13dbd5d68ff5a83a32caae 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1607,8 +1607,8 @@ GEM
       activesupport (>= 3.0)
     version_gem (1.1.0)
     version_sorter (2.3.0)
-    view_component (2.74.1)
-      activesupport (>= 5.0.0, < 8.0)
+    view_component (2.82.0)
+      activesupport (>= 5.2.0, < 8.0)
       concurrent-ruby (~> 1.0)
       method_source (~> 1.0)
     virtus (2.0.0)
@@ -1959,7 +1959,7 @@ DEPENDENCIES
   valid_email (~> 0.1)
   validates_hostname (~> 1.0.11)
   version_sorter (~> 2.3)
-  view_component (~> 2.74.1)
+  view_component (~> 2.82.0)
   vmstat (~> 2.3.0)
   warning (~> 1.3.0)
   webauthn (~> 3.0)
diff --git a/spec/lib/gitlab/path_regex_spec.rb b/spec/lib/gitlab/path_regex_spec.rb
index 0a647befb503dcaebc33cc1debd7063962a33070..718b20c59edb7d3ef4ebc437bc348329bcd204fb 100644
--- a/spec/lib/gitlab/path_regex_spec.rb
+++ b/spec/lib/gitlab/path_regex_spec.rb
@@ -177,7 +177,12 @@ def failure_message(constant_name, migration_helper, missing_words: [], addition
                         missing_words: missing_words, additional_words: additional_words)
       end
 
-      expect(described_class::TOP_LEVEL_ROUTES)
+      # We have to account for routes that are added by gems into the RAILS_ENV=test only.
+      test_only_top_level_routes = [
+        '_system_test_entrypoint' # added by the view_component gem
+      ]
+
+      expect(described_class::TOP_LEVEL_ROUTES + test_only_top_level_routes)
         .to contain_exactly(*top_level_words), failure_block
     end