services:
  layout_builder.tempstore_repository:
    class: Drupal\layout_builder\LayoutTempstoreRepository
    arguments: ['@tempstore.shared']
  access_check.entity.layout:
    class: Drupal\layout_builder\Access\LayoutSectionAccessCheck
    tags:
      - { name: access_check, applies_to: _has_layout_section }
  plugin.manager.layout_builder.section_storage:
    class: Drupal\layout_builder\SectionStorage\SectionStorageManager
    parent: default_plugin_manager
  layout_builder.routes:
    class: Drupal\layout_builder\Routing\LayoutBuilderRoutes
    arguments: ['@plugin.manager.layout_builder.section_storage']
    tags:
     - { name: event_subscriber }
  layout_builder.route_enhancer:
    class: Drupal\layout_builder\Routing\LayoutBuilderRouteEnhancer
    tags:
      - { name: route_enhancer }
  layout_builder.param_converter:
    class: Drupal\layout_builder\Routing\LayoutTempstoreParamConverter
    arguments: ['@layout_builder.tempstore_repository', '@plugin.manager.layout_builder.section_storage']
    tags:
      - { name: paramconverter, priority: 10 }
  cache_context.layout_builder_is_active:
    class: Drupal\layout_builder\Cache\LayoutBuilderIsActiveCacheContext
    arguments: ['@current_route_match']
    tags:
      - { name: cache.context}
  layout_builder.sample_entity_generator:
    class: Drupal\layout_builder\Entity\LayoutBuilderSampleEntityGenerator
    arguments: ['@tempstore.shared', '@entity_type.manager']
  layout_builder.render_block_component_subscriber:
    class: Drupal\layout_builder\EventSubscriber\BlockComponentRenderArray
    arguments: ['@current_user']
    tags:
      - { name: event_subscriber }
  logger.channel.layout_builder:
    parent: logger.channel_base
    arguments: ['layout_builder']
