services:
  nodehive_core.autocomplete_matcher:
      class: Drupal\nodehive_core\EntityReferenceAutocompleteMatcher
      public: false
      arguments: ['@plugin.manager.entity_reference_selection', '@current_user', '@entity_type.manager']
      decorates: entity.autocomplete_matcher
      decoration_priority: 1

  nodehive_core.menu_helper:
      class: Drupal\nodehive_core\MenuHelper
      arguments: ['@current_user', '@entity_type.manager']

  nodehive_core.ckeditor5_external_css_parser:
      class: Drupal\nodehive_core\CKEditor5ExternalCssParser
      arguments: ['@file_system', '@file.repository']

  nodehive_core.query_access_subscriber:
    class: Drupal\nodehive_core\EventSubscriber\QueryAccessSubscriber
    tags:
      - { name: event_subscriber }

  nodehive_core.language_helper:
    class: 'Drupal\nodehive_core\Helper\NodehiveLanguageHelper'
    arguments: ['@language_manager']

  nodehive_core.node_preprocessor_multispace_iframe:
    class: Drupal\nodehive_core\NodePreprocessorMultipleSpaceIframe
    arguments: ['@current_user', '@entity_type.manager', '@language_manager', '@current_route_match', '@config.factory']

  nodehive_core.structured_content_node_preprocessor:
    class: Drupal\nodehive_core\StructuredContentNodePreprocessor
    arguments: ['@current_user', '@entity_type.manager', '@language_manager', '@nodehive_core.language_helper']
