services:
    # Calendar service components
    App\Service\Calendar\CalendarViewGenerator:
        autowire: true
        autoconfigure: true
        public: false

    App\Service\Calendar\CalendarNavigationGenerator:
        autowire: true
        autoconfigure: true
        public: false

    App\Service\Calendar\CalendarModalGenerator:
        autowire: true
        autoconfigure: true
        public: false
        
    App\Service\Calendar\CalendarJavaScriptGenerator:
        autowire: true
        autoconfigure: true
        public: false

    # Main calendar service
    App\Service\CalendarService:
        autowire: true
        autoconfigure: true
        public: true
        arguments:
            $viewGenerator: '@App\Service\Calendar\CalendarViewGenerator'
            $navigationGenerator: '@App\Service\Calendar\CalendarNavigationGenerator'
            $modalGenerator: '@App\Service\Calendar\CalendarModalGenerator'
