feature-libs/checkout/components/components/payment-method/payment-method.module.ts
import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { CmsConfig, I18nModule, provideDefaultConfig } from '@spartacus/core';
import { CardModule, SpinnerModule } from '@spartacus/storefront';
import { CartNotEmptyGuard } from '../../guards/cart-not-empty.guard';
import { CheckoutAuthGuard } from '../../guards/checkout-auth.guard';
import { PaymentFormModule } from './payment-form/payment-form.module';
import { PaymentMethodComponent } from './payment-method.component';
@NgModule({
imports: [
CommonModule,
RouterModule,
PaymentFormModule,
CardModule,
SpinnerModule,
I18nModule,
],
providers: [
provideDefaultConfig(<CmsConfig>{
cmsComponents: {
CheckoutPaymentDetails: {
component: PaymentMethodComponent,
// TODO(#8880): Shouldn't we keep ShippingAddressSetGuard and others here?
guards: [CheckoutAuthGuard, CartNotEmptyGuard],
},
},
}),
],
declarations: [PaymentMethodComponent],
exports: [PaymentMethodComponent],
})
export class PaymentMethodModule {}