diff --git a/README.md b/README.md
index c6449a9f101162c132314dce250a7828ca503b67..4f6429363a7748ab374a6df40246dffbdd643542 100644
--- a/README.md
+++ b/README.md
@@ -101,6 +101,11 @@ Local development is done via DDEV and the `ddev-drupal-contrib` add-on.
         ddev poser
         ddev symlink-project
         ddev drush site:install
+        ddev drush en label_help_test
+        ddev drush en test_lh_address
+        ddev drush en test_lh_paragraphs
+        ddev drush en test_lh_telephone_advanced
+        ddev drush en test_lh_theme_field
         ddev drush user:login
 
 3.  Install and configure the module.
diff --git a/composer.json b/composer.json
index 27b840db83a56bcda06841e01cbc05645b50353a..dd919348b10a6d31ab408396cac919076b899368 100644
--- a/composer.json
+++ b/composer.json
@@ -10,7 +10,11 @@
         }
     ],
     "require-dev": {
-        "drush/drush": "*"
+        "drush/drush": "*",
+        "drupal/address": "*",
+        "drupal/gin": "*",
+        "drupal/telephone_advanced": "*",
+        "drupal/theme_field": "*"
     },
     "minimum-stability": "dev",
     "prefer-stable": true,
diff --git a/label_help.module b/label_help.module
index 9027abb8f005b426bea99fe8a4784e3d94673bab..609864241e6a432aeaf989e647b357959306426d 100644
--- a/label_help.module
+++ b/label_help.module
@@ -8,6 +8,7 @@
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\Core\Render\Element;
 use Drupal\Core\Site\Settings;
+use Drupal\Core\StringTranslation\TranslatableMarkup;
 
 /**
  * @file
@@ -47,273 +48,362 @@ function label_help_theme() {
  * Implements hook_form_alter().
  */
 function label_help_form_alter(&$form, &$form_state, $form_id) {
-  $form['#process'][] = 'label_help_process_form';
+  $form['#after_build'][] = 'label_help_after_build_form';
 }
 
 /**
- * Custom process callback for modifying form elements with Label Help.
+ * Form callback to modify all form elements recursively with Label Help.
  */
-function label_help_process_form($element, FormStateInterface $form_state, &$form) {
-  $debug = Settings::get('label_help_debug', FALSE);
-  $debug_dump = Settings::get('label_help_debug_dump', FALSE);
-  $one_time_debug_warning = &drupal_static(__FUNCTION__);
-  $children = array_intersect_key($form, array_flip(Element::children($form)));
-  foreach ($children as $key => $item) {
-    $use_case = 0;
+function label_help_after_build_form($form, FormStateInterface $form_state) {
+  $form_processed = $form['#label_help_form_processed'] ?? FALSE;
+  if ($form_processed) {
+    return $form;
+  }
+
+  foreach (Element::children($form) as $key) {
     $content = NULL;
-    $fallback_use_case = FALSE;
+    $type = NULL;
+    $use_case = NULL;
 
-    // There are two possible ways to add text content for Label Help:
-    // Option 1) via code, using a custom #label_help Form API property.
-    if (!empty($item['#label_help'])) {
-      $content = $item['#label_help'];
-    }
-    // Option 2) via the Field UI module in the Drupal web interface.
-    else {
-      $form_object = $form_state->getFormObject();
-      if (!method_exists($form_object, 'getEntity')) {
-        return $element;
-      }
-      $method = new ReflectionMethod($form_object, 'getEntity');
-      if (!$method->isPublic()) {
-        return $element;
-      }
-      $form_entity = $form_object->getEntity();
-      if (!method_exists($form_entity, 'getFieldDefinition')) {
-        return $element;
-      }
-      $method = new ReflectionMethod($form_entity, 'getFieldDefinition');
-      if (!$method->isPublic()) {
-        return $element;
-      }
-      $field = $form_entity->getFieldDefinition($key);
-      if ($field && method_exists($field, 'getThirdPartySetting')) {
-        $content = $field->getThirdPartySetting('label_help', 'label_help_description');
-      }
-    }
-    if (is_null($content) || strlen($content) === 0) {
+    $element = &$form[$key];
+    $content = $element['#label_help'] ?? '';
+    if (empty($content)) {
       continue;
     }
 
-    _label_help_attach_styles($form);
-
-    // Most Drupal 8 entity edit forms have fields of type 'container' with
-    // an inner widget where the form element itself is attached. Attempt to
-    // leverage #label_suffix where possible and fallback to alternate
-    // solutions for widget types like details and fieldsets that do not
-    // support #label_suffix.
-    if (isset($item['#type']) && $item['#type'] == 'container') {
-
-      // Special case for multi-value fields, which lack #label_suffix
-      // support, appends the help text straight to the field title so it
-      // appears in the table header, instead of inside the draggable row.
-      if (!empty($item['widget']['#cardinality_multiple'])) {
-        if (!empty($form[$key]['widget']['#title'])) {
-          $use_case = 1;
-          $element = &$form[$key]['widget'];
-          _label_help_append_title($element, $content, $use_case);
-        }
-        elseif (!empty($form[$key]['widget']['title'])) {
-          $use_case = 2;
-          $form[$key]['widget']['title']['#attributes']['class'][] = 'label';
-          $form[$key]['widget']['title']['#suffix'] = _label_help_attach_message($content, '#suffix', $use_case);
-        }
-      }
-
-      // Special case for containers whose first element is to be rendered as
-      // a fieldset either via #type (eg, Link fields) or #theme_wrappers (eg,
-      // Date fields). Drupal's fieldset.html.twig do not support the
-      // #label_prefix, so use #field_prefix instead, but be careful to not
-      // overwrite content when the #field_prefix is already defined.
-      elseif (
-        (
-          !empty($item['widget'][0]['#type']) &&
-          (
-            $item['widget'][0]['#type'] == 'fieldset' ||
-            $item['widget'][0]['#type'] == 'checkboxes' ||
-            $item['widget'][0]['#type'] == 'radios'
-          )
-        ) || (
-          !empty($item['widget'][0]['#theme_wrappers']) &&
-          $item['widget'][0]['#theme_wrappers'][0] == 'fieldset'
-        )
-      ) {
-        $use_case = 3;
-        $element = &$form[$key]['widget'][0];
-        _label_help_prepend_field_prefix($element, $content, $use_case);
-      }
+    $processed = &_label_help_find_element_by_property($element, '#label_help_processed');
+    if (!empty($processed)) {
+      continue;
+    }
 
-      // Special case for media, checkboxes and radios where Drupal's
-      // fieldset.html.twig does not support the #label_prefix, so use
-      // #field_prefix instead, but be careful to not overwrite content
-      // when the #field_prefix is already defined.
-      elseif (
-        (
-          !empty($item['widget']['#type']) &&
-          !empty($item['widget']['#title']) &&
-          (
-            $item['widget']['#type'] == 'fieldset' ||
-            $item['widget']['#type'] == 'checkboxes' ||
-            $item['widget']['#type'] == 'radios'
-          )
-        )
-      ) {
-        $use_case = 4;
-        $element = &$form[$key]['widget'];
-        _label_help_prepend_field_prefix($element, $content, $use_case);
-      }
+    $type = $element['#type'] ?? NULL;
 
-      // Single on/off checkbox.
-      elseif (
-        isset($item['widget']['value']) &&
-        $item['widget']['value']['#type'] == 'checkbox'
-      ) {
-        $use_case = 5;
-        $element = &$form[$key]['widget']['value'];
-        _label_help_prepend_field_prefix($element, $content, $use_case);
-      }
+    _label_help_attach_styles($form);
 
-      // Special case for containers with a details widget, specified
-      // either via #type or #theme_wrappers (eg Entity Browser or Address
-      // fields). Drupal's details.html.twig does not support #label_prefix,
-      // so we use #description instead, but be careful to not overwrite
-      // content when the #description is already defined.
-      elseif (
-        (
-          !empty($item['widget']['#type']) &&
-          $item['widget']['#type'] == 'details'
-        ) || (
-          !empty($item['widget']['#theme_wrappers']) &&
-          $item['widget']['#theme_wrappers'][0] == 'details'
-        )
-      ) {
-        $use_case = 6;
-        $element = &$form[$key]['widget'];
-        _label_help_prepend_description($element, $content, $use_case);
-      }
+    // First, look for and handle known special case field names.
+    $fallback = FALSE;
+    $use_case = "label_help_after_build_form:$key:$type";
+    switch ("$key:$type") {
+      // Handle Drupal node title field.
+      case 'title:container':
+        $item = &_label_help_find_element_by_property_and_value($element, '#type', 'textfield');
+        _label_help_prepend_field_prefix($item, $content, $use_case);
+        break;
+
+      default:
+        $fallback = TRUE;
+        break;
+    }
 
-      // Special case for containers whose first element is rendered as a
-      // details widget, specified either via #type or #theme_wrappers (eg
-      // Address fields). Drupal's details.html.twig does not support
-      // #label_prefix, so we use #description instead, but be careful to not
-      // overwrite content when the #description is already defined.
-      elseif (
-        (
-          !empty($item['widget'][0]['#type']) &&
-          $item['widget'][0]['#type'] == 'details'
-        ) || (
-          !empty($item['widget'][0]['#theme_wrappers'])
-          && $item['widget'][0]['#theme_wrappers'][0] == 'details'
-        )
-      ) {
-        $use_case = 7;
-        $element = &$form[$key]['widget'][0];
-        _label_help_prepend_description($element, $content, $use_case);
-      }
+    if (!$fallback) {
+      continue;
+    }
 
-      // Special case for datetime form elements which do not properly display
-      // the label help using #label_suffix, #field_prefix, nor take into
-      // account #description_display.  Therefore we use a hack solution
-      // append the message to the field #title.
-      elseif (
-        isset($item['widget']['#theme']) &&
-        $item['widget']['#theme'] == 'field_multiple_value_form' &&
-        isset($item['widget'][0]['value']['#type']) &&
-        $item['widget'][0]['value']['#type'] == 'datetime'
-      ) {
-        $use_case = 8;
-        $element = &$form[$key]['widget'][0]['value'];
-        _label_help_append_title($element, $content, $use_case);
-      }
+    // If no known widget type, try a match on element type.
+    $fallback = FALSE;
+    $use_case = "label_help_after_build_form:$type";
+    switch ($type) {
+
+      // Handle all field types that can use a label suffix (preferred).
+      case 'color':
+      case 'date':
+      case 'email':
+      case 'entity_autocomplete':
+      case 'file':
+      case 'machine_name':
+      case 'number':
+      case 'password':
+      case 'password_confirm':
+      case 'range':
+      case 'search':
+      case 'select':
+      case 'tel':
+      case 'textfield':
+      case 'textarea':
+      case 'url':
+        $item = &_label_help_find_element_by_property($element, '#title');
+        _label_help_append_label_suffix($item, $content, $use_case);
+        break;
+
+      // Handle all field types that must use a field prefix (less ideal).
+      case 'checkbox':
+      case 'radios':
+      case 'radio':
+        $item = &_label_help_find_element_by_property($element, '#title');
+        _label_help_prepend_field_prefix($item, $content, $use_case);
+        break;
+
+      // Handle all field types that need to append to the title (least ideal).
+      case 'datetime':
+      case 'details':
+      case 'fieldset':
+        $item = &_label_help_find_element_by_property($element, '#title');
+        _label_help_append_title($item, $content, $use_case);
+        break;
+
+      default:
+        $fallback = TRUE;
+        break;
+    }
+    $form['#label_help_processed'] = !$fallback;
+    if ($fallback) {
+      _label_help_log_unhandled_element($element, $content, $use_case);
+    }
+  }
 
-      elseif (isset($item['widget'][0]['value'])) {
-        $use_case = 9;
-        $element = &$form[$key]['widget'][0]['value'];
-        _label_help_prepend_field_prefix($element, $content, $use_case);
-      }
+  $form['#label_help_form_processed'] = TRUE;
+  return $form;
+}
 
-      // Special case for link fields when 'Allow link text' option is disabled,
-      // the widget does not have any type and the field is rendered as a
-      // textfield with its field value in the 'uri' key. Therefore, we place
-      // the message in the #field_prefix.
-      elseif (isset($item['widget'][0]['uri'])) {
-        $use_case = 10;
-        $element = &$form[$key]['widget'][0]['uri'];
-        _label_help_prepend_field_prefix($element, $content, $use_case);
-      }
+/**
+ * Implements hook_field_widget_single_element_form_alter().
+ *
+ * @param $element: The field widget form element as constructed by \Drupal\Core\Field\WidgetBaseInterface::form().
+ * @param $form_state: The current state of the form.
+ * @param $context: An associative array containing the following key-value pairs:
+ * - form: The form structure to which widgets are being attached. This may
+ *   be a full form structure, or a sub-element of a larger form.
+ * - widget: The widget plugin instance.
+ * - items: The field values, as a
+ *   \Drupal\Core\Field\FieldItemListInterface object.
+ * - delta: The order of this item in the array of sub-elements (0, 1, 2, etc).
+ * - default: A boolean indicating whether the form is being shown as a
+ *   dummy form to set default values.
+ */
+function label_help_field_widget_single_element_form_alter(&$element, FormStateInterface $form_state, $context) {
+  $field = $context['items']->getFieldDefinition();
+  $content = method_exists($field, 'getThirdPartySetting') ? $field->getThirdPartySetting('label_help', 'label_help_description') : '';
+  $cardinality = $field->getFieldStorageDefinition()->getCardinality();
+  $widget_type = $context['widget']->getPluginId();
+
+  if (empty($element['#label_help']) && $content) {
+    $element['#label_help'] = $content;
+  }
 
-      // Format used by Client-side Hierarchical Select module.
-      elseif (isset($item['widget'][0]['target_id']['#title'])) {
-        $use_case = 11;
-        $element = &$form[$key]['widget'][0]['target_id'];
-        _label_help_append_label_suffix($element, $content, $use_case);
-      }
+  if (!empty($element['#label_help'])) {
+    $element['#widget_type'] = $widget_type;
+    $element['#cardinality'] = $cardinality;
+    if ($cardinality === 1) {
+      $element['#process'][] = 'label_help_process_widget';
+    }
+  }
+}
 
-      elseif (isset($item['widget'][0]['#title'])) {
-        $use_case = 12;
-        $element = &$form[$key]['widget'][0];
-        _label_help_append_label_suffix($element, $content, $use_case);
-      }
+/**
+ * Implements hook_field_widget_complete_form_alter().
+ *
+ * @param $element: The field widget form element as constructed by \Drupal\Core\Field\WidgetBaseInterface::form().
+ * @param $form_state: The current state of the form.
+ * @param $context: An associative array containing the following key-value pairs:
+ * - form: The form structure to which widgets are being attached. This may
+ *   be a full form structure, or a sub-element of a larger form.
+ * - widget: The widget plugin instance.
+ * - items: The field values, as a
+ *   \Drupal\Core\Field\FieldItemListInterface object.
+ * - delta: The order of this item in the array of sub-elements (0, 1, 2, etc).
+ * - default: A boolean indicating whether the form is being shown as a
+ *   dummy form to set default values.
+ */
+function label_help_field_widget_complete_form_alter(&$element, FormStateInterface $form_state, $context) {
+  $field = $context['items']->getFieldDefinition();
+  $content = method_exists($field, 'getThirdPartySetting') ? $field->getThirdPartySetting('label_help', 'label_help_description') : '';
+  $cardinality = $field->getFieldStorageDefinition()->getCardinality();
+  $widget_type = $context['widget']->getPluginId();
+
+  if (empty($element['#label_help']) && $content) {
+    $element['#label_help'] = $content;
+  }
 
-      // Eg, Select lists.
-      elseif (isset($item['widget']['#title'])) {
-        $use_case = 13;
-        $element = &$form[$key]['widget'];
-        _label_help_append_label_suffix($element, $content, $use_case);
-      }
+  if (!empty($element['#label_help'])) {
+    $element['#widget_type'] = $widget_type;
+    $element['#cardinality'] = $cardinality;
+    if ($cardinality !== 1) {
+      $element['#process'][] = 'label_help_process_widget';
+    }
+  }
+}
 
-      elseif (isset($item['widget']['target_id']['#title'])) {
-        $use_case = 14;
-        $element = &$form[$key]['widget']['target_id'];
-        _label_help_append_label_suffix($element, $content, $use_case);
-      }
 
-      else {
-        $use_case = 15;
-        $fallback_use_case = TRUE;
-      }
-    }
+/**
+ * Process callback to handle label help display for known field widget types.
+ */
+function label_help_process_widget($element, FormStateInterface $form_state, &$form) {
+  $processed = $element['#label_help_processed'] ?? FALSE;
+  $content = $element['#label_help'] ?? '';
+  $widget_type = $element['#widget_type'] ?? 'fallback';
+  $cardinality = $element['#cardinality'] ?? 1;
+  $field_name = $element['#field_name'] ?? reset($element['#array_parents']) ?? '[field_name_unknown]';
+
+  if ($processed || !$content || !$widget_type) {
+    return $element;
+  }
 
-    // Custom fields may not be defined with a container or a widget wrapper.
-    // To keep things simple, place the label in the field prefix.
-    elseif (isset($item['#type']) && empty($item['widget'])) {
-      $use_case = 16;
-      $element = &$form[$key];
-      _label_help_append_label_suffix($element, $content, $use_case);
+  // Some widget types with multiple values must be handled in the #process
+  // callback because we cannot affect the output of the multi-table widget's
+  // Label at this phase of the form alter process.
+  $is_multiple = ($cardinality !== 1);
+  if ($is_multiple) {
+    if (!empty($element['widget']['#theme'])) {
+      $widget_type = $element['widget']['#theme'];
     }
     else {
-      $use_case = 17;
-      $fallback_use_case = TRUE;
+      $widget_type = $widget_type . '_multiple';
     }
+  }
 
-    // Add a fallback use case to place message in the element label.
-    if ($fallback_use_case) {
-      $element = &$form[$key]['widget'];
-      _label_help_append_label_suffix($element, $content, $use_case);
-      if ($debug) {
-        $form["debug_$key"] = [
-          '#markup' => "Label Help Debug: Fallback placement: $key (use case $use_case)",
-          '#weight' => (int) $form[$key]['#weight'] - 1,
-        ];
-      }
-    }
+  if (!empty($element['#type']) && $element['#type'] === 'details') {
+    $widget_type = 'details';
+  }
 
-    if ($use_case && $debug_dump) {
-      if (empty($one_time_debug_warning)) {
-        dump("Note: the following variable dump(s) may prevent proper page rendering. This is expected behavior.");
-        $one_time_debug_warning = TRUE;
-      }
-      if ($fallback_use_case) {
-        dump("Label Help Debug: $key (use case $use_case) UNKNOWN FIELD TYPE!");
+  $use_case = "label_help_process_widget:$widget_type";
+
+  // Handle label help display for known field widget types only.
+  $fallback = FALSE;
+  $passthru = FALSE;
+  switch ($widget_type) {
+
+    // Use #label_suffix on entity reference target_id.
+    case 'entity_reference_autocomplete_tags':
+    case 'entity_reference_autocomplete':
+      $item = &_label_help_find_element_by_property($element, 'target_id');
+      _label_help_append_label_suffix($item['target_id'], $content, $use_case);
+      break;
+
+    // Use #label_suffix on 'value' element.
+    case 'number':
+    case 'email_default':
+    case 'string_textfield':
+    case 'string_textarea':
+    case 'telephone_default':
+      $item = &_label_help_find_element_by_property($element, 'value');
+      _label_help_append_label_suffix($item['value'], $content, $use_case);
+      break;
+
+    // Use label_suffix on textarea fields.
+    case 'text_textfield':
+    case 'text_textarea':
+    case 'text_textarea_with_summary':
+      $item = &_label_help_find_element_by_property($element, '#title');
+      _label_help_append_label_suffix($item, $content, $use_case);
+      break;
+
+    case 'language_select':
+    case 'options_select':
+      _label_help_append_label_suffix($element, $content, $use_case . ' (old use case 13)');
+      $item = &_label_help_find_element_by_property($element, '#title');
+      _label_help_append_label_suffix($item, $content, $use_case);
+      break;
+
+    // Use label_suffix on file and image fields.
+    case 'file_generic':
+    case 'image_image':
+      // Passthru.  Handle these field types in the form process function.
+      // $passthru = TRUE;
+      $item = &_label_help_find_element_by_property($element, '#title');
+      _label_help_append_label_suffix($item, $content, $use_case);
+      break;
+
+    // Use #field_prefix on address and media fields.
+    case 'address_default':
+    case 'media_library_widget':
+      $item = &_label_help_find_element_by_property($element, '#title');
+      _label_help_prepend_field_prefix($item, $content, $use_case);
+      break;
+
+    // Use #field_prefix on options buttons fields.
+    case 'options_buttons_multiple':
+      $item = &_label_help_find_element_by_property($element, 'widget');
+      _label_help_prepend_field_prefix($item['widget'], $content, $use_case);
+      break;
+
+    // Use #label_suffix on options buttons fields.
+    case 'options_buttons':
+      // Passthru.  Handle these field types in the form process function.
+      $passthru = TRUE;
+      break;
+
+    // Use #field_prefix on datetime fields.
+    case 'datetime_datelist':
+    case 'datetime_default':
+      $item = &_label_help_find_element_by_property($element, '#title');
+      _label_help_prepend_field_prefix($item, $content, $use_case);
+      break;
+
+    // Use #field_prefix on boolean checkbox fields.
+    case 'boolean_checkbox':
+      $item = &_label_help_find_element_by_property($element, 'value');
+      _label_help_prepend_field_prefix($item['value'], $content, $use_case);
+      break;
+
+    // Use #field_prefix on boolean checkbox multiple fields.
+    case 'boolean_checkbox_multiple':
+      $item = &_label_help_find_element_by_property($element, 'value');
+      _label_help_prepend_field_prefix($item['value'], $content, $use_case);
+      break;
+
+    // Several widget types do not handle #label_suffix, #field_prefix,
+    // nor does it take into account #description_display.  Therefore
+    // we use the worst-case fallback solution of appending the message
+    // to the field #title.
+    case 'datetime_timestamp':
+      $item = &_label_help_find_element_by_property($element, 'value');
+      _label_help_append_title($item['value'], $content, $use_case);
+      break;
+
+    // Special case for theme_field module.
+    case 'theme_field_widget':
+      $item = &_label_help_find_element_by_property($element, '#title');
+      _label_help_append_title($item, $content, $use_case);
+      break;
+
+    // Special case for link fields depending on the presence of a link title.
+    case 'link_default':
+      // If URL and title, use #field_prefix on wrapper element.
+      $has_title = $element['title']['#access'] ?? TRUE;
+      if ($has_title) {
+        $item = &_label_help_find_element_by_property($element, 'title');
+        _label_help_prepend_field_prefix($item, $content, $use_case);
       }
+      // If URL only, use #label_suffix on URI field sub-element.
       else {
-        dump("Label Help Debug: $key (use case $use_case)");
+        $item = &_label_help_find_element_by_property($element, 'uri');
+        _label_help_append_label_suffix($item['uri'], $content, $use_case);
       }
-      dump($item);
-    }
+      break;
+
+    // Special case for multi-value fields that use the multi-table widget.
+    case 'field_multiple_value_form':
+      $item = &_label_help_find_element_by_property($element, '#title');
+      _label_help_append_title($item, $content, $use_case);
+      break;
+
+    // Special case for address country fields.
+    case 'address_country_default':
+      $item = &_label_help_find_element_by_property($element, 'value');
+      _label_help_append_title($item['value'], $content, $use_case);
+      break;
+
+    // Special case for fields that use a details element.
+    case 'details':
+    case 'address_zone_default':
+    case 'file_widget_multiple':
+    case 'media_library_widget_multiple':
+      $item = &_label_help_find_element_by_property($element, '#title');
+      _label_help_append_title($item, $content, $use_case);
+      break;
+
+    // Unhandled widget types.
+    default:
+      $fallback = TRUE;
+      break;
   }
+  $element['#label_help_processed'] = !$fallback && !$passthru;
+  if ($fallback) {
+    _label_help_log_unhandled_element($element, $content, $use_case, $cardinality);
+  }
+  _label_help_attach_styles($element);
 
-  return $form;
+  return $element;
 }
 
 /**
@@ -378,6 +468,92 @@ function label_help_theme_suggestions_label_help(array $variables) {
   }
 }
 
+/**
+ * Logs an unhandled element and attempts fallback strategies.
+ *
+ * @param array $element
+ *   The render array element that was not handled.
+ * @param string $content
+ *   The content of the element.
+ * @param string $use_case
+ *   The use case of the element.
+ * @param int $cardinality
+ *   The cardinality of the element.
+ */
+function _label_help_log_unhandled_element(&$element, $content, $use_case, $cardinality = 1) {
+  \Drupal::logger('label_help')->warning(t("🚀 Unhandled field @use_case (cardinality: @cardinality, text: @content). Enable \$settings['label_help_debug'] = TRUE; to see the full message.", [
+    '@use_case' => $use_case,
+    '@content' => $content,
+    '@cardinality' => $cardinality,
+  ]));
+  if (Settings::get('label_help_debug', FALSE)) {
+    \Drupal::messenger()->addMessage(t('🚀 Label Help encountered an unrecognized use case @use_case with cardinality @cardinality and text @content. Attempting several fallback strategies for displaying the label help. Please copy this message text and screenshot the field on the edit form, and file an issue, so that we may add proper support.', [
+      '@use_case' => $use_case,
+      '@content' => $content,
+      '@cardinality' => $cardinality,
+    ]));
+  }
+
+  if (!empty($element['widget'][0]['value'])) {
+    _label_help_append_label_suffix($element['widget'][0]['value'], '🚀 #append_widget_0_value_label_suffix ' . $content, $use_case);
+    _label_help_prepend_field_prefix($element['widget'][0]['value'], '🚀 #prepend_widget_0_value_field_prefix ' . $content, $use_case);
+    _label_help_append_title($element['widget'][0]['value'], '🚀 #append_widget_0_value_title ' . $content, $use_case);
+    _label_help_prepend_description($element['widget'][0]['value'], '🚀 #prepend_widget_0_value_description ' . $content, $use_case);
+  }
+  elseif (!empty($element['widget']['value'])) {
+    _label_help_append_label_suffix($element['widget']['value'], '🚀 #append_widget_value_label_suffix ' . $content, $use_case);
+    _label_help_prepend_field_prefix($element['widget']['value'], '🚀 #prepend_widget_value_field_prefix ' . $content, $use_case);
+    _label_help_append_title($element['widget']['value'], '🚀 #append_widget_value_title ' . $content, $use_case);
+    _label_help_prepend_description($element['widget']['value'], '🚀 #prepend_widget_value_description ' . $content, $use_case);
+  }
+  elseif (!empty($element['value'])) {
+    _label_help_append_label_suffix($element['value'], '🚀 #append_value_label_suffix ' . $content, $use_case);
+    _label_help_prepend_field_prefix($element['value'], '🚀 #prepend_value_field_prefix ' . $content, $use_case);
+    _label_help_append_title($element['value'], '🚀 #append_value_title ' . $content, $use_case);
+    _label_help_prepend_description($element['value'], '🚀 #prepend_value_description ' . $content, $use_case);
+  }
+  elseif (!empty($element['widget'])) {
+    _label_help_append_label_suffix($element['widget'], '🚀 #append_widget_label_suffix ' . $content, $use_case);
+    _label_help_prepend_field_prefix($element['widget'], '🚀 #prepend_widget_field_suffix ' . $content, $use_case);
+    _label_help_append_title($element['widget'], '🚀 #append_widget_title ' . $content, $use_case);
+    _label_help_prepend_description($element['widget'], '🚀 #prepend_widget_description ' . $content, $use_case);
+  }
+  else {
+    _label_help_append_label_suffix($element, '🚀 #append_element_label_suffix ' . $content, $use_case);
+    _label_help_prepend_field_prefix($element, '🚀 #prepend_element_field_prefix ' . $content, $use_case);
+    _label_help_append_title($element, '🚀 #append_element_title ' . $content, $use_case);
+    _label_help_prepend_description($element, '🚀 #prepend_element_description ' . $content, $use_case);
+  }
+}
+
+function &_label_help_find_element_by_property(&$element, $property) {
+  if (isset($element[$property])) {
+    return $element;
+  }
+  foreach (Element::children($element) as $key) {
+    $result = &_label_help_find_element_by_property($element[$key], $property);
+    if ($result) {
+      return $result;
+    }
+  }
+  $null = NULL;
+  return $null;
+}
+
+function &_label_help_find_element_by_property_and_value(&$element, $property, $value) {
+  if (isset($element[$property]) && $element[$property] === $value) {
+    return $element;
+  }
+  foreach (Element::children($element) as $key) {
+    $result = &_label_help_find_element_by_property_and_value($element[$key], $property, $value);
+    if ($result) {
+      return $result;
+    }
+  }
+  $null = NULL;
+  return $null;
+}
+
 /**
  * Appends a message to the title attribute of an element.
  *
@@ -389,10 +565,70 @@ function label_help_theme_suggestions_label_help(array $variables) {
  *   An optional parameter to specify the use case for the message.
  */
 function _label_help_append_title(&$element, $content, $use_case = 0) {
+  if (empty($content)) {
+    if (!empty($element['widget'])) {
+      $element_dump = var_export(array_keys($element['widget']), TRUE);
+    } else {
+      $element_dump = var_export(array_keys($element), TRUE);
+    }
+    \Drupal::messenger()->addMessage(t('Label Help append title called for  @element_type with parents @element_parents but with no content to append: <pre>@dump</pre>', [
+      '@element_type' => $element['#type'],
+      '@element_parents' => serialize($element['#parents']),
+      '@dump' => $element_dump,
+    ]));
+    return FALSE;
+  }
+
+  if (!empty($element['#title'])) {
+    $item = &$element;
+    $use_case .= ' element';
+  }
+  // E.g. Theme field widget.
+  elseif (!empty($element['value']['#title'])) {
+    $item = &$element['value'];
+    $use_case .= ' value';
+  }
+  // E.g. entity_reference_autocomplete_tags widget.
+  elseif (!empty($element['target_id']['#title'])) {
+    $item = &$element['target_id'];
+    $use_case .= ' target_id';
+  }
+  elseif (!empty($element['widget'][0]['value']['#title '])) {
+    $item = &$element['widget'][0]['value'];
+    $use_case .= ' widget 0 value';
+  }
+  elseif (!empty($element['widget']['value']['#title'])) {
+    $item = &$element['widget']['value'];
+    $use_case .= ' widget value';
+  }
+  elseif (!empty($element['widget']['#title'])) {
+    $item = &$element['widget'];
+    $use_case .= ' widget';
+  }
+  if (empty($item)) {
+    if (empty($element)) {
+      $element_dump = 'empty element';
+    }
+    else {
+      $element_dump = var_export(array_keys($element), TRUE);
+    }
+    $element_type = $element['#type'] ?? 'unknown';
+    \Drupal::messenger()->addMessage(t('Label Help could not append to the #title for use case @use_case because it does not exist for element type @element_type with parents @element_parents: <pre>@dump</pre>', [
+      '@use_case' => $use_case,
+      '@element_type' => $element_type,
+      '@element_parents' => !empty($element['#parents']) ? serialize($element['#parents']) : '',
+      '@dump' => $element_dump,
+    ]));
+    return FALSE;
+  }
   // Add 'label' class to the title attributes.
-  $element['#title_attributes']['class'][] = 'label';
+  $item['#title_attributes']['class'][] = 'label';
   // Append the message to the element's title.
-  $element['#title'] = $element['#title'] . _label_help_attach_message($content, '#title on element', $use_case);
+  if ($item['#title'] instanceof TranslatableMarkup) {
+    $item['#title'] = (string) $element['#title'];
+  }
+  $item['#title'] = $item['#title'] . _label_help_attach_message($content, '#append_title', $use_case);
+  return TRUE;
 }
 
 /**
@@ -435,7 +671,7 @@ function _label_help_prepend_description(&$element, $content, $use_case = 0) {
       ],
     ];
   }
-  if (!is_array($element['#description'])) {
+  if (isset($element['#description']) && empty($element['#description'])) {
     $element['#description'] = [];
   }
   // Prepend the message to the description render array.
@@ -456,16 +692,22 @@ function _label_help_prepend_description(&$element, $content, $use_case = 0) {
  *   An optional parameter to specify the use case for the message.
  */
 function _label_help_prepend_field_prefix(&$element, $content, $use_case = 0) {
-  // Convert existing field prefix to a render array if it is not already.
-  if (!empty($element['#field_prefix']) && !is_array($element['#field_prefix'])) {
+  // If field_prefix doesn't exist, initialize as empty array
+  if (!isset($element['#field_prefix'])) {
+    $element['#field_prefix'] = [];
+  }
+  // If field_prefix is a string, convert it to a render array
+  elseif (!is_array($element['#field_prefix'])) {
+    $existing_prefix = $element['#field_prefix'];
     $element['#field_prefix'] = [
       'existing' => [
-        '#markup' => $element['#field_prefix'],
+        '#markup' => $existing_prefix,
         '#weight' => 0,
       ],
     ];
   }
-  // Prepend the message to the field prefix render array.
+
+  // Add the label help message
   $element['#field_prefix']['label_help'] = [
     '#markup' => _label_help_attach_message($content, '#field_prefix', $use_case),
     '#weight' => -10,
@@ -493,7 +735,7 @@ function _label_help_attach_message($content, $placement, $use_case = 0) {
   $debug = Settings::get('label_help_debug', FALSE);
   $status = ($use_case !== 20) ? '✅' : '❌';
   if ($debug) {
-    $content = "$status $content $placement (use case $use_case)";
+    $content = "$status $content <div class='label-help-debug'><small>$placement ($use_case)</small></div>";
   }
   $element = [
     '#theme' => 'label_help',
diff --git a/modules/label_help_test/config/install/core.entity_form_display.node.test_lh_cardinality.default.yml b/modules/label_help_test/config/install/core.entity_form_display.node.test_lh_cardinality.default.yml
new file mode 100644
index 0000000000000000000000000000000000000000..4c2ebb1252393cbd174e0299ba15b0bf488e589c
--- /dev/null
+++ b/modules/label_help_test/config/install/core.entity_form_display.node.test_lh_cardinality.default.yml
@@ -0,0 +1,147 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.node.test_lh_cardinality.field_lh_boolean_multi
+    - field.field.node.test_lh_cardinality.field_lh_date_multi
+    - field.field.node.test_lh_cardinality.field_lh_datetime_multi
+    - field.field.node.test_lh_cardinality.field_lh_email_multi
+    - field.field.node.test_lh_cardinality.field_lh_file_multi
+    - field.field.node.test_lh_cardinality.field_lh_image_multi
+    - field.field.node.test_lh_cardinality.field_lh_link_with_title_multi
+    - field.field.node.test_lh_cardinality.field_lh_media_multi
+    - field.field.node.test_lh_cardinality.field_lh_string_multi
+    - image.style.thumbnail
+    - node.type.test_lh_cardinality
+  module:
+    - datetime
+    - file
+    - image
+    - link
+    - media_library
+    - path
+id: node.test_lh_cardinality.default
+targetEntityType: node
+bundle: test_lh_cardinality
+mode: default
+content:
+  created:
+    type: datetime_timestamp
+    weight: -1
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  field_lh_boolean_multi:
+    type: boolean_checkbox
+    weight: 0
+    region: content
+    settings:
+      display_label: true
+    third_party_settings: {  }
+  field_lh_date_multi:
+    type: datetime_datelist
+    weight: 0
+    region: content
+    settings:
+      increment: 15
+      date_order: YMD
+      time_type: '24'
+    third_party_settings: {  }
+  field_lh_datetime_multi:
+    type: datetime_default
+    weight: 0
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  field_lh_email_multi:
+    type: email_default
+    weight: 0
+    region: content
+    settings:
+      placeholder: ''
+      size: 60
+    third_party_settings: {  }
+  field_lh_file_multi:
+    type: file_generic
+    weight: 0
+    region: content
+    settings:
+      progress_indicator: throbber
+    third_party_settings: {  }
+  field_lh_image_multi:
+    type: image_image
+    weight: 0
+    region: content
+    settings:
+      progress_indicator: throbber
+      preview_image_style: thumbnail
+    third_party_settings: {  }
+  field_lh_link_with_title_multi:
+    type: link_default
+    weight: 0
+    region: content
+    settings:
+      placeholder_url: ''
+      placeholder_title: ''
+    third_party_settings: {  }
+  field_lh_media_multi:
+    type: media_library_widget
+    weight: 101
+    region: content
+    settings:
+      media_types: {  }
+    third_party_settings: {  }
+  field_lh_string_multi:
+    type: string_textfield
+    weight: 0
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  path:
+    type: path
+    weight: -1
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  promote:
+    type: boolean_checkbox
+    weight: -1
+    region: content
+    settings:
+      display_label: true
+    third_party_settings: {  }
+  status:
+    type: boolean_checkbox
+    weight: 100
+    region: content
+    settings:
+      display_label: true
+    third_party_settings: {  }
+  sticky:
+    type: boolean_checkbox
+    weight: -1
+    region: content
+    settings:
+      display_label: true
+    third_party_settings: {  }
+  title:
+    type: string_textfield
+    weight: -5
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  uid:
+    type: entity_reference_autocomplete
+    weight: -1
+    region: content
+    settings:
+      match_operator: CONTAINS
+      match_limit: 10
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+hidden: {  }
diff --git a/modules/label_help_test/config/install/core.entity_form_display.node.test_label_help_core_fields.default.yml b/modules/label_help_test/config/install/core.entity_form_display.node.test_lh_core_fields.default.yml
similarity index 65%
rename from modules/label_help_test/config/install/core.entity_form_display.node.test_label_help_core_fields.default.yml
rename to modules/label_help_test/config/install/core.entity_form_display.node.test_lh_core_fields.default.yml
index 8577899e3d5b30cd9850c9d1edf992145143ebc0..0d2231c24b4452f839de00fa874156b59576ec38 100644
--- a/modules/label_help_test/config/install/core.entity_form_display.node.test_label_help_core_fields.default.yml
+++ b/modules/label_help_test/config/install/core.entity_form_display.node.test_lh_core_fields.default.yml
@@ -1,62 +1,65 @@
-
 langcode: en
 status: true
 dependencies:
   config:
-    - field.field.node.test_label_help_core_fields.field_lh_boolean
-    - field.field.node.test_label_help_core_fields.field_lh_date
-    - field.field.node.test_label_help_core_fields.field_lh_datetime
-    - field.field.node.test_label_help_core_fields.field_lh_decimal
-    - field.field.node.test_label_help_core_fields.field_lh_email
-    - field.field.node.test_label_help_core_fields.field_lh_file
-    - field.field.node.test_label_help_core_fields.field_lh_float
-    - field.field.node.test_label_help_core_fields.field_lh_image
-    - field.field.node.test_label_help_core_fields.field_lh_integer
-    - field.field.node.test_label_help_core_fields.field_lh_link
-    - field.field.node.test_label_help_core_fields.field_lh_link_with_title
-    - field.field.node.test_label_help_core_fields.field_lh_list_float
-    - field.field.node.test_label_help_core_fields.field_lh_list_integer
-    - field.field.node.test_label_help_core_fields.field_lh_list_string
-    - field.field.node.test_label_help_core_fields.field_lh_node_reference
-    - field.field.node.test_label_help_core_fields.field_lh_other_ref
-    - field.field.node.test_label_help_core_fields.field_lh_string
-    - field.field.node.test_label_help_core_fields.field_lh_string_long
-    - field.field.node.test_label_help_core_fields.field_lh_term_ref
-    - field.field.node.test_label_help_core_fields.field_lh_text
-    - field.field.node.test_label_help_core_fields.field_lh_text_long
-    - field.field.node.test_label_help_core_fields.field_lh_text_with_summary
-    - field.field.node.test_label_help_core_fields.field_lh_timestamp
-    - field.field.node.test_label_help_core_fields.field_lh_user_ref
+    - field.field.node.test_lh_core_fields.field_lh_boolean
+    - field.field.node.test_lh_core_fields.field_lh_date
+    - field.field.node.test_lh_core_fields.field_lh_datetime
+    - field.field.node.test_lh_core_fields.field_lh_decimal
+    - field.field.node.test_lh_core_fields.field_lh_email
+    - field.field.node.test_lh_core_fields.field_lh_file
+    - field.field.node.test_lh_core_fields.field_lh_float
+    - field.field.node.test_lh_core_fields.field_lh_image
+    - field.field.node.test_lh_core_fields.field_lh_integer
+    - field.field.node.test_lh_core_fields.field_lh_link
+    - field.field.node.test_lh_core_fields.field_lh_link_with_title
+    - field.field.node.test_lh_core_fields.field_lh_list_float
+    - field.field.node.test_lh_core_fields.field_lh_list_integer
+    - field.field.node.test_lh_core_fields.field_lh_list_string
+    - field.field.node.test_lh_core_fields.field_lh_media
+    - field.field.node.test_lh_core_fields.field_lh_node_reference
+    - field.field.node.test_lh_core_fields.field_lh_other_ref
+    - field.field.node.test_lh_core_fields.field_lh_string
+    - field.field.node.test_lh_core_fields.field_lh_string_long
+    - field.field.node.test_lh_core_fields.field_lh_telephone
+    - field.field.node.test_lh_core_fields.field_lh_term_ref
+    - field.field.node.test_lh_core_fields.field_lh_text
+    - field.field.node.test_lh_core_fields.field_lh_text_long
+    - field.field.node.test_lh_core_fields.field_lh_text_with_summary
+    - field.field.node.test_lh_core_fields.field_lh_timestamp
+    - field.field.node.test_lh_core_fields.field_lh_user_ref
     - image.style.thumbnail
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - datetime
     - file
     - image
     - link
+    - media_library
     - path
+    - telephone
     - text
-id: node.test_label_help_core_fields.default
+id: node.test_lh_core_fields.default
 targetEntityType: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 mode: default
 content:
   created:
     type: datetime_timestamp
-    weight: 10
+    weight: -1
     region: content
     settings: {  }
     third_party_settings: {  }
   field_lh_boolean:
     type: boolean_checkbox
-    weight: 135
+    weight: 0
     region: content
     settings:
       display_label: true
     third_party_settings: {  }
   field_lh_date:
     type: datetime_datelist
-    weight: 133
+    weight: 0
     region: content
     settings:
       increment: 15
@@ -65,20 +68,20 @@ content:
     third_party_settings: {  }
   field_lh_datetime:
     type: datetime_default
-    weight: 132
+    weight: 0
     region: content
     settings: {  }
     third_party_settings: {  }
   field_lh_decimal:
     type: number
-    weight: 127
+    weight: 0
     region: content
     settings:
       placeholder: ''
     third_party_settings: {  }
   field_lh_email:
     type: email_default
-    weight: 136
+    weight: 0
     region: content
     settings:
       placeholder: ''
@@ -86,21 +89,21 @@ content:
     third_party_settings: {  }
   field_lh_file:
     type: file_generic
-    weight: 139
+    weight: 0
     region: content
     settings:
       progress_indicator: throbber
     third_party_settings: {  }
   field_lh_float:
     type: number
-    weight: 128
+    weight: 0
     region: content
     settings:
       placeholder: ''
     third_party_settings: {  }
   field_lh_image:
     type: image_image
-    weight: 140
+    weight: 0
     region: content
     settings:
       progress_indicator: throbber
@@ -108,14 +111,14 @@ content:
     third_party_settings: {  }
   field_lh_integer:
     type: number
-    weight: 126
+    weight: 0
     region: content
     settings:
       placeholder: ''
     third_party_settings: {  }
   field_lh_link:
     type: link_default
-    weight: 137
+    weight: 0
     region: content
     settings:
       placeholder_url: ''
@@ -123,7 +126,7 @@ content:
     third_party_settings: {  }
   field_lh_link_with_title:
     type: link_default
-    weight: 138
+    weight: 0
     region: content
     settings:
       placeholder_url: ''
@@ -131,25 +134,32 @@ content:
     third_party_settings: {  }
   field_lh_list_float:
     type: options_buttons
-    weight: 131
+    weight: 0
     region: content
     settings: {  }
     third_party_settings: {  }
   field_lh_list_integer:
     type: options_buttons
-    weight: 130
+    weight: 0
     region: content
     settings: {  }
     third_party_settings: {  }
   field_lh_list_string:
     type: options_select
-    weight: 129
+    weight: 0
     region: content
     settings: {  }
     third_party_settings: {  }
+  field_lh_media:
+    type: media_library_widget
+    weight: 0
+    region: content
+    settings:
+      media_types: {  }
+    third_party_settings: {  }
   field_lh_node_reference:
     type: entity_reference_autocomplete
-    weight: 141
+    weight: 0
     region: content
     settings:
       match_operator: CONTAINS
@@ -159,13 +169,13 @@ content:
     third_party_settings: {  }
   field_lh_other_ref:
     type: options_select
-    weight: 144
+    weight: 0
     region: content
     settings: {  }
     third_party_settings: {  }
   field_lh_string:
     type: string_textfield
-    weight: 121
+    weight: 0
     region: content
     settings:
       size: 60
@@ -173,15 +183,22 @@ content:
     third_party_settings: {  }
   field_lh_string_long:
     type: string_textarea
-    weight: 122
+    weight: 0
     region: content
     settings:
       rows: 5
       placeholder: ''
     third_party_settings: {  }
+  field_lh_telephone:
+    type: telephone_default
+    weight: 0
+    region: content
+    settings:
+      placeholder: ''
+    third_party_settings: {  }
   field_lh_term_ref:
     type: entity_reference_autocomplete_tags
-    weight: 142
+    weight: 0
     region: content
     settings:
       match_operator: CONTAINS
@@ -191,7 +208,7 @@ content:
     third_party_settings: {  }
   field_lh_text:
     type: text_textfield
-    weight: 123
+    weight: 0
     region: content
     settings:
       size: 60
@@ -199,7 +216,7 @@ content:
     third_party_settings: {  }
   field_lh_text_long:
     type: text_textarea
-    weight: 125
+    weight: 0
     region: content
     settings:
       rows: 5
@@ -207,7 +224,7 @@ content:
     third_party_settings: {  }
   field_lh_text_with_summary:
     type: text_textarea_with_summary
-    weight: 124
+    weight: 0
     region: content
     settings:
       rows: 9
@@ -217,39 +234,39 @@ content:
     third_party_settings: {  }
   field_lh_timestamp:
     type: datetime_timestamp
-    weight: 134
+    weight: 0
     region: content
     settings: {  }
     third_party_settings: {  }
   field_lh_user_ref:
     type: options_buttons
-    weight: 143
+    weight: 0
     region: content
     settings: {  }
     third_party_settings: {  }
   path:
     type: path
-    weight: 30
+    weight: -1
     region: content
     settings: {  }
     third_party_settings: {  }
   promote:
     type: boolean_checkbox
-    weight: 15
+    weight: -1
     region: content
     settings:
       display_label: true
     third_party_settings: {  }
   status:
     type: boolean_checkbox
-    weight: 120
+    weight: 100
     region: content
     settings:
       display_label: true
     third_party_settings: {  }
   sticky:
     type: boolean_checkbox
-    weight: 16
+    weight: -1
     region: content
     settings:
       display_label: true
@@ -264,7 +281,7 @@ content:
     third_party_settings: {  }
   uid:
     type: entity_reference_autocomplete
-    weight: 5
+    weight: -1
     region: content
     settings:
       match_operator: CONTAINS
diff --git a/modules/label_help_test/config/install/core.entity_view_display.node.test_lh_cardinality.default.yml b/modules/label_help_test/config/install/core.entity_view_display.node.test_lh_cardinality.default.yml
new file mode 100644
index 0000000000000000000000000000000000000000..27e7e521c7ed9ac7a074a1a56ce31e44f8cb6a40
--- /dev/null
+++ b/modules/label_help_test/config/install/core.entity_view_display.node.test_lh_cardinality.default.yml
@@ -0,0 +1,114 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.node.test_lh_cardinality.field_lh_boolean_multi
+    - field.field.node.test_lh_cardinality.field_lh_date_multi
+    - field.field.node.test_lh_cardinality.field_lh_datetime_multi
+    - field.field.node.test_lh_cardinality.field_lh_email_multi
+    - field.field.node.test_lh_cardinality.field_lh_file_multi
+    - field.field.node.test_lh_cardinality.field_lh_image_multi
+    - field.field.node.test_lh_cardinality.field_lh_link_with_title_multi
+    - field.field.node.test_lh_cardinality.field_lh_media_multi
+    - field.field.node.test_lh_cardinality.field_lh_string_multi
+    - node.type.test_lh_cardinality
+  module:
+    - datetime
+    - file
+    - image
+    - link
+    - user
+id: node.test_lh_cardinality.default
+targetEntityType: node
+bundle: test_lh_cardinality
+mode: default
+content:
+  field_lh_boolean_multi:
+    type: boolean
+    label: above
+    settings:
+      format: default
+      format_custom_false: ''
+      format_custom_true: ''
+    third_party_settings: {  }
+    weight: 103
+    region: content
+  field_lh_date_multi:
+    type: datetime_default
+    label: above
+    settings:
+      timezone_override: ''
+      format_type: medium
+    third_party_settings: {  }
+    weight: 105
+    region: content
+  field_lh_datetime_multi:
+    type: datetime_default
+    label: above
+    settings:
+      timezone_override: ''
+      format_type: medium
+    third_party_settings: {  }
+    weight: 104
+    region: content
+  field_lh_email_multi:
+    type: basic_string
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    weight: 106
+    region: content
+  field_lh_file_multi:
+    type: file_default
+    label: above
+    settings:
+      use_description_as_link_text: true
+    third_party_settings: {  }
+    weight: 107
+    region: content
+  field_lh_image_multi:
+    type: image
+    label: above
+    settings:
+      image_link: ''
+      image_style: ''
+      image_loading:
+        attribute: lazy
+    third_party_settings: {  }
+    weight: 108
+    region: content
+  field_lh_link_with_title_multi:
+    type: link
+    label: above
+    settings:
+      trim_length: 80
+      url_only: false
+      url_plain: false
+      rel: ''
+      target: ''
+    third_party_settings: {  }
+    weight: 109
+    region: content
+  field_lh_media_multi:
+    type: entity_reference_entity_view
+    label: above
+    settings:
+      view_mode: default
+      link: false
+    third_party_settings: {  }
+    weight: 110
+    region: content
+  field_lh_string_multi:
+    type: string
+    label: above
+    settings:
+      link_to_entity: false
+    third_party_settings: {  }
+    weight: 101
+    region: content
+  links:
+    settings: {  }
+    third_party_settings: {  }
+    weight: 100
+    region: content
+hidden: {  }
diff --git a/modules/label_help_test/config/install/core.entity_view_display.node.test_lh_core_fields.default.yml b/modules/label_help_test/config/install/core.entity_view_display.node.test_lh_core_fields.default.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5582dc4072aed6227cd74d0f5911ec8c5bfa3048
--- /dev/null
+++ b/modules/label_help_test/config/install/core.entity_view_display.node.test_lh_core_fields.default.yml
@@ -0,0 +1,285 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.node.test_lh_core_fields.field_lh_boolean
+    - field.field.node.test_lh_core_fields.field_lh_date
+    - field.field.node.test_lh_core_fields.field_lh_datetime
+    - field.field.node.test_lh_core_fields.field_lh_decimal
+    - field.field.node.test_lh_core_fields.field_lh_email
+    - field.field.node.test_lh_core_fields.field_lh_file
+    - field.field.node.test_lh_core_fields.field_lh_float
+    - field.field.node.test_lh_core_fields.field_lh_image
+    - field.field.node.test_lh_core_fields.field_lh_integer
+    - field.field.node.test_lh_core_fields.field_lh_link
+    - field.field.node.test_lh_core_fields.field_lh_link_with_title
+    - field.field.node.test_lh_core_fields.field_lh_list_float
+    - field.field.node.test_lh_core_fields.field_lh_list_integer
+    - field.field.node.test_lh_core_fields.field_lh_list_string
+    - field.field.node.test_lh_core_fields.field_lh_media
+    - field.field.node.test_lh_core_fields.field_lh_node_reference
+    - field.field.node.test_lh_core_fields.field_lh_other_ref
+    - field.field.node.test_lh_core_fields.field_lh_string
+    - field.field.node.test_lh_core_fields.field_lh_string_long
+    - field.field.node.test_lh_core_fields.field_lh_telephone
+    - field.field.node.test_lh_core_fields.field_lh_term_ref
+    - field.field.node.test_lh_core_fields.field_lh_text
+    - field.field.node.test_lh_core_fields.field_lh_text_long
+    - field.field.node.test_lh_core_fields.field_lh_text_with_summary
+    - field.field.node.test_lh_core_fields.field_lh_timestamp
+    - field.field.node.test_lh_core_fields.field_lh_user_ref
+    - node.type.test_lh_core_fields
+  module:
+    - datetime
+    - file
+    - image
+    - link
+    - options
+    - telephone
+    - text
+    - user
+id: node.test_lh_core_fields.default
+targetEntityType: node
+bundle: test_lh_core_fields
+mode: default
+content:
+  field_lh_boolean:
+    type: boolean
+    label: above
+    settings:
+      format: default
+      format_custom_false: ''
+      format_custom_true: ''
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_date:
+    type: datetime_default
+    label: above
+    settings:
+      timezone_override: ''
+      format_type: medium
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_datetime:
+    type: datetime_default
+    label: above
+    settings:
+      timezone_override: ''
+      format_type: medium
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_decimal:
+    type: number_decimal
+    label: above
+    settings:
+      thousand_separator: ''
+      decimal_separator: .
+      scale: 2
+      prefix_suffix: true
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_email:
+    type: basic_string
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_file:
+    type: file_default
+    label: above
+    settings:
+      use_description_as_link_text: true
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_float:
+    type: number_decimal
+    label: above
+    settings:
+      thousand_separator: ''
+      decimal_separator: .
+      scale: 2
+      prefix_suffix: true
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_image:
+    type: image
+    label: above
+    settings:
+      image_link: ''
+      image_style: ''
+      image_loading:
+        attribute: lazy
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_integer:
+    type: number_integer
+    label: above
+    settings:
+      thousand_separator: ''
+      prefix_suffix: true
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_link:
+    type: link
+    label: above
+    settings:
+      trim_length: 80
+      url_only: false
+      url_plain: false
+      rel: ''
+      target: ''
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_link_with_title:
+    type: link
+    label: above
+    settings:
+      trim_length: 80
+      url_only: false
+      url_plain: false
+      rel: ''
+      target: ''
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_list_float:
+    type: list_default
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_list_integer:
+    type: list_default
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_list_string:
+    type: list_default
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_media:
+    type: entity_reference_entity_view
+    label: above
+    settings:
+      view_mode: default
+      link: false
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_node_reference:
+    type: entity_reference_label
+    label: above
+    settings:
+      link: true
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_other_ref:
+    type: entity_reference_label
+    label: above
+    settings:
+      link: true
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_string:
+    type: string
+    label: above
+    settings:
+      link_to_entity: false
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_string_long:
+    type: basic_string
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_telephone:
+    type: telephone_link
+    label: above
+    settings:
+      title: ''
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_term_ref:
+    type: entity_reference_label
+    label: above
+    settings:
+      link: true
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_text:
+    type: text_default
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_text_long:
+    type: text_default
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_text_with_summary:
+    type: text_default
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_timestamp:
+    type: timestamp
+    label: above
+    settings:
+      date_format: medium
+      custom_date_format: ''
+      timezone: ''
+      tooltip:
+        date_format: long
+        custom_date_format: ''
+      time_diff:
+        enabled: false
+        future_format: '@interval hence'
+        past_format: '@interval ago'
+        granularity: 2
+        refresh: 60
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  field_lh_user_ref:
+    type: entity_reference_label
+    label: above
+    settings:
+      link: true
+    third_party_settings: {  }
+    weight: 0
+    region: content
+  links:
+    settings: {  }
+    third_party_settings: {  }
+    weight: -1
+    region: content
+hidden: {  }
diff --git a/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_boolean_multi.yml b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_boolean_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..255713a43e744d78b92db47d55e440b19c03612c
--- /dev/null
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_boolean_multi.yml
@@ -0,0 +1,25 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lh_boolean_multi
+    - node.type.test_lh_cardinality
+  module:
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Boolean field.'
+id: node.test_lh_cardinality.field_lh_boolean_multi
+field_name: field_lh_boolean_multi
+entity_type: node
+bundle: test_lh_cardinality
+label: Boolean
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  on_label: 'On'
+  off_label: 'Off'
+field_type: boolean
diff --git a/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_date_multi.yml b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_date_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..9fc94fc8ea242441f28daf2aede08ea621adf156
--- /dev/null
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_date_multi.yml
@@ -0,0 +1,24 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lh_date_multi
+    - node.type.test_lh_cardinality
+  module:
+    - datetime
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Date (date only) field.'
+id: node.test_lh_cardinality.field_lh_date_multi
+field_name: field_lh_date_multi
+entity_type: node
+bundle: test_lh_cardinality
+label: "Date (date only)\t"
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: datetime
diff --git a/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_datetime_multi.yml b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_datetime_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..743cca61c97ed05df0c74bf212aa7eb5172fd539
--- /dev/null
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_datetime_multi.yml
@@ -0,0 +1,24 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lh_datetime_multi
+    - node.type.test_lh_cardinality
+  module:
+    - datetime
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Date (date & time) field.'
+id: node.test_lh_cardinality.field_lh_datetime_multi
+field_name: field_lh_datetime_multi
+entity_type: node
+bundle: test_lh_cardinality
+label: 'Date (date & time)'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: datetime
diff --git a/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_email_multi.yml b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_email_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0ced1d7fe2cc0d375f49c991f73e0ff9aa0b00a9
--- /dev/null
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_email_multi.yml
@@ -0,0 +1,23 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lh_email_multi
+    - node.type.test_lh_cardinality
+  module:
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Email field.'
+id: node.test_lh_cardinality.field_lh_email_multi
+field_name: field_lh_email_multi
+entity_type: node
+bundle: test_lh_cardinality
+label: Email
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: email
diff --git a/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_file_multi.yml b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_file_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a882dc6f1931d1ab223708025f9a528ce8ca7232
--- /dev/null
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_file_multi.yml
@@ -0,0 +1,30 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lh_file_multi
+    - node.type.test_lh_cardinality
+  module:
+    - file
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for File field.'
+id: node.test_lh_cardinality.field_lh_file_multi
+field_name: field_lh_file_multi
+entity_type: node
+bundle: test_lh_cardinality
+label: File
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:file'
+  handler_settings: {  }
+  file_directory: '[date:custom:Y]-[date:custom:m]'
+  file_extensions: txt
+  max_filesize: ''
+  description_field: false
+field_type: file
diff --git a/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_image_multi.yml b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_image_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2af1b5ecebd84b3f38da0e2e05a51251b3631c62
--- /dev/null
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_image_multi.yml
@@ -0,0 +1,41 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lh_image_multi
+    - node.type.test_lh_cardinality
+  module:
+    - image
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Image field.'
+id: node.test_lh_cardinality.field_lh_image_multi
+field_name: field_lh_image_multi
+entity_type: node
+bundle: test_lh_cardinality
+label: Image
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:file'
+  handler_settings: {  }
+  file_directory: '[date:custom:Y]-[date:custom:m]'
+  file_extensions: 'png gif jpg jpeg webp'
+  max_filesize: ''
+  max_resolution: ''
+  min_resolution: ''
+  alt_field: true
+  alt_field_required: true
+  title_field: false
+  title_field_required: false
+  default_image:
+    uuid: ''
+    alt: ''
+    title: ''
+    width: null
+    height: null
+field_type: image
diff --git a/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_link_with_title_multi.yml b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_link_with_title_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c8b8d8a041f6769bc527fe756e5f4d983c714d90
--- /dev/null
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_link_with_title_multi.yml
@@ -0,0 +1,26 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lh_link_with_title_multi
+    - node.type.test_lh_cardinality
+  module:
+    - label_help
+    - link
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Link with title field.'
+id: node.test_lh_cardinality.field_lh_link_with_title_multi
+field_name: field_lh_link_with_title_multi
+entity_type: node
+bundle: test_lh_cardinality
+label: 'Link with title'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  title: 1
+  link_type: 17
+field_type: link
diff --git a/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_media_multi.yml b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_media_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..1a33613fced369b2137bc6d5f6c8e60194478d3f
--- /dev/null
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_media_multi.yml
@@ -0,0 +1,33 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lh_media_multi
+    - media.type.image
+    - node.type.test_lh_cardinality
+  module:
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Media field.'
+id: node.test_lh_cardinality.field_lh_media_multi
+field_name: field_lh_media_multi
+entity_type: node
+bundle: test_lh_cardinality
+label: Media
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:media'
+  handler_settings:
+    target_bundles:
+      image: image
+    sort:
+      field: _none
+      direction: ASC
+    auto_create: false
+    auto_create_bundle: ''
+field_type: entity_reference
diff --git a/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_string_multi.yml b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_string_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..477f47c28e81c0fd1bcc3c0af273cc6f999856a0
--- /dev/null
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_cardinality.field_lh_string_multi.yml
@@ -0,0 +1,23 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lh_string_multi
+    - node.type.test_lh_cardinality
+  module:
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Text (plain) field.'
+id: node.test_lh_cardinality.field_lh_string_multi
+field_name: field_lh_string_multi
+entity_type: node
+bundle: test_lh_cardinality
+label: 'Text (plain)'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: string
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_boolean.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_boolean.yml
similarity index 76%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_boolean.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_boolean.yml
index d8e440644e3744a14074594b8234a11a2f2eca09..369d1948045742323e23977414c6a537e7746600 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_boolean.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_boolean.yml
@@ -1,19 +1,18 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_boolean
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Boolean field.'
-id: node.test_label_help_core_fields.field_lh_boolean
+id: node.test_lh_core_fields.field_lh_boolean
 field_name: field_lh_boolean
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: Boolean
 description: ''
 required: false
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_date.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_date.yml
similarity index 74%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_date.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_date.yml
index eab1c77640ce1fb8fe730ec6222c51c2fbb8a538..ff76554ff64af8e63d349aeafca2158ec356657a 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_date.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_date.yml
@@ -1,23 +1,22 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_date
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - datetime
     - label_help
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Date (date only) field.'
-id: node.test_label_help_core_fields.field_lh_date
+id: node.test_lh_core_fields.field_lh_date
 field_name: field_lh_date
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'Date (date only)'
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_datetime.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_datetime.yml
similarity index 74%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_datetime.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_datetime.yml
index 440ebe615338144f48dccac826a03ccb63104a06..7f1483b06b3d6a724291ab44d2884d64d3293f2c 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_datetime.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_datetime.yml
@@ -1,23 +1,22 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_datetime
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - datetime
     - label_help
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Date (date & time) field.'
-id: node.test_label_help_core_fields.field_lh_datetime
+id: node.test_lh_core_fields.field_lh_datetime
 field_name: field_lh_datetime
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'Date (date & time)'
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_decimal.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_decimal.yml
similarity index 75%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_decimal.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_decimal.yml
index 3709f026f45945a65c75155e377fed5988fff6a4..6e11055031122814bd29ea987168140b750a54a8 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_decimal.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_decimal.yml
@@ -1,22 +1,21 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_decimal
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Number (decimal) field.'
-id: node.test_label_help_core_fields.field_lh_decimal
+id: node.test_lh_core_fields.field_lh_decimal
 field_name: field_lh_decimal
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'Number (decimal)'
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_email.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_email.yml
similarity index 72%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_email.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_email.yml
index 6dba0fb4e2099baa432f0d2ef51a11a15d3bbc0d..89ec8710a0d935587092fc8f9c749420dcc04e0f 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_email.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_email.yml
@@ -1,22 +1,21 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_email
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Email field.'
-id: node.test_label_help_core_fields.field_lh_email
+id: node.test_lh_core_fields.field_lh_email
 field_name: field_lh_email
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: Email
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_file.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_file.yml
similarity index 79%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_file.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_file.yml
index 31906956c2a3ef4abf96e47f4254b9c169853ed7..82b607ba46daaa36a588795e218b2ba3e10cba6b 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_file.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_file.yml
@@ -1,23 +1,22 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_file
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - file
     - label_help
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for File field.'
-id: node.test_label_help_core_fields.field_lh_file
+id: node.test_lh_core_fields.field_lh_file
 field_name: field_lh_file
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: File
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_float.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_float.yml
similarity index 75%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_float.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_float.yml
index cde6f898013b69384df3127a14d6da21c8bdaa2a..8b23a21aaefbf2507550a4c1d08e59a65b1810bb 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_float.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_float.yml
@@ -1,22 +1,21 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_float
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Number (float) field.'
-id: node.test_label_help_core_fields.field_lh_float
+id: node.test_lh_core_fields.field_lh_float
 field_name: field_lh_float
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'Number (float)'
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_image.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_image.yml
similarity index 84%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_image.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_image.yml
index 2717bd027a44f93e1fcae894a46c63f00761da41..265def8bdec136cade1cba6474ce9bad68c47000 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_image.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_image.yml
@@ -1,23 +1,22 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_image
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - image
     - label_help
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Image field.'
-id: node.test_label_help_core_fields.field_lh_image
+id: node.test_lh_core_fields.field_lh_image
 field_name: field_lh_image
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'Image '
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_integer.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_integer.yml
similarity index 71%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_integer.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_integer.yml
index bd9153cf9c383c364fd8dc4b289cf8dce098ea8e..95ca3a587979e3bf752bdd3036320eb368d45be7 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_integer.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_integer.yml
@@ -1,28 +1,27 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_integer
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Number (integer) field.'
-id: node.test_label_help_core_fields.field_lh_integer
+id: node.test_lh_core_fields.field_lh_integer
 field_name: field_lh_integer
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'Number (integer)'
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
 settings:
   min: null
   max: null
-  prefix: ''
-  suffix: ''
+  prefix: $
+  suffix: dollar|dollars
 field_type: integer
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_link.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_link.yml
similarity index 75%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_link.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_link.yml
index 3eaf0d2f66ea94034a28e024bc9303eeb2772eeb..8f7154864c2dd3f97b8dd94f3e8a000028427a21 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_link.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_link.yml
@@ -1,23 +1,22 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_link
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
     - link
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Link (URL only) field.'
-id: node.test_label_help_core_fields.field_lh_link
+id: node.test_lh_core_fields.field_lh_link
 field_name: field_lh_link
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'Link (URL only)'
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_link_with_title.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_link_with_title.yml
similarity index 74%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_link_with_title.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_link_with_title.yml
index d6f01cfeec198215f53afbe9a73ffbb7cd81ace8..ba5ebeb7b757f3d917305a969e0bf4b07abdcf0e 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_link_with_title.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_link_with_title.yml
@@ -1,23 +1,22 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_link_with_title
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
     - link
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Link (URL & Title) field.'
-id: node.test_label_help_core_fields.field_lh_link_with_title
+id: node.test_lh_core_fields.field_lh_link_with_title
 field_name: field_lh_link_with_title
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'Link (URL & Title)'
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_list_float.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_list_float.yml
similarity index 76%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_list_float.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_list_float.yml
index 38cfdc34e63cb65290caaf1587931fd1c72be3d0..e4471e2c2b19842b37666df420f803a40c80bbab 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_list_float.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_list_float.yml
@@ -1,20 +1,19 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_list_float
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
     - options
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for List (float) field.'
-id: node.test_label_help_core_fields.field_lh_list_float
+id: node.test_lh_core_fields.field_lh_list_float
 field_name: field_lh_list_float
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'List (float)'
 description: ''
 required: true
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_list_integer.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_list_integer.yml
similarity index 74%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_list_integer.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_list_integer.yml
index 08301d8cb7c1a0c29d44b61a9cf853199239d546..96434e595b8d8d3e178db1041dcd4a47e2424a68 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_list_integer.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_list_integer.yml
@@ -1,23 +1,22 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_list_integer
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
     - options
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for List (integer) field.'
-id: node.test_label_help_core_fields.field_lh_list_integer
+id: node.test_lh_core_fields.field_lh_list_integer
 field_name: field_lh_list_integer
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'List (integer)'
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_list_string.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_list_string.yml
similarity index 76%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_list_string.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_list_string.yml
index d116e537958d94497b3e436138478db08917d09c..026659727ce001a8efb15024ea87fc0a0c54d651 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_list_string.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_list_string.yml
@@ -1,20 +1,19 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_list_string
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
     - options
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for List (text) field.'
-id: node.test_label_help_core_fields.field_lh_list_string
+id: node.test_lh_core_fields.field_lh_list_string
 field_name: field_lh_list_string
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'List (text)'
 description: ''
 required: true
diff --git a/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_media.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_media.yml
new file mode 100644
index 0000000000000000000000000000000000000000..87cb96ea0837d0a9889cc8e3d17084f757e57b21
--- /dev/null
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_media.yml
@@ -0,0 +1,33 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lh_media
+    - media.type.image
+    - node.type.test_lh_core_fields
+  module:
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Media field.'
+id: node.test_lh_core_fields.field_lh_media
+field_name: field_lh_media
+entity_type: node
+bundle: test_lh_core_fields
+label: Media
+description: ''
+required: true
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:media'
+  handler_settings:
+    target_bundles:
+      image: image
+    sort:
+      field: _none
+      direction: ASC
+    auto_create: false
+    auto_create_bundle: document
+field_type: entity_reference
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_node_reference.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_node_reference.yml
similarity index 80%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_node_reference.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_node_reference.yml
index 065a267415c9531b577c4917ced9b9cab1972582..d2a3e86426633119614e1b5c3e9c6ce390350026 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_node_reference.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_node_reference.yml
@@ -1,23 +1,22 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_node_reference
     - node.type.article
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Node Reference field.'
-id: node.test_label_help_core_fields.field_lh_node_reference
+id: node.test_lh_core_fields.field_lh_node_reference
 field_name: field_lh_node_reference
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'Node Reference'
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_other_ref.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_other_ref.yml
similarity index 76%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_other_ref.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_other_ref.yml
index c8ec734d1563fd120504778d0e09c4f01767a5af..8f8dbf15773398316014298be0de8fc50651c646 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_other_ref.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_other_ref.yml
@@ -1,22 +1,21 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_other_ref
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Block Reference field.'
-id: node.test_label_help_core_fields.field_lh_other_ref
+id: node.test_lh_core_fields.field_lh_other_ref
 field_name: field_lh_other_ref
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: Other
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_string.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_string.yml
similarity index 73%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_string.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_string.yml
index b38d3e822be64846b1b07cb01d5153f93fb2f8c9..1098e15a034f0a80c36872ef875791d85441e56c 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_string.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_string.yml
@@ -1,22 +1,21 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_string
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Text (plain) field.'
-id: node.test_label_help_core_fields.field_lh_string
+id: node.test_lh_core_fields.field_lh_string
 field_name: field_lh_string
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'Text (plain)'
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_string_long.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_string_long.yml
similarity index 73%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_string_long.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_string_long.yml
index 7cd793fc1f34c73ddc9420f02a7101624af478f1..7029dd87b73ce686a7a30e5ce49e39dde87643dc 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_string_long.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_string_long.yml
@@ -1,22 +1,21 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_string_long
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Text (plain, long) field.'
-id: node.test_label_help_core_fields.field_lh_string_long
+id: node.test_lh_core_fields.field_lh_string_long
 field_name: field_lh_string_long
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'Text (plain, long)'
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_telephone.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_telephone.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b3ffbad5bdf54530d3b93b4ff7b441f81c042cbe
--- /dev/null
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_telephone.yml
@@ -0,0 +1,27 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lh_telephone
+    - node.type.test_lh_core_fields
+  module:
+    - label_help
+    - telephone
+    - telephone_advanced
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Telephone field.'
+  telephone_advanced:
+    enabled: false
+id: node.test_lh_core_fields.field_lh_telephone
+field_name: field_lh_telephone
+entity_type: node
+bundle: test_lh_core_fields
+label: Telephone
+description: ''
+required: true
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: telephone
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_term_ref.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_term_ref.yml
similarity index 81%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_term_ref.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_term_ref.yml
index b4da614e8dcd71a4925d4f467018cf252931ebe9..e6f16a9884bf06cf49b4e54174ef1fc510c3b056 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_term_ref.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_term_ref.yml
@@ -1,23 +1,22 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_term_ref
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
     - taxonomy.vocabulary.tags
   module:
     - label_help
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Taxonomy Term Reference field.'
-id: node.test_label_help_core_fields.field_lh_term_ref
+id: node.test_lh_core_fields.field_lh_term_ref
 field_name: field_lh_term_ref
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'Taxonomy Term Reference'
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_text.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_text.yml
similarity index 75%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_text.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_text.yml
index 05aebc420f8c687b7e7bec0ab5c95b60eba31d64..a3854f7d654a496bf22c476800276dd4b53331ec 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_text.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_text.yml
@@ -1,23 +1,22 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_text
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
     - text
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Text (formatted) field.'
-id: node.test_label_help_core_fields.field_lh_text
+id: node.test_lh_core_fields.field_lh_text
 field_name: field_lh_text
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'Text (formatted)'
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_text_long.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_text_long.yml
similarity index 75%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_text_long.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_text_long.yml
index 288510d58a2fd2f3a567cf89b33935a8ddcd9a07..70bc760836dbf2c82f91b6be9afe350e2942aa12 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_text_long.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_text_long.yml
@@ -1,23 +1,22 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_text_long
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
     - text
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Text (formatted, long) field.'
-id: node.test_label_help_core_fields.field_lh_text_long
+id: node.test_lh_core_fields.field_lh_text_long
 field_name: field_lh_text_long
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'Text (formatted, long)'
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_text_with_summary.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_text_with_summary.yml
similarity index 78%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_text_with_summary.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_text_with_summary.yml
index d451fbccd5258ba9318ff4a1f6a29a758c644df1..c5e4508ab2e9fbe0fd9a838fbe44d49fdd3f87b5 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_text_with_summary.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_text_with_summary.yml
@@ -1,23 +1,22 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_text_with_summary
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
     - text
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Text (formatted, long, with summary) field.'
-id: node.test_label_help_core_fields.field_lh_text_with_summary
+id: node.test_lh_core_fields.field_lh_text_with_summary
 field_name: field_lh_text_with_summary
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'Text (formatted, long, with summary)'
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_timestamp.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_timestamp.yml
similarity index 72%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_timestamp.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_timestamp.yml
index 236572f508572e684f938811e0162c86dc1e5c02..e0dd2e2b946e35e8714e4bdff4fea7ea56c43b49 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_timestamp.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_timestamp.yml
@@ -1,22 +1,21 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_timestamp
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for Timestamp field.'
-id: node.test_label_help_core_fields.field_lh_timestamp
+id: node.test_lh_core_fields.field_lh_timestamp
 field_name: field_lh_timestamp
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: Timestamp
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_user_ref.yml b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_user_ref.yml
similarity index 80%
rename from modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_user_ref.yml
rename to modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_user_ref.yml
index c7c244235f5bd84ef015e2b6470b2510ab36095c..e1ace9499157cc7468b4e5774aaee112b5cbc0e7 100644
--- a/modules/label_help_test/config/install/field.field.node.test_label_help_core_fields.field_lh_user_ref.yml
+++ b/modules/label_help_test/config/install/field.field.node.test_lh_core_fields.field_lh_user_ref.yml
@@ -1,22 +1,21 @@
-
 langcode: en
 status: true
 dependencies:
   config:
     - field.storage.node.field_lh_user_ref
-    - node.type.test_label_help_core_fields
+    - node.type.test_lh_core_fields
   module:
     - label_help
 third_party_settings:
   label_help:
     label_help_description: 'Label Help message for User Reference field.'
-id: node.test_label_help_core_fields.field_lh_user_ref
+id: node.test_lh_core_fields.field_lh_user_ref
 field_name: field_lh_user_ref
 entity_type: node
-bundle: test_label_help_core_fields
+bundle: test_lh_core_fields
 label: 'User Reference'
 description: ''
-required: false
+required: true
 translatable: false
 default_value: {  }
 default_value_callback: ''
diff --git a/modules/label_help_test/config/install/field.storage.node.field_lh_boolean_multi.yml b/modules/label_help_test/config/install/field.storage.node.field_lh_boolean_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c76a4ce629e033c0ed88745fb8cf98d6773da27f
--- /dev/null
+++ b/modules/label_help_test/config/install/field.storage.node.field_lh_boolean_multi.yml
@@ -0,0 +1,17 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - node
+id: node.field_lh_boolean_multi
+field_name: field_lh_boolean_multi
+entity_type: node
+type: boolean
+settings: {  }
+module: core
+locked: false
+cardinality: 2
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/label_help_test/config/install/field.storage.node.field_lh_date_multi.yml b/modules/label_help_test/config/install/field.storage.node.field_lh_date_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c1bbe2b34f78fd3346fab6a4549b2b5d996aabe1
--- /dev/null
+++ b/modules/label_help_test/config/install/field.storage.node.field_lh_date_multi.yml
@@ -0,0 +1,19 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - datetime
+    - node
+id: node.field_lh_date_multi
+field_name: field_lh_date_multi
+entity_type: node
+type: datetime
+settings:
+  datetime_type: datetime
+module: datetime
+locked: false
+cardinality: -1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/label_help_test/config/install/field.storage.node.field_lh_datetime_multi.yml b/modules/label_help_test/config/install/field.storage.node.field_lh_datetime_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..4e4a962a8823ec81e04372342e50038f96e68c8a
--- /dev/null
+++ b/modules/label_help_test/config/install/field.storage.node.field_lh_datetime_multi.yml
@@ -0,0 +1,19 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - datetime
+    - node
+id: node.field_lh_datetime_multi
+field_name: field_lh_datetime_multi
+entity_type: node
+type: datetime
+settings:
+  datetime_type: datetime
+module: datetime
+locked: false
+cardinality: -1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/label_help_test/config/install/field.storage.node.field_lh_email_multi.yml b/modules/label_help_test/config/install/field.storage.node.field_lh_email_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..342f8c2132fe99b520a33834e017acb908e94eb5
--- /dev/null
+++ b/modules/label_help_test/config/install/field.storage.node.field_lh_email_multi.yml
@@ -0,0 +1,17 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - node
+id: node.field_lh_email_multi
+field_name: field_lh_email_multi
+entity_type: node
+type: email
+settings: {  }
+module: core
+locked: false
+cardinality: -1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/label_help_test/config/install/field.storage.node.field_lh_file_multi.yml b/modules/label_help_test/config/install/field.storage.node.field_lh_file_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..382dba65e5aeae9d36a8b5222b58ae016472a376
--- /dev/null
+++ b/modules/label_help_test/config/install/field.storage.node.field_lh_file_multi.yml
@@ -0,0 +1,22 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - file
+    - node
+id: node.field_lh_file_multi
+field_name: field_lh_file_multi
+entity_type: node
+type: file
+settings:
+  target_type: file
+  display_field: false
+  display_default: false
+  uri_scheme: public
+module: file
+locked: false
+cardinality: -1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/label_help_test/config/install/field.storage.node.field_lh_image_multi.yml b/modules/label_help_test/config/install/field.storage.node.field_lh_image_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..08cca03421024d21babce26908c1fd0051b7bc7a
--- /dev/null
+++ b/modules/label_help_test/config/install/field.storage.node.field_lh_image_multi.yml
@@ -0,0 +1,29 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - file
+    - image
+    - node
+id: node.field_lh_image_multi
+field_name: field_lh_image_multi
+entity_type: node
+type: image
+settings:
+  target_type: file
+  display_field: false
+  display_default: false
+  uri_scheme: public
+  default_image:
+    uuid: ''
+    alt: ''
+    title: ''
+    width: null
+    height: null
+module: image
+locked: false
+cardinality: -1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/label_help_test/config/install/field.storage.node.field_lh_link_with_title_multi.yml b/modules/label_help_test/config/install/field.storage.node.field_lh_link_with_title_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..57f2f459810b5b128f5902356180ed42a89f1856
--- /dev/null
+++ b/modules/label_help_test/config/install/field.storage.node.field_lh_link_with_title_multi.yml
@@ -0,0 +1,18 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - link
+    - node
+id: node.field_lh_link_with_title_multi
+field_name: field_lh_link_with_title_multi
+entity_type: node
+type: link
+settings: {  }
+module: link
+locked: false
+cardinality: -1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/label_help_test/config/install/field.storage.node.field_lh_media.yml b/modules/label_help_test/config/install/field.storage.node.field_lh_media.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a1de5dfb89e9c269b1f067a3f71ef984190666f3
--- /dev/null
+++ b/modules/label_help_test/config/install/field.storage.node.field_lh_media.yml
@@ -0,0 +1,19 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - media
+    - node
+id: node.field_lh_media
+field_name: field_lh_media
+entity_type: node
+type: entity_reference
+settings:
+  target_type: media
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/label_help_test/config/install/field.storage.node.field_lh_media_multi.yml b/modules/label_help_test/config/install/field.storage.node.field_lh_media_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..1dbc835eb7f0af8bf44829e532f45615b5ce87b1
--- /dev/null
+++ b/modules/label_help_test/config/install/field.storage.node.field_lh_media_multi.yml
@@ -0,0 +1,19 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - media
+    - node
+id: node.field_lh_media_multi
+field_name: field_lh_media_multi
+entity_type: node
+type: entity_reference
+settings:
+  target_type: media
+module: core
+locked: false
+cardinality: -1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/label_help_test/config/install/field.storage.node.field_lh_string_multi.yml b/modules/label_help_test/config/install/field.storage.node.field_lh_string_multi.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ef22dd02b6ca8abd2f2f9864f3debdc5290f2b87
--- /dev/null
+++ b/modules/label_help_test/config/install/field.storage.node.field_lh_string_multi.yml
@@ -0,0 +1,20 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - node
+id: node.field_lh_string_multi
+field_name: field_lh_string_multi
+entity_type: node
+type: string
+settings:
+  max_length: 255
+  case_sensitive: false
+  is_ascii: false
+module: core
+locked: false
+cardinality: -1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/label_help_test/config/install/field.storage.node.field_lh_telephone.yml b/modules/label_help_test/config/install/field.storage.node.field_lh_telephone.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3b329ca5f8c1f4eaf78a1cc24fa32e4bdb3d54fe
--- /dev/null
+++ b/modules/label_help_test/config/install/field.storage.node.field_lh_telephone.yml
@@ -0,0 +1,18 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - node
+    - telephone
+id: node.field_lh_telephone
+field_name: field_lh_telephone
+entity_type: node
+type: telephone
+settings: {  }
+module: telephone
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/label_help_test/config/install/node.type.test_label_help_core_fields.yml b/modules/label_help_test/config/install/node.type.test_label_help_core_fields.yml
deleted file mode 100644
index 4956d248925f8c9ddfd0a46154c5ba8bf78aaaa0..0000000000000000000000000000000000000000
--- a/modules/label_help_test/config/install/node.type.test_label_help_core_fields.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-langcode: en
-status: true
-dependencies:
-  module:
-    - menu_ui
-third_party_settings:
-  menu_ui:
-    available_menus: {  }
-    parent: ''
-name: 'TEST Label Help Core Fields'
-type: test_label_help_core_fields
-description: 'A custom content type used to test the "Label Help" module integration with all field types provided by Drupal core.'
-help: null
-new_revision: true
-preview_mode: 1
-display_submitted: false
diff --git a/modules/label_help_test/config/install/node.type.test_lh_cardinality.yml b/modules/label_help_test/config/install/node.type.test_lh_cardinality.yml
new file mode 100644
index 0000000000000000000000000000000000000000..51b6af34f80248bb4f94f2b826dcd44d0a5d7227
--- /dev/null
+++ b/modules/label_help_test/config/install/node.type.test_lh_cardinality.yml
@@ -0,0 +1,17 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - menu_ui
+third_party_settings:
+  menu_ui:
+    available_menus:
+      - main
+    parent: 'main:'
+name: 'TEST Label Help Core Fields (multi-value)'
+type: test_lh_cardinality
+description: 'Use to test Label Help module integration with <em>multi-value fields</em> from Drupal core.'
+help: null
+new_revision: true
+preview_mode: 1
+display_submitted: true
diff --git a/modules/label_help_test/config/install/node.type.test_lh_core_fields.yml b/modules/label_help_test/config/install/node.type.test_lh_core_fields.yml
new file mode 100644
index 0000000000000000000000000000000000000000..cfb9b19b2910189147ebcf9a932f4f2ae776ec99
--- /dev/null
+++ b/modules/label_help_test/config/install/node.type.test_lh_core_fields.yml
@@ -0,0 +1,17 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - menu_ui
+third_party_settings:
+  menu_ui:
+    available_menus:
+      - main
+    parent: 'main:'
+name: 'TEST Label Help Core Fields'
+type: test_lh_core_fields
+description: 'Use to test Label Help module integration with <em>single-value fields</em> from Drupal core.'
+help: null
+new_revision: true
+preview_mode: 1
+display_submitted: false
diff --git a/modules/label_help_test/config/install/node.type.test_lh_custom_fields.yml b/modules/label_help_test/config/install/node.type.test_lh_custom_fields.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7360a2b84146337d47938dbced430ae5314a6e91
--- /dev/null
+++ b/modules/label_help_test/config/install/node.type.test_lh_custom_fields.yml
@@ -0,0 +1,17 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - menu_ui
+third_party_settings:
+  menu_ui:
+    available_menus:
+      - main
+    parent: 'main:'
+name: 'TEST Label Help Form API'
+type: test_lh_custom_fields
+description: 'Use to test Label Help module integration with <em>Form API field types</em> in Drupal core.'
+help: null
+new_revision: true
+preview_mode: 1
+display_submitted: true
diff --git a/modules/label_help_test/label_help_test.info.yml b/modules/label_help_test/label_help_test.info.yml
index 751b467fde3e5b605ac55839e9efe76e76dbcc2f..31310a34a098ef846797d153a6ef2af4ed90bf65 100644
--- a/modules/label_help_test/label_help_test.info.yml
+++ b/modules/label_help_test/label_help_test.info.yml
@@ -5,3 +5,4 @@ package: Testing
 core_version_requirement: ^10 || ^11
 dependencies:
   - label_help:label_help
+  - drupal:media_library
diff --git a/modules/label_help_test/label_help_test.install b/modules/label_help_test/label_help_test.install
index eb3bf427a86d22e0da78f95a2495a935df1e5026..a78ba4ce319a4b3a525657029373957a523095cc 100644
--- a/modules/label_help_test/label_help_test.install
+++ b/modules/label_help_test/label_help_test.install
@@ -2,7 +2,7 @@
 
 /**
  * @file
- * Install, update and uninstall functions for the Label Help Test module.
+ * Install hooks for the Label Help Test module.
  */
 
 /**
@@ -10,7 +10,15 @@
  */
 function label_help_test_uninstall() {
   // Delete the test content type.
-  if ($content_type = \Drupal::entityTypeManager()->getStorage('node_type')->load('test_label_help_core_fields')) {
+  if ($content_type = \Drupal::entityTypeManager()->getStorage('node_type')->load('test_lh_core_fields')) {
+    $content_type->delete();
+  }
+
+  if ($content_type = \Drupal::entityTypeManager()->getStorage('node_type')->load('test_lh_cardinality')) {
+    $content_type->delete();
+  }
+
+  if ($content_type = \Drupal::entityTypeManager()->getStorage('node_type')->load('test_lh_custom_fields')) {
     $content_type->delete();
   }
 }
diff --git a/modules/label_help_test/label_help_test.module b/modules/label_help_test/label_help_test.module
index 046d0ea5740f03fbe8851e503f07afd45a16f3fb..cf71dc3113d3ee18c294defa1cffd73990d9868d 100644
--- a/modules/label_help_test/label_help_test.module
+++ b/modules/label_help_test/label_help_test.module
@@ -19,15 +19,15 @@ function label_help_test_form_node_article_form_alter(&$form, &$form_state, $for
  *
  * Adds label help text to fields in our Test content type form.
  *
- * This hook implementation targets the test_label_help_core_fields content type
+ * This hook implementation targets the test_lh_core_fields content type
  * forms and adds label help text to the core title field and custom fields
  * (textfield and checkbox).
  */
 function label_help_test_form_alter(&$form, &$form_state, $form_id) {
   // Only affect the specified content type's add/edit forms.
   if (!in_array($form_id, [
-    'node_test_label_help_core_fields_form',
-    'node_test_label_help_core_fields_edit_form',
+    'node_test_lh_custom_fields_form',
+    'node_test_lh_custom_fields_edit_form',
   ])) {
     return;
   }
@@ -37,6 +37,21 @@ function label_help_test_form_alter(&$form, &$form_state, $form_id) {
     $form['title']['#label_help'] = t('Label help message for the Title field.');
   }
 
+  // Create a custom textarea field with Label Help text.
+  $form['field_lh_textarea'] = [
+    '#type' => 'textarea',
+    '#title' => t('Custom textarea field'),
+    '#label_help' => t('Label help message for the Custom textarea field.'),
+  ];
+
+  // Create a custom entity_autocomplete field with Label Help text.
+  $form['field_lh_entity_autocomplete'] = [
+    '#type' => 'entity_autocomplete',
+    '#target_type' => 'node',
+    '#title' => t('Custom entity autocomplete field'),
+    '#label_help' => t('Label help message for the Custom entity autocomplete field.'),
+  ];
+
   // Create a custom text field with Label Help text.
   $form['field_lh_textfield'] = [
     '#type' => 'textfield',
@@ -44,10 +59,153 @@ function label_help_test_form_alter(&$form, &$form_state, $form_id) {
     '#label_help' => t('Label help message for the Custom text field.'),
   ];
 
+  // Create a custom email field with Label Help text.
+  $form['field_lh_email'] = [
+    '#type' => 'email',
+    '#title' => t('Custom email field'),
+    '#label_help' => t('Label help message for the Custom email field.'),
+  ];
+
+  // Create a custom url field with Label Help text.
+  $form['field_lh_url'] = [
+    '#type' => 'url',
+    '#title' => t('Custom url field'),
+    '#label_help' => t('Label help message for the Custom url field.'),
+  ];
+
+  // Create a custom search field with Label Help text.
+  $form['field_lh_search'] = [
+    '#type' => 'search',
+    '#title' => t('Custom search field'),
+    '#label_help' => t('Label help message for the Custom search field.'),
+  ];
+
+  // Create a custom machine_name field with Label Help text.
+  $form['field_lh_machine_name'] = [
+    '#type' => 'machine_name',
+    '#title' => t('Custom machine name field'),
+    '#label_help' => t('Label help message for the Custom machine name field.'),
+  ];
+
+  // Create a custom password field with Label Help text.
+  $form['field_lh_password'] = [
+    '#type' => 'password',
+    '#title' => t('Custom password field'),
+    '#label_help' => t('Label help message for the Custom password field.'),
+  ];
+
+  // Create a custom password_confirm field with Label Help text.
+  $form['field_lh_password_confirm'] = [
+    '#type' => 'password_confirm',
+    '#title' => t('Custom password confirm field'),
+    '#label_help' => t('Label help message for the Custom password confirm field.'),
+  ];
+
+  // Create a custom tel field with Label Help text.
+  $form['field_lh_tel'] = [
+    '#type' => 'tel',
+    '#title' => t('Custom telephone field'),
+    '#label_help' => t('Label help message for the Custom telephone field.'),
+  ];
+
+  // Create a custom number field with Label Help text.
+  $form['field_lh_number'] = [
+    '#type' => 'number',
+    '#title' => t('Custom number field'),
+    '#label_help' => t('Label help message for the Custom number field.'),
+  ];
+
+  // Create a custom select field with Label Help text.
+  $form['field_lh_select'] = [
+    '#type' => 'select',
+    '#title' => t('Custom select field'),
+    '#options' => [
+      'option1' => t('Option 1'),
+      'option2' => t('Option 2'),
+      'option3' => t('Option 3'),
+    ],
+    '#label_help' => t('Label help message for the Custom select field.'),
+  ];
+
+  // Create a custom date field with Label Help text.
+  $form['field_lh_date'] = [
+    '#type' => 'date',
+    '#title' => t('Custom date field'),
+    '#label_help' => t('Label help message for the Custom date field.'),
+  ];
+
+  // Create a custom datetime field with Label Help text.
+  $form['field_lh_datetime'] = [
+    '#type' => 'datetime',
+    '#title' => t('Custom datetime field'),
+    '#label_help' => t('Label help message for the Custom datetime field.'),
+  ];
+
+  // Create a custom file field with Label Help text.
+  $form['field_lh_file'] = [
+    '#type' => 'file',
+    '#title' => t('Custom file field'),
+    '#label_help' => t('Label help message for the Custom file field.'),
+  ];
+
   // Create a custom checkbox field with Label Help text.
   $form['field_lh_checkbox'] = [
     '#type' => 'checkbox',
     '#title' => t('Custom checkbox field'),
     '#label_help' => t('Label help message for the Custom checkbox field.'),
   ];
+
+  // Create a custom radios field with Label Help text.
+  $form['field_lh_radios'] = [
+    '#type' => 'radios',
+    '#title' => t('Custom radios field'),
+    '#options' => [
+      'option1' => t('Option 1'),
+      'option2' => t('Option 2'),
+      'option3' => t('Option 3'),
+    ],
+    '#label_help' => t('Label help message for the Custom radios field.'),
+  ];
+
+  // Create a custom radio field with Label Help text.
+  $form['field_lh_radio'] = [
+    '#type' => 'radio',
+    '#title' => t('Custom radio field'),
+    '#options' => [
+      'option1' => t('Option 1'),
+      'option2' => t('Option 2'),
+      'option3' => t('Option 3'),
+    ],
+    '#label_help' => t('Label help message for the Custom radio field.'),
+  ];
+
+  // Create a custom color field with Label Help text.
+  $form['field_lh_color'] = [
+    '#type' => 'color',
+    '#title' => t('Custom color field'),
+    '#label_help' => t('Label help message for the Custom color field.'),
+  ];
+
+  // Create a custom range field with Label Help text.
+  $form['field_lh_range'] = [
+    '#type' => 'range',
+    '#title' => t('Custom range field'),
+    '#label_help' => t('Label help message for the Custom range field.'),
+  ];
+
+  // Create a custom fieldset field with Label Help text.
+  $form['field_lh_fieldset'] = [
+    '#type' => 'fieldset',
+    '#title' => t('Custom fieldset field'),
+    '#label_help' => t('Label help message for the Custom fieldset field.'),
+    '#description' => t('Description for the Custom fieldset field.'),
+  ];
+
+  // Create a custom details field with Label Help text.
+  $form['field_lh_details'] = [
+    '#type' => 'details',
+    '#title' => t('Custom details field'),
+    '#label_help' => t('Label help message for the Custom details field.'),
+    '#description' => t('Description for the Custom details field.'),
+  ];
 }
diff --git a/modules/test_lh_address/config/install/core.entity_form_display.node.test_lh_address.default.yml b/modules/test_lh_address/config/install/core.entity_form_display.node.test_lh_address.default.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5f97f612999efd9a57c0728fdea8c010b7f0a626
--- /dev/null
+++ b/modules/test_lh_address/config/install/core.entity_form_display.node.test_lh_address.default.yml
@@ -0,0 +1,88 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.node.test_lh_address.field_lh_address
+    - field.field.node.test_lh_address.field_lh_address_country
+    - field.field.node.test_lh_address.field_lh_address_zone
+    - node.type.test_lh_address
+  module:
+    - address
+    - path
+id: node.test_lh_address.default
+targetEntityType: node
+bundle: test_lh_address
+mode: default
+content:
+  created:
+    type: datetime_timestamp
+    weight: 2
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  field_lh_address:
+    type: address_default
+    weight: 7
+    region: content
+    settings:
+      wrapper_type: fieldset
+    third_party_settings: {  }
+  field_lh_address_country:
+    type: address_country_default
+    weight: 8
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  field_lh_address_zone:
+    type: address_zone_default
+    weight: 9
+    region: content
+    settings:
+      show_label_field: false
+    third_party_settings: {  }
+  path:
+    type: path
+    weight: 5
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  promote:
+    type: boolean_checkbox
+    weight: 3
+    region: content
+    settings:
+      display_label: true
+    third_party_settings: {  }
+  status:
+    type: boolean_checkbox
+    weight: 6
+    region: content
+    settings:
+      display_label: true
+    third_party_settings: {  }
+  sticky:
+    type: boolean_checkbox
+    weight: 4
+    region: content
+    settings:
+      display_label: true
+    third_party_settings: {  }
+  title:
+    type: string_textfield
+    weight: 0
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  uid:
+    type: entity_reference_autocomplete
+    weight: 1
+    region: content
+    settings:
+      match_operator: CONTAINS
+      match_limit: 10
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+hidden: {  }
diff --git a/modules/test_lh_address/config/install/core.entity_view_display.node.test_lh_address.default.yml b/modules/test_lh_address/config/install/core.entity_view_display.node.test_lh_address.default.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b66d446ea9927a3bce8ec39e8997329632a64323
--- /dev/null
+++ b/modules/test_lh_address/config/install/core.entity_view_display.node.test_lh_address.default.yml
@@ -0,0 +1,43 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.node.test_lh_address.field_lh_address
+    - field.field.node.test_lh_address.field_lh_address_country
+    - field.field.node.test_lh_address.field_lh_address_zone
+    - node.type.test_lh_address
+  module:
+    - address
+    - user
+id: node.test_lh_address.default
+targetEntityType: node
+bundle: test_lh_address
+mode: default
+content:
+  field_lh_address:
+    type: address_default
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    weight: 1
+    region: content
+  field_lh_address_country:
+    type: address_country_default
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    weight: 2
+    region: content
+  field_lh_address_zone:
+    type: address_zone_default
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    weight: 3
+    region: content
+  links:
+    settings: {  }
+    third_party_settings: {  }
+    weight: 0
+    region: content
+hidden: {  }
diff --git a/modules/test_lh_address/config/install/field.field.node.test_lh_address.field_lh_address.yml b/modules/test_lh_address/config/install/field.field.node.test_lh_address.field_lh_address.yml
new file mode 100644
index 0000000000000000000000000000000000000000..409d2069ab21b0511cab82d4e5c0d67470d1e29f
--- /dev/null
+++ b/modules/test_lh_address/config/install/field.field.node.test_lh_address.field_lh_address.yml
@@ -0,0 +1,28 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lh_address
+    - node.type.test_lh_address
+  module:
+    - address
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Address field.'
+id: node.test_lh_address.field_lh_address
+field_name: field_lh_address
+entity_type: node
+bundle: test_lh_address
+label: Address
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  available_countries: {  }
+  langcode_override: ''
+  field_overrides: {  }
+  fields: {  }
+field_type: address
diff --git a/modules/test_lh_address/config/install/field.field.node.test_lh_address.field_lh_address_country.yml b/modules/test_lh_address/config/install/field.field.node.test_lh_address.field_lh_address_country.yml
new file mode 100644
index 0000000000000000000000000000000000000000..98883ae845ee8c747b0fd78bc72336f8ec9f3852
--- /dev/null
+++ b/modules/test_lh_address/config/install/field.field.node.test_lh_address.field_lh_address_country.yml
@@ -0,0 +1,25 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lh_address_country
+    - node.type.test_lh_address
+  module:
+    - address
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Country field.'
+id: node.test_lh_address.field_lh_address_country
+field_name: field_lh_address_country
+entity_type: node
+bundle: test_lh_address
+label: Country
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  available_countries: {  }
+field_type: address_country
diff --git a/modules/test_lh_address/config/install/field.field.node.test_lh_address.field_lh_address_zone.yml b/modules/test_lh_address/config/install/field.field.node.test_lh_address.field_lh_address_zone.yml
new file mode 100644
index 0000000000000000000000000000000000000000..86f2dcbaa4f94499ca14978dadc071ddb8a1cc4f
--- /dev/null
+++ b/modules/test_lh_address/config/install/field.field.node.test_lh_address.field_lh_address_zone.yml
@@ -0,0 +1,25 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lh_address_zone
+    - node.type.test_lh_address
+  module:
+    - address
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Zone field.'
+id: node.test_lh_address.field_lh_address_zone
+field_name: field_lh_address_zone
+entity_type: node
+bundle: test_lh_address
+label: Zone
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  available_countries: {  }
+field_type: address_zone
diff --git a/modules/test_lh_address/config/install/field.storage.node.field_lh_address.yml b/modules/test_lh_address/config/install/field.storage.node.field_lh_address.yml
new file mode 100644
index 0000000000000000000000000000000000000000..6432f73d32c8d81bbded636cbb488218ce6f0919
--- /dev/null
+++ b/modules/test_lh_address/config/install/field.storage.node.field_lh_address.yml
@@ -0,0 +1,18 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - address
+    - node
+id: node.field_lh_address
+field_name: field_lh_address
+entity_type: node
+type: address
+settings: {  }
+module: address
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_address/config/install/field.storage.node.field_lh_address_country.yml b/modules/test_lh_address/config/install/field.storage.node.field_lh_address_country.yml
new file mode 100644
index 0000000000000000000000000000000000000000..bcaa8e06118291d930e50b48ba696fee618dfc74
--- /dev/null
+++ b/modules/test_lh_address/config/install/field.storage.node.field_lh_address_country.yml
@@ -0,0 +1,18 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - address
+    - node
+id: node.field_lh_address_country
+field_name: field_lh_address_country
+entity_type: node
+type: address_country
+settings: {  }
+module: address
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_address/config/install/field.storage.node.field_lh_address_zone.yml b/modules/test_lh_address/config/install/field.storage.node.field_lh_address_zone.yml
new file mode 100644
index 0000000000000000000000000000000000000000..9d49ef63b80e89a3615157559853fb0bc41c44ab
--- /dev/null
+++ b/modules/test_lh_address/config/install/field.storage.node.field_lh_address_zone.yml
@@ -0,0 +1,18 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - address
+    - node
+id: node.field_lh_address_zone
+field_name: field_lh_address_zone
+entity_type: node
+type: address_zone
+settings: {  }
+module: address
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_address/config/install/node.type.test_lh_address.yml b/modules/test_lh_address/config/install/node.type.test_lh_address.yml
new file mode 100644
index 0000000000000000000000000000000000000000..138e170edd5efbc2b51f4af7474f799b22634ddf
--- /dev/null
+++ b/modules/test_lh_address/config/install/node.type.test_lh_address.yml
@@ -0,0 +1,17 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - menu_ui
+third_party_settings:
+  menu_ui:
+    available_menus:
+      - main
+    parent: 'main:'
+name: 'TEST Label Help Address'
+type: test_lh_address
+description: 'Use to test Label Help module integration with <em>Address</em> module.'
+help: null
+new_revision: true
+preview_mode: 1
+display_submitted: true
diff --git a/modules/test_lh_address/lh_address_test.install b/modules/test_lh_address/lh_address_test.install
new file mode 100644
index 0000000000000000000000000000000000000000..dbf2e72338b11eaeba3274e4b0d961cef37b5cea
--- /dev/null
+++ b/modules/test_lh_address/lh_address_test.install
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * @file
+ * Install hooks for the Label Help Address Test module.
+ */
+
+/**
+ * Implements hook_uninstall().
+ */
+function test_lh_address_uninstall() {
+  // Delete the test content type.
+  if ($content_type = \Drupal::entityTypeManager()->getStorage('node_type')->load('test_lh_address')) {
+    $content_type->delete();
+  }
+}
diff --git a/modules/test_lh_address/test_lh_address.info.yml b/modules/test_lh_address/test_lh_address.info.yml
new file mode 100644
index 0000000000000000000000000000000000000000..dbb13586c13b9f050a9d340db0142f983b7c9d0d
--- /dev/null
+++ b/modules/test_lh_address/test_lh_address.info.yml
@@ -0,0 +1,8 @@
+name: 'Label Help Address Test'
+type: module
+description: 'Provides test content type, fields and formatters for Label Help <> Address integration.'
+package: Testing
+core_version_requirement: ^10 || ^11
+dependencies:
+  - label_help:label_help
+  - address:address
diff --git a/modules/test_lh_address/test_lh_address.install b/modules/test_lh_address/test_lh_address.install
new file mode 100644
index 0000000000000000000000000000000000000000..dbf2e72338b11eaeba3274e4b0d961cef37b5cea
--- /dev/null
+++ b/modules/test_lh_address/test_lh_address.install
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * @file
+ * Install hooks for the Label Help Address Test module.
+ */
+
+/**
+ * Implements hook_uninstall().
+ */
+function test_lh_address_uninstall() {
+  // Delete the test content type.
+  if ($content_type = \Drupal::entityTypeManager()->getStorage('node_type')->load('test_lh_address')) {
+    $content_type->delete();
+  }
+}
diff --git a/modules/test_lh_paragraphs/config/install/core.entity_form_display.node.test_lh_paragraphs.default.yml b/modules/test_lh_paragraphs/config/install/core.entity_form_display.node.test_lh_paragraphs.default.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3f77549132e045edc9facdcb8173e285ab2e66dd
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/core.entity_form_display.node.test_lh_paragraphs.default.yml
@@ -0,0 +1,88 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.node.test_lh_paragraphs.field_lh_paragraphs_ref
+    - node.type.test_lh_paragraphs
+  module:
+    - paragraphs
+    - path
+_core:
+  default_config_hash: Rbvx6oLy4XJhrXgUFhxs5PjFfMqr_HO1THyb5KBOEyI
+id: node.test_lh_paragraphs.default
+targetEntityType: node
+bundle: test_lh_paragraphs
+mode: default
+content:
+  created:
+    type: datetime_timestamp
+    weight: 10
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  field_lh_paragraphs_ref:
+    type: paragraphs
+    weight: 121
+    region: content
+    settings:
+      title: Paragraph
+      title_plural: Paragraphs
+      edit_mode: closed
+      closed_mode: summary
+      autocollapse: none
+      closed_mode_threshold: 0
+      add_mode: dropdown
+      form_display_mode: default
+      default_paragraph_type: lh_paragraph_test_type
+      features:
+        add_above: '0'
+        collapse_edit_all: collapse_edit_all
+        convert: '0'
+        duplicate: duplicate
+    third_party_settings: {  }
+  path:
+    type: path
+    weight: 30
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  promote:
+    type: boolean_checkbox
+    weight: 15
+    region: content
+    settings:
+      display_label: true
+    third_party_settings: {  }
+  status:
+    type: boolean_checkbox
+    weight: 120
+    region: content
+    settings:
+      display_label: true
+    third_party_settings: {  }
+  sticky:
+    type: boolean_checkbox
+    weight: 16
+    region: content
+    settings:
+      display_label: true
+    third_party_settings: {  }
+  title:
+    type: string_textfield
+    weight: -5
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  uid:
+    type: entity_reference_autocomplete
+    weight: 5
+    region: content
+    settings:
+      match_operator: CONTAINS
+      match_limit: 10
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+hidden: {  }
diff --git a/modules/test_lh_paragraphs/config/install/core.entity_form_display.paragraph.lh_paragraph_test_type.default.yml b/modules/test_lh_paragraphs/config/install/core.entity_form_display.paragraph.lh_paragraph_test_type.default.yml
new file mode 100644
index 0000000000000000000000000000000000000000..db8b7477831713a31ed17ee2cf690bb82597d97d
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/core.entity_form_display.paragraph.lh_paragraph_test_type.default.yml
@@ -0,0 +1,226 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_boolean
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_date
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_datetime
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_decimal
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_email
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_file
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_float
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_image
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_integer
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_link
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_link_with_title
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_list_float
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_list_integer
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_list_string
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_node_reference
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_other_ref
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_string
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_string_long
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_term_ref
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_text
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_text_long
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_text_with_summary
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_timestamp
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_user_ref
+    - image.style.thumbnail
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - datetime
+    - file
+    - image
+    - link
+    - text
+_core:
+  default_config_hash: RgqWJGnxSfpPhwPz2vpY_zVpYg_unUoW3Ng-xUc5nZg
+id: paragraph.lh_paragraph_test_type.default
+targetEntityType: paragraph
+bundle: lh_paragraph_test_type
+mode: default
+content:
+  field_lh_boolean:
+    type: boolean_checkbox
+    weight: 0
+    region: content
+    settings:
+      display_label: true
+    third_party_settings: {  }
+  field_lh_date:
+    type: datetime_datelist
+    weight: 0
+    region: content
+    settings:
+      increment: 15
+      date_order: YMD
+      time_type: '24'
+    third_party_settings: {  }
+  field_lh_datetime:
+    type: datetime_default
+    weight: 0
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  field_lh_decimal:
+    type: number
+    weight: 0
+    region: content
+    settings:
+      placeholder: ''
+    third_party_settings: {  }
+  field_lh_email:
+    type: email_default
+    weight: 0
+    region: content
+    settings:
+      placeholder: ''
+      size: 60
+    third_party_settings: {  }
+  field_lh_file:
+    type: file_generic
+    weight: 0
+    region: content
+    settings:
+      progress_indicator: throbber
+    third_party_settings: {  }
+  field_lh_float:
+    type: number
+    weight: 0
+    region: content
+    settings:
+      placeholder: ''
+    third_party_settings: {  }
+  field_lh_image:
+    type: image_image
+    weight: 0
+    region: content
+    settings:
+      progress_indicator: throbber
+      preview_image_style: thumbnail
+    third_party_settings: {  }
+  field_lh_integer:
+    type: number
+    weight: 0
+    region: content
+    settings:
+      placeholder: ''
+    third_party_settings: {  }
+  field_lh_link:
+    type: link_default
+    weight: 0
+    region: content
+    settings:
+      placeholder_url: ''
+      placeholder_title: ''
+    third_party_settings: {  }
+  field_lh_link_with_title:
+    type: link_default
+    weight: 0
+    region: content
+    settings:
+      placeholder_url: ''
+      placeholder_title: ''
+    third_party_settings: {  }
+  field_lh_list_float:
+    type: options_buttons
+    weight: 0
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  field_lh_list_integer:
+    type: options_buttons
+    weight: 0
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  field_lh_list_string:
+    type: options_select
+    weight: 0
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  field_lh_node_reference:
+    type: entity_reference_autocomplete
+    weight: 0
+    region: content
+    settings:
+      match_operator: CONTAINS
+      match_limit: 10
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  field_lh_other_ref:
+    type: options_select
+    weight: 0
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  field_lh_string:
+    type: string_textfield
+    weight: 0
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  field_lh_string_long:
+    type: string_textarea
+    weight: 0
+    region: content
+    settings:
+      rows: 5
+      placeholder: ''
+    third_party_settings: {  }
+  field_lh_term_ref:
+    type: entity_reference_autocomplete_tags
+    weight: 0
+    region: content
+    settings:
+      match_operator: CONTAINS
+      match_limit: 10
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  field_lh_text:
+    type: text_textfield
+    weight: 0
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  field_lh_text_long:
+    type: text_textarea
+    weight: 0
+    region: content
+    settings:
+      rows: 5
+      placeholder: ''
+    third_party_settings: {  }
+  field_lh_text_with_summary:
+    type: text_textarea_with_summary
+    weight: 0
+    region: content
+    settings:
+      rows: 9
+      summary_rows: 3
+      placeholder: ''
+      show_summary: false
+    third_party_settings: {  }
+  field_lh_timestamp:
+    type: datetime_timestamp
+    weight: 0
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  field_lh_user_ref:
+    type: options_buttons
+    weight: 0
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+hidden:
+  created: true
+  status: true
diff --git a/modules/test_lh_paragraphs/config/install/core.entity_view_display.node.test_lh_paragraphs.default.yml b/modules/test_lh_paragraphs/config/install/core.entity_view_display.node.test_lh_paragraphs.default.yml
new file mode 100644
index 0000000000000000000000000000000000000000..8b96cb55aff9f0e4b48ffd09d6f1cd4c45b0ed44
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/core.entity_view_display.node.test_lh_paragraphs.default.yml
@@ -0,0 +1,31 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.node.test_lh_paragraphs.field_lh_paragraphs_ref
+    - node.type.test_lh_paragraphs
+  module:
+    - entity_reference_revisions
+    - user
+_core:
+  default_config_hash: _X0TOYvBM6MJQKAsiUCI685P5nc3thOfhN0mMm-hgvY
+id: node.test_lh_paragraphs.default
+targetEntityType: node
+bundle: test_lh_paragraphs
+mode: default
+content:
+  field_lh_paragraphs_ref:
+    type: entity_reference_revisions_entity_view
+    label: above
+    settings:
+      view_mode: default
+      link: ''
+    third_party_settings: {  }
+    weight: 101
+    region: content
+  links:
+    settings: {  }
+    third_party_settings: {  }
+    weight: 100
+    region: content
+hidden: {  }
diff --git a/modules/label_help_test/config/install/core.entity_view_display.node.test_label_help_core_fields.default.yml b/modules/test_lh_paragraphs/config/install/core.entity_view_display.paragraph.lh_paragraph_test_type.default.yml
similarity index 67%
rename from modules/label_help_test/config/install/core.entity_view_display.node.test_label_help_core_fields.default.yml
rename to modules/test_lh_paragraphs/config/install/core.entity_view_display.paragraph.lh_paragraph_test_type.default.yml
index 3b34f2535e568f25d18bdd2c4badb2016e6c3ba3..ecba167458f690570d3265eb22ad2a2786133c09 100644
--- a/modules/label_help_test/config/install/core.entity_view_display.node.test_label_help_core_fields.default.yml
+++ b/modules/test_lh_paragraphs/config/install/core.entity_view_display.paragraph.lh_paragraph_test_type.default.yml
@@ -1,33 +1,32 @@
-
 langcode: en
 status: true
 dependencies:
   config:
-    - field.field.node.test_label_help_core_fields.field_lh_boolean
-    - field.field.node.test_label_help_core_fields.field_lh_date
-    - field.field.node.test_label_help_core_fields.field_lh_datetime
-    - field.field.node.test_label_help_core_fields.field_lh_decimal
-    - field.field.node.test_label_help_core_fields.field_lh_email
-    - field.field.node.test_label_help_core_fields.field_lh_file
-    - field.field.node.test_label_help_core_fields.field_lh_float
-    - field.field.node.test_label_help_core_fields.field_lh_image
-    - field.field.node.test_label_help_core_fields.field_lh_integer
-    - field.field.node.test_label_help_core_fields.field_lh_link
-    - field.field.node.test_label_help_core_fields.field_lh_link_with_title
-    - field.field.node.test_label_help_core_fields.field_lh_list_float
-    - field.field.node.test_label_help_core_fields.field_lh_list_integer
-    - field.field.node.test_label_help_core_fields.field_lh_list_string
-    - field.field.node.test_label_help_core_fields.field_lh_node_reference
-    - field.field.node.test_label_help_core_fields.field_lh_other_ref
-    - field.field.node.test_label_help_core_fields.field_lh_string
-    - field.field.node.test_label_help_core_fields.field_lh_string_long
-    - field.field.node.test_label_help_core_fields.field_lh_term_ref
-    - field.field.node.test_label_help_core_fields.field_lh_text
-    - field.field.node.test_label_help_core_fields.field_lh_text_long
-    - field.field.node.test_label_help_core_fields.field_lh_text_with_summary
-    - field.field.node.test_label_help_core_fields.field_lh_timestamp
-    - field.field.node.test_label_help_core_fields.field_lh_user_ref
-    - node.type.test_label_help_core_fields
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_boolean
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_date
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_datetime
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_decimal
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_email
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_file
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_float
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_image
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_integer
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_link
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_link_with_title
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_list_float
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_list_integer
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_list_string
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_node_reference
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_other_ref
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_string
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_string_long
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_term_ref
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_text
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_text_long
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_text_with_summary
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_timestamp
+    - field.field.paragraph.lh_paragraph_test_type.field_lh_user_ref
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
   module:
     - datetime
     - file
@@ -35,10 +34,11 @@ dependencies:
     - link
     - options
     - text
-    - user
-id: node.test_label_help_core_fields.default
-targetEntityType: node
-bundle: test_label_help_core_fields
+_core:
+  default_config_hash: _pwIYaP7GNRXeM-yZipr__RWuCtv0Rc-gBnnmlMAX4g
+id: paragraph.lh_paragraph_test_type.default
+targetEntityType: paragraph
+bundle: lh_paragraph_test_type
 mode: default
 content:
   field_lh_boolean:
@@ -49,7 +49,7 @@ content:
       format_custom_false: ''
       format_custom_true: ''
     third_party_settings: {  }
-    weight: 115
+    weight: 0
     region: content
   field_lh_date:
     type: datetime_default
@@ -58,7 +58,7 @@ content:
       timezone_override: ''
       format_type: medium
     third_party_settings: {  }
-    weight: 113
+    weight: 0
     region: content
   field_lh_datetime:
     type: datetime_default
@@ -67,7 +67,7 @@ content:
       timezone_override: ''
       format_type: medium
     third_party_settings: {  }
-    weight: 112
+    weight: 0
     region: content
   field_lh_decimal:
     type: number_decimal
@@ -78,14 +78,14 @@ content:
       scale: 2
       prefix_suffix: true
     third_party_settings: {  }
-    weight: 107
+    weight: 0
     region: content
   field_lh_email:
     type: basic_string
     label: above
     settings: {  }
     third_party_settings: {  }
-    weight: 116
+    weight: 0
     region: content
   field_lh_file:
     type: file_default
@@ -93,7 +93,7 @@ content:
     settings:
       use_description_as_link_text: true
     third_party_settings: {  }
-    weight: 119
+    weight: 0
     region: content
   field_lh_float:
     type: number_decimal
@@ -104,7 +104,7 @@ content:
       scale: 2
       prefix_suffix: true
     third_party_settings: {  }
-    weight: 108
+    weight: 0
     region: content
   field_lh_image:
     type: image
@@ -115,7 +115,7 @@ content:
       image_loading:
         attribute: lazy
     third_party_settings: {  }
-    weight: 120
+    weight: 0
     region: content
   field_lh_integer:
     type: number_integer
@@ -124,7 +124,7 @@ content:
       thousand_separator: ''
       prefix_suffix: true
     third_party_settings: {  }
-    weight: 106
+    weight: 0
     region: content
   field_lh_link:
     type: link
@@ -136,7 +136,7 @@ content:
       rel: ''
       target: ''
     third_party_settings: {  }
-    weight: 117
+    weight: 0
     region: content
   field_lh_link_with_title:
     type: link
@@ -148,28 +148,28 @@ content:
       rel: ''
       target: ''
     third_party_settings: {  }
-    weight: 118
+    weight: 0
     region: content
   field_lh_list_float:
     type: list_default
     label: above
     settings: {  }
     third_party_settings: {  }
-    weight: 111
+    weight: 0
     region: content
   field_lh_list_integer:
     type: list_default
     label: above
     settings: {  }
     third_party_settings: {  }
-    weight: 110
+    weight: 0
     region: content
   field_lh_list_string:
     type: list_default
     label: above
     settings: {  }
     third_party_settings: {  }
-    weight: 109
+    weight: 0
     region: content
   field_lh_node_reference:
     type: entity_reference_label
@@ -177,7 +177,7 @@ content:
     settings:
       link: true
     third_party_settings: {  }
-    weight: 121
+    weight: 0
     region: content
   field_lh_other_ref:
     type: entity_reference_label
@@ -185,7 +185,7 @@ content:
     settings:
       link: true
     third_party_settings: {  }
-    weight: 124
+    weight: 0
     region: content
   field_lh_string:
     type: string
@@ -193,14 +193,14 @@ content:
     settings:
       link_to_entity: false
     third_party_settings: {  }
-    weight: 101
+    weight: 0
     region: content
   field_lh_string_long:
     type: basic_string
     label: above
     settings: {  }
     third_party_settings: {  }
-    weight: 102
+    weight: 0
     region: content
   field_lh_term_ref:
     type: entity_reference_label
@@ -208,28 +208,28 @@ content:
     settings:
       link: true
     third_party_settings: {  }
-    weight: 122
+    weight: 0
     region: content
   field_lh_text:
     type: text_default
     label: above
     settings: {  }
     third_party_settings: {  }
-    weight: 103
+    weight: 0
     region: content
   field_lh_text_long:
     type: text_default
     label: above
     settings: {  }
     third_party_settings: {  }
-    weight: 105
+    weight: 0
     region: content
   field_lh_text_with_summary:
     type: text_default
     label: above
     settings: {  }
     third_party_settings: {  }
-    weight: 104
+    weight: 0
     region: content
   field_lh_timestamp:
     type: timestamp
@@ -248,7 +248,7 @@ content:
         granularity: 2
         refresh: 60
     third_party_settings: {  }
-    weight: 114
+    weight: 0
     region: content
   field_lh_user_ref:
     type: entity_reference_label
@@ -256,11 +256,6 @@ content:
     settings:
       link: true
     third_party_settings: {  }
-    weight: 123
-    region: content
-  links:
-    settings: {  }
-    third_party_settings: {  }
-    weight: 100
+    weight: 0
     region: content
 hidden: {  }
diff --git a/modules/test_lh_paragraphs/config/install/field.field.node.test_lh_paragraphs.field_lh_paragraphs_ref.yml b/modules/test_lh_paragraphs/config/install/field.field.node.test_lh_paragraphs.field_lh_paragraphs_ref.yml
new file mode 100644
index 0000000000000000000000000000000000000000..483ae37fa607ff4b441ef83b6501ac649b1f113a
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.node.test_lh_paragraphs.field_lh_paragraphs_ref.yml
@@ -0,0 +1,32 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lh_paragraphs_ref
+    - node.type.test_lh_paragraphs
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - entity_reference_revisions
+_core:
+  default_config_hash: Mq-DWVmCgXFlsVkWI8iCsnA3eFvPEXZim6_0vuq_I2E
+id: node.test_lh_paragraphs.field_lh_paragraphs_ref
+field_name: field_lh_paragraphs_ref
+entity_type: node
+bundle: test_lh_paragraphs
+label: Paragraphs
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:paragraph'
+  handler_settings:
+    target_bundles:
+      lh_paragraph_test_type: lh_paragraph_test_type
+    negate: 0
+    target_bundles_drag_drop:
+      lh_paragraph_test_type:
+        weight: 2
+        enabled: true
+field_type: entity_reference_revisions
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_boolean.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_boolean.yml
new file mode 100644
index 0000000000000000000000000000000000000000..bda99e0afc8dac3bc6e1fd91cdc073c9229fe5e1
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_boolean.yml
@@ -0,0 +1,27 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_boolean
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Boolean field in Paragraphs.'
+_core:
+  default_config_hash: 0e_1qINMmPRUd13-DVxfuUI04EFb5veYnWTGQ_IqkL0
+id: paragraph.lh_paragraph_test_type.field_lh_boolean
+field_name: field_lh_boolean
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: Boolean
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  on_label: 'On'
+  off_label: 'Off'
+field_type: boolean
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_date.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_date.yml
new file mode 100644
index 0000000000000000000000000000000000000000..714dc64452e2f224afe781516ba993e517d0f225
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_date.yml
@@ -0,0 +1,26 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_date
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - datetime
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Date (date only) field in Paragraphs.'
+_core:
+  default_config_hash: Ry73qjztUcHQRDKI2SU7Ox62IYn39CUDIz1XQdTH_nc
+id: paragraph.lh_paragraph_test_type.field_lh_date
+field_name: field_lh_date
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'Date (date only)'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: datetime
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_datetime.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_datetime.yml
new file mode 100644
index 0000000000000000000000000000000000000000..22c0fe28e439a4827bd977fef7ea3ab7f1ead7f6
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_datetime.yml
@@ -0,0 +1,26 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_datetime
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - datetime
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Date (date & time) field in Paragraphs.'
+_core:
+  default_config_hash: yvBF_dEqdEWpf9GpV2KzeVmazy-2v4W9yX3WQ8d1nTs
+id: paragraph.lh_paragraph_test_type.field_lh_datetime
+field_name: field_lh_datetime
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'Date (date & time)'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: datetime
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_decimal.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_decimal.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0e99bf4d8bff24c367a13d6b3bf6231b1d89c4e9
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_decimal.yml
@@ -0,0 +1,29 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_decimal
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Number (decimal) field in Paragraphs.'
+_core:
+  default_config_hash: '-YcI2_FAGq5jwE9oywjkKtq2U-7RS_0pui2nSF3-POQ'
+id: paragraph.lh_paragraph_test_type.field_lh_decimal
+field_name: field_lh_decimal
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'Number (decimal)'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  min: null
+  max: null
+  prefix: ''
+  suffix: ''
+field_type: decimal
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_email.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_email.yml
new file mode 100644
index 0000000000000000000000000000000000000000..18984d0bc85a75dac1e24bb43237c4a74eb66af6
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_email.yml
@@ -0,0 +1,25 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_email
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Email field in Paragraphs.'
+_core:
+  default_config_hash: TCiW7exXtnNAVjGb73LS_aT9SvvJTYFcCSuEzjJOYVg
+id: paragraph.lh_paragraph_test_type.field_lh_email
+field_name: field_lh_email
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: Email
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: email
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_file.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_file.yml
new file mode 100644
index 0000000000000000000000000000000000000000..53f2ddb836ba7a07aac64f469e011cf9fcd1b4ec
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_file.yml
@@ -0,0 +1,32 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_file
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - file
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for File field in Paragraphs.'
+_core:
+  default_config_hash: f7211XSpPqSlsVB3lFCBmoQpSK_4D-lUEQ_CQoCKwww
+id: paragraph.lh_paragraph_test_type.field_lh_file
+field_name: field_lh_file
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'File upload'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:file'
+  handler_settings: {  }
+  file_directory: '[date:custom:Y]-[date:custom:m]'
+  file_extensions: txt
+  max_filesize: ''
+  description_field: false
+field_type: file
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_float.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_float.yml
new file mode 100644
index 0000000000000000000000000000000000000000..16f31d15d727d5713d7fba5f48ef7c8004354a30
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_float.yml
@@ -0,0 +1,29 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_float
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Number (float) field in Paragraphs.'
+_core:
+  default_config_hash: '-KAKAzDo2U3_dIzVpSGiwgQMd-WUDl1Boug_FZ2Am_E'
+id: paragraph.lh_paragraph_test_type.field_lh_float
+field_name: field_lh_float
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'Number (float)'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  min: null
+  max: null
+  prefix: ''
+  suffix: ''
+field_type: float
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_image.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_image.yml
new file mode 100644
index 0000000000000000000000000000000000000000..846bafd1fcbe4cf1d12b5bae9d4cac802aca0f24
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_image.yml
@@ -0,0 +1,43 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_image
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - image
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Image field in Paragraphs.'
+_core:
+  default_config_hash: k_fDGieP1h1X4Wmb-m0W2V2Uog7sn0S0h4zLt_E2VCw
+id: paragraph.lh_paragraph_test_type.field_lh_image
+field_name: field_lh_image
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'Image '
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:file'
+  handler_settings: {  }
+  file_directory: '[date:custom:Y]-[date:custom:m]'
+  file_extensions: 'png gif jpg jpeg webp'
+  max_filesize: ''
+  max_resolution: ''
+  min_resolution: ''
+  alt_field: true
+  alt_field_required: true
+  title_field: false
+  title_field_required: false
+  default_image:
+    uuid: ''
+    alt: ''
+    title: ''
+    width: null
+    height: null
+field_type: image
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_integer.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_integer.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2f049cb721b7cae3b2435002a9579e739b180089
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_integer.yml
@@ -0,0 +1,29 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_integer
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Number (integer) field in Paragraphs.'
+_core:
+  default_config_hash: EjjwKVNhKiQOBn_kwSyXQUtdM6lu8fTSp7b1jYKbrgk
+id: paragraph.lh_paragraph_test_type.field_lh_integer
+field_name: field_lh_integer
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'Number (integer)'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  min: null
+  max: null
+  prefix: ''
+  suffix: ''
+field_type: integer
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_link.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_link.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b435b8bdb12f8a0694fd34def76210c8fbb3e28c
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_link.yml
@@ -0,0 +1,28 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_link
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+    - link
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Link (URL only) field in Paragraphs.'
+_core:
+  default_config_hash: RFG2nFzEjbP9_dIfXS7MdcjbNWeio9gdIO_gcde_5FA
+id: paragraph.lh_paragraph_test_type.field_lh_link
+field_name: field_lh_link
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'Link (URL only)'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  title: 0
+  link_type: 17
+field_type: link
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_link_with_title.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_link_with_title.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a6ddb973570e2fdbf15d0aaa1b445eb090aa8d1d
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_link_with_title.yml
@@ -0,0 +1,28 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_link_with_title
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+    - link
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Link (URL & Title) field in Paragraphs.'
+_core:
+  default_config_hash: yn-HIpZoww-Pld-4B-fNfp6y0lZaBaT5kfQkbZsa86g
+id: paragraph.lh_paragraph_test_type.field_lh_link_with_title
+field_name: field_lh_link_with_title
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'Link (URL & Title)'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  title: 2
+  link_type: 17
+field_type: link
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_list_float.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_list_float.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c6902357533bb79ce75461c7fe09d3421cf9b0ca
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_list_float.yml
@@ -0,0 +1,26 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_list_float
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+    - options
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for List (float) field in Paragraphs.'
+_core:
+  default_config_hash: P3pemqyA9PmzP0sgF2VRnFgWO2De4UcawuO-dY8Xxoc
+id: paragraph.lh_paragraph_test_type.field_lh_list_float
+field_name: field_lh_list_float
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'List (float)'
+description: ''
+required: true
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: list_float
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_list_integer.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_list_integer.yml
new file mode 100644
index 0000000000000000000000000000000000000000..78670fbb2d55f260603fa39d2d5706fdcb76f813
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_list_integer.yml
@@ -0,0 +1,26 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_list_integer
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+    - options
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for List (integer) field in Paragraphs.'
+_core:
+  default_config_hash: jVADHO32y-J8imkGA8MmvEYK668OueSE8FJJYAZ2Dyc
+id: paragraph.lh_paragraph_test_type.field_lh_list_integer
+field_name: field_lh_list_integer
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'List (integer)'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: list_integer
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_list_string.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_list_string.yml
new file mode 100644
index 0000000000000000000000000000000000000000..63ed0b42bbe6c598f3dd6a1e35483550cf7ee4d9
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_list_string.yml
@@ -0,0 +1,26 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_list_string
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+    - options
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for List (text) field in Paragraphs.'
+_core:
+  default_config_hash: 1MFwihCEfegkicfeZuiHMuFWzNhZCKypGksCcc3JKxM
+id: paragraph.lh_paragraph_test_type.field_lh_list_string
+field_name: field_lh_list_string
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'List (text)'
+description: ''
+required: true
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: list_string
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_node_reference.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_node_reference.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e9b556ba43c69cf50dd7c10c95e6e80c454abdc5
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_node_reference.yml
@@ -0,0 +1,35 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_node_reference
+    - node.type.article
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Node Reference field in Paragraphs.'
+_core:
+  default_config_hash: ZYSZHY2iBDm8I6R67GAM2D7U6FXPQlWEcchbzlLH-ow
+id: paragraph.lh_paragraph_test_type.field_lh_node_reference
+field_name: field_lh_node_reference
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'Node Reference'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:node'
+  handler_settings:
+    target_bundles:
+      article: article
+    sort:
+      field: _none
+      direction: ASC
+    auto_create: false
+    auto_create_bundle: ''
+field_type: entity_reference
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_other_ref.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_other_ref.yml
new file mode 100644
index 0000000000000000000000000000000000000000..8408694379d965f1517704c4c267c95be592e228
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_other_ref.yml
@@ -0,0 +1,29 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_other_ref
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Block Reference field in Paragraphs.'
+_core:
+  default_config_hash: 7LMLE-2YWOEF-ahAuz2apkAqSfUSilGTG0AGzSkxsG0
+id: paragraph.lh_paragraph_test_type.field_lh_other_ref
+field_name: field_lh_other_ref
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: Other
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:block'
+  handler_settings:
+    target_bundles: null
+    auto_create: false
+field_type: entity_reference
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_string.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_string.yml
new file mode 100644
index 0000000000000000000000000000000000000000..aaa8defc4d94ab742ad6532df925cd8fc1580657
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_string.yml
@@ -0,0 +1,25 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_string
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Text (plain) field in Paragraphs.'
+_core:
+  default_config_hash: 8JW5kFR0_eePEHE7R2zhFPP2oq7CWrIpG12GvxnJnY8
+id: paragraph.lh_paragraph_test_type.field_lh_string
+field_name: field_lh_string
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'Text (plain)'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: string
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_string_long.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_string_long.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b3f0ee18c0ae43f8255190f4e92ffc5a740ca610
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_string_long.yml
@@ -0,0 +1,25 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_string_long
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Text (plain, long) field in Paragraphs.'
+_core:
+  default_config_hash: aWr_a2uAJ49gudYaOn_8q5xDzeeTVtrsoAfqoCgeq5I
+id: paragraph.lh_paragraph_test_type.field_lh_string_long
+field_name: field_lh_string_long
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'Text (plain, long)'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: string_long
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_term_ref.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_term_ref.yml
new file mode 100644
index 0000000000000000000000000000000000000000..08c3b12ebb858155b7f232759055db813c8d6153
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_term_ref.yml
@@ -0,0 +1,35 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_term_ref
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+    - taxonomy.vocabulary.tags
+  module:
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Taxonomy Term Reference field in Paragraphs.'
+_core:
+  default_config_hash: ittp-Ggs9PGiUORgudKW159hbTxbQfNwQsukqDQLa6g
+id: paragraph.lh_paragraph_test_type.field_lh_term_ref
+field_name: field_lh_term_ref
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'Taxonomy Term Reference'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:taxonomy_term'
+  handler_settings:
+    target_bundles:
+      tags: tags
+    sort:
+      field: name
+      direction: asc
+    auto_create: false
+    auto_create_bundle: ''
+field_type: entity_reference
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_text.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_text.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d0a5bb6b8542eb702183cfe340b7899c818e9809
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_text.yml
@@ -0,0 +1,27 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_text
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+    - text
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Text (formatted) field in Paragraphs.'
+_core:
+  default_config_hash: umFtF7NIfMrXfatBoHUazpJmL3gn9DIDgUT_lHehXs4
+id: paragraph.lh_paragraph_test_type.field_lh_text
+field_name: field_lh_text
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'Text (formatted)'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  allowed_formats: {  }
+field_type: text
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_text_long.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_text_long.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c03241099f8ad2988a7819469b70f46a14f74490
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_text_long.yml
@@ -0,0 +1,27 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_text_long
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+    - text
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Text (formatted, long) field in Paragraphs.'
+_core:
+  default_config_hash: KIVhMq-OowvQxAzgj_yCX2wksS5BKr7WSMK9PgohvBg
+id: paragraph.lh_paragraph_test_type.field_lh_text_long
+field_name: field_lh_text_long
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'Text (formatted, long)'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  allowed_formats: {  }
+field_type: text_long
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_text_with_summary.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_text_with_summary.yml
new file mode 100644
index 0000000000000000000000000000000000000000..77dbd495a6c1a2fdaaa79392d12254bf43392a41
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_text_with_summary.yml
@@ -0,0 +1,29 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_text_with_summary
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+    - text
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Text (formatted, long, with summary) field in Paragraphs.'
+_core:
+  default_config_hash: f3KrKBkQIdAB_0_Xv5dRZo1CkijrpeDShOViLcn6dG4
+id: paragraph.lh_paragraph_test_type.field_lh_text_with_summary
+field_name: field_lh_text_with_summary
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'Text (formatted, long, with summary)'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  display_summary: false
+  required_summary: false
+  allowed_formats: {  }
+field_type: text_with_summary
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_timestamp.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_timestamp.yml
new file mode 100644
index 0000000000000000000000000000000000000000..628a3b3b5594e23a3b30a099aeae26d80a9bb47f
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_timestamp.yml
@@ -0,0 +1,25 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_timestamp
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Timestamp field in Paragraphs.'
+_core:
+  default_config_hash: KdSSBOdd7C0q64d_AG3v6c7Z4M7FvVKLN_0ZV0VTo5U
+id: paragraph.lh_paragraph_test_type.field_lh_timestamp
+field_name: field_lh_timestamp
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: Timestamp
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: timestamp
diff --git a/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_user_ref.yml b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_user_ref.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c2556857181413be632e6f20b790af62015c70ba
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.field.paragraph.lh_paragraph_test_type.field_lh_user_ref.yml
@@ -0,0 +1,35 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.paragraph.field_lh_user_ref
+    - paragraphs.paragraphs_type.lh_paragraph_test_type
+  module:
+    - label_help
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for User Reference field in Paragraphs.'
+_core:
+  default_config_hash: 8wXdCq8CerXjSF977GYyrsHp7_XoOazRhdMs52l1mPQ
+id: paragraph.lh_paragraph_test_type.field_lh_user_ref
+field_name: field_lh_user_ref
+entity_type: paragraph
+bundle: lh_paragraph_test_type
+label: 'User Reference'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings:
+  handler: 'default:user'
+  handler_settings:
+    target_bundles: null
+    sort:
+      field: _none
+      direction: ASC
+    auto_create: false
+    filter:
+      type: _none
+    include_anonymous: true
+field_type: entity_reference
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.node.field_lh_paragraphs_ref.yml b/modules/test_lh_paragraphs/config/install/field.storage.node.field_lh_paragraphs_ref.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ac78f331090a969764fa0a25a6bafa5c4b7b7f1c
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.node.field_lh_paragraphs_ref.yml
@@ -0,0 +1,20 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - entity_reference_revisions
+    - node
+    - paragraphs
+id: node.field_lh_paragraphs_ref
+field_name: field_lh_paragraphs_ref
+entity_type: node
+type: entity_reference_revisions
+settings:
+  target_type: paragraph
+module: entity_reference_revisions
+locked: false
+cardinality: -1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_boolean.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_boolean.yml
new file mode 100644
index 0000000000000000000000000000000000000000..4a06384ff419f90cf9a50b2c9ddd5c02056578af
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_boolean.yml
@@ -0,0 +1,17 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - paragraphs
+id: paragraph.field_lh_boolean
+field_name: field_lh_boolean
+entity_type: paragraph
+type: boolean
+settings: {  }
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_date.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_date.yml
new file mode 100644
index 0000000000000000000000000000000000000000..349a8bc0a0beebe1f1a7377ed725a4816d960d11
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_date.yml
@@ -0,0 +1,19 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - datetime
+    - paragraphs
+id: paragraph.field_lh_date
+field_name: field_lh_date
+entity_type: paragraph
+type: datetime
+settings:
+  datetime_type: date
+module: datetime
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_datetime.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_datetime.yml
new file mode 100644
index 0000000000000000000000000000000000000000..33cb3e596fea64871aa4e6f35dee8fb65fa57f33
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_datetime.yml
@@ -0,0 +1,19 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - datetime
+    - paragraphs
+id: paragraph.field_lh_datetime
+field_name: field_lh_datetime
+entity_type: paragraph
+type: datetime
+settings:
+  datetime_type: datetime
+module: datetime
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_decimal.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_decimal.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2f625bc4bf961be3bab385c5a1f9e9ded744a4ba
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_decimal.yml
@@ -0,0 +1,19 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - paragraphs
+id: paragraph.field_lh_decimal
+field_name: field_lh_decimal
+entity_type: paragraph
+type: decimal
+settings:
+  precision: 10
+  scale: 2
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_email.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_email.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b00440de7c1029ba60ed3c24046565b27dbd8cdf
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_email.yml
@@ -0,0 +1,17 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - paragraphs
+id: paragraph.field_lh_email
+field_name: field_lh_email
+entity_type: paragraph
+type: email
+settings: {  }
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_file.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_file.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0900b919aa4a4efb421c141beb788967698c6a43
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_file.yml
@@ -0,0 +1,22 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - file
+    - paragraphs
+id: paragraph.field_lh_file
+field_name: field_lh_file
+entity_type: paragraph
+type: file
+settings:
+  target_type: file
+  display_field: false
+  display_default: false
+  uri_scheme: public
+module: file
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_float.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_float.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5507c9e4d97d9c7a3088cf7728eacfb1e15bfba0
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_float.yml
@@ -0,0 +1,17 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - paragraphs
+id: paragraph.field_lh_float
+field_name: field_lh_float
+entity_type: paragraph
+type: float
+settings: {  }
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_image.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_image.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2b7ead9c7dabed78611d57330eaf361cdd7feda1
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_image.yml
@@ -0,0 +1,29 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - file
+    - image
+    - paragraphs
+id: paragraph.field_lh_image
+field_name: field_lh_image
+entity_type: paragraph
+type: image
+settings:
+  target_type: file
+  display_field: false
+  display_default: false
+  uri_scheme: public
+  default_image:
+    uuid: ''
+    alt: ''
+    title: ''
+    width: null
+    height: null
+module: image
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_integer.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_integer.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7a61c180e5dd8d607f4498dce8dfd4cf1ae100e9
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_integer.yml
@@ -0,0 +1,19 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - paragraphs
+id: paragraph.field_lh_integer
+field_name: field_lh_integer
+entity_type: paragraph
+type: integer
+settings:
+  unsigned: false
+  size: normal
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_link.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_link.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2574286a99ec3691f01e2d162de28466aa7d5761
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_link.yml
@@ -0,0 +1,18 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - link
+    - paragraphs
+id: paragraph.field_lh_link
+field_name: field_lh_link
+entity_type: paragraph
+type: link
+settings: {  }
+module: link
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_link_with_title.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_link_with_title.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b0fd66b4e207fdf95742815efccbb41f8a92a689
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_link_with_title.yml
@@ -0,0 +1,18 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - link
+    - paragraphs
+id: paragraph.field_lh_link_with_title
+field_name: field_lh_link_with_title
+entity_type: paragraph
+type: link
+settings: {  }
+module: link
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_list_float.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_list_float.yml
new file mode 100644
index 0000000000000000000000000000000000000000..dffbb2ecf52324f92075d89a6db6b87342d33840
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_list_float.yml
@@ -0,0 +1,29 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - paragraphs
+    - options
+id: paragraph.field_lh_list_float
+field_name: field_lh_list_float
+entity_type: paragraph
+type: list_float
+settings:
+  allowed_values:
+    -
+      value: 1.0
+      label: 'One (1.0)'
+    -
+      value: 2.0
+      label: 'Two (2.0)'
+    -
+      value: 3.0
+      label: 'Three (3.0)'
+  allowed_values_function: ''
+module: options
+locked: false
+cardinality: -1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_list_integer.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_list_integer.yml
new file mode 100644
index 0000000000000000000000000000000000000000..b217caa648844cecf51b431d05b839b749736ad7
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_list_integer.yml
@@ -0,0 +1,29 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - paragraphs
+    - options
+id: paragraph.field_lh_list_integer
+field_name: field_lh_list_integer
+entity_type: paragraph
+type: list_integer
+settings:
+  allowed_values:
+    -
+      value: 1
+      label: 'One (1)'
+    -
+      value: 2
+      label: 'Two (2)'
+    -
+      value: 3
+      label: 'Three (3)'
+  allowed_values_function: ''
+module: options
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_list_string.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_list_string.yml
new file mode 100644
index 0000000000000000000000000000000000000000..986ed3146a8785483ae7609262e174d65207946d
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_list_string.yml
@@ -0,0 +1,29 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - paragraphs
+    - options
+id: paragraph.field_lh_list_string
+field_name: field_lh_list_string
+entity_type: paragraph
+type: list_string
+settings:
+  allowed_values:
+    -
+      value: one
+      label: One
+    -
+      value: two
+      label: Two
+    -
+      value: three
+      label: Three
+  allowed_values_function: ''
+module: options
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_node_reference.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_node_reference.yml
new file mode 100644
index 0000000000000000000000000000000000000000..7a7a5555f29cbbff40e08301a3d1172a7bcb52f9
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_node_reference.yml
@@ -0,0 +1,18 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - paragraphs
+id: paragraph.field_lh_node_reference
+field_name: field_lh_node_reference
+entity_type: paragraph
+type: entity_reference
+settings:
+  target_type: node
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_other_ref.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_other_ref.yml
new file mode 100644
index 0000000000000000000000000000000000000000..61d29a4b2fa8a519ccef0a6ae363e784f8de7c3c
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_other_ref.yml
@@ -0,0 +1,19 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - block
+    - paragraphs
+id: paragraph.field_lh_other_ref
+field_name: field_lh_other_ref
+entity_type: paragraph
+type: entity_reference
+settings:
+  target_type: block
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_string.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_string.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ce918763e73d73a880d2603e0eeaf734470bd4c8
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_string.yml
@@ -0,0 +1,20 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - paragraphs
+id: paragraph.field_lh_string
+field_name: field_lh_string
+entity_type: paragraph
+type: string
+settings:
+  max_length: 255
+  case_sensitive: false
+  is_ascii: false
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_string_long.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_string_long.yml
new file mode 100644
index 0000000000000000000000000000000000000000..df5b249e24e230975356bc313c01f948ebed25d7
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_string_long.yml
@@ -0,0 +1,18 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - paragraphs
+id: paragraph.field_lh_string_long
+field_name: field_lh_string_long
+entity_type: paragraph
+type: string_long
+settings:
+  case_sensitive: false
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_term_ref.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_term_ref.yml
new file mode 100644
index 0000000000000000000000000000000000000000..97aac5b3c05893c3a60478434956d28da794a982
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_term_ref.yml
@@ -0,0 +1,19 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - paragraphs
+    - taxonomy
+id: paragraph.field_lh_term_ref
+field_name: field_lh_term_ref
+entity_type: paragraph
+type: entity_reference
+settings:
+  target_type: taxonomy_term
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_text.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_text.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2a1778aa715c002bd244a17839ac185d0dedc1d1
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_text.yml
@@ -0,0 +1,19 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - paragraphs
+    - text
+id: paragraph.field_lh_text
+field_name: field_lh_text
+entity_type: paragraph
+type: text
+settings:
+  max_length: 255
+module: text
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_text_long.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_text_long.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f653b831b7b202f9feaab5ca8f69f5dbbcf39fc3
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_text_long.yml
@@ -0,0 +1,18 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - paragraphs
+    - text
+id: paragraph.field_lh_text_long
+field_name: field_lh_text_long
+entity_type: paragraph
+type: text_long
+settings: {  }
+module: text
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_text_with_summary.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_text_with_summary.yml
new file mode 100644
index 0000000000000000000000000000000000000000..99e570235076db2e8fdd6da11b66793f19ca02a2
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_text_with_summary.yml
@@ -0,0 +1,18 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - paragraphs
+    - text
+id: paragraph.field_lh_text_with_summary
+field_name: field_lh_text_with_summary
+entity_type: paragraph
+type: text_with_summary
+settings: {  }
+module: text
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_timestamp.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_timestamp.yml
new file mode 100644
index 0000000000000000000000000000000000000000..15446b92db04f44018649bd5d35d861b366a590e
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_timestamp.yml
@@ -0,0 +1,17 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - paragraphs
+id: paragraph.field_lh_timestamp
+field_name: field_lh_timestamp
+entity_type: paragraph
+type: timestamp
+settings: {  }
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_user_ref.yml b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_user_ref.yml
new file mode 100644
index 0000000000000000000000000000000000000000..28f994a16cd2cfa4100042f19a5815f3acd599e8
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/field.storage.paragraph.field_lh_user_ref.yml
@@ -0,0 +1,19 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - paragraphs
+    - user
+id: paragraph.field_lh_user_ref
+field_name: field_lh_user_ref
+entity_type: paragraph
+type: entity_reference
+settings:
+  target_type: user
+module: core
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_paragraphs/config/install/node.type.test_lh_paragraphs.yml b/modules/test_lh_paragraphs/config/install/node.type.test_lh_paragraphs.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c88dea2265843240a27047f518360ee4bcd499f8
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/node.type.test_lh_paragraphs.yml
@@ -0,0 +1,19 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - menu_ui
+third_party_settings:
+  menu_ui:
+    available_menus:
+      - main
+    parent: 'main:'
+_core:
+  default_config_hash: Hl743qGjgXIlKHH8Z4cajY70PUJx6dDCQtbawJ9G6xM
+name: 'TEST Label Help Paragraphs Integration'
+type: test_lh_paragraphs
+description: 'Use to test Label Help module integration with <em>Paragraphs</em> module.'
+help: null
+new_revision: true
+preview_mode: 1
+display_submitted: false
diff --git a/modules/test_lh_paragraphs/config/install/paragraphs.paragraphs_type.lh_paragraph_test_type.yml b/modules/test_lh_paragraphs/config/install/paragraphs.paragraphs_type.lh_paragraph_test_type.yml
new file mode 100644
index 0000000000000000000000000000000000000000..171a746dd61ba74165829b2f3c1decc652dfb3ea
--- /dev/null
+++ b/modules/test_lh_paragraphs/config/install/paragraphs.paragraphs_type.lh_paragraph_test_type.yml
@@ -0,0 +1,11 @@
+langcode: en
+status: true
+dependencies: {  }
+_core:
+  default_config_hash: eTdDAHd--9dc4RC8baxDbGcuIAXUrUckrQ1crU1E-LY
+id: lh_paragraph_test_type
+label: 'TEST Label Help Paragraph Type'
+icon_uuid: null
+icon_default: null
+description: 'This paragraph type demonstrates integration and compatibility with the Label Help module.'
+behavior_plugins: {  }
diff --git a/modules/test_lh_paragraphs/test_lh_paragraphs.info.yml b/modules/test_lh_paragraphs/test_lh_paragraphs.info.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3eb13c7be07639d9e1f3805340eb67660783107b
--- /dev/null
+++ b/modules/test_lh_paragraphs/test_lh_paragraphs.info.yml
@@ -0,0 +1,8 @@
+name: 'Label Help Paragraphs Test'
+type: module
+description: 'Provides test paragraph type, fields and formatters for Label Help <> Paragraphs integration.'
+package: Testing
+core_version_requirement: ^10 || ^11
+dependencies:
+  - label_help:label_help
+  - paragraphs:paragraphs
diff --git a/modules/test_lh_paragraphs/test_lh_paragraphs.install b/modules/test_lh_paragraphs/test_lh_paragraphs.install
new file mode 100644
index 0000000000000000000000000000000000000000..a3f01a4961e2fe8a0623928a0da0981a180787e9
--- /dev/null
+++ b/modules/test_lh_paragraphs/test_lh_paragraphs.install
@@ -0,0 +1,20 @@
+<?php
+
+/**
+ * @file
+ * Install hooks for the Label Help ParagraphsTest module.
+ */
+
+/**
+ * Implements hook_uninstall().
+ */
+function test_lh_paragraphs_uninstall() {
+  // Delete the test content type and paragraph type.
+  if ($content_type = \Drupal::entityTypeManager()->getStorage('node_type')->load('test_lh_paragraphs')) {
+    $content_type->delete();
+  }
+
+  if ($paragraph_type = \Drupal::entityTypeManager()->getStorage('paragraphs_type')->load('lh_paragraph_test_type')) {
+    $paragraph_type->delete();
+  }
+}
diff --git a/modules/test_lh_telephone_advanced/config/install/core.entity_form_display.node.test_lh_telephone_advanced.default.yml b/modules/test_lh_telephone_advanced/config/install/core.entity_form_display.node.test_lh_telephone_advanced.default.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a48b464ca28f6184694e022fc2065bb62196d1de
--- /dev/null
+++ b/modules/test_lh_telephone_advanced/config/install/core.entity_form_display.node.test_lh_telephone_advanced.default.yml
@@ -0,0 +1,73 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.node.test_lh_telephone_advanced.field_lh_telephone_advanced
+    - node.type.test_lh_telephone_advanced
+  module:
+    - path
+    - telephone
+id: node.test_lh_telephone_advanced.default
+targetEntityType: node
+bundle: test_lh_telephone_advanced
+mode: default
+content:
+  created:
+    type: datetime_timestamp
+    weight: 10
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  field_lh_telephone_advanced:
+    type: telephone_default
+    weight: 121
+    region: content
+    settings:
+      placeholder: ''
+    third_party_settings: {  }
+  path:
+    type: path
+    weight: 30
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  promote:
+    type: boolean_checkbox
+    weight: 15
+    region: content
+    settings:
+      display_label: true
+    third_party_settings: {  }
+  status:
+    type: boolean_checkbox
+    weight: 120
+    region: content
+    settings:
+      display_label: true
+    third_party_settings: {  }
+  sticky:
+    type: boolean_checkbox
+    weight: 16
+    region: content
+    settings:
+      display_label: true
+    third_party_settings: {  }
+  title:
+    type: string_textfield
+    weight: -5
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  uid:
+    type: entity_reference_autocomplete
+    weight: 5
+    region: content
+    settings:
+      match_operator: CONTAINS
+      match_limit: 10
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+hidden: {  }
diff --git a/modules/test_lh_telephone_advanced/config/install/core.entity_view_display.node.test_lh_telephone_advanced.default.yml b/modules/test_lh_telephone_advanced/config/install/core.entity_view_display.node.test_lh_telephone_advanced.default.yml
new file mode 100644
index 0000000000000000000000000000000000000000..d56dec49632186407bc0661daecf62a57c31109d
--- /dev/null
+++ b/modules/test_lh_telephone_advanced/config/install/core.entity_view_display.node.test_lh_telephone_advanced.default.yml
@@ -0,0 +1,26 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.node.test_lh_telephone_advanced.field_lh_telephone_advanced
+    - node.type.test_lh_telephone_advanced
+  module:
+    - user
+id: node.test_lh_telephone_advanced.default
+targetEntityType: node
+bundle: test_lh_telephone_advanced
+mode: default
+content:
+  field_lh_telephone_advanced:
+    type: basic_string
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    weight: 101
+    region: content
+  links:
+    settings: {  }
+    third_party_settings: {  }
+    weight: 100
+    region: content
+hidden: {  }
diff --git a/modules/test_lh_telephone_advanced/config/install/field.field.node.test_lh_telephone_advanced.field_lh_telephone_advanced.yml b/modules/test_lh_telephone_advanced/config/install/field.field.node.test_lh_telephone_advanced.field_lh_telephone_advanced.yml
new file mode 100644
index 0000000000000000000000000000000000000000..0d26a6f096a1a0f38adcd6100312051f627d3d1e
--- /dev/null
+++ b/modules/test_lh_telephone_advanced/config/install/field.field.node.test_lh_telephone_advanced.field_lh_telephone_advanced.yml
@@ -0,0 +1,27 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lh_telephone_advanced
+    - node.type.test_lh_telephone_advanced
+  module:
+    - label_help
+    - telephone
+    - telephone_advanced
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Telephone (Advanced) field.'
+  telephone_advanced:
+    enabled: false
+id: node.test_lh_telephone_advanced.field_lh_telephone_advanced
+field_name: field_lh_telephone_advanced
+entity_type: node
+bundle: test_lh_telephone_advanced
+label: 'Telephone Advanced'
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: telephone
diff --git a/modules/test_lh_telephone_advanced/config/install/field.storage.node.field_lh_telephone_advanced.yml b/modules/test_lh_telephone_advanced/config/install/field.storage.node.field_lh_telephone_advanced.yml
new file mode 100644
index 0000000000000000000000000000000000000000..055abb345d04663c8d3045bab77ebaf02ed89bfe
--- /dev/null
+++ b/modules/test_lh_telephone_advanced/config/install/field.storage.node.field_lh_telephone_advanced.yml
@@ -0,0 +1,18 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - node
+    - telephone
+id: node.field_lh_telephone_advanced
+field_name: field_lh_telephone_advanced
+entity_type: node
+type: telephone
+settings: {  }
+module: telephone
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_telephone_advanced/config/install/node.type.test_lh_telephone_advanced.yml b/modules/test_lh_telephone_advanced/config/install/node.type.test_lh_telephone_advanced.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e862041e6412ccf56e3399bd26fedfd104a0ff51
--- /dev/null
+++ b/modules/test_lh_telephone_advanced/config/install/node.type.test_lh_telephone_advanced.yml
@@ -0,0 +1,17 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - menu_ui
+third_party_settings:
+  menu_ui:
+    available_menus:
+      - main
+    parent: 'main:'
+name: 'TEST Label Help Telephone Advanced'
+type: test_lh_telephone_advanced
+description: 'Use to test Label Help module integration with <em>Telephone Advanced</em> module.'
+help: null
+new_revision: true
+preview_mode: 1
+display_submitted: true
diff --git a/modules/test_lh_telephone_advanced/test_lh_telephone_advanced.info.yml b/modules/test_lh_telephone_advanced/test_lh_telephone_advanced.info.yml
new file mode 100644
index 0000000000000000000000000000000000000000..f33d74fefc892364f9f9809a21bfda709d800c86
--- /dev/null
+++ b/modules/test_lh_telephone_advanced/test_lh_telephone_advanced.info.yml
@@ -0,0 +1,8 @@
+name: 'Label Help Telephone Advanced Test'
+type: module
+description: 'Provides test content type, fields and formatters for Label Help <> Telephone Advanced integration.'
+package: Testing
+core_version_requirement: ^10 || ^11
+dependencies:
+  - label_help:label_help
+  - telephone_advanced:telephone_advanced
diff --git a/modules/test_lh_telephone_advanced/test_lh_telephone_advanced.install b/modules/test_lh_telephone_advanced/test_lh_telephone_advanced.install
new file mode 100644
index 0000000000000000000000000000000000000000..4f38b07bc52e09755b7714f78fa3174ff42f1ca7
--- /dev/null
+++ b/modules/test_lh_telephone_advanced/test_lh_telephone_advanced.install
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * @file
+ * Install hooks for the Label Help Telephone Advanced Test module.
+ */
+
+/**
+ * Implements hook_uninstall().
+ */
+function test_lh_telephone_advanced_uninstall() {
+  // Delete the test content type.
+  if ($content_type = \Drupal::entityTypeManager()->getStorage('node_type')->load('test_lh_telephone_advanced')) {
+    $content_type->delete();
+  }
+}
diff --git a/modules/test_lh_theme_field/config/install/core.entity_form_display.node.test_lh_theme_field.default.yml b/modules/test_lh_theme_field/config/install/core.entity_form_display.node.test_lh_theme_field.default.yml
new file mode 100644
index 0000000000000000000000000000000000000000..62d49ba0bc0ce7d494bb8f394e25a56059b18dde
--- /dev/null
+++ b/modules/test_lh_theme_field/config/install/core.entity_form_display.node.test_lh_theme_field.default.yml
@@ -0,0 +1,72 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.node.test_lh_theme_field.field_lh_theme
+    - node.type.test_lh_theme_field
+  module:
+    - path
+    - theme_field
+id: node.test_lh_theme_field.default
+targetEntityType: node
+bundle: test_lh_theme_field
+mode: default
+content:
+  created:
+    type: datetime_timestamp
+    weight: 10
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  field_lh_theme:
+    type: theme_field_widget
+    weight: 121
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  path:
+    type: path
+    weight: 30
+    region: content
+    settings: {  }
+    third_party_settings: {  }
+  promote:
+    type: boolean_checkbox
+    weight: 15
+    region: content
+    settings:
+      display_label: true
+    third_party_settings: {  }
+  status:
+    type: boolean_checkbox
+    weight: 120
+    region: content
+    settings:
+      display_label: true
+    third_party_settings: {  }
+  sticky:
+    type: boolean_checkbox
+    weight: 16
+    region: content
+    settings:
+      display_label: true
+    third_party_settings: {  }
+  title:
+    type: string_textfield
+    weight: -5
+    region: content
+    settings:
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+  uid:
+    type: entity_reference_autocomplete
+    weight: 5
+    region: content
+    settings:
+      match_operator: CONTAINS
+      match_limit: 10
+      size: 60
+      placeholder: ''
+    third_party_settings: {  }
+hidden: {  }
diff --git a/modules/test_lh_theme_field/config/install/core.entity_view_display.node.test_lh_theme_field.default.yml b/modules/test_lh_theme_field/config/install/core.entity_view_display.node.test_lh_theme_field.default.yml
new file mode 100644
index 0000000000000000000000000000000000000000..375e25c98c7cbb83d3e802fdd8481e598d79bbd1
--- /dev/null
+++ b/modules/test_lh_theme_field/config/install/core.entity_view_display.node.test_lh_theme_field.default.yml
@@ -0,0 +1,26 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.field.node.test_lh_theme_field.field_lh_theme
+    - node.type.test_lh_theme_field
+  module:
+    - user
+id: node.test_lh_theme_field.default
+targetEntityType: node
+bundle: test_lh_theme_field
+mode: default
+content:
+  field_lh_theme:
+    type: null
+    label: above
+    settings: {  }
+    third_party_settings: {  }
+    weight: 101
+    region: content
+  links:
+    settings: {  }
+    third_party_settings: {  }
+    weight: 100
+    region: content
+hidden: {  }
diff --git a/modules/test_lh_theme_field/config/install/field.field.node.test_lh_theme_field.field_lh_theme.yml b/modules/test_lh_theme_field/config/install/field.field.node.test_lh_theme_field.field_lh_theme.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3a90ed60b474da93d0158b38a485698ed5a2ad6a
--- /dev/null
+++ b/modules/test_lh_theme_field/config/install/field.field.node.test_lh_theme_field.field_lh_theme.yml
@@ -0,0 +1,24 @@
+langcode: en
+status: true
+dependencies:
+  config:
+    - field.storage.node.field_lh_theme
+    - node.type.test_lh_theme_field
+  module:
+    - label_help
+    - theme_field
+third_party_settings:
+  label_help:
+    label_help_description: 'Label Help message for Theme field.'
+id: node.test_lh_theme_field.field_lh_theme
+field_name: field_lh_theme
+entity_type: node
+bundle: test_lh_theme_field
+label: Theme
+description: ''
+required: false
+translatable: false
+default_value: {  }
+default_value_callback: ''
+settings: {  }
+field_type: theme_field_type
diff --git a/modules/test_lh_theme_field/config/install/field.storage.node.field_lh_theme.yml b/modules/test_lh_theme_field/config/install/field.storage.node.field_lh_theme.yml
new file mode 100644
index 0000000000000000000000000000000000000000..42f0773d2ce2cdc04dffa49a490c19804c5e6450
--- /dev/null
+++ b/modules/test_lh_theme_field/config/install/field.storage.node.field_lh_theme.yml
@@ -0,0 +1,21 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - node
+    - theme_field
+id: node.field_lh_theme
+field_name: field_lh_theme
+entity_type: node
+type: theme_field_type
+settings:
+  max_length: '255'
+  is_ascii: false
+  case_sensitive: false
+module: theme_field
+locked: false
+cardinality: 1
+translatable: true
+indexes: {  }
+persist_with_no_fields: false
+custom_storage: false
diff --git a/modules/test_lh_theme_field/config/install/node.type.test_lh_theme_field.yml b/modules/test_lh_theme_field/config/install/node.type.test_lh_theme_field.yml
new file mode 100644
index 0000000000000000000000000000000000000000..3832c54235f5715f18e5ff092cd2669aded73781
--- /dev/null
+++ b/modules/test_lh_theme_field/config/install/node.type.test_lh_theme_field.yml
@@ -0,0 +1,17 @@
+langcode: en
+status: true
+dependencies:
+  module:
+    - menu_ui
+third_party_settings:
+  menu_ui:
+    available_menus:
+      - main
+    parent: 'main:'
+name: 'TEST Label Help Theme Field'
+type: test_lh_theme_field
+description: 'Use to test Label Help module integration with <em>Theme Field</em> module.'
+help: null
+new_revision: true
+preview_mode: 1
+display_submitted: true
diff --git a/modules/test_lh_theme_field/lh_theme_field_test.install b/modules/test_lh_theme_field/lh_theme_field_test.install
new file mode 100644
index 0000000000000000000000000000000000000000..55508c339f2dda6a247fb529fe98334379101cb2
--- /dev/null
+++ b/modules/test_lh_theme_field/lh_theme_field_test.install
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * @file
+ * Install hooks for the Label Help Theme FieldTest module.
+ */
+
+/**
+ * Implements hook_uninstall().
+ */
+function test_lh_theme_field_uninstall() {
+  // Delete the test content type.
+  if ($content_type = \Drupal::entityTypeManager()->getStorage('node_type')->load('test_lh_theme_field')) {
+    $content_type->delete();
+  }
+}
diff --git a/modules/test_lh_theme_field/test_lh_theme_field.info.yml b/modules/test_lh_theme_field/test_lh_theme_field.info.yml
new file mode 100644
index 0000000000000000000000000000000000000000..4aeffffdb345e1dd5fb96382aaf6d1df3cc31f6e
--- /dev/null
+++ b/modules/test_lh_theme_field/test_lh_theme_field.info.yml
@@ -0,0 +1,8 @@
+name: 'Label Help Theme Field Test'
+type: module
+description: 'Provides test content type, fields and formatters for Label Help <> Theme Field integration.'
+package: Testing
+core_version_requirement: ^10 || ^11
+dependencies:
+  - label_help:label_help
+  - theme_field:theme_field
diff --git a/modules/test_lh_theme_field/test_lh_theme_field.install b/modules/test_lh_theme_field/test_lh_theme_field.install
new file mode 100644
index 0000000000000000000000000000000000000000..55508c339f2dda6a247fb529fe98334379101cb2
--- /dev/null
+++ b/modules/test_lh_theme_field/test_lh_theme_field.install
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * @file
+ * Install hooks for the Label Help Theme FieldTest module.
+ */
+
+/**
+ * Implements hook_uninstall().
+ */
+function test_lh_theme_field_uninstall() {
+  // Delete the test content type.
+  if ($content_type = \Drupal::entityTypeManager()->getStorage('node_type')->load('test_lh_theme_field')) {
+    $content_type->delete();
+  }
+}