I am trying to create a generic stepper component using Angular CDK Stepper as mention here https://material.angular.io/guide/creating-a-custom-stepper-using-the-cdk-stepper.
I want to pass stepper's header and footer template through template references by using ngTemplateOutlet.
Templates are not working when I pass cdkStepperPrevious,cdkStepperNext in the buttons to them.
Code can be found here https://stackblitz.com/edit/angular-bgyqqz-r8axmr
<ng-template #stepperHeader>
<header>
<h2> Header</h2>
</header>
</ng-template>
<ng-template #stepperFooter>
<button class="example-nav-button" cdkStepperPrevious>Next</button>
<button class="example-nav-button" cdkStepperNext>Previous</button>
</ng-template>
<example-custom-stepper [headerTemplate]="stepperHeader" [footerTemplate]="stepperFooter">
<cdk-step> <p>This is any content of "Step 1"</p> </cdk-step>
<cdk-step> <p>This is any content of "Step 2"</p> </cdk-step>
</example-custom-stepper>
and in my example-custom-stepper component
<section class="example-container">
<ng-container [ngTemplateOutlet]="headerTemplate"></ng-container>
<div [style.display]="selected ? 'block' : 'none'">
<ng-container [ngTemplateOutlet]="selected.content"></ng-container>
</div>
<footer class="example-step-navigation-bar">
<ng-container [ngTemplateOutlet]="footerTemplate"></ng-container>
</footer>
</section>
Error
preview-4adb70f742b91f09679fb.js:1 ERROR Error: StaticInjectorError(AppModule)[CdkStep -> CdkStepper]: StaticInjectorError(Platform: core)[CdkStep -> CdkStepper]: NullInjectorError: No provider for CdkStepper! at NullInjector.get (injector.ts:43) at resolveToken (injector.ts:346) at tryResolveToken (injector.ts:288) at StaticInjector.get (injector.ts:168) at resolveToken (injector.ts:346) at tryResolveToken (injector.ts:288) at StaticInjector.get (injector.ts:168) at resolveNgModuleDep (ng_module.ts:125) at NgModuleRef_.get (refs.ts:507) at resolveDep (provider.ts:423)