services:
    _defaults:
        autowire: true
        autoconfigure: true
        public: false
        bind:
            $extension: '@Zikula\BlocksModule\ZikulaBlocksModule'
            $projectDir: '%kernel.project_dir%'

    Zikula\BlocksModule\:
        resource: '../../*'
        exclude: '../../{bootstrap.php,Tests,vendor}'

    Zikula\BlocksModule\Api\ApiInterface\BlockApiInterface: '@Zikula\BlocksModule\Api\BlockApi'
    Zikula\BlocksModule\Api\ApiInterface\BlockFactoryApiInterface: '@Zikula\BlocksModule\Api\BlockFactoryApi'
    Zikula\BlocksModule\Api\ApiInterface\BlockFilterApiInterface: '@Zikula\BlocksModule\Api\BlockFilterApi'
    Zikula\BlocksModule\Entity\RepositoryInterface\BlockPositionRepositoryInterface: '@Zikula\BlocksModule\Entity\Repository\BlockPositionRepository'
    Zikula\BlocksModule\Entity\RepositoryInterface\BlockRepositoryInterface: '@Zikula\BlocksModule\Entity\Repository\BlockRepository'

    Zikula\BlocksModule\Collector\BlockCollector:
        arguments:
          $blocks: !tagged_iterator zikula.block_handler

    Zikula\BlocksModule\Listener\CollapseableBlockListener:
        arguments:
          $jsAssetBag: '@zikula_core.common.theme.assets_js'
          $installed: '%env(ZIKULA_INSTALLED)%'
          $isUpgrading: "@=container.hasParameter('upgrading') ? parameter('upgrading') : false"
