From c5a07cf558935fbaab2d5b4ba2fcbd307a19306f Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 10:49:25 +0200
Subject: [PATCH 01/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 README.md                                     | 20 ++++++++--------
 .../Form/VLSuiteAnimationsSettingsForm.php    |  4 ++--
 .../src/VLSuiteAnimationsHelper.php           |  2 +-
 .../Plugin/Block/VLSuiteMediaBgFieldBlock.php |  2 +-
 modules/vlsuite_block/vlsuite_block.module    |  2 +-
 .../vlsuite_bundle_field.install              | 10 ++++----
 .../vlsuite_bundle_field.module               |  2 +-
 .../vlsuite_collection_stmt.info.yml          |  4 ++--
 .../src/VLSuiteCollectionHelper.php           | 24 +++++++++----------
 modules/vlsuite_demo/vlsuite_demo.install     |  4 ++--
 ...ratorModuleGeneratorProcessConfigTrait.php |  8 +++----
 ...teGeneratorModuleGeneratorProcessTrait.php | 12 +++++-----
 ..._override.node.vlsuite_landing.promote.yml |  4 ++--
 .../vlsuite_landing_content_editor.info.yml   |  2 +-
 .../vlsuite_layout_builder.install            |  2 +-
 ...ite_local_video.field_media_video_file.yml |  2 +-
 ..._remote_video.field_media_oembed_video.yml |  2 +-
 .../vlsuite_media.breakpoints.yml             |  2 +-
 .../src/Form/VLSuiteModalSettingsForm.php     |  2 +-
 .../src/Theme/VLSuiteModalThemeNegotiator.php |  8 +++----
 .../VLSuiteModalLibraryDiscoveryCollector.php |  2 +-
 modules/vlsuite_slider/js/vlsuite-slider.js   | 17 ++++++-------
 .../src/VLSuiteSliderHelper.php               |  6 ++---
 .../VLSuiteUtilityClassesSettingsForm.php     |  6 ++---
 24 files changed, 75 insertions(+), 74 deletions(-)

diff --git a/README.md b/README.md
index c408072..de58783 100644
--- a/README.md
+++ b/README.md
@@ -11,9 +11,9 @@ With collection blocks you will also find a preset of glossaries inside library.
 
 You will be able to use all that as a reference to extend it, modify it after initial installation & apply to any other entity using layout builder.
 
-Although this site editing experience out of the box is available thanks to the utility classes provided by Bootstrap 5, you can use any other theme or CSS framework as long as the utility classes for each functionality you use are available. VLSuite adds theme classes for you avoiding having to override templates in most of cases, also it uses an identifiers base system that allows you to change clasees or extend it without having to touch any code.
+Although this site editing experience out of the box is available thanks to the utility classes provided by Bootstrap 5, you can use any other theme or CSS framework as long as the utility classes for each functionality you use are available. VLSuite adds theme classes for you avoiding having to override templates in most of cases, also it uses an identifiers base system that allows you to change classes or extend it without having to touch any code.
 
-Besides you will be able to see a live preview of any utility applied directly just whit overing each utility option, and apply it just clicking on it.
+Besides you will be able to see a live preview of any utility applied directly just hovering each utility option, and apply it just clicking on it.
 
 Additionally, developers may extend the content authoring experience by adding custom layouts or blocks to have them ready to be used by Content Editors within a few clicks. Also use any other approach block for specific use cases if you need (contrib or custom).
 
@@ -21,7 +21,7 @@ Additionally, developers may extend the content authoring experience by adding c
 - Built upon Drupal Core’s Layout builder.
 - What You See is What You Get experience at the layout and content level, including appearance variants.
 - Editor experience greatly improved over what core provides.
-- Live preview of appearance variants applied by utitlities
+- Live preview of appearance variants applied by utilities
 - Reusable section or complete layouts from your site using layout library.
 - Permissions allow different levels of content editing for users (each utility can be marked as "Advanced" or not).
 - No distribution, profile or theme dependency.
@@ -53,13 +53,13 @@ You can easily set up a new custom block for your project, and within a few clic
 **Please follow these steps carefully to avoid wrong setup, check it again if you experience any inconvenience.**
 
 - Highly recommended using composer to get all dependencies, just use suggested command below (recommended using 1.1.x version to get live preview, collection blocks & many other new features).
-- Make sure your site can use patches; Require "cweagans/composer-patches" & set "enable-patching: true" or apply them by your own (see composer.json inside module in that case). This is a required step to warantee best experience.
+- Make sure your site can use patches; Require "cweagans/composer-patches" & set "enable-patching: true" or apply them by your own (see composer.json inside module in that case). This is a required step to warranty best experience.
 - If you use a bootstrap 5 based theme, make sure "container" class is not added into pages of content using layout builder & VLSuite. Editor will be able to choose if he wants an "Edge to edge" section for each VLSuite section. Floating UI may work incorrectly if you omit this step.
-- Otherwhise using other framework just adjust utility clases by UI or yml to your theme.
+- Otherwise using other framework just adjust utility classes by UI or yml to your theme.
 - Recommended enabling "VLSuite Demo" for faster initial setup (all dependencies, configurations & all requirements are automated). Or enable just modules with features of your choice. That single module will be auto-disabled after doing his job. Core 11 installation note https://drupal.org/i/3435575#comment-15800647
 - Also recommended enabling "VLSuite Shuttle" for faster initial setup but with your own customizations of medias, node & blocks (all dependencies, configurations & all requirements are automated). Or enable just modules with features of your choice. That single module will be auto-disabled after doing his job.
-- Customize any config or provided preset of everytning provided at your choice if you need it (utility classes, collection blocks view modes, medias to be used as background among other).
-- If you don't need all landings to have same content top & botom structure disable "Full content bottom (VLSuite)" & "Full content top (VLSuite)" displays in "/admin/structure/types/manage/vlsuite_landing/display".
+- Customize any config or provided preset of everything provided at your choice if you need it (utility classes, collection blocks view modes, medias to be used as background among other).
+- If you don't need all landings to have same content top & bottom structure disable "Full content bottom (VLSuite)" & "Full content top (VLSuite)" displays in "/admin/structure/types/manage/vlsuite_landing/display".
 - Assign VLSuite permissions and/or role to users of your choice & start creating awesome highly customizable content.
 
 ## Useful notes
@@ -69,7 +69,7 @@ Installed with demo or shuttle installation, or enable "vlsuite_block_headings_m
 
 This block will show an automatically generated menu based on headings (h1...h6) of section where placed.
 To use add a "Two columns with optional top & bottom (VLSuite)" section, place "Block Headings Menu (VLSuite)" on first region, & whatever you like on second (in reverse way menu will be empty, compatible with field blocks, views blocks & block content blocks).
-Notes: Base implementation is as described, yo can extend or modify its behaviour by code.
+Notes: Base implementation is as described, you can extend or modify its behavior by code.
 Used html format of fields that will be used on second region must allow "id" attribute in hx tags in order to have anchors working (see vlsuite "vlsuite:vlsuite_format -> Basic HTML (VLSuite)" as reference).
 
 **Global**
@@ -77,8 +77,8 @@ Use VLSuite demo provided preset as reference for whatever you like to do:
 
 - Apply utility classes to new blocks.
 - See how it works "vlsuite content top & vlsuite content bottom with full view modes".
-- See how to extend or restrict allowed blocks into landing (my new block does not appear to be used on landing node layout builder or whitout possibility to use utilities). That is configured into full customizable layout "Layout options", provided by "layout_builder_restrictions" contrib dependency.
+- See how to extend or restrict allowed blocks into landing (my new block does not appear to be used on landing node layout builder or without possibility to use utilities). That is configured into full customizable layout "Layout options", provided by "layout_builder_restrictions" contrib dependency.
 - Add or use content to/of library. Provided by contrib dependency section library module.
-- My editor role can't apply utilities, modify section options or use slider in sections or fields blocks with multiple cardinallity: make sure you granted "VLSuite" permissions to make that actions to your role. Also make sure su you use "vlsuite_x" block variants not "core" or vlsuite options won't appear.
+- My editor role can't apply utilities, modify section options or use slider in sections or fields blocks with multiple cardinality: make sure you granted "VLSuite" permissions to make that actions to your role. Also make sure su you use "vlsuite_x" block variants not "core" or vlsuite options won't appear.
 - Slider does not work: make sure your views-view.html.twig template adds a "div.view-content" wrapping rows output (see artisan:views sdc component as reference).
 - ...
diff --git a/modules/vlsuite_animations/src/Form/VLSuiteAnimationsSettingsForm.php b/modules/vlsuite_animations/src/Form/VLSuiteAnimationsSettingsForm.php
index 71f02f7..31c0664 100644
--- a/modules/vlsuite_animations/src/Form/VLSuiteAnimationsSettingsForm.php
+++ b/modules/vlsuite_animations/src/Form/VLSuiteAnimationsSettingsForm.php
@@ -175,7 +175,7 @@ final class VLSuiteAnimationsSettingsForm extends ConfigFormBase {
         '#tree' => FALSE,
         '#attributes' => ['class' => ['button--danger']],
         '#value' => $this->t('Remove animation'),
-        '#suffix' => $this->t('WARNING! Make sure no usement before removing.'),
+        '#suffix' => $this->t('WARNING! Make sure no usage before removing.'),
         '#submit' => ['::removeAnimation'],
         '#name' => 'animation_remove_animation_' . $delta,
         '#animation_delta' => $delta,
@@ -253,7 +253,7 @@ final class VLSuiteAnimationsSettingsForm extends ConfigFormBase {
     $form['basics']['main_classes'] = [
       '#type' => 'textfield',
       '#required' => TRUE,
-      '#title' => $this->t('Main class (or classes) to add along with the animation spicific one'),
+      '#title' => $this->t('Main class (or classes) to add along with the animation specific one'),
       '#description' => $this->t('Example "animate__animated". Separated by " " when multiple.'),
       '#default_value' => $this->configFactory->get('vlsuite_animations.settings')->get('main_classes'),
     ];
diff --git a/modules/vlsuite_animations/src/VLSuiteAnimationsHelper.php b/modules/vlsuite_animations/src/VLSuiteAnimationsHelper.php
index b9cab9d..c3a0d44 100644
--- a/modules/vlsuite_animations/src/VLSuiteAnimationsHelper.php
+++ b/modules/vlsuite_animations/src/VLSuiteAnimationsHelper.php
@@ -100,7 +100,7 @@ class VLSuiteAnimationsHelper {
    * @param array $defaults
    *   Config for default values.
    * @param array $scope_options
-   *   Scrope options where to apply (e.g: regions for section).
+   *   Scope options where to apply (e.g: regions for section).
    *
    * @return array
    *   Form element.
diff --git a/modules/vlsuite_block/src/Plugin/Block/VLSuiteMediaBgFieldBlock.php b/modules/vlsuite_block/src/Plugin/Block/VLSuiteMediaBgFieldBlock.php
index d64a4d0..6351b74 100644
--- a/modules/vlsuite_block/src/Plugin/Block/VLSuiteMediaBgFieldBlock.php
+++ b/modules/vlsuite_block/src/Plugin/Block/VLSuiteMediaBgFieldBlock.php
@@ -128,7 +128,7 @@ class VLSuiteMediaBgFieldBlock extends BlockBase implements ContextAwarePluginIn
    * Get media background identifier.
    *
    * @return int
-   *   Media indentifier from entity value.
+   *   Media identifier from entity value.
    */
   public function getMediaBgId() {
     $media_id = 0;
diff --git a/modules/vlsuite_block/vlsuite_block.module b/modules/vlsuite_block/vlsuite_block.module
index d528240..29e8fd2 100644
--- a/modules/vlsuite_block/vlsuite_block.module
+++ b/modules/vlsuite_block/vlsuite_block.module
@@ -32,7 +32,7 @@ function vlsuite_block_vlsuite_utility_classes_utility_apply_to_options_alter(&$
 }
 
 /**
- * Utilit classes apply to enabled definitions helper function.
+ * Utility classes apply to enabled definitions helper function.
  *
  * @param string $just_for_entity_type_key
  *   Entity type key.
diff --git a/modules/vlsuite_bundle_field/vlsuite_bundle_field.install b/modules/vlsuite_bundle_field/vlsuite_bundle_field.install
index 4ec5fb2..0254615 100644
--- a/modules/vlsuite_bundle_field/vlsuite_bundle_field.install
+++ b/modules/vlsuite_bundle_field/vlsuite_bundle_field.install
@@ -14,18 +14,18 @@ use Drupal\vlsuite_bundle_field\VLSuiteBundleFieldStorageDefinitions;
  */
 function vlsuite_bundle_field_update_10001() {
   $entity_type = \Drupal::service('entity_type.manager')->getDefinition('block_content');
-  $udate_manager = \Drupal::service('entity.definition_update_manager');
-  if ($entity_type instanceof EntityTypeInterface && $udate_manager instanceof EntityDefinitionUpdateManagerInterface) {
-    $storage_definitions_change_list = $udate_manager->getChangeList()['block_content']['field_storage_definitions'] ?? [];
+  $update_manager = \Drupal::service('entity.definition_update_manager');
+  if ($entity_type instanceof EntityTypeInterface && $update_manager instanceof EntityDefinitionUpdateManagerInterface) {
+    $storage_definitions_change_list = $update_manager->getChangeList()['block_content']['field_storage_definitions'] ?? [];
     $definitions = VLSuiteBundleFieldStorageDefinitions::bundleFieldDefinitions($entity_type, $entity_type->id(), []);
     foreach ($definitions as $definition) {
       switch ($storage_definitions_change_list[$definition->getName()] ?? NULL) {
         case EntityDefinitionUpdateManagerInterface::DEFINITION_CREATED:
-          $udate_manager->installFieldStorageDefinition($definition->getName(), $entity_type->id(), 'vlsuite_bundle_field', $definition);
+          $update_manager->installFieldStorageDefinition($definition->getName(), $entity_type->id(), 'vlsuite_bundle_field', $definition);
           break;
 
         case EntityDefinitionUpdateManagerInterface::DEFINITION_UPDATED:
-          $udate_manager->updateFieldStorageDefinition($definition);
+          $update_manager->updateFieldStorageDefinition($definition);
           break;
       }
     }
diff --git a/modules/vlsuite_bundle_field/vlsuite_bundle_field.module b/modules/vlsuite_bundle_field/vlsuite_bundle_field.module
index 2d09967..fe9c975 100644
--- a/modules/vlsuite_bundle_field/vlsuite_bundle_field.module
+++ b/modules/vlsuite_bundle_field/vlsuite_bundle_field.module
@@ -18,7 +18,7 @@ function vlsuite_bundle_field_entity_field_storage_info(EntityTypeInterface $ent
   // use these bundles.
   // Add all base fields so provider module is "vlsuite_bundle_field", that way
   // any bundle field can be used/reused/unused when needed.
-  // @note Optional module dependencies provinding used bundle field types must
+  // @note Optional module dependencies providing used bundle field types must
   // be managed into that module, @see:
   // vlsuite_block_webform_entity_field_storage_info().
   // vlsuite_block_paragraph_entity_field_storage_info().
diff --git a/modules/vlsuite_collection/modules/vlsuite_collection_stmt/vlsuite_collection_stmt.info.yml b/modules/vlsuite_collection/modules/vlsuite_collection_stmt/vlsuite_collection_stmt.info.yml
index 4fe3fe3..29ce76b 100644
--- a/modules/vlsuite_collection/modules/vlsuite_collection_stmt/vlsuite_collection_stmt.info.yml
+++ b/modules/vlsuite_collection/modules/vlsuite_collection_stmt/vlsuite_collection_stmt.info.yml
@@ -1,6 +1,6 @@
-name: VLSuite - Collection STMT (Statement / Quoute)
+name: VLSuite - Collection STMT (Statement / Quote)
 type: module
-description: Visual Layout Suite (VLSuite) - Collection STMT (Statement / Quoute)
+description: Visual Layout Suite (VLSuite) - Collection STMT (Statement / Quote)
 package: Visual Layout Suite (VLSuite)
 core_version_requirement: ^10.3 || ^11
 
diff --git a/modules/vlsuite_collection/src/VLSuiteCollectionHelper.php b/modules/vlsuite_collection/src/VLSuiteCollectionHelper.php
index 35432d1..c74b364 100644
--- a/modules/vlsuite_collection/src/VLSuiteCollectionHelper.php
+++ b/modules/vlsuite_collection/src/VLSuiteCollectionHelper.php
@@ -48,19 +48,19 @@ class VLSuiteCollectionHelper {
   /**
    * Constructs a "VLSuiteCollectionHelper" object.
    *
-   * @param \Drupal\Core\Extension\ExtensionPathResolver $extension_path_resovler
+   * @param \Drupal\Core\Extension\ExtensionPathResolver $extension_path_resolver
    *   The extension path resolver.
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
    *   The entity type manager.
-   * @param \Drupal\Core\File\FileSystemInterface $file_sysyem
+   * @param \Drupal\Core\File\FileSystemInterface $file_system
    *   The file system.
    * @param \Drupal\Core\Entity\EntityTypeManagerInterface $file_repository
    *   The file repository.
    */
-  public function __construct(ExtensionPathResolver $extension_path_resovler, EntityTypeManagerInterface $entity_type_manager, FileSystemInterface $file_sysyem, FileRepositoryInterface $file_repository) {
-    $this->extensionPathResolver = $extension_path_resovler;
+  public function __construct(ExtensionPathResolver $extension_path_resolver, EntityTypeManagerInterface $entity_type_manager, FileSystemInterface $file_system, FileRepositoryInterface $file_repository) {
+    $this->extensionPathResolver = $extension_path_resolver;
     $this->entityTypeManager = $entity_type_manager;
-    $this->fileSystem = $file_sysyem;
+    $this->fileSystem = $file_system;
     $this->fileRepository = $file_repository;
   }
 
@@ -103,10 +103,10 @@ class VLSuiteCollectionHelper {
    *   Section library template uuid to use.
    * @param string $module_name
    *   Module name.
-   * @param array $media_placehold_it
+   * @param array $media_placeholder_it
    *   [Media field name | Media uuid] to use.
    */
-  public function sectionLibraryTemplateCreateFromYmlFile(string $uuid, string $module_name, array $media_placehold_it = []) {
+  public function sectionLibraryTemplateCreateFromYmlFile(string $uuid, string $module_name, array $media_placeholder_it = []) {
     $yml_path = $this->extensionPathResolver->getPath('module', $module_name) . '/assets/section-library-template-' . $uuid . '.yml';
     $yml_content = file_get_contents($yml_path);
 
@@ -132,7 +132,7 @@ class VLSuiteCollectionHelper {
         $source['third_party_settings'],
       );
       foreach ($source['components'] as $uuid => $component_array) {
-        $this->blockMediaPlaceholdIt($component_array, $media_placehold_it);
+        $this->blockMediaPlaceholderIt($component_array, $media_placeholder_it);
         $section->appendComponent((new SectionComponent($uuid, $component_array['region'], $component_array['configuration'])));
       }
       $new_template['layout_section'][] = $section;
@@ -142,15 +142,15 @@ class VLSuiteCollectionHelper {
   }
 
   /**
-   * Section component block media palcehold it.
+   * Section component block media placeholder it.
    *
    * @param array $component_array
    *   Component array.
-   * @param array $media_placehold_it
+   * @param array $media_placeholder_it
    *   [Media field name | Media uuid] to use.
    */
-  protected function blockMediaPlaceholdIt(array &$component_array, array $media_placehold_it) {
-    foreach ($media_placehold_it as $media_field_name => $media_uuid) {
+  protected function blockMediaPlaceholderIt(array &$component_array, array $media_placeholder_it) {
+    foreach ($media_placeholder_it as $media_field_name => $media_uuid) {
       // phpcs:ignore DrupalPractice.FunctionCalls.InsecureUnserialize.InsecureUnserialize
       $block = !empty($component_array['configuration']['block_serialized']) ? unserialize($component_array['configuration']['block_serialized']) : NULL;
       if ($block instanceof VLSuiteBlockBase && $block->hasField($media_field_name) && !$block->get($media_field_name)->isEmpty()) {
diff --git a/modules/vlsuite_demo/vlsuite_demo.install b/modules/vlsuite_demo/vlsuite_demo.install
index 47d5419..acef93a 100644
--- a/modules/vlsuite_demo/vlsuite_demo.install
+++ b/modules/vlsuite_demo/vlsuite_demo.install
@@ -78,7 +78,7 @@ function _vlsuite_demo_layout_builder_display_config_section_block_set_media_uui
 }
 
 /**
- * Demo collection block utilitties enable.
+ * Demo collection block utilities enable.
  */
 function _vlsuite_demo_collection_block_utilities_enable() {
   $editable_config = \Drupal::configFactory()->getEditable('vlsuite_block.settings');
@@ -116,7 +116,7 @@ function _vlsuite_demo_collection_block_utilities_enable() {
 }
 
 /**
- * Demo collection block utilitties set from assets.
+ * Demo collection block utilities set from assets.
  */
 function _vlsuite_demo_collection_block_utilities_set() {
   $module_name = 'vlsuite_demo';
diff --git a/modules/vlsuite_generator/src/VLSuiteGeneratorModuleGeneratorProcessConfigTrait.php b/modules/vlsuite_generator/src/VLSuiteGeneratorModuleGeneratorProcessConfigTrait.php
index 483bfbc..fb11e6d 100644
--- a/modules/vlsuite_generator/src/VLSuiteGeneratorModuleGeneratorProcessConfigTrait.php
+++ b/modules/vlsuite_generator/src/VLSuiteGeneratorModuleGeneratorProcessConfigTrait.php
@@ -20,13 +20,13 @@ trait VLSuiteGeneratorModuleGeneratorProcessConfigTrait {
    *   Require confirmation or bypass.
    */
   protected function processConfigDependencies(string $config_name, bool $require_confirmation = TRUE) {
-    // Avoid reduntant processor.
+    // Avoid redundant processor.
     if (isset($this->config[$config_name])) {
       $this->logger->debug("Config \"{$config_name}\": Redundant processor avoided (config already processed or discarded)");
       return;
     }
 
-    $this->logger->notice("Procesing config dependencies \"{$config_name}\"");
+    $this->logger->notice("Processing config dependencies \"{$config_name}\"");
     $matches = [];
     // Lookup for main entity types config names to manage reverse dependencies
     // as fields, entity displays, etc (dependency is that way not direct).
@@ -70,7 +70,7 @@ trait VLSuiteGeneratorModuleGeneratorProcessConfigTrait {
    */
   protected function processConfigDependenciesEntityTypeBundle(string $config_name, bool $require_confirmation, string $bundle_entity_type, string $bundle) {
     $this->logger->debug("Main config {$config_name}");
-    // Avoid reduntant processor.
+    // Avoid redundant processor.
     if ($require_confirmation && isset($this->entityTypes[$bundle_entity_type][$bundle])) {
       $this->logger->debug("Entity \"{$bundle}\" of type \"{$bundle_entity_type}\": Redundant processor avoided (entity type bundle already processed or discarded)");
       return;
@@ -171,7 +171,7 @@ trait VLSuiteGeneratorModuleGeneratorProcessConfigTrait {
       }
       foreach (array_keys($discarded) as $discarded_config_name) {
         if (isset($config_content['dependencies']['config'][$discarded_config_name])) {
-          $this->logger->debug("Descarded config dependency \"{$discarded_config_name}\": Cleanup for \"{$config_name}\"");
+          $this->logger->debug("Discarded config dependency \"{$discarded_config_name}\": Cleanup for \"{$config_name}\"");
           unset($config_content['dependencies']['config'][$discarded_config_name]);
         }
       }
diff --git a/modules/vlsuite_generator/src/VLSuiteGeneratorModuleGeneratorProcessTrait.php b/modules/vlsuite_generator/src/VLSuiteGeneratorModuleGeneratorProcessTrait.php
index f090403..39ad413 100644
--- a/modules/vlsuite_generator/src/VLSuiteGeneratorModuleGeneratorProcessTrait.php
+++ b/modules/vlsuite_generator/src/VLSuiteGeneratorModuleGeneratorProcessTrait.php
@@ -63,7 +63,7 @@ trait VLSuiteGeneratorModuleGeneratorProcessTrait {
    *   Section to process.
    */
   protected function processSection(Section $section) {
-    $this->logger->notice("Procesing section \"{$section->getLayoutId()}\"");
+    $this->logger->notice("Processing section \"{$section->getLayoutId()}\"");
     $this->modules[$section->getLayout()->getPluginDefinition()->getProvider()] = TRUE;
     $this->processSectionStylesDependencies($section);
   }
@@ -79,14 +79,14 @@ trait VLSuiteGeneratorModuleGeneratorProcessTrait {
     $process_result = TRUE;
     if ($block_plugin instanceof FieldBlock) {
       $this->processComponentFieldBlock($component, $block_plugin);
-      // As vluiste uses same base class, this process is complementary.
+      // As VLSuite uses same base class, this process is complementary.
       if ($block_plugin instanceof VLSuiteFieldBlock) {
         $this->processComponentVlsuiteFieldBlock($component, $block_plugin);
       }
     }
     elseif ($block_plugin instanceof InlineBlock) {
       $this->processComponentInlineBlock($component, $block_plugin);
-      // As vluiste uses same base class, this process is complementary.
+      // As VLSuite uses same base class, this process is complementary.
       if ($block_plugin instanceof VLSuiteInlineBlock) {
         $this->processComponentVlsuiteInlineBlock($component, $block_plugin);
       }
@@ -101,10 +101,10 @@ trait VLSuiteGeneratorModuleGeneratorProcessTrait {
       $process_result = FALSE;
     }
     if ($process_result) {
-      $this->logger->notice("Procesing section component \"{$component->getPluginId()}: OK");
+      $this->logger->notice("Processing section component \"{$component->getPluginId()}: OK");
     }
     else {
-      $this->logger->warning("Procesing section component \"{$component->getPluginId()}: KO");
+      $this->logger->warning("Processing section component \"{$component->getPluginId()}: KO");
     }
   }
 
@@ -161,7 +161,7 @@ trait VLSuiteGeneratorModuleGeneratorProcessTrait {
   protected function processComponentFieldBlock(SectionComponent $component, FieldBlock $block_plugin) {
     [$entity_type_id, $bundle] = explode($block_plugin::DERIVATIVE_SEPARATOR, $block_plugin->getDerivativeId(), 3);
     $bundle_entity_type = \Drupal::entityTypeManager()->getDefinition($entity_type_id)->getBundleEntityType();
-    // Avoid reduntant processor.
+    // Avoid redundant processor.
     if (isset($this->entityTypes[$bundle_entity_type][$bundle])) {
       $this->logger->debug("Entity \"{$bundle}\" of type \"{$bundle_entity_type}\": Redundant processor avoided (entity type bundle already processed or discarded)");
       return;
diff --git a/modules/vlsuite_landing/config/optional/core.base_field_override.node.vlsuite_landing.promote.yml b/modules/vlsuite_landing/config/optional/core.base_field_override.node.vlsuite_landing.promote.yml
index 5605e0b..5856fc1 100644
--- a/modules/vlsuite_landing/config/optional/core.base_field_override.node.vlsuite_landing.promote.yml
+++ b/modules/vlsuite_landing/config/optional/core.base_field_override.node.vlsuite_landing.promote.yml
@@ -19,6 +19,6 @@ default_value:
     value: 0
 default_value_callback: ''
 settings:
-  on_label: Activado
-  off_label: Desactivado
+  on_label: Activated
+  off_label: Deactivated
 field_type: boolean
diff --git a/modules/vlsuite_landing/modules/vlsuite_landing_content_editor/vlsuite_landing_content_editor.info.yml b/modules/vlsuite_landing/modules/vlsuite_landing_content_editor/vlsuite_landing_content_editor.info.yml
index 013e891..f3a8bc1 100644
--- a/modules/vlsuite_landing/modules/vlsuite_landing_content_editor/vlsuite_landing_content_editor.info.yml
+++ b/modules/vlsuite_landing/modules/vlsuite_landing_content_editor/vlsuite_landing_content_editor.info.yml
@@ -1,4 +1,4 @@
-name: VLSuite - Laning content editor
+name: VLSuite - Landing content editor
 type: module
 description: Visual Layout Suite (VLSuite) - Landing content editor
 package: Visual Layout Suite (VLSuite)
diff --git a/modules/vlsuite_layout_builder/vlsuite_layout_builder.install b/modules/vlsuite_layout_builder/vlsuite_layout_builder.install
index f3739fd..a7ca21f 100644
--- a/modules/vlsuite_layout_builder/vlsuite_layout_builder.install
+++ b/modules/vlsuite_layout_builder/vlsuite_layout_builder.install
@@ -6,7 +6,7 @@
  */
 
 /**
- * Ensure new depenencies are enabled.
+ * Ensure new dependencies are enabled.
  */
 function vlsuite_layout_builder_update_10001() {
   if (!\Drupal::service('module_handler')->moduleExists('vlsuite_utility_classes')) {
diff --git a/modules/vlsuite_media/modules/vlsuite_media_local_video/config/optional/field.field.media.vlsuite_local_video.field_media_video_file.yml b/modules/vlsuite_media/modules/vlsuite_media_local_video/config/optional/field.field.media.vlsuite_local_video.field_media_video_file.yml
index 932a291..d809f59 100644
--- a/modules/vlsuite_media/modules/vlsuite_media_local_video/config/optional/field.field.media.vlsuite_local_video.field_media_video_file.yml
+++ b/modules/vlsuite_media/modules/vlsuite_media_local_video/config/optional/field.field.media.vlsuite_local_video.field_media_video_file.yml
@@ -13,7 +13,7 @@ id: media.vlsuite_local_video.field_media_video_file
 field_name: field_media_video_file
 entity_type: media
 bundle: vlsuite_local_video
-label: 'Archivo de vídeo'
+label: 'Video file'
 description: ''
 required: true
 translatable: true
diff --git a/modules/vlsuite_media/modules/vlsuite_media_remote_video/config/optional/field.field.media.vlsuite_remote_video.field_media_oembed_video.yml b/modules/vlsuite_media/modules/vlsuite_media_remote_video/config/optional/field.field.media.vlsuite_remote_video.field_media_oembed_video.yml
index 2925655..ccc94cc 100644
--- a/modules/vlsuite_media/modules/vlsuite_media_remote_video/config/optional/field.field.media.vlsuite_remote_video.field_media_oembed_video.yml
+++ b/modules/vlsuite_media/modules/vlsuite_media_remote_video/config/optional/field.field.media.vlsuite_remote_video.field_media_oembed_video.yml
@@ -11,7 +11,7 @@ id: media.vlsuite_remote_video.field_media_oembed_video
 field_name: field_media_oembed_video
 entity_type: media
 bundle: vlsuite_remote_video
-label: 'URL de Video remoto'
+label: 'URL remote Video'
 description: ''
 required: true
 translatable: true
diff --git a/modules/vlsuite_media/vlsuite_media.breakpoints.yml b/modules/vlsuite_media/vlsuite_media.breakpoints.yml
index ed6e8bb..eec6d71 100644
--- a/modules/vlsuite_media/vlsuite_media.breakpoints.yml
+++ b/modules/vlsuite_media/vlsuite_media.breakpoints.yml
@@ -1,5 +1,5 @@
 #vlsuite_media.always_active:
-#  label: 'Always acive'
+#  label: 'Always active'
 #  mediaQuery: ''
 #  weight: 0
 #  multipliers:
diff --git a/modules/vlsuite_modal/src/Form/VLSuiteModalSettingsForm.php b/modules/vlsuite_modal/src/Form/VLSuiteModalSettingsForm.php
index b310d9f..50c46e9 100644
--- a/modules/vlsuite_modal/src/Form/VLSuiteModalSettingsForm.php
+++ b/modules/vlsuite_modal/src/Form/VLSuiteModalSettingsForm.php
@@ -94,7 +94,7 @@ final class VLSuiteModalSettingsForm extends ConfigFormBase {
     $form['layout_builder']['layout_builder_admin_inherited'] = [
       '#type' => 'checkbox',
       '#title' => $this->t('Use admin theme appearance for modal pages'),
-      '#description' => $this->t('Inherit appearance dinamically into layout builder "layout" pages (for modal loaded pages, not for main pages, media library widget, drag & drop tables, ...). Main active theme style may interfere, use carefully, this will load original admin theme dependecies, not simulated.'),
+      '#description' => $this->t('Inherit appearance dynamically into layout builder "layout" pages (for modal loaded pages, not for main pages, media library widget, drag & drop tables, ...). Main active theme style may interfere, use carefully, this will load original admin theme dependencies, not simulated.'),
       '#default_value' => $config->get('layout_builder_admin_inherited'),
     ];
 
diff --git a/modules/vlsuite_modal/src/Theme/VLSuiteModalThemeNegotiator.php b/modules/vlsuite_modal/src/Theme/VLSuiteModalThemeNegotiator.php
index dfe4ee4..d6b3e68 100644
--- a/modules/vlsuite_modal/src/Theme/VLSuiteModalThemeNegotiator.php
+++ b/modules/vlsuite_modal/src/Theme/VLSuiteModalThemeNegotiator.php
@@ -16,13 +16,13 @@ class VLSuiteModalThemeNegotiator extends AjaxBasePageNegotiator {
    */
   public function applies(RouteMatchInterface $route_match) {
     // Inherit admin theme library definitions to have assets loaded before
-    // modal opens, not using iframe due complexity & some limititations like
+    // modal opens, not using iframe due complexity & some limitations like
     // not having modal actions, auto height not working, ...
     // Also avoid replicate some specific theme styles, use originals.
     // This implementation consist:
-    // 1. Build library dinamically with admin theme libraries as dependencies.
+    // 1. Build library dynamically with admin theme libraries as dependencies.
     // 2. Library discovery collector used to mix & ensure styles for lb page.
-    // 3. Layout builder will attach dinamically generated library.
+    // 3. Layout builder will attach dynamically generated library.
     // 4. Layout builder will toggle active theme by theme negotiator.
     // @see
     // VLSuiteModalLayoutBuilderPreRender::preRender().
@@ -53,7 +53,7 @@ class VLSuiteModalThemeNegotiator extends AjaxBasePageNegotiator {
       $is_vlsuite_modal = ($this->requestStack->getCurrentRequest()->request->all('dialogOptions')['target'] ?? NULL) == VLSuiteModalHelper::DIALOG_TARGET;
       // @note name = op (update) will trigger default theme, form errors are
       // unknown at this point (response still not calculated), recommended
-      // adding ife + clientside validation when available for these forms.
+      // adding ife + client-side validation when available for these forms.
       $is_block_form = str_contains($this->requestStack->getCurrentRequest()->request->get('_triggering_element_name') ?? '', 'block_form');
       $is_settings = str_contains($this->requestStack->getCurrentRequest()->request->get('_triggering_element_name') ?? '', 'settings');
       $is_import_section_route = $route_match->getRouteName() == 'section_library.import_section_from_library';
diff --git a/modules/vlsuite_modal/src/VLSuiteModalLibraryDiscoveryCollector.php b/modules/vlsuite_modal/src/VLSuiteModalLibraryDiscoveryCollector.php
index 04ebe23..e952cad 100644
--- a/modules/vlsuite_modal/src/VLSuiteModalLibraryDiscoveryCollector.php
+++ b/modules/vlsuite_modal/src/VLSuiteModalLibraryDiscoveryCollector.php
@@ -44,7 +44,7 @@ class VLSuiteModalLibraryDiscoveryCollector extends LibraryDiscoveryCollector {
   }
 
   /**
-   * Set theme initiazilation.
+   * Set theme initialization.
    *
    * @param \Drupal\Core\Theme\ThemeInitializationInterface $theme_initialization
    *   The theme initialization.
diff --git a/modules/vlsuite_slider/js/vlsuite-slider.js b/modules/vlsuite_slider/js/vlsuite-slider.js
index fe76414..75f6260 100644
--- a/modules/vlsuite_slider/js/vlsuite-slider.js
+++ b/modules/vlsuite_slider/js/vlsuite-slider.js
@@ -97,15 +97,15 @@
       };
     }
     if (config['navigation'] ?? false) {
-      var naginationNext = document.createElement('div');
-      naginationNext.classList.add('swiper-button-next');
-      var naginationPrev = document.createElement('div');
-      naginationPrev.classList.add('swiper-button-prev');
-      swiperElement.appendChild(naginationNext);
-      swiperElement.appendChild(naginationPrev);
+      var navigationNext = document.createElement('div');
+      navigationNext.classList.add('swiper-button-next');
+      var navigationPrev = document.createElement('div');
+      navigationPrev.classList.add('swiper-button-prev');
+      swiperElement.appendChild(navigationNext);
+      swiperElement.appendChild(navigationPrev);
       swiperOptions['navigation'] = {
-        nextEl: naginationNext,
-        prevEl: naginationPrev
+        nextEl: navigationNext,
+        prevEl: navigationPrev
       };
     }
     if (config['autoplay'] ?? false) {
@@ -117,3 +117,4 @@
     new window.Swiper(swiperElement, swiperOptions);
   }
 }(Drupal, once, window));
+
diff --git a/modules/vlsuite_slider/src/VLSuiteSliderHelper.php b/modules/vlsuite_slider/src/VLSuiteSliderHelper.php
index 5f15b8a..d27f14f 100644
--- a/modules/vlsuite_slider/src/VLSuiteSliderHelper.php
+++ b/modules/vlsuite_slider/src/VLSuiteSliderHelper.php
@@ -54,7 +54,7 @@ class VLSuiteSliderHelper {
    * @param array $defaults
    *   Config for default values.
    * @param array $scope_options
-   *   Scrope options where to apply (e.g: regions for section).
+   *   Scope options where to apply (e.g: regions for section).
    *
    * @return array
    *   Form element.
@@ -191,12 +191,12 @@ class VLSuiteSliderHelper {
    * @param array $slider_config
    *   Slider config.
    * @param string $scope_selector
-   *   Scope selector wher carousel should init.
+   *   Scope selector where carousel should init.
    * @param string $scope_items_selector
    *   Items selector scope (relative to previous) for slide elements.
    *
    * @return string
-   *   Slider opctions serialized.
+   *   Slider options serialized.
    */
   public function getSliderDataAttributeValue(array $slider_config, string $scope_selector = ':scope', string $scope_items_selector = ':scope > div') {
     $value = Json::encode($slider_config + [
diff --git a/modules/vlsuite_utility_classes/src/Form/VLSuiteUtilityClassesSettingsForm.php b/modules/vlsuite_utility_classes/src/Form/VLSuiteUtilityClassesSettingsForm.php
index 6c881ce..ecc83a7 100644
--- a/modules/vlsuite_utility_classes/src/Form/VLSuiteUtilityClassesSettingsForm.php
+++ b/modules/vlsuite_utility_classes/src/Form/VLSuiteUtilityClassesSettingsForm.php
@@ -251,7 +251,7 @@ final class VLSuiteUtilityClassesSettingsForm extends ConfigFormBase {
         '#tree' => FALSE,
         '#attributes' => ['class' => ['button--danger']],
         '#value' => $this->t('Remove utility class'),
-        '#suffix' => $this->t('WARNING! Make sure no usement before removing.'),
+        '#suffix' => $this->t('WARNING! Make sure no usage before removing.'),
         '#submit' => ['::removeUtility'],
         '#name' => 'utility_remove_utility_' . $delta,
         '#utility_delta' => $delta,
@@ -296,7 +296,7 @@ final class VLSuiteUtilityClassesSettingsForm extends ConfigFormBase {
           '#attributes' => ['class' => ['button--danger']],
           '#value' => $this->t('Remove utility class value'),
           '#name' => 'utility_remove_value_' . $delta . '_' . $utility_value_key,
-          '#suffix' => $this->t('WARNING! Make sure no usement before removing.'),
+          '#suffix' => $this->t('WARNING! Make sure no usage before removing.'),
           '#submit' => ['::removeUtilityClassValue'],
           '#utility_delta' => $delta,
           '#utility_value_delta' => $utility_value_key,
@@ -354,7 +354,7 @@ final class VLSuiteUtilityClassesSettingsForm extends ConfigFormBase {
       '#tree' => TRUE,
       '#open' => TRUE,
       '#title' => $this->t('Info'),
-      '#description' => $this->t('Default provided is using similar as <a href=":link" target="_blank">Bootstrap 5 utilities</a>, you can adjust to fit your bootstrap customization or to your completly customized styles.',
+      '#description' => $this->t('Default provided is using similar as <a href=":link" target="_blank">Bootstrap 5 utilities</a>, you can adjust to fit your bootstrap customization or to your completely customized styles.',
         [':link' => 'https://getbootstrap.com/docs/5.0/utilities']),
     ];
 
-- 
GitLab


From 1c1b0bb1e9aefd20d30f55222b8b880ded3cb4a0 Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 11:05:23 +0200
Subject: [PATCH 02/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 .../Form/VLSuiteAnimationsSettingsForm.php    |  6 +++---
 modules/vlsuite_demo/vlsuite_demo.install     |  4 ++--
 .../src/Plugin/Layout/VLSuiteLayoutBase.php   | 20 +++++++++----------
 ...uite-utility-classes-live-previewer.es6.js |  8 ++++----
 .../vlsuite-utility-classes-live-previewer.js | 16 +++++++--------
 .../VLSuiteUtilityClassesSettingsForm.php     | 16 +++++++--------
 .../src/VLSuiteUtilityClassesHelper.php       | 18 ++++++++---------
 7 files changed, 44 insertions(+), 44 deletions(-)

diff --git a/modules/vlsuite_animations/src/Form/VLSuiteAnimationsSettingsForm.php b/modules/vlsuite_animations/src/Form/VLSuiteAnimationsSettingsForm.php
index 31c0664..3f2dbc3 100644
--- a/modules/vlsuite_animations/src/Form/VLSuiteAnimationsSettingsForm.php
+++ b/modules/vlsuite_animations/src/Form/VLSuiteAnimationsSettingsForm.php
@@ -66,7 +66,7 @@ final class VLSuiteAnimationsSettingsForm extends ConfigFormBase {
    * @return array
    *   Animations processed.
    */
-  protected function animationsTreeValuesProccesed(array $animations) {
+  protected function animationsTreeValuesProcessed(array $animations) {
     $animations_processed = [];
     foreach ($animations as $animation_delta => $animation) {
       $animations_processed[$animation_delta]['identifier'] = $animation['identifier'];
@@ -86,7 +86,7 @@ final class VLSuiteAnimationsSettingsForm extends ConfigFormBase {
    *   Form state.
    */
   public function addAnimation(array $form, FormStateInterface $form_state) {
-    $animations = $this->animationsTreeValuesProccesed($form_state->getValue('animations', []));
+    $animations = $this->animationsTreeValuesProcessed($form_state->getValue('animations', []));
     $animations[] = [];
     $form_state->set('animations', $animations);
     $form_state->setRebuild();
@@ -102,7 +102,7 @@ final class VLSuiteAnimationsSettingsForm extends ConfigFormBase {
    */
   public function removeAnimation(array $form, FormStateInterface $form_state) {
     $animation_delta = $form_state->getTriggeringElement()['#animation_delta'];
-    $animations = $this->animationsTreeValuesProccesed($form_state->getValue('animations', []));
+    $animations = $this->animationsTreeValuesProcessed($form_state->getValue('animations', []));
     unset($animations[$animation_delta]);
     $form_state->set('animations', $animations);
     $form_state->setRebuild();
diff --git a/modules/vlsuite_demo/vlsuite_demo.install b/modules/vlsuite_demo/vlsuite_demo.install
index acef93a..0db4435 100644
--- a/modules/vlsuite_demo/vlsuite_demo.install
+++ b/modules/vlsuite_demo/vlsuite_demo.install
@@ -126,7 +126,7 @@ function _vlsuite_demo_collection_block_utilities_set() {
   $utilities = $editable_config->get('utilities');
   $source = Yaml::decode($yml_content);
   $source_utilities = $source['utilities'];
-  $merged_utilitites = NestedArray::mergeDeep($utilities, $source_utilities);
-  $editable_config->set('utilities', $merged_utilitites);
+  $merged_utilities = NestedArray::mergeDeep($utilities, $source_utilities);
+  $editable_config->set('utilities', $merged_utilities);
   $editable_config->save();
 }
diff --git a/modules/vlsuite_layout/src/Plugin/Layout/VLSuiteLayoutBase.php b/modules/vlsuite_layout/src/Plugin/Layout/VLSuiteLayoutBase.php
index e7cd9ed..2d6abb5 100644
--- a/modules/vlsuite_layout/src/Plugin/Layout/VLSuiteLayoutBase.php
+++ b/modules/vlsuite_layout/src/Plugin/Layout/VLSuiteLayoutBase.php
@@ -310,9 +310,9 @@ abstract class VLSuiteLayoutBase extends LayoutDefault implements PluginFormInte
       $build['#attributes']->addClass($this->utilityClassHelper->getContainerClasses());
     }
 
-    $section_utility_clases_config = $this->configuration[VLSuiteUtilityClassesHelper::UTILITY_CLASSES_KEY][self::APPLY_TO_SECTION] ?? [];
+    $section_utility_classes_config = $this->configuration[VLSuiteUtilityClassesHelper::UTILITY_CLASSES_KEY][self::APPLY_TO_SECTION] ?? [];
 
-    $section_utility_classes = $this->utilityClassHelper->getUtilitiesApplyToClasses(self::APPLY_TO_SECTION, $section_utility_clases_config);
+    $section_utility_classes = $this->utilityClassHelper->getUtilitiesApplyToClasses(self::APPLY_TO_SECTION, $section_utility_classes_config);
     $section_classes = array_merge([
       'vlsuite-layout-bg-wrapper',
       Html::cleanCssIdentifier($this->getPluginDefinition()->id() . '-bg-wrapper'),
@@ -325,13 +325,13 @@ abstract class VLSuiteLayoutBase extends LayoutDefault implements PluginFormInte
       }
       $build['#theme_wrappers']['container']['#attributes']->addClass($section_classes);
       if ($this->inPreview) {
-        $this->utilityClassHelper->applyLivePreviewerAttributes($build['#theme_wrappers']['container']['#attributes'], self::APPLY_TO_SECTION, $section_utility_clases_config);
+        $this->utilityClassHelper->applyLivePreviewerAttributes($build['#theme_wrappers']['container']['#attributes'], self::APPLY_TO_SECTION, $section_utility_classes_config);
       }
     }
     else {
       $build['#attributes']->addClass($section_classes);
       if ($this->inPreview) {
-        $this->utilityClassHelper->applyLivePreviewerAttributes($build['#attributes'], self::APPLY_TO_SECTION, $section_utility_clases_config);
+        $this->utilityClassHelper->applyLivePreviewerAttributes($build['#attributes'], self::APPLY_TO_SECTION, $section_utility_classes_config);
       }
     }
     $media_bg_field = $this->getMediaBgFieldId($regions);
@@ -339,26 +339,26 @@ abstract class VLSuiteLayoutBase extends LayoutDefault implements PluginFormInte
     if (!empty($media_bg)) {
       $look_up_for_media = $this->entityTypeManager->getStorage('media')->load($media_bg);
       if ($look_up_for_media instanceof MediaInterface) {
-        $media_bg_utility_clases_config = $this->configuration[VLSuiteUtilityClassesHelper::UTILITY_CLASSES_KEY][self::APPLY_TO_MEDIA_BG] ?? [];
-        $media_bg_utility_classes = $this->utilityClassHelper->getUtilitiesApplyToClasses(self::APPLY_TO_MEDIA_BG, $media_bg_utility_clases_config);
+        $media_bg_utility_classes_config = $this->configuration[VLSuiteUtilityClassesHelper::UTILITY_CLASSES_KEY][self::APPLY_TO_MEDIA_BG] ?? [];
+        $media_bg_utility_classes = $this->utilityClassHelper->getUtilitiesApplyToClasses(self::APPLY_TO_MEDIA_BG, $media_bg_utility_classes_config);
         $build['media_bg'] = ['#type' => 'container'];
         $build['media_bg']['media'] = $this->entityTypeManager->getViewBuilder('media')->view($look_up_for_media, 'vlsuite_background');
         $build['media_bg']['#attributes']['class'][] = 'vlsuite-layout-bg-wrapper__bg-media';
         $build['media_bg']['#attributes']['class'] = array_merge($build['media_bg']['#attributes']['class'], $media_bg_utility_classes);
         if ($this->inPreview) {
-          $this->utilityClassHelper->applyLivePreviewerAttributes($build['media_bg']['#attributes'], self::APPLY_TO_MEDIA_BG, $media_bg_utility_clases_config);
+          $this->utilityClassHelper->applyLivePreviewerAttributes($build['media_bg']['#attributes'], self::APPLY_TO_MEDIA_BG, $media_bg_utility_classes_config);
         }
       }
     }
 
     $build['#row_attributes'] = new Attribute();
     $build['#row_attributes']->addClass($this->utilityClassHelper->getRowClasses());
-    $row_utility_clases_config = $this->configuration[VLSuiteUtilityClassesHelper::UTILITY_CLASSES_KEY][self::APPLY_TO_ROW] ?? [];
-    $row_utility_classes = $this->utilityClassHelper->getUtilitiesApplyToClasses(self::APPLY_TO_ROW, $row_utility_clases_config);
+    $row_utility_classes_config = $this->configuration[VLSuiteUtilityClassesHelper::UTILITY_CLASSES_KEY][self::APPLY_TO_ROW] ?? [];
+    $row_utility_classes = $this->utilityClassHelper->getUtilitiesApplyToClasses(self::APPLY_TO_ROW, $row_utility_classes_config);
     $build['#row_attributes']->addClass($row_utility_classes);
 
     if ($this->inPreview) {
-      $this->utilityClassHelper->applyLivePreviewerAttributes($build['#row_attributes'], self::APPLY_TO_ROW, $row_utility_clases_config);
+      $this->utilityClassHelper->applyLivePreviewerAttributes($build['#row_attributes'], self::APPLY_TO_ROW, $row_utility_classes_config);
     }
 
     $top_utility_classes_config = $this->configuration[VLSuiteUtilityClassesHelper::UTILITY_CLASSES_KEY][self::APPLY_TO_REGION_TOP] ?? [];
diff --git a/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-live-previewer.es6.js b/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-live-previewer.es6.js
index 4b66cdf..7236c1b 100644
--- a/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-live-previewer.es6.js
+++ b/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-live-previewer.es6.js
@@ -312,7 +312,7 @@
       if (value.includes('auto')) {
         auto_classes = drupalSettings.vlsuite_utility_classes_map['column_widths']['auto'];
       }
-      value.split('-').forEach(function (columnWidthValue, olumnWidthIndex) {
+      value.split('-').forEach(function (columnWidthValue, columnWidthIndex) {
         if (columnWidthValue !== 'auto') {
           classes[columnWidthValue] = drupalSettings.vlsuite_utility_classes_map['column_widths'][columnWidthValue].concat(auto_classes);
         }
@@ -353,7 +353,7 @@
         if (defaults && defaults[identifier] !== undefined) {
           if (isColumnWidths) {
             var classesDefault = {};
-            defaults[identifier].split('-').forEach(function (columnWidthValue, olumnWidthIndex) {
+            defaults[identifier].split('-').forEach(function (columnWidthValue, columnWidthIndex) {
               classesDefault[columnWidthValue] = drupalSettings.vlsuite_utility_classes_map['column_widths'][columnWidthValue];
               groupelement.classList.remove(...classesDefault[columnWidthValue]);
             });
@@ -365,8 +365,8 @@
         }
         if (classes !== null) {
           if (isColumnWidths) {
-            value.split('-').forEach(function (columnWidthValue, olumnWidthIndex) {
-              if (olumnWidthIndex === index) {
+            value.split('-').forEach(function (columnWidthValue, columnWidthIndex) {
+              if (columnWidthIndex === index) {
                 groupelement.classList.add(...classes[columnWidthValue]);
               }
             });
diff --git a/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-live-previewer.js b/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-live-previewer.js
index 45fb6e0..b1a40a0 100644
--- a/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-live-previewer.js
+++ b/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-live-previewer.js
@@ -328,7 +328,7 @@
       if (value.includes('auto')) {
         auto_classes = drupalSettings.vlsuite_utility_classes_map['column_widths']['auto'];
       }
-      value.split('-').forEach(function (columnWidthValue, olumnWidthIndex) {
+      value.split('-').forEach(function (columnWidthValue, columnWidthIndex) {
         if (columnWidthValue !== 'auto') {
           classes[columnWidthValue] = drupalSettings.vlsuite_utility_classes_map['column_widths'][columnWidthValue].concat(auto_classes);
         }
@@ -361,12 +361,12 @@
     } else if (Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] === 'region') {
       var defaults = element.dataset.vlsuiteUtilityClassesLivePreviewerDefaults !== undefined ? JSON.parse(element.dataset.vlsuiteUtilityClassesLivePreviewerDefaults) : false;
       if (defaults && defaults[identifier] !== undefined) {
-        var _element$querySelecto;
-        (_element$querySelecto = element.querySelector('[data-region]').classList).remove.apply(_element$querySelecto, _toConsumableArray(drupalSettings.vlsuite_utility_classes_map[identifier].values[defaults[identifier]].classes));
+        var _element$querySelector;
+        (_element$querySelector = element.querySelector('[data-region]').classList).remove.apply(_element$querySelector, _toConsumableArray(drupalSettings.vlsuite_utility_classes_map[identifier].values[defaults[identifier]].classes));
       }
       if (classes !== null) {
-        var _element$querySelecto2;
-        (_element$querySelecto2 = element.querySelector('[data-region]').classList).add.apply(_element$querySelecto2, _toConsumableArray(classes));
+        var _element$querySelector2;
+        (_element$querySelector2 = element.querySelector('[data-region]').classList).add.apply(_element$querySelector2, _toConsumableArray(classes));
       }
     } else if (Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] === 'section') {
       element.closest('[data-layout-delta]').querySelectorAll('[data-vlsuite-utility-classes-live-previewer-apply-to="' + element.dataset.vlsuiteUtilityClassesLivePreviewerApplyTo + '"]').forEach(function (groupelement, index) {
@@ -374,7 +374,7 @@
         if (defaults && defaults[identifier] !== undefined) {
           if (isColumnWidths) {
             var classesDefault = {};
-            defaults[identifier].split('-').forEach(function (columnWidthValue, olumnWidthIndex) {
+            defaults[identifier].split('-').forEach(function (columnWidthValue, columnWidthIndex) {
               var _groupelement$classLi3;
               classesDefault[columnWidthValue] = drupalSettings.vlsuite_utility_classes_map['column_widths'][columnWidthValue];
               (_groupelement$classLi3 = groupelement.classList).remove.apply(_groupelement$classLi3, _toConsumableArray(classesDefault[columnWidthValue]));
@@ -389,8 +389,8 @@
         }
         if (classes !== null) {
           if (isColumnWidths) {
-            value.split('-').forEach(function (columnWidthValue, olumnWidthIndex) {
-              if (olumnWidthIndex === index) {
+            value.split('-').forEach(function (columnWidthValue, columnWidthIndex) {
+              if (columnWidthIndex === index) {
                 var _groupelement$classLi5;
                 (_groupelement$classLi5 = groupelement.classList).add.apply(_groupelement$classLi5, _toConsumableArray(classes[columnWidthValue]));
               }
diff --git a/modules/vlsuite_utility_classes/src/Form/VLSuiteUtilityClassesSettingsForm.php b/modules/vlsuite_utility_classes/src/Form/VLSuiteUtilityClassesSettingsForm.php
index ecc83a7..f9b91fb 100644
--- a/modules/vlsuite_utility_classes/src/Form/VLSuiteUtilityClassesSettingsForm.php
+++ b/modules/vlsuite_utility_classes/src/Form/VLSuiteUtilityClassesSettingsForm.php
@@ -75,7 +75,7 @@ final class VLSuiteUtilityClassesSettingsForm extends ConfigFormBase {
    * @return array
    *   Utilities processed.
    */
-  protected function utilitiesTreeValuesProccesed(array $utilities) {
+  protected function utilitiesTreeValuesProcessed(array $utilities) {
     $utilities_processed = [];
     foreach ($utilities as $utility_delta => $utility) {
       $utilities_processed[$utility_delta]['identifier'] = $utility['identifier'];
@@ -104,7 +104,7 @@ final class VLSuiteUtilityClassesSettingsForm extends ConfigFormBase {
    */
   public function addUtilityClassValue(array $form, FormStateInterface $form_state) {
     $utility_delta = $form_state->getTriggeringElement()['#utility_delta'];
-    $utilities = $this->utilitiesTreeValuesProccesed($form_state->getValue('utilities', []));
+    $utilities = $this->utilitiesTreeValuesProcessed($form_state->getValue('utilities', []));
     $utilities[$utility_delta]['values'][] = [];
     $form_state->set('utilities', $utilities);
     $form_state->setRebuild();
@@ -121,7 +121,7 @@ final class VLSuiteUtilityClassesSettingsForm extends ConfigFormBase {
   public function removeUtilityClassValue(array $form, FormStateInterface $form_state) {
     $utility_delta = $form_state->getTriggeringElement()['#utility_delta'];
     $utility_value_delta = $form_state->getTriggeringElement()['#utility_value_delta'];
-    $utilities = $this->utilitiesTreeValuesProccesed($form_state->getValue('utilities', []));
+    $utilities = $this->utilitiesTreeValuesProcessed($form_state->getValue('utilities', []));
     unset($utilities[$utility_delta]['values'][$utility_value_delta]);
     $form_state->set('utilities', $utilities);
     $form_state->setRebuild();
@@ -136,7 +136,7 @@ final class VLSuiteUtilityClassesSettingsForm extends ConfigFormBase {
    *   Form state.
    */
   public function addUtility(array $form, FormStateInterface $form_state) {
-    $utilities = $this->utilitiesTreeValuesProccesed($form_state->getValue('utilities', []));
+    $utilities = $this->utilitiesTreeValuesProcessed($form_state->getValue('utilities', []));
     $utilities[] = [];
     $form_state->set('utilities', $utilities);
     $form_state->setRebuild();
@@ -152,7 +152,7 @@ final class VLSuiteUtilityClassesSettingsForm extends ConfigFormBase {
    */
   public function removeUtility(array $form, FormStateInterface $form_state) {
     $utility_delta = $form_state->getTriggeringElement()['#utility_delta'];
-    $utilities = $this->utilitiesTreeValuesProccesed($form_state->getValue('utilities', []));
+    $utilities = $this->utilitiesTreeValuesProcessed($form_state->getValue('utilities', []));
     unset($utilities[$utility_delta]);
     $form_state->set('utilities', $utilities);
     $form_state->setRebuild();
@@ -240,7 +240,7 @@ final class VLSuiteUtilityClassesSettingsForm extends ConfigFormBase {
           '#submit' => ['::addUtilityClassValue'],
           '#utility_delta' => $delta,
           '#ajax' => [
-            'callback' => '::refreshUtiltyValuesAjaxCallback',
+            'callback' => '::refreshUtilityValuesAjaxCallback',
             'wrapper' => 'utility-' . $delta . '-values-wrapper',
             'disable-refocus' => TRUE,
           ],
@@ -301,7 +301,7 @@ final class VLSuiteUtilityClassesSettingsForm extends ConfigFormBase {
           '#utility_delta' => $delta,
           '#utility_value_delta' => $utility_value_key,
           '#ajax' => [
-            'callback' => '::refreshUtiltyValuesAjaxCallback',
+            'callback' => '::refreshUtilityValuesAjaxCallback',
             'wrapper' => 'utility-' . $delta . '-values-wrapper',
             'disable-refocus' => TRUE,
           ],
@@ -322,7 +322,7 @@ final class VLSuiteUtilityClassesSettingsForm extends ConfigFormBase {
    * @return array
    *   Utilities values form element for ajax callback.
    */
-  public function refreshUtiltyValuesAjaxCallback(array $form, FormStateInterface $form_state) {
+  public function refreshUtilityValuesAjaxCallback(array $form, FormStateInterface $form_state) {
     $utility_delta = $form_state->getTriggeringElement()['#utility_delta'];
     return $form['utilities'][$utility_delta]['values_wrapper'];
   }
diff --git a/modules/vlsuite_utility_classes/src/VLSuiteUtilityClassesHelper.php b/modules/vlsuite_utility_classes/src/VLSuiteUtilityClassesHelper.php
index 11342da..69b8e1c 100644
--- a/modules/vlsuite_utility_classes/src/VLSuiteUtilityClassesHelper.php
+++ b/modules/vlsuite_utility_classes/src/VLSuiteUtilityClassesHelper.php
@@ -414,7 +414,7 @@ class VLSuiteUtilityClassesHelper {
   public function buildApplyUtilityClasses(array $apply_to_list, array &$build) {
     $is_field = (!empty($build['#theme']) && $build['#theme'] == 'field' || !empty($build[0]['#theme']) && $build[0]['#theme'] == 'field');
     // @see https://git.drupalcode.org/project/drupal/-/commit/7598b15a28f370ae194153c183b158b13670703a
-    $is_field_parent_preffix = $is_field && !empty($build[0]['#theme']) && $build[0]['#theme'] == 'field' ? '0:' : '';
+    $is_field_parent_prefix = $is_field && !empty($build[0]['#theme']) && $build[0]['#theme'] == 'field' ? '0:' : '';
     foreach ($apply_to_list as $apply_to => $utility_classes_config) {
       $classes = $this->getUtilitiesApplyToClasses($apply_to, $utility_classes_config) ?? NULL;
       $apply_to_array = explode(':', $apply_to);
@@ -438,12 +438,12 @@ class VLSuiteUtilityClassesHelper {
 
       $parents_group = [];
       if (!empty($item)) {
-        $build_apply_to = !$is_field  && !empty($field) && !empty($build[$field]) ? $build[$field] : ($is_field_parent_preffix ? $build[0] : $build);
+        $build_apply_to = !$is_field  && !empty($field) && !empty($build[$field]) ? $build[$field] : ($is_field_parent_prefix ? $build[0] : $build);
         foreach (Element::children($build_apply_to) as $delta) {
           // @see template_preprocess_field().
-          $parents_group[] = (!$is_field ? $field . ':' : $is_field_parent_preffix) . $delta . ':#attributes:class';
+          $parents_group[] = (!$is_field ? $field . ':' : $is_field_parent_prefix) . $delta . ':#attributes:class';
           // @code $parents_group[] = (!$is_field ? $field . ':' : '') . $delta . ':_attributes:class'; @endcode
-          $parents_group[] = (!$is_field ? $field . ':' : $is_field_parent_preffix) . $delta . ':#item_attributes:class';
+          $parents_group[] = (!$is_field ? $field . ':' : $is_field_parent_prefix) . $delta . ':#item_attributes:class';
           // Avoid generic entity render cache when modified per utilities.
           if (!empty($build[$field][$delta]['#cache']['bin']) && $build[$field][$delta]['#cache']['bin'] === 'render') {
             unset($build[$field][$delta]['#cache']['bin']);
@@ -453,7 +453,7 @@ class VLSuiteUtilityClassesHelper {
             unset($build[$delta]['#cache']['bin']);
             unset($build[$delta]['#cache']['keys']);
           }
-          if (!empty($is_field_parent_preffix) && !empty($build[0][$delta]['#cache']['bin']) && $build[0][$delta]['#cache']['bin'] === 'render') {
+          if (!empty($is_field_parent_prefix) && !empty($build[0][$delta]['#cache']['bin']) && $build[0][$delta]['#cache']['bin'] === 'render') {
             unset($build[0][$delta]['#cache']['bin']);
             unset($build[0][$delta]['#cache']['keys']);
           }
@@ -515,7 +515,7 @@ class VLSuiteUtilityClassesHelper {
     $include_advanced = $this->useAdvancedUtilityClasses;
     $is_field = (!empty($build['#theme']) && $build['#theme'] == 'field' || !empty($build[0]['#theme']) && $build[0]['#theme'] == 'field');
     // @see https://git.drupalcode.org/project/drupal/-/commit/7598b15a28f370ae194153c183b158b13670703a
-    $is_field_parent_preffix = $is_field && !empty($build[0]['#theme']) && $build[0]['#theme'] == 'field' ? '0:' : '';
+    $is_field_parent_prefix = $is_field && !empty($build[0]['#theme']) && $build[0]['#theme'] == 'field' ? '0:' : '';
     foreach (array_keys($apply_to_list) as $apply_to) {
       $apply_to_array = explode(':', $apply_to);
       $apply_to_utilities = $this->getUtilitiesApplyToList($apply_to, $include_advanced);
@@ -543,11 +543,11 @@ class VLSuiteUtilityClassesHelper {
       }
       $parents_group = [];
       if (!empty($item)) {
-        $build_apply_to = !$is_field  && !empty($field) && !empty($build[$field]) ? $build[$field] : (!empty($is_field_parent_preffix) ? $build[0] : $build);
+        $build_apply_to = !$is_field  && !empty($field) && !empty($build[$field]) ? $build[$field] : (!empty($is_field_parent_prefix) ? $build[0] : $build);
         foreach (Element::children($build_apply_to) as $delta) {
           // @see template_preprocess_field().
-          $parents_group[] = (!$is_field ? $field . ':' : $is_field_parent_preffix) . $delta . ':#attributes';
-          $parents_group[] = (!$is_field ? $field . ':' : $is_field_parent_preffix) . $delta . ':#item_attributes';
+          $parents_group[] = (!$is_field ? $field . ':' : $is_field_parent_prefix) . $delta . ':#attributes';
+          $parents_group[] = (!$is_field ? $field . ':' : $is_field_parent_prefix) . $delta . ':#item_attributes';
         }
       }
       elseif (!empty($field)) {
-- 
GitLab


From 15135e80567cb8b6f4026b822d4ed2b0069486ac Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 11:16:31 +0200
Subject: [PATCH 03/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 .cspell.json | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
 create mode 100644 .cspell.json

diff --git a/.cspell.json b/.cspell.json
new file mode 100644
index 0000000..bb0ab36
--- /dev/null
+++ b/.cspell.json
@@ -0,0 +1,28 @@
+{
+  "words": [
+    "animatecss",
+    "autocollapse",
+    "autoresize",
+    "builderlink",
+    "contentvlsuite",
+    "cpath",
+    "crect",
+    "csvg",
+    "deprecatedfield",
+    "dialogclose",
+    "dynamize",
+    "fourcols",
+    "galleryvlsuite",
+    "groupelement",
+    "linuxfoundation",
+    "navlink",
+    "scrollpy",
+    "swiperjs",
+    "tada",
+    "textdirection",
+    "threecols",
+    "twocols",
+    "uidom",
+    "webforms"
+  ]
+}
-- 
GitLab


From 300e6eae4c75abd728736f836846bea646c53e4c Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 11:20:45 +0200
Subject: [PATCH 04/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 modules/vlsuite_icon_font/src/VLSuiteIconFontHelper.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/vlsuite_icon_font/src/VLSuiteIconFontHelper.php b/modules/vlsuite_icon_font/src/VLSuiteIconFontHelper.php
index af105e3..8f1920d 100644
--- a/modules/vlsuite_icon_font/src/VLSuiteIconFontHelper.php
+++ b/modules/vlsuite_icon_font/src/VLSuiteIconFontHelper.php
@@ -49,7 +49,7 @@ class VLSuiteIconFontHelper {
   /**
    * Get icon form element.
    *
-   * @param string $default_icon
+   * @param string|null $default_icon
    *   Default icon.
    *
    * @return array
-- 
GitLab


From 707bf787e6aa75eac85063afd5ebcb5ab40e4065 Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 11:26:51 +0200
Subject: [PATCH 05/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 modules/vlsuite_icon_font/src/VLSuiteIconFontHelper.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/vlsuite_icon_font/src/VLSuiteIconFontHelper.php b/modules/vlsuite_icon_font/src/VLSuiteIconFontHelper.php
index 8f1920d..e3d3fd7 100644
--- a/modules/vlsuite_icon_font/src/VLSuiteIconFontHelper.php
+++ b/modules/vlsuite_icon_font/src/VLSuiteIconFontHelper.php
@@ -55,7 +55,7 @@ class VLSuiteIconFontHelper {
    * @return array
    *   Icon form element.
    */
-  public function getIconFontIconFormElement(string $default_icon = NULL) {
+  public function getIconFontIconFormElement(string|NULL $default_icon = NULL) {
     $vlsuite_icon_font_configure_url = Url::fromRoute('vlsuite_icon_font.settings');
     $description = $vlsuite_icon_font_configure_url->access() ? $this->t('Choose icon, start typing for autocomplete suggestions. You can configure <a href=":link" target="_blank">here</a>.',
         [':link' => $vlsuite_icon_font_configure_url->toString()]) : $this->t('Choose icon, start typing for autocomplete suggestions.');
-- 
GitLab


From ea37db974725c58e4a6b8d80ecd683b148932784 Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 11:58:14 +0200
Subject: [PATCH 06/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 .../vlsuite_block_cta.install                 |  2 +
 .../vlsuite_block_icon.install                |  2 +
 .../vlsuite_block_image.install               |  2 +
 .../VLSuiteMediaBgFieldBlockDeriver.php       | 48 ++++++++++++++++++-
 modules/vlsuite_block/vlsuite_block.module    |  3 +-
 .../src/VLSuiteCollectionHelper.php           |  5 +-
 modules/vlsuite_demo/vlsuite_demo.install     |  2 +-
 .../src/Form/VLSuiteModalSettingsForm.php     |  4 +-
 8 files changed, 61 insertions(+), 7 deletions(-)

diff --git a/modules/vlsuite_block/modules/vlsuite_block_cta/vlsuite_block_cta.install b/modules/vlsuite_block/modules/vlsuite_block_cta/vlsuite_block_cta.install
index dd58dc1..53f5963 100644
--- a/modules/vlsuite_block/modules/vlsuite_block_cta/vlsuite_block_cta.install
+++ b/modules/vlsuite_block/modules/vlsuite_block_cta/vlsuite_block_cta.install
@@ -5,6 +5,8 @@
  * VLSuite - Block - CTA install module file.
  */
 
+use Drupal\vlsuite_block_cta\Entity\Bundle\VLSuiteBlockCta;
+
 /**
  * Implements hook_install().
  */
diff --git a/modules/vlsuite_block/modules/vlsuite_block_icon/vlsuite_block_icon.install b/modules/vlsuite_block/modules/vlsuite_block_icon/vlsuite_block_icon.install
index 5289db1..ab7e5c6 100644
--- a/modules/vlsuite_block/modules/vlsuite_block_icon/vlsuite_block_icon.install
+++ b/modules/vlsuite_block/modules/vlsuite_block_icon/vlsuite_block_icon.install
@@ -5,6 +5,8 @@
  * VLSuite - Block - Icon install module file.
  */
 
+use Drupal\vlsuite_block_icon\Entity\Bundle\VLSuiteBlockIcon;
+
 /**
  * Implements hook_install().
  */
diff --git a/modules/vlsuite_block/modules/vlsuite_block_image/vlsuite_block_image.install b/modules/vlsuite_block/modules/vlsuite_block_image/vlsuite_block_image.install
index e061a73..0e69cff 100644
--- a/modules/vlsuite_block/modules/vlsuite_block_image/vlsuite_block_image.install
+++ b/modules/vlsuite_block/modules/vlsuite_block_image/vlsuite_block_image.install
@@ -5,6 +5,8 @@
  * VLSuite - Block - Image install module file.
  */
 
+use Drupal\vlsuite_block_image\Entity\Bundle\VLSuiteBlockImage;
+
 /**
  * Implements hook_install().
  */
diff --git a/modules/vlsuite_block/src/Plugin/Derivative/VLSuiteMediaBgFieldBlockDeriver.php b/modules/vlsuite_block/src/Plugin/Derivative/VLSuiteMediaBgFieldBlockDeriver.php
index 38f4baf..0ce6a86 100644
--- a/modules/vlsuite_block/src/Plugin/Derivative/VLSuiteMediaBgFieldBlockDeriver.php
+++ b/modules/vlsuite_block/src/Plugin/Derivative/VLSuiteMediaBgFieldBlockDeriver.php
@@ -3,7 +3,15 @@
 namespace Drupal\vlsuite_block\Plugin\Derivative;
 
 use Drupal\Component\Plugin\PluginBase;
+use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Entity\EntityTypeRepositoryInterface;
+use Drupal\Core\Entity\EntityFieldManagerInterface;
+use Drupal\Core\Field\FieldTypePluginManagerInterface;
+use Drupal\Core\Field\FormatterPluginManager;
+use Drupal\Core\Config\Entity\ConfigEntityStorageInterface;
+use Drupal\Core\Extension\ModuleHandlerInterface;
 use Drupal\layout_builder\Plugin\Derivative\FieldBlockDeriver;
+use Symfony\Component\DependencyInjection\ContainerInterface;
 
 /**
  * Entity field block definitions for each field that can be used as section bg.
@@ -13,6 +21,44 @@ use Drupal\layout_builder\Plugin\Derivative\FieldBlockDeriver;
  */
 class VLSuiteMediaBgFieldBlockDeriver extends FieldBlockDeriver {
 
+  /**
+   * The config factory.
+   *
+   * @var \Drupal\Core\Config\ConfigFactoryInterface
+   */
+  protected $configFactory;
+
+  /**
+   * Constructs a new VLSuiteMediaBgFieldBlockDeriver.
+   */
+  public function __construct(
+    EntityTypeRepositoryInterface $entity_type_repository,
+    EntityFieldManagerInterface $entity_field_manager,
+    FieldTypePluginManagerInterface $field_type_manager,
+    FormatterPluginManager $formatter_manager,
+    ConfigEntityStorageInterface $entityViewDisplayStorage,
+    ModuleHandlerInterface $moduleHandler,
+    ConfigFactoryInterface $config_factory,
+  ) {
+    parent::__construct($entity_type_repository, $entity_field_manager, $field_type_manager, $formatter_manager, $entityViewDisplayStorage, $moduleHandler);
+    $this->configFactory = $config_factory;
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function create(ContainerInterface $container, $base_plugin_id) {
+    return new static(
+      $container->get('entity_type.repository'),
+      $container->get('entity_field.manager'),
+      $container->get('plugin.manager.field.field_type'),
+      $container->get('plugin.manager.field.formatter'),
+      $container->get('entity_type.manager')->getStorage('entity_view_display'),
+      $container->get('module_handler'),
+      $container->get('config.factory')
+    );
+  }
+
   /**
    * {@inheritdoc}
    */
@@ -24,7 +70,7 @@ class VLSuiteMediaBgFieldBlockDeriver extends FieldBlockDeriver {
       $field_definition = $this->entityFieldManager->getFieldDefinitions($entity_type_id, $bundle)[$field_name];
       $target_type = $field_definition->getType() == 'entity_reference' ? $field_definition->getFieldStorageDefinition()->getSetting('target_type') : NULL;
       $allowed_bundles = $target_type === 'media' ? array_keys($field_definition->getSetting('handler_settings')['target_bundles'] ?? []) : [];
-      $bg_types = array_keys(\Drupal::configFactory()->get('vlsuite_media.settings')->get('bg_types') ?? []);
+      $bg_types = array_keys($this->configFactory->get('vlsuite_media.settings')->get('bg_types') ?? []);
       if (!($target_type === 'media' && !empty(array_intersect($allowed_bundles, $bg_types)))) {
         unset($this->derivatives[$derivative_id]);
       }
diff --git a/modules/vlsuite_block/vlsuite_block.module b/modules/vlsuite_block/vlsuite_block.module
index 29e8fd2..84e333c 100644
--- a/modules/vlsuite_block/vlsuite_block.module
+++ b/modules/vlsuite_block/vlsuite_block.module
@@ -9,6 +9,7 @@ use Drupal\Core\File\FileSystemInterface;
 use Drupal\Core\Form\FormStateInterface;
 use Drupal\file\FileInterface;
 use Drupal\block_content\BlockContentTypeInterface;
+use Drupal\Core\File\FileExists;
 
 /**
  * Implements hook_plugin_filter_TYPE_alter().
@@ -182,7 +183,7 @@ function _vlsuite_block_update_helper_save_default_icon_file($vlsuite_block_conf
     $vlsuite_block_icon_file_path = \Drupal::service('extension.path.resolver')->getPath('module', 'vlsuite_block') . '/assets/' . $default_icon;
     $destination = 'public://vlsuite_block_icon/';
     \Drupal::service('file_system')->prepareDirectory($destination, FileSystemInterface::CREATE_DIRECTORY | FileSystemInterface::MODIFY_PERMISSIONS);
-    $file = \Drupal::service('file.repository')->writeData(file_get_contents($vlsuite_block_icon_file_path), $destination . $default_icon, FileSystemInterface::EXISTS_REPLACE);
+    $file = \Drupal::service('file.repository')->writeData(file_get_contents($vlsuite_block_icon_file_path), $destination . $default_icon, FileExists::REPLACE);
     $file->set('uuid', $uuid);
     $file->save();
   }
diff --git a/modules/vlsuite_collection/src/VLSuiteCollectionHelper.php b/modules/vlsuite_collection/src/VLSuiteCollectionHelper.php
index c74b364..3f922ad 100644
--- a/modules/vlsuite_collection/src/VLSuiteCollectionHelper.php
+++ b/modules/vlsuite_collection/src/VLSuiteCollectionHelper.php
@@ -4,8 +4,9 @@ namespace Drupal\vlsuite_collection;
 
 use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\Extension\ExtensionPathResolver;
+use Drupal\Core\File\FileExists;
 use Drupal\Core\File\FileSystemInterface;
-use Drupal\Core\Serialization\Yaml;
+use Drupal\Component\Serialization\Yaml;
 use Drupal\file\FileRepositoryInterface;
 use Drupal\layout_builder\Section;
 use Drupal\layout_builder\SectionComponent;
@@ -190,7 +191,7 @@ class VLSuiteCollectionHelper {
         return;
       }
       $this->fileSystem->prepareDirectory($destination, FileSystemInterface::CREATE_DIRECTORY | FileSystemInterface::MODIFY_PERMISSIONS);
-      $file = $this->fileRepository->writeData($image_content, $destination . $file_name, FileSystemInterface::EXISTS_REPLACE);
+      $file = $this->fileRepository->writeData($image_content, $destination . $file_name, FileExists::REPLACE);
       $file->set('uuid', $file_uuid);
       $file->save();
     }
diff --git a/modules/vlsuite_demo/vlsuite_demo.install b/modules/vlsuite_demo/vlsuite_demo.install
index 0db4435..b3aa708 100644
--- a/modules/vlsuite_demo/vlsuite_demo.install
+++ b/modules/vlsuite_demo/vlsuite_demo.install
@@ -6,7 +6,7 @@
  */
 
 use Drupal\Component\Utility\NestedArray;
-use Drupal\Core\Serialization\Yaml;
+use Drupal\Component\Serialization\Yaml;
 
 /**
  * Implements hook_install().
diff --git a/modules/vlsuite_modal/src/Form/VLSuiteModalSettingsForm.php b/modules/vlsuite_modal/src/Form/VLSuiteModalSettingsForm.php
index 50c46e9..439ba22 100644
--- a/modules/vlsuite_modal/src/Form/VLSuiteModalSettingsForm.php
+++ b/modules/vlsuite_modal/src/Form/VLSuiteModalSettingsForm.php
@@ -14,7 +14,7 @@ final class VLSuiteModalSettingsForm extends ConfigFormBase {
   /**
    * The library discovery.
    *
-   * @var \Drupal\Core\Asset\LibraryDiscoveryInterface
+   * @var \Drupal\Core\Asset\LibraryDiscoveryCollector
    */
   protected $libraryDiscovery;
 
@@ -126,7 +126,7 @@ final class VLSuiteModalSettingsForm extends ConfigFormBase {
       ->set('layout_builder_enabled', $form_state->getValue('layout_builder_enabled'))
       ->set('layout_builder_admin_inherited', $form_state->getValue('layout_builder_admin_inherited'))
       ->save();
-    $this->libraryDiscovery->clearCachedDefinitions();
+    $this->libraryDiscovery->clear();
 
     parent::submitForm($form, $form_state);
   }
-- 
GitLab


From 0efb55b71dad3d2ca1d91e2e29df8521584a2f97 Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 12:09:48 +0200
Subject: [PATCH 07/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 modules/vlsuite_block/vlsuite_block.module                 | 2 +-
 modules/vlsuite_collection/src/VLSuiteCollectionHelper.php | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/vlsuite_block/vlsuite_block.module b/modules/vlsuite_block/vlsuite_block.module
index 84e333c..4b5c243 100644
--- a/modules/vlsuite_block/vlsuite_block.module
+++ b/modules/vlsuite_block/vlsuite_block.module
@@ -183,7 +183,7 @@ function _vlsuite_block_update_helper_save_default_icon_file($vlsuite_block_conf
     $vlsuite_block_icon_file_path = \Drupal::service('extension.path.resolver')->getPath('module', 'vlsuite_block') . '/assets/' . $default_icon;
     $destination = 'public://vlsuite_block_icon/';
     \Drupal::service('file_system')->prepareDirectory($destination, FileSystemInterface::CREATE_DIRECTORY | FileSystemInterface::MODIFY_PERMISSIONS);
-    $file = \Drupal::service('file.repository')->writeData(file_get_contents($vlsuite_block_icon_file_path), $destination . $default_icon, FileExists::REPLACE);
+    $file = \Drupal::service('file.repository')->writeData(file_get_contents($vlsuite_block_icon_file_path), $destination . $default_icon, FileExists::Replace);
     $file->set('uuid', $uuid);
     $file->save();
   }
diff --git a/modules/vlsuite_collection/src/VLSuiteCollectionHelper.php b/modules/vlsuite_collection/src/VLSuiteCollectionHelper.php
index 3f922ad..030796b 100644
--- a/modules/vlsuite_collection/src/VLSuiteCollectionHelper.php
+++ b/modules/vlsuite_collection/src/VLSuiteCollectionHelper.php
@@ -191,7 +191,7 @@ class VLSuiteCollectionHelper {
         return;
       }
       $this->fileSystem->prepareDirectory($destination, FileSystemInterface::CREATE_DIRECTORY | FileSystemInterface::MODIFY_PERMISSIONS);
-      $file = $this->fileRepository->writeData($image_content, $destination . $file_name, FileExists::REPLACE);
+      $file = $this->fileRepository->writeData($image_content, $destination . $file_name, FileExists::Replace);
       $file->set('uuid', $file_uuid);
       $file->save();
     }
-- 
GitLab


From 2bdc2ab6884ea3691b7210d1225ec6227a68e10a Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 14:01:07 +0200
Subject: [PATCH 08/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 .../Plugin/Layout/VLSuiteLayoutTabsBase.php   | 31 +++++++++++++++++--
 .../src/VLSuiteModalConfigOverride.php        | 11 ++++---
 2 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/modules/vlsuite_layout/modules/vlsuite_layout_tabs/src/Plugin/Layout/VLSuiteLayoutTabsBase.php b/modules/vlsuite_layout/modules/vlsuite_layout_tabs/src/Plugin/Layout/VLSuiteLayoutTabsBase.php
index 551c1a7..87d5d02 100644
--- a/modules/vlsuite_layout/modules/vlsuite_layout_tabs/src/Plugin/Layout/VLSuiteLayoutTabsBase.php
+++ b/modules/vlsuite_layout/modules/vlsuite_layout_tabs/src/Plugin/Layout/VLSuiteLayoutTabsBase.php
@@ -12,6 +12,13 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
  */
 abstract class VLSuiteLayoutTabsBase extends VLSuiteLayoutBase {
 
+  /**
+   * The icon font helper service.
+   *
+   * @var \Drupal\vlsuite_icon_font\VLSuiteIconFontHelper
+   */
+  protected $iconFontHelper;
+
   /**
    * {@inheritdoc}
    */
@@ -25,13 +32,33 @@ abstract class VLSuiteLayoutTabsBase extends VLSuiteLayoutBase {
       $container->get('vlsuite_utility_classes.helper'),
       $container->get('vlsuite_slider.helper'),
       $container->get('vlsuite_animations.helper'),
-      $container->get('current_user')
+      $container->get('current_user'),
+      $container->get('vlsuite_icon_font.helper')
     );
     $tabs_base->setPluginDefinitionRegions($configuration['tabs'] ?? []);
     $tabs_base->pluginDefinition->setIconMap($tabs_base->getPluginDefinitionIconMap());
     return $tabs_base;
   }
 
+  /**
+   * Constructs a new VLSuiteLayoutTabsBase object.
+   */
+  public function __construct(
+    array $configuration,
+    $plugin_id,
+    $plugin_definition,
+    $entity_type_manager,
+    $config_factory,
+    $utility_classes_helper,
+    $slider_helper,
+    $animations_helper,
+    $current_user,
+    $icon_font_helper
+  ) {
+    parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_type_manager, $config_factory, $utility_classes_helper, $slider_helper, $animations_helper, $current_user);
+    $this->iconFontHelper = $icon_font_helper;
+  }
+
   /**
    * Get plugin definition icon map.
    *
@@ -164,7 +191,7 @@ abstract class VLSuiteLayoutTabsBase extends VLSuiteLayoutBase {
         '#default_value' => $tab['title'] ?? NULL,
         '#required' => TRUE,
       ];
-      $form['tabs'][$tab_index]['icon'] = \Drupal::service('vlsuite_icon_font.helper')->getIconFontIconFormElement($tab['icon'] ?? NULL);
+      $form['tabs'][$tab_index]['icon'] = $this->iconFontHelper->getIconFontIconFormElement($tab['icon'] ?? NULL);
       $form['tabs'][$tab_index]['remove'] = [
         '#tree' => FALSE,
         '#name' => 'remove_' . $tab_index . '_settings',
diff --git a/modules/vlsuite_modal/src/VLSuiteModalConfigOverride.php b/modules/vlsuite_modal/src/VLSuiteModalConfigOverride.php
index b7cab85..0a15ffd 100644
--- a/modules/vlsuite_modal/src/VLSuiteModalConfigOverride.php
+++ b/modules/vlsuite_modal/src/VLSuiteModalConfigOverride.php
@@ -92,12 +92,13 @@ class VLSuiteModalConfigOverride implements ConfigFactoryOverrideInterface {
     // Instead just get it before usage in order to avoid getting empty request
     // from request stack.
     $request = $this->requestStack->getCurrentRequest();
-    // Route provider is not added by dependency injection
-    // because it produces circular dependency at config override
-    // phase.
-    /** @var \Drupal\Core\Routing\RouteProviderInterface $router */
-    // @codingStandardsIgnoreLine
+
     if ($request instanceof Request) {
+      // Route provider is not added by dependency injection
+      // because it produces circular dependency at config override
+      // phase.
+      /** @var \Drupal\Core\Routing\RouteProviderInterface $router */
+      // @codingStandardsIgnoreLine
       $router = \Drupal::service('router.route_provider');
       $routes = $router->getRouteCollectionForRequest($request);
 
-- 
GitLab


From 5610bb1e79382fc4a3ade7b0f31c4020956f3dfa Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 14:05:05 +0200
Subject: [PATCH 09/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 .../Drush/Generators/VLSuiteGeneratorModuleGenerator.php    | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/modules/vlsuite_generator/src/Drush/Generators/VLSuiteGeneratorModuleGenerator.php b/modules/vlsuite_generator/src/Drush/Generators/VLSuiteGeneratorModuleGenerator.php
index af86ebe..cd6408b 100644
--- a/modules/vlsuite_generator/src/Drush/Generators/VLSuiteGeneratorModuleGenerator.php
+++ b/modules/vlsuite_generator/src/Drush/Generators/VLSuiteGeneratorModuleGenerator.php
@@ -5,7 +5,7 @@ namespace Drupal\vlsuite_generator\Drush\Generators;
 use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
 use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\Url;
-use Drupal\default_content\ExporterInterface;
+use Drupal\default_content\Exporter;
 use Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay;
 use Drupal\layout_builder\Section;
 use Drupal\layout_builder\SectionComponent;
@@ -46,7 +46,7 @@ final class VLSuiteGeneratorModuleGenerator extends BaseGenerator implements Con
   /**
    * The default content exporter.
    *
-   * @var \Drupal\default_content\ExporterInterface
+   * @var \Drupal\default_content\Exporter
    */
   protected $defaultContentExporter;
 
@@ -133,7 +133,7 @@ final class VLSuiteGeneratorModuleGenerator extends BaseGenerator implements Con
   /**
    * {@inheritdoc}
    */
-  public function __construct(EntityTypeManagerInterface $entity_type_manager, ExporterInterface $default_content_exporter) {
+  public function __construct(EntityTypeManagerInterface $entity_type_manager, Exporter $default_content_exporter) {
     parent::__construct();
     $this->entityTypeManager = $entity_type_manager;
     $this->defaultContentExporter = $default_content_exporter;
-- 
GitLab


From 9050c63c7947496bb31ba37c96d03c7eefbabfd4 Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 14:09:06 +0200
Subject: [PATCH 10/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 phpstan.neon | 7 +++++++
 1 file changed, 7 insertions(+)
 create mode 100644 phpstan.neon

diff --git a/phpstan.neon b/phpstan.neon
new file mode 100644
index 0000000..3355a09
--- /dev/null
+++ b/phpstan.neon
@@ -0,0 +1,7 @@
+parameters:
+  ignoreErrors:
+    - '#^Class Drupal\\vlsuite_block\\Controller\\VLSuiteBlockChooseBlockController extends @internal class Drupal\\layout_builder_restrictions\\Controller\\ChooseBlockController\.#'
+    - '#^Class Drupal\\vlsuite_block\\Plugin\\Block\\VLSuiteFieldBlock extends @internal class Drupal\\layout_builder\\Plugin\\Block\\FieldBlock\.#'
+    - '#^Class Drupal\\vlsuite_block\\Plugin\\Block\\VLSuiteInlineBlock extends @internal class Drupal\\layout_builder\\Plugin\\Block\\InlineBlock\.#'
+    - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
+    - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteMediaBgFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
-- 
GitLab


From 3a37a2306fcadcf13136e3124b58096b53f61773 Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 14:17:54 +0200
Subject: [PATCH 11/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 .../src/Plugin/Layout/VLSuiteLayoutTabsBase.php                 | 2 +-
 modules/vlsuite_layout/src/Plugin/Layout/VLSuiteLayoutBase.php  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/vlsuite_layout/modules/vlsuite_layout_tabs/src/Plugin/Layout/VLSuiteLayoutTabsBase.php b/modules/vlsuite_layout/modules/vlsuite_layout_tabs/src/Plugin/Layout/VLSuiteLayoutTabsBase.php
index 87d5d02..51c2cad 100644
--- a/modules/vlsuite_layout/modules/vlsuite_layout_tabs/src/Plugin/Layout/VLSuiteLayoutTabsBase.php
+++ b/modules/vlsuite_layout/modules/vlsuite_layout_tabs/src/Plugin/Layout/VLSuiteLayoutTabsBase.php
@@ -53,7 +53,7 @@ abstract class VLSuiteLayoutTabsBase extends VLSuiteLayoutBase {
     $slider_helper,
     $animations_helper,
     $current_user,
-    $icon_font_helper
+    $icon_font_helper,
   ) {
     parent::__construct($configuration, $plugin_id, $plugin_definition, $entity_type_manager, $config_factory, $utility_classes_helper, $slider_helper, $animations_helper, $current_user);
     $this->iconFontHelper = $icon_font_helper;
diff --git a/modules/vlsuite_layout/src/Plugin/Layout/VLSuiteLayoutBase.php b/modules/vlsuite_layout/src/Plugin/Layout/VLSuiteLayoutBase.php
index 2d6abb5..2ca076f 100644
--- a/modules/vlsuite_layout/src/Plugin/Layout/VLSuiteLayoutBase.php
+++ b/modules/vlsuite_layout/src/Plugin/Layout/VLSuiteLayoutBase.php
@@ -105,7 +105,7 @@ abstract class VLSuiteLayoutBase extends LayoutDefault implements PluginFormInte
    * @param \Drupal\Core\Session\AccountInterface $current_user
    *   The current user.
    */
-  final public function __construct(
+  public function __construct(
     array $configuration,
     $plugin_id,
     $plugin_definition,
-- 
GitLab


From db26318dc145982a936fb261eb690e84d2adea46 Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 14:31:14 +0200
Subject: [PATCH 12/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 phpstan.neon | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/phpstan.neon b/phpstan.neon
index 3355a09..e984ccf 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -1,7 +1,28 @@
+# Configuration file for PHPStan static code checking, see https://phpstan.org.
+includes:
+  - phpstan-baseline.neon
 parameters:
+  level: 5
+  customRulesetUsed: true
+  reportUnmatchedIgnoredErrors: true
+  paths:
+    - .
   ignoreErrors:
     - '#^Class Drupal\\vlsuite_block\\Controller\\VLSuiteBlockChooseBlockController extends @internal class Drupal\\layout_builder_restrictions\\Controller\\ChooseBlockController\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Block\\VLSuiteFieldBlock extends @internal class Drupal\\layout_builder\\Plugin\\Block\\FieldBlock\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Block\\VLSuiteInlineBlock extends @internal class Drupal\\layout_builder\\Plugin\\Block\\InlineBlock\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteMediaBgFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
+  strictRules:
+    disallowedLooseComparison: false
+    booleansInConditions: false
+    uselessCast: false
+    requireParentConstructorCall: false
+    disallowedConstructs: false
+    overwriteVariablesWithLoop: false
+    closureUsesThis: false
+    matchingInheritedMethodNames: false
+    numericOperandsInArithmeticOperators: false
+    strictCalls: false
+    switchConditionsMatchingType: false
+    noVariableVariables: false
-- 
GitLab


From a4f963eafd69953b266c4965b780fa4ec91e4bde Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 14:36:06 +0200
Subject: [PATCH 13/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 phpstan-baseline.neon | 2 ++
 1 file changed, 2 insertions(+)
 create mode 100644 phpstan-baseline.neon

diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon
new file mode 100644
index 0000000..364905f
--- /dev/null
+++ b/phpstan-baseline.neon
@@ -0,0 +1,2 @@
+parameters:
+	ignoreErrors:
-- 
GitLab


From bc9f7e02db740999e4f5e73244b75541c07b3495 Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 14:40:17 +0200
Subject: [PATCH 14/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 phpstan.neon | 13 -------------
 1 file changed, 13 deletions(-)

diff --git a/phpstan.neon b/phpstan.neon
index e984ccf..372ddb9 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -13,16 +13,3 @@ parameters:
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Block\\VLSuiteInlineBlock extends @internal class Drupal\\layout_builder\\Plugin\\Block\\InlineBlock\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteMediaBgFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
-  strictRules:
-    disallowedLooseComparison: false
-    booleansInConditions: false
-    uselessCast: false
-    requireParentConstructorCall: false
-    disallowedConstructs: false
-    overwriteVariablesWithLoop: false
-    closureUsesThis: false
-    matchingInheritedMethodNames: false
-    numericOperandsInArithmeticOperators: false
-    strictCalls: false
-    switchConditionsMatchingType: false
-    noVariableVariables: false
-- 
GitLab


From 27339636e52e26b0d9cfe7fef90b049ae16682a5 Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 14:46:19 +0200
Subject: [PATCH 15/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 phpstan.neon | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/phpstan.neon b/phpstan.neon
index 372ddb9..5cb3f17 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -2,7 +2,7 @@
 includes:
   - phpstan-baseline.neon
 parameters:
-  level: 5
+  level: 1
   customRulesetUsed: true
   reportUnmatchedIgnoredErrors: true
   paths:
-- 
GitLab


From 362dafddc9cca0d1532b20ad88836ecd4202c789 Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 14:59:35 +0200
Subject: [PATCH 16/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 modules/vlsuite_demo/vlsuite_demo.install                   | 6 ++----
 modules/vlsuite_modal/src/VLSuiteModalConfigOverride.php    | 1 +
 modules/vlsuite_modal/vlsuite_modal.services.yml            | 2 +-
 .../src/Form/VLSuiteUtilityClassesSettingsForm.php          | 2 +-
 .../src/VLSuiteUtilityClassesHelper.php                     | 2 +-
 5 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/modules/vlsuite_demo/vlsuite_demo.install b/modules/vlsuite_demo/vlsuite_demo.install
index b3aa708..b8bbe75 100644
--- a/modules/vlsuite_demo/vlsuite_demo.install
+++ b/modules/vlsuite_demo/vlsuite_demo.install
@@ -32,7 +32,7 @@ function vlsuite_demo_install() {
  */
 function _vlsuite_demo_layout_builder_display_config_add_allowed_inline_blocks(string $display_config) {
   $editable_config = \Drupal::configFactory()->getEditable($display_config);
-  $allowed_blocks = !empty($editable_config) ? $editable_config->get('third_party_settings.layout_builder_restrictions.entity_view_mode_restriction.allowlisted_blocks') : NULL;
+  $allowed_blocks = $editable_config->get('third_party_settings.layout_builder_restrictions.entity_view_mode_restriction.allowlisted_blocks');
   if (empty($allowed_blocks) || empty($allowed_blocks['VLSuite: Inline blocks'])) {
     return;
   }
@@ -60,9 +60,7 @@ function _vlsuite_demo_layout_builder_display_config_add_allowed_inline_blocks(s
  */
 function _vlsuite_demo_layout_builder_display_config_section_block_set_media_uuid(string $config_name, int $section_delta, string $block_uuid, string $media_field_name, string $media_uuid) {
   $editable_config = \Drupal::configFactory()->getEditable($config_name);
-  if (empty($editable_config)) {
-    return;
-  }
+
   $third_party_settings = $editable_config->get('third_party_settings');
   // phpcs:ignore DrupalPractice.FunctionCalls.InsecureUnserialize.InsecureUnserialize
   $block = unserialize($third_party_settings['layout_builder']['sections'][$section_delta]['components'][$block_uuid]['configuration']['block_serialized'] ?? '');
diff --git a/modules/vlsuite_modal/src/VLSuiteModalConfigOverride.php b/modules/vlsuite_modal/src/VLSuiteModalConfigOverride.php
index 0a15ffd..b959193 100644
--- a/modules/vlsuite_modal/src/VLSuiteModalConfigOverride.php
+++ b/modules/vlsuite_modal/src/VLSuiteModalConfigOverride.php
@@ -99,6 +99,7 @@ class VLSuiteModalConfigOverride implements ConfigFactoryOverrideInterface {
       // phase.
       /** @var \Drupal\Core\Routing\RouteProviderInterface $router */
       // @codingStandardsIgnoreLine
+      // @phpstan-ignore-next-line
       $router = \Drupal::service('router.route_provider');
       $routes = $router->getRouteCollectionForRequest($request);
 
diff --git a/modules/vlsuite_modal/vlsuite_modal.services.yml b/modules/vlsuite_modal/vlsuite_modal.services.yml
index 8309d43..0f094b8 100644
--- a/modules/vlsuite_modal/vlsuite_modal.services.yml
+++ b/modules/vlsuite_modal/vlsuite_modal.services.yml
@@ -13,7 +13,7 @@ services:
       - { name: theme_negotiator, priority: 1004 }
   vlsuite_modal.library.discovery.collector:
     decorates: library.discovery.collector
-    class: \Drupal\vlsuite_modal\VLSuiteModalLibraryDiscoveryCollector
+    class: Drupal\vlsuite_modal\VLSuiteModalLibraryDiscoveryCollector
     arguments: ['@cache.discovery', '@lock', '@library.discovery.parser', '@theme.manager']
     tags:
       - { name: needs_destruction }
diff --git a/modules/vlsuite_utility_classes/src/Form/VLSuiteUtilityClassesSettingsForm.php b/modules/vlsuite_utility_classes/src/Form/VLSuiteUtilityClassesSettingsForm.php
index f9b91fb..e77e1b7 100644
--- a/modules/vlsuite_utility_classes/src/Form/VLSuiteUtilityClassesSettingsForm.php
+++ b/modules/vlsuite_utility_classes/src/Form/VLSuiteUtilityClassesSettingsForm.php
@@ -412,7 +412,7 @@ final class VLSuiteUtilityClassesSettingsForm extends ConfigFormBase {
     $form['basics']['col_classes']['col_auto'] = [
       '#type' => 'textfield',
       '#required' => TRUE,
-      '#title' => $this->t('Col auto to add when not filling row base class (or classes)', ['@percentage' => $percentage]),
+      '#title' => $this->t('Col auto to add when not filling row base class (or classes)'),
       '#description' => $this->t('Examples "mx-auto", Separated by " " when multiple.'),
       '#default_value' => $this->configFactory->get('vlsuite_utility_classes.settings')->get('col_classes')['col_auto'] ?? NULL,
     ];
diff --git a/modules/vlsuite_utility_classes/src/VLSuiteUtilityClassesHelper.php b/modules/vlsuite_utility_classes/src/VLSuiteUtilityClassesHelper.php
index 69b8e1c..235cbf9 100644
--- a/modules/vlsuite_utility_classes/src/VLSuiteUtilityClassesHelper.php
+++ b/modules/vlsuite_utility_classes/src/VLSuiteUtilityClassesHelper.php
@@ -200,7 +200,7 @@ class VLSuiteUtilityClassesHelper {
    */
   public function getUtilitiesApplyToClasses($apply_to, array $utility_classes_config) {
     $apply_to_utilities = $this->getUtilitiesApplyToList($apply_to, TRUE);
-    $apply_to_config = $utility_classes_config ?? [];
+    $apply_to_config = $utility_classes_config;
     $apply_to_classes = [];
     foreach (array_keys($apply_to_utilities) as $utility_key) {
       if (!empty($apply_to_config[$utility_key]) || (isset($apply_to_config[$utility_key]) && $apply_to_config[$utility_key] == '0')) {
-- 
GitLab


From d23404de2b2aa0697d87e021af62d2cde552e30f Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 15:05:32 +0200
Subject: [PATCH 17/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 .../vlsuite_block/src/Plugin/Block/VLSuiteMediaBgFieldBlock.php | 2 +-
 .../src/Plugin/Derivative/VLSuiteMediaBgFieldBlockDeriver.php   | 2 +-
 .../src/Controller/VLSuiteIconFontAutocomplete.php              | 2 +-
 .../Field/FieldFormatter/VLSuiteIconFontIconFormatter.php       | 2 +-
 .../src/Plugin/Field/FieldWidget/VLSuiteIconFontIconWidget.php  | 2 +-
 .../src/Controller/VLSuiteLayoutBuilderDuplicate.php            | 2 +-
 phpstan.neon                                                    | 1 +
 7 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/modules/vlsuite_block/src/Plugin/Block/VLSuiteMediaBgFieldBlock.php b/modules/vlsuite_block/src/Plugin/Block/VLSuiteMediaBgFieldBlock.php
index 6351b74..e8a55c7 100644
--- a/modules/vlsuite_block/src/Plugin/Block/VLSuiteMediaBgFieldBlock.php
+++ b/modules/vlsuite_block/src/Plugin/Block/VLSuiteMediaBgFieldBlock.php
@@ -22,7 +22,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
  *   deriver = "\Drupal\vlsuite_block\Plugin\Derivative\VLSuiteMediaBgFieldBlockDeriver",
  * )
  */
-class VLSuiteMediaBgFieldBlock extends BlockBase implements ContextAwarePluginInterface, ContainerFactoryPluginInterface {
+final class VLSuiteMediaBgFieldBlock extends BlockBase implements ContextAwarePluginInterface, ContainerFactoryPluginInterface {
 
   /**
    * The entity field manager.
diff --git a/modules/vlsuite_block/src/Plugin/Derivative/VLSuiteMediaBgFieldBlockDeriver.php b/modules/vlsuite_block/src/Plugin/Derivative/VLSuiteMediaBgFieldBlockDeriver.php
index 0ce6a86..baffda0 100644
--- a/modules/vlsuite_block/src/Plugin/Derivative/VLSuiteMediaBgFieldBlockDeriver.php
+++ b/modules/vlsuite_block/src/Plugin/Derivative/VLSuiteMediaBgFieldBlockDeriver.php
@@ -19,7 +19,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
  * @internal
  *   Plugin derivers are internal.
  */
-class VLSuiteMediaBgFieldBlockDeriver extends FieldBlockDeriver {
+final class VLSuiteMediaBgFieldBlockDeriver extends FieldBlockDeriver {
 
   /**
    * The config factory.
diff --git a/modules/vlsuite_icon_font/src/Controller/VLSuiteIconFontAutocomplete.php b/modules/vlsuite_icon_font/src/Controller/VLSuiteIconFontAutocomplete.php
index 27f889c..760ddc5 100644
--- a/modules/vlsuite_icon_font/src/Controller/VLSuiteIconFontAutocomplete.php
+++ b/modules/vlsuite_icon_font/src/Controller/VLSuiteIconFontAutocomplete.php
@@ -12,7 +12,7 @@ use Symfony\Component\HttpFoundation\Request;
 /**
  * VLSuite icon autocomplete controller.
  */
-class VLSuiteIconFontAutocomplete extends ControllerBase {
+final class VLSuiteIconFontAutocomplete extends ControllerBase {
 
   /**
    * The config factory.
diff --git a/modules/vlsuite_icon_font/src/Plugin/Field/FieldFormatter/VLSuiteIconFontIconFormatter.php b/modules/vlsuite_icon_font/src/Plugin/Field/FieldFormatter/VLSuiteIconFontIconFormatter.php
index 663635b..8cb619a 100644
--- a/modules/vlsuite_icon_font/src/Plugin/Field/FieldFormatter/VLSuiteIconFontIconFormatter.php
+++ b/modules/vlsuite_icon_font/src/Plugin/Field/FieldFormatter/VLSuiteIconFontIconFormatter.php
@@ -20,7 +20,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
  *   }
  * )
  */
-class VLSuiteIconFontIconFormatter extends FormatterBase {
+final class VLSuiteIconFontIconFormatter extends FormatterBase {
 
   /**
    * The icon font helper.
diff --git a/modules/vlsuite_icon_font/src/Plugin/Field/FieldWidget/VLSuiteIconFontIconWidget.php b/modules/vlsuite_icon_font/src/Plugin/Field/FieldWidget/VLSuiteIconFontIconWidget.php
index 1fbdfc2..0303b84 100644
--- a/modules/vlsuite_icon_font/src/Plugin/Field/FieldWidget/VLSuiteIconFontIconWidget.php
+++ b/modules/vlsuite_icon_font/src/Plugin/Field/FieldWidget/VLSuiteIconFontIconWidget.php
@@ -20,7 +20,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
  *   }
  * )
  */
-class VLSuiteIconFontIconWidget extends WidgetBase {
+final class VLSuiteIconFontIconWidget extends WidgetBase {
 
   /**
    * The icon font helper.
diff --git a/modules/vlsuite_layout_builder/src/Controller/VLSuiteLayoutBuilderDuplicate.php b/modules/vlsuite_layout_builder/src/Controller/VLSuiteLayoutBuilderDuplicate.php
index b194943..c34044d 100644
--- a/modules/vlsuite_layout_builder/src/Controller/VLSuiteLayoutBuilderDuplicate.php
+++ b/modules/vlsuite_layout_builder/src/Controller/VLSuiteLayoutBuilderDuplicate.php
@@ -18,7 +18,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
 /**
  * Layout builder duplicate controller.
  */
-class VLSuiteLayoutBuilderDuplicate implements ContainerInjectionInterface {
+final class VLSuiteLayoutBuilderDuplicate implements ContainerInjectionInterface {
 
   use LayoutRebuildTrait;
   use DeepCloningTrait;
diff --git a/phpstan.neon b/phpstan.neon
index 5cb3f17..a588c85 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -13,3 +13,4 @@ parameters:
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Block\\VLSuiteInlineBlock extends @internal class Drupal\\layout_builder\\Plugin\\Block\\InlineBlock\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteMediaBgFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
+    - '#Parameter \$default_content_exporter of method Drupal\\\\vlsuite_generator\\\\Drush\\\\Generators\\\\VLSuiteGeneratorModuleGenerator::__construct\(\) has invalid type Drupal\\\\default_content\\\\Exporter\.#'
-- 
GitLab


From 4be94f2c8c089313795ac4732ea898fd71b92f20 Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 15:10:48 +0200
Subject: [PATCH 18/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 phpstan.neon | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/phpstan.neon b/phpstan.neon
index a588c85..6b0b90a 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -13,4 +13,4 @@ parameters:
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Block\\VLSuiteInlineBlock extends @internal class Drupal\\layout_builder\\Plugin\\Block\\InlineBlock\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteMediaBgFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
-    - '#Parameter \$default_content_exporter of method Drupal\\\\vlsuite_generator\\\\Drush\\\\Generators\\\\VLSuiteGeneratorModuleGenerator::__construct\(\) has invalid type Drupal\\\\default_content\\\\Exporter\.#'
+    - '#^Parameter \$default_content_exporter of method Drupal\\\\vlsuite_generator\\\\Drush\\\\Generators\\\\VLSuiteGeneratorModuleGenerator::__construct\(\) has invalid type Drupal\\\\default_content\\\\Exporter\.#'
-- 
GitLab


From eb2ca1d03c48a08eca2750fff15b3452d7c91a16 Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 15:12:30 +0200
Subject: [PATCH 19/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 .../src/Controller/VLSuiteUtilityClassesApplyTo.php             | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/modules/vlsuite_utility_classes/src/Controller/VLSuiteUtilityClassesApplyTo.php b/modules/vlsuite_utility_classes/src/Controller/VLSuiteUtilityClassesApplyTo.php
index 386130a..6503322 100644
--- a/modules/vlsuite_utility_classes/src/Controller/VLSuiteUtilityClassesApplyTo.php
+++ b/modules/vlsuite_utility_classes/src/Controller/VLSuiteUtilityClassesApplyTo.php
@@ -14,7 +14,7 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
 /**
  * Utility classes apply to controller.
  */
-class VLSuiteUtilityClassesApplyTo implements ContainerInjectionInterface {
+final class VLSuiteUtilityClassesApplyTo implements ContainerInjectionInterface {
 
   use LayoutRebuildTrait;
 
-- 
GitLab


From 4a5184a2deae6060abe034aba716b998ac7e6d1c Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 15:20:02 +0200
Subject: [PATCH 20/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 phpstan.neon | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/phpstan.neon b/phpstan.neon
index 6b0b90a..4492d4e 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -13,4 +13,4 @@ parameters:
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Block\\VLSuiteInlineBlock extends @internal class Drupal\\layout_builder\\Plugin\\Block\\InlineBlock\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteMediaBgFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
-    - '#^Parameter \$default_content_exporter of method Drupal\\\\vlsuite_generator\\\\Drush\\\\Generators\\\\VLSuiteGeneratorModuleGenerator::__construct\(\) has invalid type Drupal\\\\default_content\\\\Exporter\.#'
+    - '#^Parameter \$default_content_exporter of method Drupal\\\\vlsuite_generator\\\\Drush\\\\Generators\\\\VLSuiteGeneratorModuleGenerator::__construct\(\) has invalid type Drupal\\\\default_content\\\\Exporter\.$#'
-- 
GitLab


From c54f081da4e31f0a83a57ec3df5520d73299500f Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 15:21:32 +0200
Subject: [PATCH 21/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 phpstan.neon | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/phpstan.neon b/phpstan.neon
index 4492d4e..61a49c1 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -13,4 +13,4 @@ parameters:
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Block\\VLSuiteInlineBlock extends @internal class Drupal\\layout_builder\\Plugin\\Block\\InlineBlock\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteMediaBgFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
-    - '#^Parameter \$default_content_exporter of method Drupal\\\\vlsuite_generator\\\\Drush\\\\Generators\\\\VLSuiteGeneratorModuleGenerator::__construct\(\) has invalid type Drupal\\\\default_content\\\\Exporter\.$#'
+    - '#^Parameter \\$default_content_exporter of method Drupal\\\\vlsuite_generator\\\\Drush\\\\Generators\\\\VLSuiteGeneratorModuleGenerator\\:\\:__construct\\(\\) has invalid type Drupal\\\\default_content\\\\Exporter\\.$#'
-- 
GitLab


From d331a18cc51fc5d7e1114e28f7cf1b775400341d Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 15:22:11 +0200
Subject: [PATCH 22/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 phpstan.neon | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/phpstan.neon b/phpstan.neon
index 61a49c1..584e97b 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -14,3 +14,12 @@ parameters:
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteMediaBgFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
     - '#^Parameter \\$default_content_exporter of method Drupal\\\\vlsuite_generator\\\\Drush\\\\Generators\\\\VLSuiteGeneratorModuleGenerator\\:\\:__construct\\(\\) has invalid type Drupal\\\\default_content\\\\Exporter\\.$#'
+		-
+			message: "#^Unsafe usage of new static\\(\\)\\.$#"
+			count: 1
+			path: modules/vlsuite_layout/modules/vlsuite_layout_tabs/src/Plugin/Layout/VLSuiteLayoutTabsBase.php
+
+		-
+			message: "#^Unsafe usage of new static\\(\\)\\.$#"
+			count: 1
+			path: modules/vlsuite_layout/src/Plugin/Layout/VLSuiteLayoutBase.php
-- 
GitLab


From 43e099e5f50b93a0c974e81b52879fead19061e8 Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 15:27:10 +0200
Subject: [PATCH 23/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 phpstan.neon | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/phpstan.neon b/phpstan.neon
index 584e97b..4b60641 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -14,12 +14,11 @@ parameters:
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteMediaBgFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
     - '#^Parameter \\$default_content_exporter of method Drupal\\\\vlsuite_generator\\\\Drush\\\\Generators\\\\VLSuiteGeneratorModuleGenerator\\:\\:__construct\\(\\) has invalid type Drupal\\\\default_content\\\\Exporter\\.$#'
-		-
-			message: "#^Unsafe usage of new static\\(\\)\\.$#"
-			count: 1
-			path: modules/vlsuite_layout/modules/vlsuite_layout_tabs/src/Plugin/Layout/VLSuiteLayoutTabsBase.php
-
-		-
-			message: "#^Unsafe usage of new static\\(\\)\\.$#"
-			count: 1
-			path: modules/vlsuite_layout/src/Plugin/Layout/VLSuiteLayoutBase.php
+    -
+      message: "#^Unsafe usage of new static\\(\\)\\.$#"
+      count: 1
+      path: modules/vlsuite_layout/modules/vlsuite_layout_tabs/src/Plugin/Layout/VLSuiteLayoutTabsBase.php
+    -
+      message: "#^Unsafe usage of new static\\(\\)\\.$#"
+      count: 1
+      path: modules/vlsuite_layout/src/Plugin/Layout/VLSuiteLayoutBase.php
-- 
GitLab


From a5727694f0aca88fefe3f9dbc83dacc1892e43c5 Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 15:33:16 +0200
Subject: [PATCH 24/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 phpstan.neon | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/phpstan.neon b/phpstan.neon
index 4b60641..b8eceb1 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -13,7 +13,7 @@ parameters:
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Block\\VLSuiteInlineBlock extends @internal class Drupal\\layout_builder\\Plugin\\Block\\InlineBlock\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteMediaBgFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
-    - '#^Parameter \\$default_content_exporter of method Drupal\\\\vlsuite_generator\\\\Drush\\\\Generators\\\\VLSuiteGeneratorModuleGenerator\\:\\:__construct\\(\\) has invalid type Drupal\\\\default_content\\\\Exporter\\.$#'
+    - '#^Parameter \\$default_content_exporter of method Drupal\\\\vlsuite_generator\\\\Drush\\\\Generators\\\\VLSuiteGeneratorModuleGenerator\\:\\:__construct\\(\\) has invalid type Drupal\\\\default_content\\\\Exporter\\.#'
     -
       message: "#^Unsafe usage of new static\\(\\)\\.$#"
       count: 1
-- 
GitLab


From d422dee1e5f6bef83119d00144059c524948dd23 Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 15:40:51 +0200
Subject: [PATCH 25/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 phpstan.neon | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/phpstan.neon b/phpstan.neon
index b8eceb1..a774df9 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -13,7 +13,7 @@ parameters:
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Block\\VLSuiteInlineBlock extends @internal class Drupal\\layout_builder\\Plugin\\Block\\InlineBlock\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
     - '#^Class Drupal\\vlsuite_block\\Plugin\\Derivative\\VLSuiteMediaBgFieldBlockDeriver extends @internal class Drupal\\layout_builder\\Plugin\\Derivative\\FieldBlockDeriver\.#'
-    - '#^Parameter \\$default_content_exporter of method Drupal\\\\vlsuite_generator\\\\Drush\\\\Generators\\\\VLSuiteGeneratorModuleGenerator\\:\\:__construct\\(\\) has invalid type Drupal\\\\default_content\\\\Exporter\\.#'
+    - '#^Parameter \$default_content_exporter of method Drupal\\vlsuite_generator\\Drush\\Generators\\VLSuiteGeneratorModuleGenerator\:\:__construct\(\) has invalid type Drupal\\default_content\\Exporter\.#'
     -
       message: "#^Unsafe usage of new static\\(\\)\\.$#"
       count: 1
-- 
GitLab


From dee1a93b19cd30321a833ccb1c52b8ff5d79c37c Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 15:57:50 +0200
Subject: [PATCH 26/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 .../js/vlsuite-animations-previewer.js        |   42 +-
 .../js/vlsuite-animations.js                  |  314 ++++-
 .../js/vlsuite-block-headings-menu.js         |    6 +-
 .../js/vlsuite-collection-gallery.js          |   38 +-
 .../js/vlsuite-icon-font-icon-form-element.js |   44 +-
 .../js/vlsuite-layout-builder.js              |   96 +-
 modules/vlsuite_slider/js/vlsuite-slider.js   |  129 +-
 .../vlsuite-utility-classes-live-previewer.js | 1041 ++++++++++++-----
 .../js/vlsuite-utility-classes-previewer.js   |   25 +-
 .../vlsuite-utility-classes-settings-form.js  |   34 +-
 10 files changed, 1248 insertions(+), 521 deletions(-)

diff --git a/modules/vlsuite_animations/js/vlsuite-animations-previewer.js b/modules/vlsuite_animations/js/vlsuite-animations-previewer.js
index 31f291e..c6c15da 100644
--- a/modules/vlsuite_animations/js/vlsuite-animations-previewer.js
+++ b/modules/vlsuite_animations/js/vlsuite-animations-previewer.js
@@ -1,24 +1,42 @@
 (function (drupalSettings, Drupal, once, window) {
   Drupal.behaviors.vlsuite_animations_previewer = {
     attach(context) {
-      once('vlsuite-animations__previewer', '.vlsuite-animations', context).forEach(animationsPreviewer);
-    }
+      once(
+        'vlsuite-animations__previewer',
+        '.vlsuite-animations',
+        context,
+      ).forEach(animationsPreviewer);
+    },
   };
 
   /**
    * Animations previewer.
    */
   function animationsPreviewer(previewWrapper) {
-    var previewerBox = previewWrapper.querySelector('.vlsuite-animations__previewer');
-    var previewerOptions = previewWrapper.querySelectorAll('.vlsuite-animations__previewer-option').forEach(function (previewerOption) {
-      previewerOption.addEventListener('input', function (event) {
-        if (event.target.value) {
-          previewerBox.classList.add(...drupalSettings.vlsuite_animations_map['is_playing_classes'].split(' '));
-          previewerBox.classList.add(...drupalSettings.vlsuite_animations_map['main_classes'].split(' '));
-          previewerBox.classList.add(...drupalSettings.vlsuite_animations_map['animations'][event.target.value].split(' '));
-        }
+    const previewerBox = previewWrapper.querySelector(
+      '.vlsuite-animations__previewer',
+    );
+    const previewerOptions = previewWrapper
+      .querySelectorAll('.vlsuite-animations__previewer-option')
+      .forEach(function (previewerOption) {
+        previewerOption.addEventListener('input', function (event) {
+          if (event.target.value) {
+            previewerBox.classList.add(
+              ...drupalSettings.vlsuite_animations_map.is_playing_classes.split(
+                ' ',
+              ),
+            );
+            previewerBox.classList.add(
+              ...drupalSettings.vlsuite_animations_map.main_classes.split(' '),
+            );
+            previewerBox.classList.add(
+              ...drupalSettings.vlsuite_animations_map.animations[
+                event.target.value
+              ].split(' '),
+            );
+          }
+        });
       });
-    });
     previewerBox.addEventListener('animationend', function (e) {
       e.target.classList.remove(...e.target.classList);
       e.target.classList.add('vlsuite-animations__previewer');
@@ -28,4 +46,4 @@
       e.target.classList.add('vlsuite-animations__previewer');
     });
   }
-}(drupalSettings, Drupal, once, window));
+})(drupalSettings, Drupal, once, window);
diff --git a/modules/vlsuite_animations/js/vlsuite-animations.js b/modules/vlsuite_animations/js/vlsuite-animations.js
index ca283fb..d539d05 100644
--- a/modules/vlsuite_animations/js/vlsuite-animations.js
+++ b/modules/vlsuite_animations/js/vlsuite-animations.js
@@ -1,111 +1,311 @@
 (function (Drupal, drupalSettings, once, window) {
   Drupal.behaviors.vlsuite_animations = {
     attach(context) {
-      once('vlsuite-animations', 'div[data-vlsuite-animations]', context).forEach(animations);
-    }
+      once(
+        'vlsuite-animations',
+        'div[data-vlsuite-animations]',
+        context,
+      ).forEach(animations);
+    },
   };
 
   /**
    * Animations.
    */
   function animations(initElement) {
-    var config = JSON.parse(initElement.dataset.vlsuiteAnimations);
+    const config = JSON.parse(initElement.dataset.vlsuiteAnimations);
     if (!config || typeof window.IntersectionObserver !== 'function') {
       return;
     }
-    if ((config.entrance_down || config.entrance_up || config.exit_down || config.exit_up || config.entrance) && !config.infinite) {
-      var observer_callback = function (entries) {
+    if (
+      (config.entrance_down ||
+        config.entrance_up ||
+        config.exit_down ||
+        config.exit_up ||
+        config.entrance) &&
+      !config.infinite
+    ) {
+      const observer_callback = function (entries) {
         entries.forEach(function (entry) {
-          var collision = entry.boundingClientRect.y < (entry.rootBounds && entry.rootBounds.y ? entry.rootBounds : 0) ? 'up' : 'down';
-          if (entry.target.classList.contains(...drupalSettings.vlsuite_animations_map['is_playing_classes'].split(' '))) {
+          const collision =
+            entry.boundingClientRect.y <
+            (entry.rootBounds && entry.rootBounds.y ? entry.rootBounds : 0)
+              ? 'up'
+              : 'down';
+          if (
+            entry.target.classList.contains(
+              ...drupalSettings.vlsuite_animations_map.is_playing_classes.split(
+                ' ',
+              ),
+            )
+          ) {
             return;
           }
           if (entry.isIntersecting) {
             // Entrance.
-            if (entry.intersectionRatio >= drupalSettings.vlsuite_animations_map['threshold']) {
-              if (entry.target.classList.contains(...drupalSettings.vlsuite_animations_map['is_shown_classes'].split(' '))) {
+            if (
+              entry.intersectionRatio >=
+              drupalSettings.vlsuite_animations_map.threshold
+            ) {
+              if (
+                entry.target.classList.contains(
+                  ...drupalSettings.vlsuite_animations_map.is_shown_classes.split(
+                    ' ',
+                  ),
+                )
+              ) {
                 return;
               }
               // Entrance.
-              if (config.entrance && drupalSettings.vlsuite_animations_map['animations'][config.entrance]) {
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['is_playing_classes'].split(' '));
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['main_classes'].split(' '));
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['is_shown_classes'].split(' '));
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['animations'][config.entrance].split(' '));
+              if (
+                config.entrance &&
+                drupalSettings.vlsuite_animations_map.animations[
+                  config.entrance
+                ]
+              ) {
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.is_playing_classes.split(
+                    ' ',
+                  ),
+                );
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.main_classes.split(
+                    ' ',
+                  ),
+                );
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.is_shown_classes.split(
+                    ' ',
+                  ),
+                );
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.animations[
+                    config.entrance
+                  ].split(' '),
+                );
               }
               // Entrance down collision.
-              else if (collision === 'down' && config.entrance_down && drupalSettings.vlsuite_animations_map['animations'][config.entrance_down]) {
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['is_playing_classes'].split(' '));
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['main_classes'].split(' '));
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['is_shown_classes'].split(' '));
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['animations'][config.entrance_down].split(' '));
+              else if (
+                collision === 'down' &&
+                config.entrance_down &&
+                drupalSettings.vlsuite_animations_map.animations[
+                  config.entrance_down
+                ]
+              ) {
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.is_playing_classes.split(
+                    ' ',
+                  ),
+                );
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.main_classes.split(
+                    ' ',
+                  ),
+                );
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.is_shown_classes.split(
+                    ' ',
+                  ),
+                );
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.animations[
+                    config.entrance_down
+                  ].split(' '),
+                );
               }
               // Entrance up collision.
-              else if (collision === 'up' && config.entrance_up && drupalSettings.vlsuite_animations_map['animations'][config.entrance_up]) {
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['is_playing_classes'].split(' '));
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['main_classes'].split(' '));
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['is_shown_classes'].split(' '));
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['animations'][config.entrance_up].split(' '));
+              else if (
+                collision === 'up' &&
+                config.entrance_up &&
+                drupalSettings.vlsuite_animations_map.animations[
+                  config.entrance_up
+                ]
+              ) {
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.is_playing_classes.split(
+                    ' ',
+                  ),
+                );
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.main_classes.split(
+                    ' ',
+                  ),
+                );
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.is_shown_classes.split(
+                    ' ',
+                  ),
+                );
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.animations[
+                    config.entrance_up
+                  ].split(' '),
+                );
               }
             }
             // Exit.
             else {
-              if (!entry.target.classList.contains(...drupalSettings.vlsuite_animations_map['is_shown_classes'].split(' '))) {
+              if (
+                !entry.target.classList.contains(
+                  ...drupalSettings.vlsuite_animations_map.is_shown_classes.split(
+                    ' ',
+                  ),
+                )
+              ) {
                 return;
               }
               // Entrance.
               if (config.entrance) {
-                entry.target.classList.remove(...drupalSettings.vlsuite_animations_map['is_shown_classes'].split(' '));
+                entry.target.classList.remove(
+                  ...drupalSettings.vlsuite_animations_map.is_shown_classes.split(
+                    ' ',
+                  ),
+                );
                 return;
               }
               // Exit down.
-              if (collision === 'down' && config.exit_down && drupalSettings.vlsuite_animations_map['animations'][config.exit_down]) {
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['is_playing_classes'].split(' '));
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['main_classes'].split(' '));
-                entry.target.classList.remove(...drupalSettings.vlsuite_animations_map['is_shown_classes'].split(' '));
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['animations'][config.exit_down].split(' '));
+              if (
+                collision === 'down' &&
+                config.exit_down &&
+                drupalSettings.vlsuite_animations_map.animations[
+                  config.exit_down
+                ]
+              ) {
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.is_playing_classes.split(
+                    ' ',
+                  ),
+                );
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.main_classes.split(
+                    ' ',
+                  ),
+                );
+                entry.target.classList.remove(
+                  ...drupalSettings.vlsuite_animations_map.is_shown_classes.split(
+                    ' ',
+                  ),
+                );
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.animations[
+                    config.exit_down
+                  ].split(' '),
+                );
               }
               // Exit up.
-              else if (collision === 'up' && config.exit_up && drupalSettings.vlsuite_animations_map['animations'][config.exit_up]) {
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['is_playing_classes'].split(' '));
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['main_classes'].split(' '));
-                entry.target.classList.remove(...drupalSettings.vlsuite_animations_map['is_shown_classes'].split(' '));
-                entry.target.classList.add(...drupalSettings.vlsuite_animations_map['animations'][config.exit_up].split(' '));
+              else if (
+                collision === 'up' &&
+                config.exit_up &&
+                drupalSettings.vlsuite_animations_map.animations[config.exit_up]
+              ) {
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.is_playing_classes.split(
+                    ' ',
+                  ),
+                );
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.main_classes.split(
+                    ' ',
+                  ),
+                );
+                entry.target.classList.remove(
+                  ...drupalSettings.vlsuite_animations_map.is_shown_classes.split(
+                    ' ',
+                  ),
+                );
+                entry.target.classList.add(
+                  ...drupalSettings.vlsuite_animations_map.animations[
+                    config.exit_up
+                  ].split(' '),
+                );
               }
             }
           }
         });
       };
-      var observer_options = {
+      const observer_options = {
         root: null,
-        threshold: [0, drupalSettings.vlsuite_animations_map['threshold']],
-        rootMargin: drupalSettings.vlsuite_animations_map['root_margin']
+        threshold: [0, drupalSettings.vlsuite_animations_map.threshold],
+        rootMargin: drupalSettings.vlsuite_animations_map.root_margin,
       };
-      var observer = new window.IntersectionObserver(observer_callback, observer_options);
+      const observer = new window.IntersectionObserver(
+        observer_callback,
+        observer_options,
+      );
       observer.observe(initElement);
     }
-    if (config.infinite && drupalSettings.vlsuite_animations_map['animations'][config.infinite]) {
-      initElement.classList.add(...drupalSettings.vlsuite_animations_map['main_classes'].split(' '));
-      initElement.classList.add(...drupalSettings.vlsuite_animations_map['infinite_classes'].split(' '));
-      initElement.classList.add(...drupalSettings.vlsuite_animations_map['animations'][config.infinite].split(' '));
+    if (
+      config.infinite &&
+      drupalSettings.vlsuite_animations_map.animations[config.infinite]
+    ) {
+      initElement.classList.add(
+        ...drupalSettings.vlsuite_animations_map.main_classes.split(' '),
+      );
+      initElement.classList.add(
+        ...drupalSettings.vlsuite_animations_map.infinite_classes.split(' '),
+      );
+      initElement.classList.add(
+        ...drupalSettings.vlsuite_animations_map.animations[
+          config.infinite
+        ].split(' '),
+      );
     }
     function clean(element) {
-      element.classList.remove(...drupalSettings.vlsuite_animations_map['is_playing_classes'].split(' '));
-      element.classList.remove(...drupalSettings.vlsuite_animations_map['main_classes'].split(' '));
-      if (config.entrance && drupalSettings.vlsuite_animations_map['animations'][config.entrance]) {
-        element.classList.remove(...drupalSettings.vlsuite_animations_map['animations'][config.entrance].split(' '));
+      element.classList.remove(
+        ...drupalSettings.vlsuite_animations_map.is_playing_classes.split(' '),
+      );
+      element.classList.remove(
+        ...drupalSettings.vlsuite_animations_map.main_classes.split(' '),
+      );
+      if (
+        config.entrance &&
+        drupalSettings.vlsuite_animations_map.animations[config.entrance]
+      ) {
+        element.classList.remove(
+          ...drupalSettings.vlsuite_animations_map.animations[
+            config.entrance
+          ].split(' '),
+        );
       }
-      if (config.entrance_down && drupalSettings.vlsuite_animations_map['animations'][config.entrance_down]) {
-        element.classList.remove(...drupalSettings.vlsuite_animations_map['animations'][config.entrance_down].split(' '));
+      if (
+        config.entrance_down &&
+        drupalSettings.vlsuite_animations_map.animations[config.entrance_down]
+      ) {
+        element.classList.remove(
+          ...drupalSettings.vlsuite_animations_map.animations[
+            config.entrance_down
+          ].split(' '),
+        );
       }
-      if (config.entrance_up && drupalSettings.vlsuite_animations_map['animations'][config.entrance_up]) {
-        element.classList.remove(...drupalSettings.vlsuite_animations_map['animations'][config.entrance_up].split(' '));
+      if (
+        config.entrance_up &&
+        drupalSettings.vlsuite_animations_map.animations[config.entrance_up]
+      ) {
+        element.classList.remove(
+          ...drupalSettings.vlsuite_animations_map.animations[
+            config.entrance_up
+          ].split(' '),
+        );
       }
-      if (config.exit_down && drupalSettings.vlsuite_animations_map['animations'][config.exit_down]) {
-        element.classList.remove(...drupalSettings.vlsuite_animations_map['animations'][config.exit_down].split(' '));
+      if (
+        config.exit_down &&
+        drupalSettings.vlsuite_animations_map.animations[config.exit_down]
+      ) {
+        element.classList.remove(
+          ...drupalSettings.vlsuite_animations_map.animations[
+            config.exit_down
+          ].split(' '),
+        );
       }
-      if (config.exit_up && drupalSettings.vlsuite_animations_map['animations'][config.exit_up]) {
-        element.classList.remove(...drupalSettings.vlsuite_animations_map['animations'][config.exit_up].split(' '));
+      if (
+        config.exit_up &&
+        drupalSettings.vlsuite_animations_map.animations[config.exit_up]
+      ) {
+        element.classList.remove(
+          ...drupalSettings.vlsuite_animations_map.animations[
+            config.exit_up
+          ].split(' '),
+        );
       }
     }
     initElement.addEventListener('animationend', function (e) {
@@ -115,4 +315,4 @@
       clean(e.target);
     });
   }
-}(Drupal, drupalSettings, once, window));
+})(Drupal, drupalSettings, once, window);
diff --git a/modules/vlsuite_block/modules/vlsuite_block_headings_menu/js/vlsuite-block-headings-menu.js b/modules/vlsuite_block/modules/vlsuite_block_headings_menu/js/vlsuite-block-headings-menu.js
index ed1fb9d..4186200 100644
--- a/modules/vlsuite_block/modules/vlsuite_block_headings_menu/js/vlsuite-block-headings-menu.js
+++ b/modules/vlsuite_block/modules/vlsuite_block_headings_menu/js/vlsuite-block-headings-menu.js
@@ -14,7 +14,7 @@
 
     const observer = new window.IntersectionObserver(handler);
     const observerElement = document.querySelector(
-      navLink.getAttribute('href')
+      navLink.getAttribute('href'),
     );
     if (observerElement !== 'undefined') {
       observer.observe(observerElement);
@@ -26,8 +26,8 @@
       once(
         'vlsuite-block-headings-menu',
         '.vlsuite-block-headings-menu .vlsuite-block-headings-menu__nav-link',
-        context
+        context,
       ).forEach(scrollSpy);
-    }
+    },
   };
 })(Drupal, once, window);
diff --git a/modules/vlsuite_collection/modules/vlsuite_collection_gallery/js/vlsuite-collection-gallery.js b/modules/vlsuite_collection/modules/vlsuite_collection_gallery/js/vlsuite-collection-gallery.js
index 7c6dde2..ab1657f 100644
--- a/modules/vlsuite_collection/modules/vlsuite_collection_gallery/js/vlsuite-collection-gallery.js
+++ b/modules/vlsuite_collection/modules/vlsuite_collection_gallery/js/vlsuite-collection-gallery.js
@@ -1,29 +1,47 @@
 (function (Drupal, once, window) {
   Drupal.behaviors.vlsuite_collection_gallery = {
     attach(context) {
-      once('vlsuite-collection-gallery-slides-sync', '.vlsuite-block__vlsuite-collection-gallery .vlsuite-layout', context).forEach(slidesSync);
-    }
+      once(
+        'vlsuite-collection-gallery-slides-sync',
+        '.vlsuite-block__vlsuite-collection-gallery .vlsuite-layout',
+        context,
+      ).forEach(slidesSync);
+    },
   };
 
   /**
    * Collection gallery slides sync.
    */
   function slidesSync(initElement) {
-    if (initElement.querySelectorAll('.vlsuite-block__block-contentvlsuite-collection-galleryvlsuite-medias').length !== 2 || typeof window.Swiper !== 'function') {
+    if (
+      initElement.querySelectorAll(
+        '.vlsuite-block__block-contentvlsuite-collection-galleryvlsuite-medias',
+      ).length !== 2 ||
+      typeof window.Swiper !== 'function'
+    ) {
       return;
     }
-    var main = initElement.querySelectorAll('.vlsuite-block__block-contentvlsuite-collection-galleryvlsuite-medias')[0];
-    var mainSlide = main.querySelector('.swiper');
-    var thumbnails = initElement.querySelectorAll('.vlsuite-block__block-contentvlsuite-collection-galleryvlsuite-medias')[1];
-    var thumbnailsSlide = thumbnails.querySelector('.swiper');
-    if (typeof mainSlide === 'object' && typeof mainSlide.swiper === 'object' && typeof thumbnailsSlide === 'object' && typeof thumbnailsSlide.swiper === 'object') {
+    const main = initElement.querySelectorAll(
+      '.vlsuite-block__block-contentvlsuite-collection-galleryvlsuite-medias',
+    )[0];
+    const mainSlide = main.querySelector('.swiper');
+    const thumbnails = initElement.querySelectorAll(
+      '.vlsuite-block__block-contentvlsuite-collection-galleryvlsuite-medias',
+    )[1];
+    const thumbnailsSlide = thumbnails.querySelector('.swiper');
+    if (
+      typeof mainSlide === 'object' &&
+      typeof mainSlide.swiper === 'object' &&
+      typeof thumbnailsSlide === 'object' &&
+      typeof thumbnailsSlide.swiper === 'object'
+    ) {
       mainSlide.swiper.thumbs.swiper = thumbnailsSlide.swiper;
       mainSlide.swiper.thumbs.init();
       thumbnailsSlide.swiper.slideTo(mainSlide.swiper.activeIndex);
-      mainSlide.swiper.on("slideChange", function () {
+      mainSlide.swiper.on('slideChange', function () {
         thumbnailsSlide.swiper.slideTo(mainSlide.swiper.activeIndex);
       });
       thumbnails.classList.add('swiper-sync-active');
     }
   }
-}(Drupal, once, window));
+})(Drupal, once, window);
diff --git a/modules/vlsuite_icon_font/js/vlsuite-icon-font-icon-form-element.js b/modules/vlsuite_icon_font/js/vlsuite-icon-font-icon-form-element.js
index 9cc53aa..94f7103 100644
--- a/modules/vlsuite_icon_font/js/vlsuite-icon-font-icon-form-element.js
+++ b/modules/vlsuite_icon_font/js/vlsuite-icon-font-icon-form-element.js
@@ -1,34 +1,44 @@
 (function (Drupal, once, window) {
   Drupal.behaviors.vlsuite_icon_font_icon_form_element = {
     attach(context) {
-      once('vlsuite-icon-font-icon-form-element', '.vlsuite-icon-font-icon-form-element', context).forEach(iconFormElement);
-    }
+      once(
+        'vlsuite-icon-font-icon-form-element',
+        '.vlsuite-icon-font-icon-form-element',
+        context,
+      ).forEach(iconFormElement);
+    },
   };
 
   /**
    * Icon form element.
    */
   function iconFormElement(iconPreviewer) {
-    var input = iconPreviewer.querySelector('.vlsuite-icon-font-icon-form-element__input');
-    var replacement = iconPreviewer.dataset.vlsuiteIconFontReplacement;
-    var icon = iconPreviewer.querySelector('.vlsuite-icon-font-icon-form-element__icon');
+    const input = iconPreviewer.querySelector(
+      '.vlsuite-icon-font-icon-form-element__input',
+    );
+    const replacement = iconPreviewer.dataset.vlsuiteIconFontReplacement;
+    const icon = iconPreviewer.querySelector(
+      '.vlsuite-icon-font-icon-form-element__icon',
+    );
     icon.dataset.originalClasses = icon.classList.value;
     if (input.value) {
       if (replacement === 'text') {
         icon.innerText = input.value;
-      }
-      else if (replacement === 'class') {
+      } else if (replacement === 'class') {
         icon.classList.add(input.value);
       }
     }
-    input.addEventListener('change',function(e) {
-      if (replacement === 'text') {
-        icon.innerText = e.target.value;
-      }
-      else if (replacement === 'class') {
-        icon.classList = icon.dataset.originalClasses;
-        icon.classList.add(e.target.value);
-      }
-    }, false);
+    input.addEventListener(
+      'change',
+      function (e) {
+        if (replacement === 'text') {
+          icon.innerText = e.target.value;
+        } else if (replacement === 'class') {
+          icon.classList = icon.dataset.originalClasses;
+          icon.classList.add(e.target.value);
+        }
+      },
+      false,
+    );
   }
-}(Drupal, once, window));
+})(Drupal, once, window);
diff --git a/modules/vlsuite_layout_builder/js/vlsuite-layout-builder.js b/modules/vlsuite_layout_builder/js/vlsuite-layout-builder.js
index 498fbfb..e6aab38 100644
--- a/modules/vlsuite_layout_builder/js/vlsuite-layout-builder.js
+++ b/modules/vlsuite_layout_builder/js/vlsuite-layout-builder.js
@@ -1,43 +1,82 @@
 (function ($, Drupal, once, window) {
-
   Drupal.behaviors.vlsuite_layout_builder = {
     attach(context) {
-      once('vlsuite-layout-builder-live-preview', '.layout-builder__live-preview__toggler__link', context).forEach(layoutBuilderLivePreview);
-      once('vlsuite-layout-builder-edit-live-preview', 'form[data-layout-builder-target-highlight-id] [data-editor-for]', context).forEach(layoutBuilderEditLivePreview);
+      once(
+        'vlsuite-layout-builder-live-preview',
+        '.layout-builder__live-preview__toggler__link',
+        context,
+      ).forEach(layoutBuilderLivePreview);
+      once(
+        'vlsuite-layout-builder-edit-live-preview',
+        'form[data-layout-builder-target-highlight-id] [data-editor-for]',
+        context,
+      ).forEach(layoutBuilderEditLivePreview);
       // Add the new hover handler for regions
-      once('vlsuite-layout-builder-region-hover', '.layout-builder__region', context).forEach(layoutBuilderRegionHover);
-    }
+      once(
+        'vlsuite-layout-builder-region-hover',
+        '.layout-builder__region',
+        context,
+      ).forEach(layoutBuilderRegionHover);
+    },
   };
 
   /**
    * Layout builder edit live preview.
    */
   function layoutBuilderEditLivePreview(editorFor) {
-    var editorElement = document.querySelector('#' + editorFor.getAttribute('data-editor-for'));
-    var originalValue = editorElement.getAttribute('data-editor-value-original');
-    var fieldClass = 'field--name-' + editorElement.getAttribute('name').split('settings[block_form][')[1].split(']')[0].replaceAll('_', '-');
-    var uuid = editorElement.closest('[data-layout-builder-target-highlight-id]').getAttribute('data-layout-builder-target-highlight-id');
-    var targetElement = document.querySelector('[data-layout-block-uuid="' + uuid + '"] .' + fieldClass);
-    if (targetElement !== null && editorElement.hasAttribute('data-ckeditor5-id')) {
+    const editorElement = document.querySelector(
+      `#${editorFor.getAttribute('data-editor-for')}`,
+    );
+    const originalValue = editorElement.getAttribute(
+      'data-editor-value-original',
+    );
+    const fieldClass = `field--name-${editorElement
+      .getAttribute('name')
+      .split('settings[block_form][')[1]
+      .split(']')[0]
+      .replaceAll('_', '-')}`;
+    const uuid = editorElement
+      .closest('[data-layout-builder-target-highlight-id]')
+      .getAttribute('data-layout-builder-target-highlight-id');
+    const targetElement = document.querySelector(
+      `[data-layout-block-uuid="${uuid}"] .${fieldClass}`,
+    );
+    if (
+      targetElement !== null &&
+      editorElement.hasAttribute('data-ckeditor5-id')
+    ) {
       $(editorElement).on('formUpdated', function (e) {
-        targetElement.innerHTML = Drupal.CKEditor5Instances.get(editorElement.getAttribute('data-ckeditor5-id')).getData();
+        targetElement.innerHTML = Drupal.CKEditor5Instances.get(
+          editorElement.getAttribute('data-ckeditor5-id'),
+        ).getData();
         $('div#vlsuite-modal').one('dialogclose', function () {
           targetElement.innerHTML = originalValue;
         });
       });
-      var smallTag = document.createElement('small');
-      smallTag.appendChild(document.createTextNode(Drupal.t('*Live edit preview active for this field.')));
+      const smallTag = document.createElement('small');
+      smallTag.appendChild(
+        document.createTextNode(
+          Drupal.t('*Live edit preview active for this field.'),
+        ),
+      );
       smallTag.classList.add('vlsuite-layout-builder-edit-live-preview-mark');
       editorElement.parentNode.appendChild(smallTag);
-      $(window).one("dialog:beforecreate", function (e, dialog, $dialogElement, dialogSettings) {
-        // Option "dialogClass" deprecated in 1.12 in favor of "classes".
-        dialogSettings.dialogClass = "ui-dialog-fixed";
-        dialogSettings.classes = { "ui-dialog": "ui-dialog-fixed" };
-        dialogSettings.resizable = false;
-        dialogSettings.autoResize = false;
-        dialogSettings.draggable = true;
-        dialogSettings.position = {my: "right top", at: "right-10 bottom", of: window};
-      });
+      $(window).one(
+        'dialog:beforecreate',
+        function (e, dialog, $dialogElement, dialogSettings) {
+          // Option "dialogClass" deprecated in 1.12 in favor of "classes".
+          dialogSettings.dialogClass = 'ui-dialog-fixed';
+          dialogSettings.classes = { 'ui-dialog': 'ui-dialog-fixed' };
+          dialogSettings.resizable = false;
+          dialogSettings.autoResize = false;
+          dialogSettings.draggable = true;
+          dialogSettings.position = {
+            my: 'right top',
+            at: 'right-10 bottom',
+            of: window,
+          };
+        },
+      );
     }
   }
 
@@ -54,7 +93,7 @@
     }
 
     // Add mouseover event
-    region.addEventListener('mouseover', function() {
+    region.addEventListener('mouseover', function () {
       if (wrapper) {
         // Set thinner border with the hover style
         wrapper.style.border = 'var(--vlsuite-border)';
@@ -62,7 +101,7 @@
     });
 
     // Add mouseout event to restore the original border
-    region.addEventListener('mouseout', function() {
+    region.addEventListener('mouseout', function () {
       if (wrapper) {
         // First remove any inline style to let CSS take over
         wrapper.style.border = '';
@@ -82,8 +121,9 @@
   function layoutBuilderLivePreview(toggler) {
     toggler.addEventListener('click', function (e) {
       e.preventDefault();
-      document.querySelector('.layout-builder').classList.toggle('live-preview-active');
+      document
+        .querySelector('.layout-builder')
+        .classList.toggle('live-preview-active');
     });
   }
-
-}(jQuery, Drupal, once, window));
+})(jQuery, Drupal, once, window);
diff --git a/modules/vlsuite_slider/js/vlsuite-slider.js b/modules/vlsuite_slider/js/vlsuite-slider.js
index 75f6260..ad6049a 100644
--- a/modules/vlsuite_slider/js/vlsuite-slider.js
+++ b/modules/vlsuite_slider/js/vlsuite-slider.js
@@ -1,120 +1,135 @@
 (function (Drupal, once, window) {
   Drupal.behaviors.vlsuite_slider = {
     attach(context) {
-      once('vlsuite-slider', 'div[data-vlsuite-slider]', context).forEach(slider);
-    }
+      once('vlsuite-slider', 'div[data-vlsuite-slider]', context).forEach(
+        slider,
+      );
+    },
   };
 
   /**
    * Slider.
    */
   function slider(initElement) {
-    var config = JSON.parse(initElement.dataset.vlsuiteSlider);
+    const config = JSON.parse(initElement.dataset.vlsuiteSlider);
     if (!config.active || typeof window.Swiper !== 'function') {
       return;
     }
-    var sliderElement = initElement.querySelector(config['scope_selector']);
+    const sliderElement = initElement.querySelector(config.scope_selector);
 
     if (sliderElement === null) {
       return;
     }
 
-    var rows = config['rows'] ?? false;
+    const rows = config.rows ?? false;
 
-    var swiperElement = document.createElement('div');
+    const swiperElement = document.createElement('div');
     swiperElement.classList.add('swiper');
-    var swiperWrapperElement = document.createElement('div');
+    const swiperWrapperElement = document.createElement('div');
     swiperWrapperElement.classList.add('swiper-wrapper');
-    sliderElement.querySelectorAll(config['scope_items_selector']).forEach((block, index) => {
-      block.classList.add('swiper-slide');
-      swiperWrapperElement.appendChild(block);
-    });
+    sliderElement
+      .querySelectorAll(config.scope_items_selector)
+      .forEach((block, index) => {
+        block.classList.add('swiper-slide');
+        swiperWrapperElement.appendChild(block);
+      });
     swiperElement.appendChild(swiperWrapperElement);
     sliderElement.appendChild(swiperElement);
 
-    var slidesPerViewMedium = config['slides_per_view_medium'] ?? null;
-    var slidesPerViewSmall = config['slides_per_view_small'] ?? null;
-    var slidesPerView = config['slides_per_view'] ?? 1;
-    var slidesPerViewOriginal = slidesPerView;
-    var swiperOptions = {
-      slidesPerView: slidesPerViewSmall ?? (slidesPerViewMedium ?? slidesPerView)
+    const slidesPerViewMedium = config.slides_per_view_medium ?? null;
+    const slidesPerViewSmall = config.slides_per_view_small ?? null;
+    const slidesPerView = config.slides_per_view ?? 1;
+    const slidesPerViewOriginal = slidesPerView;
+    const swiperOptions = {
+      slidesPerView: slidesPerViewSmall ?? slidesPerViewMedium ?? slidesPerView,
     };
     if (rows !== false && parseInt(rows) !== 1) {
-      swiperOptions['grid'] = {
-        rows: rows,
-        fill: 'row'
+      swiperOptions.grid = {
+        rows,
+        fill: 'row',
       };
     }
-    if ((config['auto_height'] ?? false) && !(rows !== false && parseInt(rows) !== 1)) {
-      swiperOptions['autoHeight'] = true;
+    if (
+      (config.auto_height ?? false) &&
+      !(rows !== false && parseInt(rows) !== 1)
+    ) {
+      swiperOptions.autoHeight = true;
     }
-    if (config['space_between'] ?? true) {
-      swiperOptions['spaceBetween'] = config['space_between'] ?? 16;
+    if (config.space_between ?? true) {
+      swiperOptions.spaceBetween = config.space_between ?? 16;
     }
-    if (config['pagination'] ?? false) {
+    if (config.pagination ?? false) {
       var pagination = document.createElement('div');
       pagination.classList.add('swiper-pagination');
       swiperElement.appendChild(pagination);
 
-      swiperOptions['pagination'] = {
+      swiperOptions.pagination = {
         el: pagination,
         dynamicBullets: true,
-        clickable: true
+        clickable: true,
       };
     }
-    if (config['centered_slides'] ?? false) {
-      swiperOptions['centeredSlides'] = true;
+    if (config.centered_slides ?? false) {
+      swiperOptions.centeredSlides = true;
     }
-    if (config['loop'] ?? false) {
-      swiperOptions['loop'] = true;
+    if (config.loop ?? false) {
+      swiperOptions.loop = true;
     }
-    if ((config['initial_slide'] ?? false) && parseInt(config['initial_slide']) !== 1) {
+    if (
+      (config.initial_slide ?? false) &&
+      parseInt(config.initial_slide) !== 1
+    ) {
       // Start at 1 not 0.
-      swiperOptions['initialSlide'] = parseInt(config['initial_slide']) - 1;
+      swiperOptions.initialSlide = parseInt(config.initial_slide) - 1;
     }
-    if (slidesPerViewSmall !== null && slidesPerViewSmall !== slidesPerViewOriginal) {
-      var small_size = config['small_size'] ?? 768;
-      swiperOptions['breakpoints'] = {};
-      swiperOptions['breakpoints'][small_size] = {
+    if (
+      slidesPerViewSmall !== null &&
+      slidesPerViewSmall !== slidesPerViewOriginal
+    ) {
+      const small_size = config.small_size ?? 768;
+      swiperOptions.breakpoints = {};
+      swiperOptions.breakpoints[small_size] = {
         slidesPerView: slidesPerViewMedium ?? slidesPerView,
         pagination: {
           el: pagination,
           dynamicBullets: true,
-          clickable: true
-        }
+          clickable: true,
+        },
       };
     }
-    if (slidesPerViewMedium !== null && slidesPerViewMedium !== slidesPerViewOriginal) {
-      var medium_size = config['medium_size'] ?? 1280;
-      swiperOptions['breakpoints'] = swiperOptions['breakpoints'] ?? {};
-      swiperOptions['breakpoints'][medium_size] = {
-        slidesPerView: slidesPerView,
+    if (
+      slidesPerViewMedium !== null &&
+      slidesPerViewMedium !== slidesPerViewOriginal
+    ) {
+      const medium_size = config.medium_size ?? 1280;
+      swiperOptions.breakpoints = swiperOptions.breakpoints ?? {};
+      swiperOptions.breakpoints[medium_size] = {
+        slidesPerView,
         pagination: {
           el: pagination,
           dynamicBullets: true,
-          clickable: true
-        }
+          clickable: true,
+        },
       };
     }
-    if (config['navigation'] ?? false) {
-      var navigationNext = document.createElement('div');
+    if (config.navigation ?? false) {
+      const navigationNext = document.createElement('div');
       navigationNext.classList.add('swiper-button-next');
-      var navigationPrev = document.createElement('div');
+      const navigationPrev = document.createElement('div');
       navigationPrev.classList.add('swiper-button-prev');
       swiperElement.appendChild(navigationNext);
       swiperElement.appendChild(navigationPrev);
-      swiperOptions['navigation'] = {
+      swiperOptions.navigation = {
         nextEl: navigationNext,
-        prevEl: navigationPrev
+        prevEl: navigationPrev,
       };
     }
-    if (config['autoplay'] ?? false) {
-      swiperOptions['autoplay'] = {
-        'delay': config['autoplay'] * 1000,
-        'pauseOnMouseEnter': true
+    if (config.autoplay ?? false) {
+      swiperOptions.autoplay = {
+        delay: config.autoplay * 1000,
+        pauseOnMouseEnter: true,
       };
     }
     new window.Swiper(swiperElement, swiperOptions);
   }
-}(Drupal, once, window));
-
+})(Drupal, once, window);
diff --git a/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-live-previewer.js b/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-live-previewer.js
index b1a40a0..144a23f 100644
--- a/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-live-previewer.js
+++ b/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-live-previewer.js
@@ -1,33 +1,118 @@
 (function (Drupal, drupalSettings, once, window) {
-  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
-  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
-  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
-  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
-  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
-  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
-  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
-  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
-  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
-  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
+  function _defineProperty(obj, key, value) {
+    key = _toPropertyKey(key);
+    if (key in obj) {
+      Object.defineProperty(obj, key, {
+        value,
+        enumerable: true,
+        configurable: true,
+        writable: true,
+      });
+    } else {
+      obj[key] = value;
+    }
+    return obj;
+  }
+  function _toPropertyKey(arg) {
+    const key = _toPrimitive(arg, 'string');
+    return _typeof(key) === 'symbol' ? key : String(key);
+  }
+  function _toPrimitive(input, hint) {
+    if (_typeof(input) !== 'object' || input === null) return input;
+    const prim = input[Symbol.toPrimitive];
+    if (prim !== undefined) {
+      const res = prim.call(input, hint || 'default');
+      if (_typeof(res) !== 'object') return res;
+      throw new TypeError('@@toPrimitive must return a primitive value.');
+    }
+    return (hint === 'string' ? String : Number)(input);
+  }
+  function _toConsumableArray(arr) {
+    return (
+      _arrayWithoutHoles(arr) ||
+      _iterableToArray(arr) ||
+      _unsupportedIterableToArray(arr) ||
+      _nonIterableSpread()
+    );
+  }
+  function _nonIterableSpread() {
+    throw new TypeError(
+      'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
+    );
+  }
+  function _unsupportedIterableToArray(o, minLen) {
+    if (!o) return;
+    if (typeof o === 'string') return _arrayLikeToArray(o, minLen);
+    let n = Object.prototype.toString.call(o).slice(8, -1);
+    if (n === 'Object' && o.constructor) n = o.constructor.name;
+    if (n === 'Map' || n === 'Set') return Array.from(o);
+    if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
+      return _arrayLikeToArray(o, minLen);
+  }
+  function _iterableToArray(iter) {
+    if (
+      (typeof Symbol !== 'undefined' && iter[Symbol.iterator] != null) ||
+      iter['@@iterator'] != null
+    )
+      return Array.from(iter);
+  }
+  function _arrayWithoutHoles(arr) {
+    if (Array.isArray(arr)) return _arrayLikeToArray(arr);
+  }
+  function _arrayLikeToArray(arr, len) {
+    if (len == null || len > arr.length) len = arr.length;
+    for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
+    return arr2;
+  }
+  function _typeof(obj) {
+    '@babel/helpers - typeof';
+
+    return (
+      (_typeof =
+        typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol'
+          ? function (obj) {
+              return typeof obj;
+            }
+          : function (obj) {
+              return obj &&
+                typeof Symbol === 'function' &&
+                obj.constructor === Symbol &&
+                obj !== Symbol.prototype
+                ? 'symbol'
+                : typeof obj;
+            }),
+      _typeof(obj)
+    );
+  }
   Drupal.behaviors.vlsuite_utility_classes_live_previewer = {
     attach: function attach(context) {
-      once('vlsuite-utility-classes-live-previewer', '[data-vlsuite-utility-classes-live-previewer-apply-to]', context).forEach(Drupal.vlsuite_utility_classes_live_previewer);
-    }
+      once(
+        'vlsuite-utility-classes-live-previewer',
+        '[data-vlsuite-utility-classes-live-previewer-apply-to]',
+        context,
+      ).forEach(Drupal.vlsuite_utility_classes_live_previewer);
+    },
   };
   Drupal.vlsuite_utility_classes_live_previewer = function (element) {
     if (_typeof(window.FloatingUIDOM) !== 'object') {
       return;
     }
-    var skip = false;
-    var main = document.createElement('div');
+    let skip = false;
+    const main = document.createElement('div');
     main.classList.add('vlsuite-utility-classes-live-previewer');
-    var applyTo = element.dataset.vlsuiteUtilityClassesLivePreviewerApplyTo;
-    var type = element.dataset.vlsuiteUtilityClassesLivePreviewerType;
-    var togglerLink = document.createElement('a');
+    const applyTo = element.dataset.vlsuiteUtilityClassesLivePreviewerApplyTo;
+    const type = element.dataset.vlsuiteUtilityClassesLivePreviewerType;
+    const togglerLink = document.createElement('a');
     togglerLink.href = '#';
-    togglerLink.title = Drupal.t('Appearance') + ': ' + Drupal.vlsuite_utility_classes_live_previewer_type_title_map[type];
-    togglerLink.textContent = Drupal.vlsuite_utility_classes_live_previewer_type_title_map[type] + Drupal.t(' styles');
-    togglerLink.classList.add('vlsuite-utility-classes-live-previewer__toggler');
+    togglerLink.title = `${Drupal.t('Appearance')}: ${
+      Drupal.vlsuite_utility_classes_live_previewer_type_title_map[type]
+    }`;
+    togglerLink.textContent =
+      Drupal.vlsuite_utility_classes_live_previewer_type_title_map[type] +
+      Drupal.t(' styles');
+    togglerLink.classList.add(
+      'vlsuite-utility-classes-live-previewer__toggler',
+    );
     togglerLink.addEventListener('click', function (e) {
       e.preventDefault();
       e.stopPropagation();
@@ -35,153 +120,262 @@
       if (main.classList.contains('active')) {
         Drupal.vlsuite_utility_classes_type_element_setDefaults(element, type);
       }
-      Drupal.vlsuite_utility_classes_live_previewer_type_position_refresh(element, overflow, main, arrow, type);
+      Drupal.vlsuite_utility_classes_live_previewer_type_position_refresh(
+        element,
+        overflow,
+        main,
+        arrow,
+        type,
+      );
     });
     main.appendChild(togglerLink);
-    main.classList.add('vlsuite-utility-classes-live-previewer--' + type);
+    main.classList.add(`vlsuite-utility-classes-live-previewer--${type}`);
     var overflow = document.createElement('div');
     overflow.classList.add('vlsuite-utility-classes-live-previewer__overflow');
     var arrow = document.createElement('div');
     arrow.classList.add('vlsuite-utility-classes-live-previewer__arrow');
-    /*var utilityGroupTitle = document.createElement('h2');
+    /* var utilityGroupTitle = document.createElement('h2');
     utilityGroupTitle.appendChild(document.createTextNode(togglerLink.title));
-    main.appendChild(utilityGroupTitle);*/
-    var uuid = element.closest('[data-layout-block-uuid]') ? element.closest('[data-layout-block-uuid]').dataset.layoutBlockUuid : '_none';
-    var delta = (element.closest('[data-layout-delta]') ? element.closest('[data-layout-delta]').dataset.layoutDelta : null) || (element.querySelector('[data-layout-delta]') ? element.querySelector('[data-layout-delta]').dataset.layoutDelta : null) || (element.parentNode.querySelector('[data-layout-delta]') ? element.parentNode.querySelector('[data-layout-delta]').dataset.layoutDelta : '_none');
-    var linkArgumentsBase = [element.closest('[data-vlsuite-utility-classes-live-previewer-apply-to-url]').dataset.vlsuiteUtilityClassesLivePreviewerApplyToUrl, delta, uuid, applyTo];
+    main.appendChild(utilityGroupTitle); */
+    const uuid = element.closest('[data-layout-block-uuid]')
+      ? element.closest('[data-layout-block-uuid]').dataset.layoutBlockUuid
+      : '_none';
+    const delta =
+      (element.closest('[data-layout-delta]')
+        ? element.closest('[data-layout-delta]').dataset.layoutDelta
+        : null) ||
+      (element.querySelector('[data-layout-delta]')
+        ? element.querySelector('[data-layout-delta]').dataset.layoutDelta
+        : null) ||
+      (element.parentNode.querySelector('[data-layout-delta]')
+        ? element.parentNode.querySelector('[data-layout-delta]').dataset
+            .layoutDelta
+        : '_none');
+    const linkArgumentsBase = [
+      element.closest(
+        '[data-vlsuite-utility-classes-live-previewer-apply-to-url]',
+      ).dataset.vlsuiteUtilityClassesLivePreviewerApplyToUrl,
+      delta,
+      uuid,
+      applyTo,
+    ];
     Drupal.vlsuite_utility_classes_type_element_setDefaults(element, type);
-    var defaults = element.dataset.vlsuiteUtilityClassesLivePreviewerDefaults !== undefined ? JSON.parse(element.dataset.vlsuiteUtilityClassesLivePreviewerDefaults) : false;
-    var configureLink = element.closest('[data-vlsuite-utility-classes-configure-url]');
-    element.dataset.vlsuiteUtilityClassesLivePreviewerIdentifiers.split(',').forEach(function (currentIdentifier) {
-      if (currentIdentifier === '') {
-        if (configureLink) {
-          var emptyElement = document.createElement('span');
-          emptyElement.classList.add('vlsuite-utility-classes-live-previewer__empty');
-          emptyElement.appendChild(document.createTextNode(Drupal.t('Any enabled, configure using link below')));
-          overflow.appendChild(emptyElement);
-        } else {
-          skip = true;
-        }
-        return;
-      }
-      var utilityList = document.createElement('ul');
-      var utilityListTitle = document.createElement('h3');
-      var isColumnWidths = currentIdentifier.includes(':column_widths');
-      var defaultApplies = !isColumnWidths;
-      var iconReplacement = drupalSettings.vlsuite_icon_font_map['replacement'];
-      var icon = drupalSettings.vlsuite_utility_classes_map[currentIdentifier].icon;
-      if (isColumnWidths) {
-        icon = drupalSettings.vlsuite_utility_classes_map['column_widths_icon'];
-      }
-      if (icon) {
-        var _iconElement$classLis;
-        var iconElement = document.createElement('span');
-        (_iconElement$classLis = iconElement.classList).add.apply(_iconElement$classLis, _toConsumableArray(drupalSettings.vlsuite_icon_font_map['main_classes'].split(' ')));
-        if (iconReplacement === 'text') {
-          iconElement.appendChild(document.createTextNode(icon));
-        } else if (iconReplacement === 'class') {
-          iconElement.classList.add(icon);
-        }
-        utilityListTitle.appendChild(iconElement);
-      }
-      utilityListTitle.appendChild(document.createTextNode(drupalSettings.vlsuite_utility_classes_map[currentIdentifier].visual_name));
-
-      // Create details element with summary
-      var details = document.createElement('details');
-
-      // Create summary and move content from h3
-      var summary = document.createElement('summary');
-      while (utilityListTitle.firstChild) {
-        summary.appendChild(utilityListTitle.firstChild);
-      }
-
-      // Add summary and list to details
-      details.appendChild(summary);
-      details.appendChild(utilityList);
-
-      // Add details to overflow instead of separate title and list
-      overflow.appendChild(details);
-
-      if (defaultApplies) {
-        var utilityListItem = document.createElement('li');
-        utilityListItem.classList.add('vlsuite-utility-classes-live-previewer__default');
-        var utilityDefaultLink = document.createElement('a');
-        utilityDefaultLink.appendChild(document.createTextNode(Drupal.t('Default')));
-        var linkDefaultArguments = linkArgumentsBase.slice();
-        linkDefaultArguments.push(currentIdentifier, '_none');
-        utilityDefaultLink.href = linkDefaultArguments.join('/');
-        utilityDefaultLink.addEventListener("mouseover", function (e) {
-          e.stopPropagation();
-          Drupal.vlsuite_utility_classes_live_previewer_type_element_apply_classes(element, type, currentIdentifier, '');
-        }, false);
-        utilityDefaultLink.addEventListener("mouseout", function (e) {
-          e.stopPropagation();
-          Drupal.vlsuite_utility_classes_type_element_restore(element, type, currentIdentifier);
-        }, false);
-        if (defaults === false || defaults[currentIdentifier] === undefined) {
-          utilityDefaultLink.classList.add('active');
+    const defaults =
+      element.dataset.vlsuiteUtilityClassesLivePreviewerDefaults !== undefined
+        ? JSON.parse(element.dataset.vlsuiteUtilityClassesLivePreviewerDefaults)
+        : false;
+    const configureLink = element.closest(
+      '[data-vlsuite-utility-classes-configure-url]',
+    );
+    element.dataset.vlsuiteUtilityClassesLivePreviewerIdentifiers
+      .split(',')
+      .forEach(function (currentIdentifier) {
+        if (currentIdentifier === '') {
+          if (configureLink) {
+            const emptyElement = document.createElement('span');
+            emptyElement.classList.add(
+              'vlsuite-utility-classes-live-previewer__empty',
+            );
+            emptyElement.appendChild(
+              document.createTextNode(
+                Drupal.t('Any enabled, configure using link below'),
+              ),
+            );
+            overflow.appendChild(emptyElement);
+          } else {
+            skip = true;
+          }
+          return;
         }
-        utilityDefaultLink.addEventListener("click", function (e) {
-          e.preventDefault();
-          Drupal.ajax({
-            url: e.target.href,
-            progress: {
-              type: 'fullscreen'
-            }
-          }).execute();
-        }, false);
-        utilityListItem.appendChild(utilityDefaultLink);
-        utilityList.appendChild(utilityListItem);
-      }
-      Object.keys(drupalSettings.vlsuite_utility_classes_map[currentIdentifier].values).forEach(function (currentValue) {
-        var utilityListItem = document.createElement('li');
-        var link_title = drupalSettings.vlsuite_utility_classes_map[currentIdentifier].values[currentValue].visual_name;
-        if (link_title === undefined) {
-          link_title = drupalSettings.vlsuite_utility_classes_map[currentIdentifier].values[currentValue];
+        const utilityList = document.createElement('ul');
+        const utilityListTitle = document.createElement('h3');
+        const isColumnWidths = currentIdentifier.includes(':column_widths');
+        const defaultApplies = !isColumnWidths;
+        const iconReplacement =
+          drupalSettings.vlsuite_icon_font_map.replacement;
+        let icon =
+          drupalSettings.vlsuite_utility_classes_map[currentIdentifier].icon;
+        if (isColumnWidths) {
+          icon = drupalSettings.vlsuite_utility_classes_map.column_widths_icon;
         }
-        var utilityValueLink = document.createElement('a');
-        var icon = drupalSettings.vlsuite_utility_classes_map[currentIdentifier].values[currentValue].icon;
         if (icon) {
-          var _iconElement$classLis2;
-          var iconElement = document.createElement('span');
-          (_iconElement$classLis2 = iconElement.classList).add.apply(_iconElement$classLis2, _toConsumableArray(drupalSettings.vlsuite_icon_font_map['main_classes'].split(' ')));
+          let _iconElement$classLis;
+          const iconElement = document.createElement('span');
+          (_iconElement$classLis = iconElement.classList).add.apply(
+            _iconElement$classLis,
+            _toConsumableArray(
+              drupalSettings.vlsuite_icon_font_map.main_classes.split(' '),
+            ),
+          );
           if (iconReplacement === 'text') {
             iconElement.appendChild(document.createTextNode(icon));
           } else if (iconReplacement === 'class') {
             iconElement.classList.add(icon);
           }
-          utilityValueLink.appendChild(iconElement);
+          utilityListTitle.appendChild(iconElement);
         }
-        utilityValueLink.appendChild(document.createTextNode(link_title));
-        if (defaults && defaults[currentIdentifier] === currentValue) {
-          console.log('default', currentIdentifier, currentValue);
-          utilityValueLink.classList.add('active');
-          details.classList.add('active');  // Use the details reference directly instead of closest()
+        utilityListTitle.appendChild(
+          document.createTextNode(
+            drupalSettings.vlsuite_utility_classes_map[currentIdentifier]
+              .visual_name,
+          ),
+        );
+
+        // Create details element with summary
+        const details = document.createElement('details');
+
+        // Create summary and move content from h3
+        const summary = document.createElement('summary');
+        while (utilityListTitle.firstChild) {
+          summary.appendChild(utilityListTitle.firstChild);
         }
-        var linkOptionArguments = linkArgumentsBase.slice();
-        linkOptionArguments.push(currentIdentifier, currentValue);
-        utilityValueLink.href = linkOptionArguments.join('/');
-        utilityValueLink.addEventListener("mouseover", function (e) {
-          e.stopPropagation();
-          Drupal.vlsuite_utility_classes_live_previewer_type_element_apply_classes(element, type, currentIdentifier, currentValue);
-        }, false);
-        utilityValueLink.addEventListener("mouseout", function (e) {
-          e.stopPropagation();
-          Drupal.vlsuite_utility_classes_type_element_restore(element, type, currentIdentifier);
-        }, false);
-        utilityValueLink.addEventListener("click", function (e) {
-          e.preventDefault();
-          Drupal.ajax({
-            url: e.target.href,
-            progress: {
-              type: 'fullscreen'
+
+        // Add summary and list to details
+        details.appendChild(summary);
+        details.appendChild(utilityList);
+
+        // Add details to overflow instead of separate title and list
+        overflow.appendChild(details);
+
+        if (defaultApplies) {
+          const utilityListItem = document.createElement('li');
+          utilityListItem.classList.add(
+            'vlsuite-utility-classes-live-previewer__default',
+          );
+          const utilityDefaultLink = document.createElement('a');
+          utilityDefaultLink.appendChild(
+            document.createTextNode(Drupal.t('Default')),
+          );
+          const linkDefaultArguments = linkArgumentsBase.slice();
+          linkDefaultArguments.push(currentIdentifier, '_none');
+          utilityDefaultLink.href = linkDefaultArguments.join('/');
+          utilityDefaultLink.addEventListener(
+            'mouseover',
+            function (e) {
+              e.stopPropagation();
+              Drupal.vlsuite_utility_classes_live_previewer_type_element_apply_classes(
+                element,
+                type,
+                currentIdentifier,
+                '',
+              );
+            },
+            false,
+          );
+          utilityDefaultLink.addEventListener(
+            'mouseout',
+            function (e) {
+              e.stopPropagation();
+              Drupal.vlsuite_utility_classes_type_element_restore(
+                element,
+                type,
+                currentIdentifier,
+              );
+            },
+            false,
+          );
+          if (defaults === false || defaults[currentIdentifier] === undefined) {
+            utilityDefaultLink.classList.add('active');
+          }
+          utilityDefaultLink.addEventListener(
+            'click',
+            function (e) {
+              e.preventDefault();
+              Drupal.ajax({
+                url: e.target.href,
+                progress: {
+                  type: 'fullscreen',
+                },
+              }).execute();
+            },
+            false,
+          );
+          utilityListItem.appendChild(utilityDefaultLink);
+          utilityList.appendChild(utilityListItem);
+        }
+        Object.keys(
+          drupalSettings.vlsuite_utility_classes_map[currentIdentifier].values,
+        ).forEach(function (currentValue) {
+          const utilityListItem = document.createElement('li');
+          let link_title =
+            drupalSettings.vlsuite_utility_classes_map[currentIdentifier]
+              .values[currentValue].visual_name;
+          if (link_title === undefined) {
+            link_title =
+              drupalSettings.vlsuite_utility_classes_map[currentIdentifier]
+                .values[currentValue];
+          }
+          const utilityValueLink = document.createElement('a');
+          const icon =
+            drupalSettings.vlsuite_utility_classes_map[currentIdentifier]
+              .values[currentValue].icon;
+          if (icon) {
+            let _iconElement$classLis2;
+            const iconElement = document.createElement('span');
+            (_iconElement$classLis2 = iconElement.classList).add.apply(
+              _iconElement$classLis2,
+              _toConsumableArray(
+                drupalSettings.vlsuite_icon_font_map.main_classes.split(' '),
+              ),
+            );
+            if (iconReplacement === 'text') {
+              iconElement.appendChild(document.createTextNode(icon));
+            } else if (iconReplacement === 'class') {
+              iconElement.classList.add(icon);
             }
-          }).execute();
-        }, false);
-        utilityListItem.appendChild(utilityValueLink);
-        utilityList.appendChild(utilityListItem);
+            utilityValueLink.appendChild(iconElement);
+          }
+          utilityValueLink.appendChild(document.createTextNode(link_title));
+          if (defaults && defaults[currentIdentifier] === currentValue) {
+            console.log('default', currentIdentifier, currentValue);
+            utilityValueLink.classList.add('active');
+            details.classList.add('active'); // Use the details reference directly instead of closest()
+          }
+          const linkOptionArguments = linkArgumentsBase.slice();
+          linkOptionArguments.push(currentIdentifier, currentValue);
+          utilityValueLink.href = linkOptionArguments.join('/');
+          utilityValueLink.addEventListener(
+            'mouseover',
+            function (e) {
+              e.stopPropagation();
+              Drupal.vlsuite_utility_classes_live_previewer_type_element_apply_classes(
+                element,
+                type,
+                currentIdentifier,
+                currentValue,
+              );
+            },
+            false,
+          );
+          utilityValueLink.addEventListener(
+            'mouseout',
+            function (e) {
+              e.stopPropagation();
+              Drupal.vlsuite_utility_classes_type_element_restore(
+                element,
+                type,
+                currentIdentifier,
+              );
+            },
+            false,
+          );
+          utilityValueLink.addEventListener(
+            'click',
+            function (e) {
+              e.preventDefault();
+              Drupal.ajax({
+                url: e.target.href,
+                progress: {
+                  type: 'fullscreen',
+                },
+              }).execute();
+            },
+            false,
+          );
+          utilityListItem.appendChild(utilityValueLink);
+          utilityList.appendChild(utilityListItem);
+        });
       });
-    });
     if (skip) {
       return;
     }
@@ -196,7 +390,13 @@
       if (main.matches(':hover')) {
         main.classList.add('active');
       }
-      Drupal.vlsuite_utility_classes_live_previewer_type_position_refresh(element, overflow, main, arrow, type);
+      Drupal.vlsuite_utility_classes_live_previewer_type_position_refresh(
+        element,
+        overflow,
+        main,
+        arrow,
+        type,
+      );
     });
 
     element.addEventListener('mouseleave', function (e) {
@@ -208,202 +408,409 @@
     });
 
     if (configureLink) {
-      var configLink = document.createElement('a');
-      configLink.href = element.closest('[data-vlsuite-utility-classes-configure-url]').dataset.vlsuiteUtilityClassesConfigureUrl + '?' + 'apply-to-filter=' + encodeURIComponent(applyTo) + '&destination=' + encodeURIComponent(window.location.pathname);
+      const configLink = document.createElement('a');
+      configLink.href =
+        `${
+          element.closest('[data-vlsuite-utility-classes-configure-url]')
+            .dataset.vlsuiteUtilityClassesConfigureUrl
+        }?` +
+        `apply-to-filter=${encodeURIComponent(
+          applyTo,
+        )}&destination=${encodeURIComponent(window.location.pathname)}`;
       configLink.title = Drupal.t('Configure (apply to scope utilities)');
-      configLink.classList.add('vlsuite-utility-classes-live-previewer__configure');
+      configLink.classList.add(
+        'vlsuite-utility-classes-live-previewer__configure',
+      );
       overflow.appendChild(configLink);
     }
     element.closest('.layout-builder').appendChild(main);
   };
   Drupal.vlsuite_utility_classes_live_previewer_type_title_map = {
-    'section': Drupal.t('Section'),
-    'region_top': Drupal.t('Top region'),
-    'region_bottom': Drupal.t('Bottom region'),
-    'main_regions': Drupal.t('Main regions'),
-    'media_bg': Drupal.t('Media background'),
-    'row': Drupal.t('All regions'),
-    'block': Drupal.t('Block'),
-    'field': Drupal.t('Field'),
-    'item': Drupal.t('Item')
+    section: Drupal.t('Section'),
+    region_top: Drupal.t('Top region'),
+    region_bottom: Drupal.t('Bottom region'),
+    main_regions: Drupal.t('Main regions'),
+    media_bg: Drupal.t('Media background'),
+    row: Drupal.t('All regions'),
+    block: Drupal.t('Block'),
+    field: Drupal.t('Field'),
+    item: Drupal.t('Item'),
   };
   Drupal.vlsuite_utility_classes_live_previewer_type_position_map = {
-    'section': ['top', 'top-start'],
-    'region_top': ['right', 'bottom-end'],
-    'region_bottom': ['right', 'bottom-end'],
-    'main_regions': ['right', 'bottom-end'],
-    'media_bg': ['top-start', 'top-end'],
-    'row': ['left', 'bottom-start'],
-    'block': ['bottom'],
-    'field': ['top-start', 'top-end'],
-    'item': ['top-end', 'bottom-end']
+    section: ['top', 'top-start'],
+    region_top: ['right', 'bottom-end'],
+    region_bottom: ['right', 'bottom-end'],
+    main_regions: ['right', 'bottom-end'],
+    media_bg: ['top-start', 'top-end'],
+    row: ['left', 'bottom-start'],
+    block: ['bottom'],
+    field: ['top-start', 'top-end'],
+    item: ['top-end', 'bottom-end'],
   };
   Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope = {
-    'section': 'self',
-    'region_top': 'region',
-    'region_bottom': 'region',
-    'main_regions': 'section',
-    'media_bg': 'self',
-    'row': 'self',
-    'block': 'self',
-    'field': 'block',
-    'item': 'block'
+    section: 'self',
+    region_top: 'region',
+    region_bottom: 'region',
+    main_regions: 'section',
+    media_bg: 'self',
+    row: 'self',
+    block: 'self',
+    field: 'block',
+    item: 'block',
   };
-  Drupal.vlsuite_utility_classes_live_previewer_type_position_refresh = function (element, mainWrapperOverflow, mainWrapper, mainWrapperArrow, type) {
-    window.FloatingUIDOM.computePosition(element, mainWrapper, {
-      placement: Drupal.vlsuite_utility_classes_live_previewer_type_position_map[type][0],
-      middleware: [window.FloatingUIDOM.offset(6), window.FloatingUIDOM.flip({
-        crossAxis: false,
-        fallbackPlacements: Drupal.vlsuite_utility_classes_live_previewer_type_position_map[type]
-      }), window.FloatingUIDOM.size({
-        apply: function apply(_ref) {
-          var availableHeight = _ref.availableHeight;
-          Object.assign(mainWrapperOverflow.style, {
-            maxHeight: "".concat(availableHeight - 70, "px")
-          });
-        },
-        padding: 10
-      }), window.FloatingUIDOM.arrow({
-        element: mainWrapperArrow,
-        padding: 7
-      })]
-    }).then(function (_ref2) {
-      var x = _ref2.x,
-        y = _ref2.y,
-        placement = _ref2.placement,
-        middlewareData = _ref2.middlewareData;
-      Object.assign(mainWrapper.style, {
-        top: "".concat(y, "px"),
-        left: "".concat(x, "px")
+  Drupal.vlsuite_utility_classes_live_previewer_type_position_refresh =
+    function (
+      element,
+      mainWrapperOverflow,
+      mainWrapper,
+      mainWrapperArrow,
+      type,
+    ) {
+      window.FloatingUIDOM.computePosition(element, mainWrapper, {
+        placement:
+          Drupal.vlsuite_utility_classes_live_previewer_type_position_map[
+            type
+          ][0],
+        middleware: [
+          window.FloatingUIDOM.offset(6),
+          window.FloatingUIDOM.flip({
+            crossAxis: false,
+            fallbackPlacements:
+              Drupal.vlsuite_utility_classes_live_previewer_type_position_map[
+                type
+              ],
+          }),
+          window.FloatingUIDOM.size({
+            apply: function apply(_ref) {
+              const availableHeight = _ref.availableHeight;
+              Object.assign(mainWrapperOverflow.style, {
+                maxHeight: ''.concat(availableHeight - 70, 'px'),
+              });
+            },
+            padding: 10,
+          }),
+          window.FloatingUIDOM.arrow({
+            element: mainWrapperArrow,
+            padding: 7,
+          }),
+        ],
+      }).then(function (_ref2) {
+        const x = _ref2.x;
+        const y = _ref2.y;
+        const placement = _ref2.placement;
+        const middlewareData = _ref2.middlewareData;
+        Object.assign(mainWrapper.style, {
+          top: ''.concat(y, 'px'),
+          left: ''.concat(x, 'px'),
+        });
+        const _middlewareData$arrow = middlewareData.arrow;
+        const arrowX = _middlewareData$arrow.x;
+        const arrowY = _middlewareData$arrow.y;
+        const staticSide = {
+          top: 'bottom',
+          right: 'left',
+          bottom: 'top',
+          left: 'right',
+        }[placement.split('-')[0]];
+        Object.assign(
+          mainWrapperArrow.style,
+          _defineProperty(
+            {
+              left: arrowX !== null ? ''.concat(arrowX, 'px') : '',
+              top: arrowY !== null ? ''.concat(arrowY, 'px') : '',
+              right: '',
+              bottom: '',
+            },
+            staticSide,
+            ''.concat(-mainWrapperArrow.offsetWidth / 2, 'px'),
+          ),
+        );
       });
-      var _middlewareData$arrow = middlewareData.arrow,
-        arrowX = _middlewareData$arrow.x,
-        arrowY = _middlewareData$arrow.y;
-      var staticSide = {
-        top: 'bottom',
-        right: 'left',
-        bottom: 'top',
-        left: 'right'
-      }[placement.split('-')[0]];
-      Object.assign(mainWrapperArrow.style, _defineProperty({
-        left: arrowX !== null ? "".concat(arrowX, "px") : '',
-        top: arrowY !== null ? "".concat(arrowY, "px") : '',
-        right: '',
-        bottom: ''
-      }, staticSide, "".concat(-mainWrapperArrow.offsetWidth / 2, "px")));
-    });
-  };
-  Drupal.vlsuite_utility_classes_type_element_setDefaults = function (element, type) {
+    };
+  Drupal.vlsuite_utility_classes_type_element_setDefaults = function (
+    element,
+    type,
+  ) {
     element.dataset.originalClasses = element.classList.value;
-    if (type === 'main_regions' || Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] === 'region') {
-      element.querySelector('[data-region]').dataset.originalClasses = element.querySelector('[data-region]').classList.value;
+    if (
+      type === 'main_regions' ||
+      Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] ===
+        'region'
+    ) {
+      element.querySelector('[data-region]').dataset.originalClasses =
+        element.querySelector('[data-region]').classList.value;
     }
   };
-  Drupal.vlsuite_utility_classes_type_element_restore = function (element, type, identifier) {
-    var isColumnWidths = identifier.includes(':column_widths');
-    if (Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] === 'self') {
+  Drupal.vlsuite_utility_classes_type_element_restore = function (
+    element,
+    type,
+    identifier,
+  ) {
+    const isColumnWidths = identifier.includes(':column_widths');
+    if (
+      Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] ===
+      'self'
+    ) {
       element.classList = element.dataset.originalClasses;
-    } else if (Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] === 'block') {
-      element.closest('[data-layout-block-uuid]').querySelectorAll('[data-vlsuite-utility-classes-live-previewer-apply-to="' + element.dataset.vlsuiteUtilityClassesLivePreviewerApplyTo + '"]').forEach(function (groupelement, index) {
-        groupelement.classList = groupelement.dataset.originalClasses;
-      });
-    } else if (Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] === 'region') {
-      element.querySelector('[data-region]').classList = element.querySelector('[data-region]').dataset.originalClasses;
-    } else if (Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] === 'section') {
-      element.closest('[data-layout-delta]').querySelectorAll('[data-vlsuite-utility-classes-live-previewer-apply-to="' + element.dataset.vlsuiteUtilityClassesLivePreviewerApplyTo + '"]').forEach(function (groupelement, index) {
-        if (type === 'main_regions' && !isColumnWidths) {
-          groupelement.querySelector('[data-region]').classList = groupelement.querySelector('[data-region]').dataset.originalClasses;
-        } else {
+    } else if (
+      Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] ===
+      'block'
+    ) {
+      element
+        .closest('[data-layout-block-uuid]')
+        .querySelectorAll(
+          `[data-vlsuite-utility-classes-live-previewer-apply-to="${
+            element.dataset.vlsuiteUtilityClassesLivePreviewerApplyTo
+          }"]`,
+        )
+        .forEach(function (groupelement, index) {
           groupelement.classList = groupelement.dataset.originalClasses;
-        }
-      });
+        });
+    } else if (
+      Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] ===
+      'region'
+    ) {
+      element.querySelector('[data-region]').classList =
+        element.querySelector('[data-region]').dataset.originalClasses;
+    } else if (
+      Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] ===
+      'section'
+    ) {
+      element
+        .closest('[data-layout-delta]')
+        .querySelectorAll(
+          `[data-vlsuite-utility-classes-live-previewer-apply-to="${
+            element.dataset.vlsuiteUtilityClassesLivePreviewerApplyTo
+          }"]`,
+        )
+        .forEach(function (groupelement, index) {
+          if (type === 'main_regions' && !isColumnWidths) {
+            groupelement.querySelector('[data-region]').classList =
+              groupelement.querySelector(
+                '[data-region]',
+              ).dataset.originalClasses;
+          } else {
+            groupelement.classList = groupelement.dataset.originalClasses;
+          }
+        });
     }
   };
-  Drupal.vlsuite_utility_classes_live_previewer_type_element_apply_classes = function (element, type, identifier, value) {
-    var isColumnWidths = identifier.includes(':column_widths');
-    var classes;
-    if (isColumnWidths) {
-      classes = {};
-      var auto_classes = [];
-      if (value.includes('auto')) {
-        auto_classes = drupalSettings.vlsuite_utility_classes_map['column_widths']['auto'];
-      }
-      value.split('-').forEach(function (columnWidthValue, columnWidthIndex) {
-        if (columnWidthValue !== 'auto') {
-          classes[columnWidthValue] = drupalSettings.vlsuite_utility_classes_map['column_widths'][columnWidthValue].concat(auto_classes);
+  Drupal.vlsuite_utility_classes_live_previewer_type_element_apply_classes =
+    function (element, type, identifier, value) {
+      const isColumnWidths = identifier.includes(':column_widths');
+      let classes;
+      if (isColumnWidths) {
+        classes = {};
+        let auto_classes = [];
+        if (value.includes('auto')) {
+          auto_classes =
+            drupalSettings.vlsuite_utility_classes_map.column_widths.auto;
         }
-      });
-    } else {
-      classes = value.length ? drupalSettings.vlsuite_utility_classes_map[identifier].values[value].classes : null;
-    }
-    if (Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] === 'self') {
-      var defaults = element.dataset.vlsuiteUtilityClassesLivePreviewerDefaults !== undefined ? JSON.parse(element.dataset.vlsuiteUtilityClassesLivePreviewerDefaults) : false;
-      if (defaults && defaults[identifier] !== undefined) {
-        var _element$classList;
-        (_element$classList = element.classList).remove.apply(_element$classList, _toConsumableArray(drupalSettings.vlsuite_utility_classes_map[identifier].values[defaults[identifier]].classes));
-      }
-      if (classes !== null) {
-        var _element$classList2;
-        (_element$classList2 = element.classList).add.apply(_element$classList2, _toConsumableArray(classes));
+        value.split('-').forEach(function (columnWidthValue, columnWidthIndex) {
+          if (columnWidthValue !== 'auto') {
+            classes[columnWidthValue] =
+              drupalSettings.vlsuite_utility_classes_map.column_widths[
+                columnWidthValue
+              ].concat(auto_classes);
+          }
+        });
+      } else {
+        classes = value.length
+          ? drupalSettings.vlsuite_utility_classes_map[identifier].values[value]
+              .classes
+          : null;
       }
-    } else if (Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] === 'block') {
-      element.closest('[data-layout-block-uuid]').querySelectorAll('[data-vlsuite-utility-classes-live-previewer-apply-to="' + element.dataset.vlsuiteUtilityClassesLivePreviewerApplyTo + '"]').forEach(function (groupelement, index) {
-        var defaults = groupelement.dataset.vlsuiteUtilityClassesLivePreviewerDefaults !== undefined ? JSON.parse(groupelement.dataset.vlsuiteUtilityClassesLivePreviewerDefaults) : false;
+      if (
+        Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] ===
+        'self'
+      ) {
+        var defaults =
+          element.dataset.vlsuiteUtilityClassesLivePreviewerDefaults !==
+          undefined
+            ? JSON.parse(
+                element.dataset.vlsuiteUtilityClassesLivePreviewerDefaults,
+              )
+            : false;
         if (defaults && defaults[identifier] !== undefined) {
-          var _groupelement$classLi;
-          (_groupelement$classLi = groupelement.classList).remove.apply(_groupelement$classLi, _toConsumableArray(drupalSettings.vlsuite_utility_classes_map[identifier].values[defaults[identifier]].classes));
+          let _element$classList;
+          (_element$classList = element.classList).remove.apply(
+            _element$classList,
+            _toConsumableArray(
+              drupalSettings.vlsuite_utility_classes_map[identifier].values[
+                defaults[identifier]
+              ].classes,
+            ),
+          );
         }
         if (classes !== null) {
-          var _groupelement$classLi2;
-          (_groupelement$classLi2 = groupelement.classList).add.apply(_groupelement$classLi2, _toConsumableArray(classes));
+          let _element$classList2;
+          (_element$classList2 = element.classList).add.apply(
+            _element$classList2,
+            _toConsumableArray(classes),
+          );
         }
-      });
-    } else if (Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] === 'region') {
-      var defaults = element.dataset.vlsuiteUtilityClassesLivePreviewerDefaults !== undefined ? JSON.parse(element.dataset.vlsuiteUtilityClassesLivePreviewerDefaults) : false;
-      if (defaults && defaults[identifier] !== undefined) {
-        var _element$querySelector;
-        (_element$querySelector = element.querySelector('[data-region]').classList).remove.apply(_element$querySelector, _toConsumableArray(drupalSettings.vlsuite_utility_classes_map[identifier].values[defaults[identifier]].classes));
-      }
-      if (classes !== null) {
-        var _element$querySelector2;
-        (_element$querySelector2 = element.querySelector('[data-region]').classList).add.apply(_element$querySelector2, _toConsumableArray(classes));
-      }
-    } else if (Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] === 'section') {
-      element.closest('[data-layout-delta]').querySelectorAll('[data-vlsuite-utility-classes-live-previewer-apply-to="' + element.dataset.vlsuiteUtilityClassesLivePreviewerApplyTo + '"]').forEach(function (groupelement, index) {
-        var defaults = groupelement.dataset.vlsuiteUtilityClassesLivePreviewerDefaults !== undefined ? JSON.parse(groupelement.dataset.vlsuiteUtilityClassesLivePreviewerDefaults) : false;
+      } else if (
+        Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] ===
+        'block'
+      ) {
+        element
+          .closest('[data-layout-block-uuid]')
+          .querySelectorAll(
+            `[data-vlsuite-utility-classes-live-previewer-apply-to="${
+              element.dataset.vlsuiteUtilityClassesLivePreviewerApplyTo
+            }"]`,
+          )
+          .forEach(function (groupelement, index) {
+            const defaults =
+              groupelement.dataset
+                .vlsuiteUtilityClassesLivePreviewerDefaults !== undefined
+                ? JSON.parse(
+                    groupelement.dataset
+                      .vlsuiteUtilityClassesLivePreviewerDefaults,
+                  )
+                : false;
+            if (defaults && defaults[identifier] !== undefined) {
+              let _groupelement$classLi;
+              (_groupelement$classLi = groupelement.classList).remove.apply(
+                _groupelement$classLi,
+                _toConsumableArray(
+                  drupalSettings.vlsuite_utility_classes_map[identifier].values[
+                    defaults[identifier]
+                  ].classes,
+                ),
+              );
+            }
+            if (classes !== null) {
+              let _groupelement$classLi2;
+              (_groupelement$classLi2 = groupelement.classList).add.apply(
+                _groupelement$classLi2,
+                _toConsumableArray(classes),
+              );
+            }
+          });
+      } else if (
+        Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] ===
+        'region'
+      ) {
+        var defaults =
+          element.dataset.vlsuiteUtilityClassesLivePreviewerDefaults !==
+          undefined
+            ? JSON.parse(
+                element.dataset.vlsuiteUtilityClassesLivePreviewerDefaults,
+              )
+            : false;
         if (defaults && defaults[identifier] !== undefined) {
-          if (isColumnWidths) {
-            var classesDefault = {};
-            defaults[identifier].split('-').forEach(function (columnWidthValue, columnWidthIndex) {
-              var _groupelement$classLi3;
-              classesDefault[columnWidthValue] = drupalSettings.vlsuite_utility_classes_map['column_widths'][columnWidthValue];
-              (_groupelement$classLi3 = groupelement.classList).remove.apply(_groupelement$classLi3, _toConsumableArray(classesDefault[columnWidthValue]));
-            });
-          } else if (type === 'main_regions') {
-            var _groupelement$querySe;
-            (_groupelement$querySe = groupelement.querySelector('[data-region]').classList).remove.apply(_groupelement$querySe, _toConsumableArray(drupalSettings.vlsuite_utility_classes_map[identifier].values[defaults[identifier]].classes));
-          } else {
-            var _groupelement$classLi4;
-            (_groupelement$classLi4 = groupelement.classList).remove.apply(_groupelement$classLi4, _toConsumableArray(drupalSettings.vlsuite_utility_classes_map[identifier].values[defaults[identifier]].classes));
-          }
+          let _element$querySelector;
+          (_element$querySelector =
+            element.querySelector('[data-region]').classList).remove.apply(
+            _element$querySelector,
+            _toConsumableArray(
+              drupalSettings.vlsuite_utility_classes_map[identifier].values[
+                defaults[identifier]
+              ].classes,
+            ),
+          );
         }
         if (classes !== null) {
-          if (isColumnWidths) {
-            value.split('-').forEach(function (columnWidthValue, columnWidthIndex) {
-              if (columnWidthIndex === index) {
-                var _groupelement$classLi5;
-                (_groupelement$classLi5 = groupelement.classList).add.apply(_groupelement$classLi5, _toConsumableArray(classes[columnWidthValue]));
-              }
-            });
-          } else if (type === 'main_regions') {
-            var _groupelement$querySe2;
-            (_groupelement$querySe2 = groupelement.querySelector('[data-region]').classList).add.apply(_groupelement$querySe2, _toConsumableArray(classes));
-          } else {
-            var _groupelement$classLi6;
-            (_groupelement$classLi6 = groupelement.classList).add.apply(_groupelement$classLi6, _toConsumableArray(classes));
-          }
+          let _element$querySelector2;
+          (_element$querySelector2 =
+            element.querySelector('[data-region]').classList).add.apply(
+            _element$querySelector2,
+            _toConsumableArray(classes),
+          );
         }
-      });
-    }
-  };
+      } else if (
+        Drupal.vlsuite_utility_classes_live_previewer_type_apply_scope[type] ===
+        'section'
+      ) {
+        element
+          .closest('[data-layout-delta]')
+          .querySelectorAll(
+            `[data-vlsuite-utility-classes-live-previewer-apply-to="${
+              element.dataset.vlsuiteUtilityClassesLivePreviewerApplyTo
+            }"]`,
+          )
+          .forEach(function (groupelement, index) {
+            const defaults =
+              groupelement.dataset
+                .vlsuiteUtilityClassesLivePreviewerDefaults !== undefined
+                ? JSON.parse(
+                    groupelement.dataset
+                      .vlsuiteUtilityClassesLivePreviewerDefaults,
+                  )
+                : false;
+            if (defaults && defaults[identifier] !== undefined) {
+              if (isColumnWidths) {
+                const classesDefault = {};
+                defaults[identifier]
+                  .split('-')
+                  .forEach(function (columnWidthValue, columnWidthIndex) {
+                    let _groupelement$classLi3;
+                    classesDefault[columnWidthValue] =
+                      drupalSettings.vlsuite_utility_classes_map.column_widths[
+                        columnWidthValue
+                      ];
+                    (_groupelement$classLi3 =
+                      groupelement.classList).remove.apply(
+                      _groupelement$classLi3,
+                      _toConsumableArray(classesDefault[columnWidthValue]),
+                    );
+                  });
+              } else if (type === 'main_regions') {
+                let _groupelement$querySe;
+                (_groupelement$querySe =
+                  groupelement.querySelector(
+                    '[data-region]',
+                  ).classList).remove.apply(
+                  _groupelement$querySe,
+                  _toConsumableArray(
+                    drupalSettings.vlsuite_utility_classes_map[identifier]
+                      .values[defaults[identifier]].classes,
+                  ),
+                );
+              } else {
+                let _groupelement$classLi4;
+                (_groupelement$classLi4 = groupelement.classList).remove.apply(
+                  _groupelement$classLi4,
+                  _toConsumableArray(
+                    drupalSettings.vlsuite_utility_classes_map[identifier]
+                      .values[defaults[identifier]].classes,
+                  ),
+                );
+              }
+            }
+            if (classes !== null) {
+              if (isColumnWidths) {
+                value
+                  .split('-')
+                  .forEach(function (columnWidthValue, columnWidthIndex) {
+                    if (columnWidthIndex === index) {
+                      let _groupelement$classLi5;
+                      (_groupelement$classLi5 =
+                        groupelement.classList).add.apply(
+                        _groupelement$classLi5,
+                        _toConsumableArray(classes[columnWidthValue]),
+                      );
+                    }
+                  });
+              } else if (type === 'main_regions') {
+                let _groupelement$querySe2;
+                (_groupelement$querySe2 =
+                  groupelement.querySelector(
+                    '[data-region]',
+                  ).classList).add.apply(
+                  _groupelement$querySe2,
+                  _toConsumableArray(classes),
+                );
+              } else {
+                let _groupelement$classLi6;
+                (_groupelement$classLi6 = groupelement.classList).add.apply(
+                  _groupelement$classLi6,
+                  _toConsumableArray(classes),
+                );
+              }
+            }
+          });
+      }
+    };
 })(Drupal, drupalSettings, once, window);
diff --git a/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-previewer.js b/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-previewer.js
index 61dd459..8c18ae9 100644
--- a/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-previewer.js
+++ b/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-previewer.js
@@ -1,30 +1,35 @@
 (function ($, Drupal, once, window) {
   Drupal.behaviors.vlsuite_utility_classes_previewer = {
     attach(context) {
-      once('vlsuite-utility-classes__previewer', '.vlsuite-utility-classes .vlsuite-utility-classes__previewer', context).forEach(utilityClassesPreviewer);
-    }
+      once(
+        'vlsuite-utility-classes__previewer',
+        '.vlsuite-utility-classes .vlsuite-utility-classes__previewer',
+        context,
+      ).forEach(utilityClassesPreviewer);
+    },
   };
 
   /**
    * Utility classes previewer.
    */
   function utilityClassesPreviewer(previewBox) {
-    var appliedKeysClasses = {};
-    $('.vlsuite-utility-classes .vlsuite-utility-classes__previewer-option').change(function (e) {
-      var utilityClasses = $(event.target).data('class');
-      var classToApply = String(utilityClasses[event.target.value]);
-      var classesKey = $(event.target).data('class-key');
+    const appliedKeysClasses = {};
+    $(
+      '.vlsuite-utility-classes .vlsuite-utility-classes__previewer-option',
+    ).change(function (e) {
+      const utilityClasses = $(event.target).data('class');
+      const classToApply = String(utilityClasses[event.target.value]);
+      const classesKey = $(event.target).data('class-key');
       if (classToApply && classToApply.length) {
         if (appliedKeysClasses[classesKey] !== undefined) {
           $(previewBox).removeClass(appliedKeysClasses[classesKey]);
         }
         appliedKeysClasses[classesKey] = classToApply;
         $(previewBox).addClass(classToApply);
-      }
-      else {
+      } else {
         $(previewBox).removeClass(appliedKeysClasses[classesKey]);
         delete appliedKeysClasses[classesKey];
       }
     });
   }
-}(jQuery, Drupal, once, window));
+})(jQuery, Drupal, once, window);
diff --git a/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-settings-form.js b/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-settings-form.js
index e067d2f..6f45821 100644
--- a/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-settings-form.js
+++ b/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-settings-form.js
@@ -1,28 +1,42 @@
 (function ($, Drupal, once, window) {
-
   Drupal.vlsuite_utility_classes_settings_form_apply_to_filter = null;
 
   Drupal.behaviors.vlsuite_utility_classes_settings_form = {
     attach(context) {
-      once('vlsuite-utility-classes-settings-form-apply-to-filter', '.vlsuite-utility-classes-settings-form-apply-to-wrapper', context).forEach(applyToFilter);
-    }
+      once(
+        'vlsuite-utility-classes-settings-form-apply-to-filter',
+        '.vlsuite-utility-classes-settings-form-apply-to-wrapper',
+        context,
+      ).forEach(applyToFilter);
+    },
   };
 
   /**
    * Utility classes settings form apply to filter.
    */
   function applyToFilter(applyToFilter) {
-    var apply_to_filter = Drupal.vlsuite_utility_classes_settings_form_apply_to_filter || calcApplyToFilterValue();
+    const apply_to_filter =
+      Drupal.vlsuite_utility_classes_settings_form_apply_to_filter ||
+      calcApplyToFilterValue();
     if (apply_to_filter !== null) {
-      applyToFilter.querySelectorAll('input[type="checkbox"]:not([value="' + apply_to_filter + '"])').forEach(function (checkbox) {
-        checkbox.parentNode.style.display = 'none';
-      });
+      applyToFilter
+        .querySelectorAll(
+          `input[type="checkbox"]:not([value="${apply_to_filter}"])`,
+        )
+        .forEach(function (checkbox) {
+          checkbox.parentNode.style.display = 'none';
+        });
     }
 
     function calcApplyToFilterValue() {
-      var apply_to_filter_raw = new RegExp('[\?&]apply-to-filter=([^&#]*)').exec(window.location.href);
-      Drupal.vlsuite_utility_classes_settings_form_apply_to_filter = apply_to_filter_raw !== null ? (decodeURIComponent(apply_to_filter_raw[1]) || null) : null;
+      const apply_to_filter_raw = new RegExp(
+        '[\?&]apply-to-filter=([^&#]*)',
+      ).exec(window.location.href);
+      Drupal.vlsuite_utility_classes_settings_form_apply_to_filter =
+        apply_to_filter_raw !== null
+          ? decodeURIComponent(apply_to_filter_raw[1]) || null
+          : null;
       return Drupal.vlsuite_utility_classes_settings_form_apply_to_filter;
     }
   }
-}(jQuery, Drupal, once, window));
+})(jQuery, Drupal, once, window);
-- 
GitLab


From 42092a6cfea9835b218d17244718083e8f711703 Mon Sep 17 00:00:00 2001
From: Eduardo Morales <eduardo.morales@metadrop.net>
Date: Tue, 15 Apr 2025 16:16:42 +0200
Subject: [PATCH 27/27] Issue #3517944 by eduardo morales alberti: Solve coding
 standards and deprecations

---
 .../vlsuite-utility-classes-live-previewer.js | 95 ++-----------------
 1 file changed, 10 insertions(+), 85 deletions(-)

diff --git a/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-live-previewer.js b/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-live-previewer.js
index 144a23f..c086c28 100644
--- a/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-live-previewer.js
+++ b/modules/vlsuite_utility_classes/js/vlsuite-utility-classes-live-previewer.js
@@ -1,89 +1,14 @@
 (function (Drupal, drupalSettings, once, window) {
-  function _defineProperty(obj, key, value) {
-    key = _toPropertyKey(key);
-    if (key in obj) {
-      Object.defineProperty(obj, key, {
-        value,
-        enumerable: true,
-        configurable: true,
-        writable: true,
-      });
-    } else {
-      obj[key] = value;
-    }
-    return obj;
-  }
-  function _toPropertyKey(arg) {
-    const key = _toPrimitive(arg, 'string');
-    return _typeof(key) === 'symbol' ? key : String(key);
-  }
-  function _toPrimitive(input, hint) {
-    if (_typeof(input) !== 'object' || input === null) return input;
-    const prim = input[Symbol.toPrimitive];
-    if (prim !== undefined) {
-      const res = prim.call(input, hint || 'default');
-      if (_typeof(res) !== 'object') return res;
-      throw new TypeError('@@toPrimitive must return a primitive value.');
-    }
-    return (hint === 'string' ? String : Number)(input);
-  }
-  function _toConsumableArray(arr) {
-    return (
-      _arrayWithoutHoles(arr) ||
-      _iterableToArray(arr) ||
-      _unsupportedIterableToArray(arr) ||
-      _nonIterableSpread()
-    );
-  }
-  function _nonIterableSpread() {
-    throw new TypeError(
-      'Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
-    );
-  }
-  function _unsupportedIterableToArray(o, minLen) {
-    if (!o) return;
-    if (typeof o === 'string') return _arrayLikeToArray(o, minLen);
-    let n = Object.prototype.toString.call(o).slice(8, -1);
-    if (n === 'Object' && o.constructor) n = o.constructor.name;
-    if (n === 'Map' || n === 'Set') return Array.from(o);
-    if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
-      return _arrayLikeToArray(o, minLen);
-  }
-  function _iterableToArray(iter) {
-    if (
-      (typeof Symbol !== 'undefined' && iter[Symbol.iterator] != null) ||
-      iter['@@iterator'] != null
-    )
-      return Array.from(iter);
-  }
-  function _arrayWithoutHoles(arr) {
-    if (Array.isArray(arr)) return _arrayLikeToArray(arr);
-  }
-  function _arrayLikeToArray(arr, len) {
-    if (len == null || len > arr.length) len = arr.length;
-    for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
-    return arr2;
-  }
-  function _typeof(obj) {
-    '@babel/helpers - typeof';
-
-    return (
-      (_typeof =
-        typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol'
-          ? function (obj) {
-              return typeof obj;
-            }
-          : function (obj) {
-              return obj &&
-                typeof Symbol === 'function' &&
-                obj.constructor === Symbol &&
-                obj !== Symbol.prototype
-                ? 'symbol'
-                : typeof obj;
-            }),
-      _typeof(obj)
-    );
-  }
+  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
+  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
+  function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
+  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
+  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
+  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
+  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
+  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
+  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
   Drupal.behaviors.vlsuite_utility_classes_live_previewer = {
     attach: function attach(context) {
       once(
-- 
GitLab