diff --git a/ui_patterns_settings.info.yml b/ui_patterns_settings.info.yml
index a93111a96f264882138dfaa2f4bde5445aff68d9..31c1fd0e5a975c845cf27e34208f811080f20d73 100644
--- a/ui_patterns_settings.info.yml
+++ b/ui_patterns_settings.info.yml
@@ -2,7 +2,7 @@ name: UI Patterns Settings
 type: module
 description: Configure patterns with settings
 package: User interface
-core_version_requirement: ^8 || ^9 || ^10
+core_version_requirement: ^10.2
 dependencies:
   - ui_patterns:ui_patterns
   - token:token
diff --git a/ui_patterns_settings.module b/ui_patterns_settings.module
index 20a345838982416dce1a624bb7e9010fc40c293a..e651a8ffab9d366797abe8643dff8caec64d8c38 100644
--- a/ui_patterns_settings.module
+++ b/ui_patterns_settings.module
@@ -7,6 +7,7 @@
 
 use Drupal\Component\Utility\UrlHelper;
 use Drupal\Core\Url;
+use Drupal\field\FieldStorageConfigInterface;
 use Drupal\ui_patterns_settings\Plugin\PatternSettingTypeBase;
 use Drupal\ui_patterns_settings\Plugin\Layout\PatternSettingsLayout;
 use Drupal\Core\Entity\EntityTypeInterface;
@@ -82,13 +83,14 @@ function ui_patterns_settings_preprocess_media_library_element(&$variables) {
 
   }
 }
+
 /**
- * Implements hook_form_field_storage_config_edit_form_alter().
+ * Implements hook_form_FORM_ID_alter() for 'field_config_edit_form'.
  */
-function ui_patterns_settings_form_field_storage_config_edit_form_alter(&$form, FormStateInterface $form_state) {
+function ui_patterns_settings_form_field_config_edit_form_alter(&$form, FormStateInterface $form_state): void {
   /** @var \Drupal\field\Entity\FieldStorageConfig $entity */
-  $entity = $form_state->getFormObject()->getEntity();
-  array_unshift($form['actions']['submit']['#submit'], 'ui_patterns_settings_form_field_storage_config_edit_form_submit');
+  $entity = $form_state->getFormObject()->getEntity()->getFieldStorageDefinition();
+  array_unshift($form['actions']['submit']['#submit'], 'ui_patterns_settings_form_field_config_edit_form_submit');
 
   $definitions = UiPatterns::getPatternDefinitions();
   $settings_options = [];
@@ -98,22 +100,24 @@ function ui_patterns_settings_form_field_storage_config_edit_form_alter(&$form,
       $settings_options[$key] = $info['label'];
     }
   }
+
   if (count($settings_options) > 0) {
+    $parent = &$form['field_storage']['subform'];
     $mapping = UiPatternsSettings::getConfigManager()->getMapping($entity->id());
-    $form['settings']['use_pattern'] = [
+    $parent['settings']['use_pattern'] = [
       '#type' => 'checkbox',
       '#title' => t('Expose pattern setting'),
       '#default_value' => $mapping !== NULL,
       '#description' => '',
     ];
 
-    $form['settings']['pattern_setting'] = [
+    $parent['settings']['pattern_setting'] = [
       '#type' => 'select',
       '#options' => $settings_options,
       '#title' => 'Pattern Setting',
       '#states' => [
         'invisible' => [
-          ':input[name="settings[use_pattern]"]' => ['checked' => FALSE],
+          ':input[name$="[use_pattern]"]' => ['checked' => FALSE],
         ],
       ],
       '#default_value' => $mapping,
@@ -122,12 +126,12 @@ function ui_patterns_settings_form_field_storage_config_edit_form_alter(&$form,
 }
 
 /**
- * Implements hook_form_field_storage_config_edit_form_submit().
+ * Form submit callback.
  */
-function ui_patterns_settings_form_field_storage_config_edit_form_submit(array $form, FormStateInterface $form_state) {
-  $settings = $form_state->getValue('settings');
-  /** @var \Drupal\field\Entity\FieldStorageConfig $entity */
-  $entity = $form_state->getFormObject()->getEntity();
+function ui_patterns_settings_form_field_config_edit_form_submit(array $form, FormStateInterface $form_state) {
+  $settings = $form_state->getValue(['field_storage', 'subform', 'settings']);
+  $entity = $form_state->getFormObject()->getEntity()->getFieldStorageDefinition();
+  \assert($entity instanceof FieldStorageConfigInterface);
 
   if (isset($settings['use_pattern']) && $settings['use_pattern'] === 1) {
     UiPatternsSettings::getConfigManager()->addMapping($entity->id(), $settings['pattern_setting']);