ng-payment-card
Version: 
Customizable component with zero external dependencies.
126 lines (125 loc) • 3.54 kB
TypeScript
import { EventEmitter, OnInit } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { ICardDetails } from './domain/i-card-details';
import { PaymentCardService } from './service/payment-card.service';
/**
 * NgPaymentCard without any dependencies other then ReactiveFormsModule
 */
export declare class PaymentCardComponent implements OnInit {
    private _ccService;
    private _fb;
    /**
     * FormGroup available publicly
     */
    ccForm: FormGroup;
    /**
     * List of months
     */
    months: Array<string>;
    /**
     * List of years
     */
    years: Array<number>;
    /**
     * Validation message for missing payment card number
     */
    ccNumMissingTxt?: string;
    /**
     * Validation message for too short payment card number
     */
    ccNumTooShortTxt?: string;
    /**
     * Validation message for too long payment card number
     */
    ccNumTooLongTxt?: string;
    /**
     * Validation message for payment card number that contains characters other than digits
     */
    ccNumContainsLettersTxt?: string;
    /**
     * Validation message for invalid payment card  number (Luhn's validation)
     */
    ccNumChecksumInvalidTxt?: string;
    /**
     * Validation message for missing card holder name
     */
    cardHolderMissingTxt?: string;
    /**
     * Validation message for too long card holder name
     */
    cardHolderTooLongTxt?: string;
    /**
     * Validation message for missing expiration month
     */
    expirationMonthMissingTxt?: string;
    /**
     * Validation message for missing expiration year
     */
    expirationYearMissingTxt?: string;
    /**
     * Validation message for missing CCV number
     */
    ccvMissingTxt?: string;
    /**
     * Validation message for too short CCV number
     */
    ccvNumTooShortTxt?: string;
    /**
     * Validation message for too long CCV number
     */
    ccvNumTooLongTxt?: string;
    /**
     * Validation message for incorrect CCV number containing characters other than digits
     */
    ccvContainsLettersTxt?: string;
    /**
     * Validation message for expired card
     */
    cardExpiredTxt?: string;
    /**
     * Switch validation of the payment card number
     */
    validateCCNum?: boolean;
    /**
     * Switch validation of the payment card holder
     */
    validateCardHolder?: boolean;
    /**
     * Switch validation of the payment card expiration month
     */
    validateExpirationMonth?: boolean;
    /**
     * Switch validation of the payment card expiration year
     */
    validateExpirationYear?: boolean;
    /**
     * Switch validation of the payment card expiration
     */
    validateCardExpiration?: boolean;
    /**
     * Switch validation of the payment card CCV number
     */
    validateCCV?: boolean;
    /**
     * EventEmitter for payment card object
     */
    formSaved: EventEmitter<ICardDetails>;
    constructor(_ccService: PaymentCardService, _fb: FormBuilder);
    ngOnInit(): void;
    /**
     * Populate months and years
     */
    private assignDateValues;
    /**
     * Build reactive form
     */
    private buildForm;
    /**
     * Returns payment card type based on payment card number
     */
    getCardType(ccNum: string): string | null;
    /**
     * Callback function that emits payment card details after user clicks submit, or press enter
     */
    emitSavedCard(): void;
}