UNPKG

ngx2-credit-cards

Version:

A Credit Card Directives and Reactive Form Validators package for Angular X (6+)

62 lines (61 loc) 4.36 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Directive, ElementRef, Renderer, HostListener } from '@angular/core'; import * as Payment from 'payment'; export class CCNumberFormatDirective { /** * @param {?} renderer * @param {?} el */ constructor(renderer, el) { this.renderer = renderer; this.el = el; /** @type {?} */ let element = this.el.nativeElement; this.cardType = ""; // call lib functions Payment.formatCardNumber(element); Payment.restrictNumeric(element); } /** * @param {?} e * @return {?} */ onKeypress(e) { /** @type {?} */ let element = this.el.nativeElement; /** @type {?} */ let elementValue = element.value; this.cardType = Payment.fns.cardType(elementValue); if (this.cardType !== "") { this.renderer.setElementClass(element, this.cardType, false); } else { this.cardType = ""; } } } CCNumberFormatDirective.decorators = [ { type: Directive, args: [{ selector: '[ccNum]' },] } ]; /** @nocollapse */ CCNumberFormatDirective.ctorParameters = () => [ { type: Renderer }, { type: ElementRef } ]; CCNumberFormatDirective.propDecorators = { onKeypress: [{ type: HostListener, args: ['keypress', ['$event'],] }] }; if (false) { /** @type {?} */ CCNumberFormatDirective.prototype.cardType; /** @type {?} */ CCNumberFormatDirective.prototype.renderer; /** @type {?} */ CCNumberFormatDirective.prototype.el; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2MtbnVtYmVyLWZvcm1hdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gyLWNyZWRpdC1jYXJkcy8iLCJzb3VyY2VzIjpbImRpcmVjdGl2ZXMvY2MtbnVtYmVyLWZvcm1hdC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDTixTQUFTLEVBQ1QsVUFBVSxFQUNWLFFBQVEsRUFDUixZQUFZLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxLQUFLLE9BQU8sTUFBTSxTQUFTLENBQUM7QUFLbkMsTUFBTTs7Ozs7SUFJTCxZQUFvQixRQUFrQixFQUFVLEVBQWM7UUFBMUMsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUFVLE9BQUUsR0FBRixFQUFFLENBQVk7O1FBRTdELElBQUksT0FBTyxHQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDOztRQUdiLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQyxPQUFPLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ3ZDOzs7OztJQUVxQyxVQUFVLENBQUMsQ0FBTTs7UUFFdEQsSUFBSSxPQUFPLEdBQU0sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7O1FBQ3ZDLElBQUksWUFBWSxHQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFFbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVuRCxJQUFLLElBQUksQ0FBQyxRQUFRLEtBQUssRUFBRSxFQUN6QjtZQUNDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzdEO2FBRUQ7WUFDQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztTQUNuQjtLQUVEOzs7WUFqQ0QsU0FBUyxTQUFDO2dCQUNWLFFBQVEsRUFBRSxTQUFTO2FBQ25COzs7O1lBUkEsUUFBUTtZQURSLFVBQVU7Ozt5QkF3QlQsWUFBWSxTQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFxuXHREaXJlY3RpdmUsIFxuXHRFbGVtZW50UmVmLCBcblx0UmVuZGVyZXIsXG5cdEhvc3RMaXN0ZW5lclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0ICogYXMgUGF5bWVudCBmcm9tICdwYXltZW50JztcblxuQERpcmVjdGl2ZSh7IFxuXHRzZWxlY3RvcjogJ1tjY051bV0nIFxufSlcbmV4cG9ydCBjbGFzcyBDQ051bWJlckZvcm1hdERpcmVjdGl2ZSB7XG5cblx0Y2FyZFR5cGU6IHN0cmluZztcblxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlciwgcHJpdmF0ZSBlbDogRWxlbWVudFJlZikge1xuXG5cdFx0bGV0IGVsZW1lbnQgICA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcblx0XHR0aGlzLmNhcmRUeXBlID0gXCJcIjtcblxuICAgIFx0Ly8gY2FsbCBsaWIgZnVuY3Rpb25zXG4gICAgICAgIFBheW1lbnQuZm9ybWF0Q2FyZE51bWJlcihlbGVtZW50KTtcbiAgICAgICAgUGF5bWVudC5yZXN0cmljdE51bWVyaWMoZWxlbWVudCk7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdrZXlwcmVzcycsIFsnJGV2ZW50J10pIG9uS2V5cHJlc3MoZTogYW55KSB7XG5cdFx0XG5cdFx0bGV0IGVsZW1lbnQgXHQgID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuXHRcdGxldCBlbGVtZW50VmFsdWUgID0gZWxlbWVudC52YWx1ZTtcblxuXHRcdHRoaXMuY2FyZFR5cGUgPSBQYXltZW50LmZucy5jYXJkVHlwZShlbGVtZW50VmFsdWUpO1xuXG5cdFx0aWYgKCB0aGlzLmNhcmRUeXBlICE9PSBcIlwiIClcblx0XHR7XHRcblx0XHRcdHRoaXMucmVuZGVyZXIuc2V0RWxlbWVudENsYXNzKGVsZW1lbnQsIHRoaXMuY2FyZFR5cGUsIGZhbHNlKTtcblx0XHR9XG5cdFx0ZWxzZVxuXHRcdHtcblx0XHRcdHRoaXMuY2FyZFR5cGUgPSBcIlwiO1x0XHRcdFxuXHRcdH1cblxuXHR9XG5cbn1cbiJdfQ==