{"version":3,"file":"2668.f2c9768efed95297.js","mappings":"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","names":["i0","_r6","ctx_r5","ctx_r7","ctx_r8","ctx_r9","KeyboardUtil","static","event","this","ifKey","keys","split","some","k","key","KeysPipe","transform","value","Object","ɵfac","ɵpipe","pure","NgOtpInputComponent","constructor","keysPipe","config","length","onInputChange","EventEmitter","inputControls","Array","componentKey","Math","random","toString","substring","Date","getTime","inputType","_a","_b","isPasswordInput","allowNumbersOnly","ngOnInit","otpForm","FormGroup","index","addControl","getControlName","FormControl","valueChanges","subscribe","v","controls","forEach","val","setValue","rebuildValue","ngAfterViewInit","disableAutoFocus","containerItem","document","getElementById","ele","getElementsByClassName","focus","idx","onKeyDown","$event","inputIdx","ifSpacebar","preventDefault","onInput","validateNumber","currentVal","target","stopPropagation","onKeyUp","nextInputId","appendKey","prevInputId","ifRightArrow","setSelected","ifLeftArrow","ifBackspaceOrDelete","ifValidKeyCode","test","id","eleId","focusTo","setSelectionRange","setTimeout","inp","navigator","userAgent","allowKeyCodes","includes","keyCode","isNaN","reset","replace","from","c","get","indexOfElementToFocus","ctrlVal","isLengthExceed","isCaseTransformEnabled","letterCase","toLocaleLowerCase","transformedVal","toUpperCase","toLowerCase","formCtrl","emit","handlePaste","e","clipboardData","window","pastedData","getData","ɵcmp","selectors","i2","i3","styles","NgOtpInputModule","ɵmod","ɵinj","imports","CommonModule","FormsModule","ReactiveFormsModule","CdTimerComponent","elt","renderer","onStart","onStop","onTick","onComplete","autoStart","startTime","endTime","timeoutId","countdown","format","ngContentNode","nativeElement","lastChild","ngContentSchema","nodeValue","undefined","start","ngOnDestroy","resetTimeout","initVar","computeTimeUnits","startTickCount","resume","stop","clear","renderText","seconds","minutes","hours","days","timer","tick_count","tickCounter","clearInterval","outputText","items","padStart","setProperty","maxTimeUnit","floor","that","setInterval","counter","CdTimerModule"],"sourceRoot":"webpack:///","sources":["./node_modules/ng-otp-input/fesm2015/ng-otp-input.js","./node_modules/angular-cd-timer/fesm2020/angular-cd-timer.mjs"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { Pipe, EventEmitter, Component, Input, Output, NgModule } from '@angular/core';\nimport * as i3 from '@angular/forms';\nimport { FormGroup, FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport * as i2 from '@angular/common';\nimport { CommonModule } from '@angular/common';\n\nclass KeyboardUtil {\r\n static ifBackspaceOrDelete(event) {\r\n return this.ifKey(event, 'Backspace;Delete;Del');\r\n }\r\n static ifRightArrow(event) {\r\n return this.ifKey(event, 'ArrowRight;Right');\r\n }\r\n static ifLeftArrow(event) {\r\n return this.ifKey(event, 'ArrowLeft;Left');\r\n }\r\n static ifSpacebar(event) {\r\n return this.ifKey(event, 'Spacebar; '); //don't remove the space after ; as this will check for space key\r\n }\r\n static ifKey(event, keys) {\r\n let keysToCheck = keys.split(';');\r\n return keysToCheck.some(k => k === event.key);\r\n }\r\n}\n\nclass KeysPipe {\r\n transform(value) {\r\n return Object.keys(value);\r\n }\r\n}\r\n/** @nocollapse */ KeysPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: KeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });\r\n/** @nocollapse */ KeysPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: KeysPipe, name: \"keys\" });\r\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: KeysPipe, decorators: [{\r\n type: Pipe,\r\n args: [{\r\n name: 'keys'\r\n }]\r\n }] });\n\nclass NgOtpInputComponent {\r\n constructor(keysPipe) {\r\n this.keysPipe = keysPipe;\r\n this.config = { length: 4 };\r\n // tslint:disable-next-line: no-output-on-prefix\r\n this.onInputChange = new EventEmitter();\r\n this.inputControls = new Array(this.config.length);\r\n this.componentKey = Math.random()\r\n .toString(36)\r\n .substring(2) + new Date().getTime().toString(36);\r\n }\r\n get inputType() {\r\n var _a, _b;\r\n return ((_a = this.config) === null || _a === void 0 ? void 0 : _a.isPasswordInput)\r\n ? 'password'\r\n : ((_b = this.config) === null || _b === void 0 ? void 0 : _b.allowNumbersOnly)\r\n ? 'tel'\r\n : 'text';\r\n }\r\n ngOnInit() {\r\n this.otpForm = new FormGroup({});\r\n for (let index = 0; index < this.config.length; index++) {\r\n this.otpForm.addControl(this.getControlName(index), new FormControl());\r\n }\r\n this.otpForm.valueChanges.subscribe((v) => {\r\n this.keysPipe.transform(this.otpForm.controls).forEach((k) => {\r\n var val = this.otpForm.controls[k].value;\r\n if (val && val.length > 1) {\r\n if (val.length >= this.config.length) {\r\n this.setValue(val);\r\n }\r\n else {\r\n this.rebuildValue();\r\n }\r\n }\r\n });\r\n });\r\n }\r\n ngAfterViewInit() {\r\n if (!this.config.disableAutoFocus) {\r\n const containerItem = document.getElementById(`c_${this.componentKey}`);\r\n if (containerItem) {\r\n const ele = containerItem.getElementsByClassName('otp-input')[0];\r\n if (ele && ele.focus) {\r\n ele.focus();\r\n }\r\n }\r\n }\r\n }\r\n getControlName(idx) {\r\n return `ctrl_${idx}`;\r\n }\r\n onKeyDown($event, inputIdx) {\r\n if (KeyboardUtil.ifSpacebar($event)) {\r\n $event.preventDefault();\r\n return false;\r\n }\r\n }\r\n onInput($event) {\r\n let newVal = this.currentVal ? `${this.currentVal}${$event.target.value}` : $event.target.value;\r\n if (this.config.allowNumbersOnly && !this.validateNumber(newVal)) {\r\n $event.target.value = '';\r\n $event.stopPropagation();\r\n $event.preventDefault();\r\n return;\r\n }\r\n }\r\n onKeyUp($event, inputIdx) {\r\n const nextInputId = this.appendKey(`otp_${inputIdx + 1}`);\r\n const prevInputId = this.appendKey(`otp_${inputIdx - 1}`);\r\n if (KeyboardUtil.ifRightArrow($event)) {\r\n $event.preventDefault();\r\n this.setSelected(nextInputId);\r\n return;\r\n }\r\n if (KeyboardUtil.ifLeftArrow($event)) {\r\n $event.preventDefault();\r\n this.setSelected(prevInputId);\r\n return;\r\n }\r\n if (KeyboardUtil.ifBackspaceOrDelete($event) && !$event.target.value) {\r\n this.setSelected(prevInputId);\r\n this.rebuildValue();\r\n return;\r\n }\r\n if (!$event.target.value) {\r\n return;\r\n }\r\n if (this.ifValidKeyCode($event)) {\r\n this.setSelected(nextInputId);\r\n }\r\n this.rebuildValue();\r\n }\r\n validateNumber(val) {\r\n return val && /^\\d*\\.?\\d*$/.test(val);\r\n }\r\n appendKey(id) {\r\n return `${id}_${this.componentKey}`;\r\n }\r\n setSelected(eleId) {\r\n this.focusTo(eleId);\r\n const ele = document.getElementById(eleId);\r\n if (ele && ele.setSelectionRange) {\r\n setTimeout(() => {\r\n ele.setSelectionRange(0, 1);\r\n }, 0);\r\n }\r\n }\r\n ifValidKeyCode(event) {\r\n const inp = event.key;\r\n const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\r\n return (isMobile ||\r\n /[a-zA-Z0-9-_]/.test(inp) ||\r\n (this.config.allowKeyCodes &&\r\n this.config.allowKeyCodes.includes(event.keyCode)));\r\n }\r\n focusTo(eleId) {\r\n const ele = document.getElementById(eleId);\r\n if (ele) {\r\n ele.focus();\r\n }\r\n }\r\n // method to set component value\r\n setValue(value) {\r\n if (this.config.allowNumbersOnly && isNaN(value)) {\r\n return;\r\n }\r\n this.otpForm.reset();\r\n if (!value) {\r\n this.rebuildValue();\r\n return;\r\n }\r\n value = value.toString().replace(/\\s/g, ''); // remove whitespace\r\n Array.from(value).forEach((c, idx) => {\r\n if (this.otpForm.get(this.getControlName(idx))) {\r\n this.otpForm.get(this.getControlName(idx)).setValue(c);\r\n }\r\n });\r\n if (!this.config.disableAutoFocus) {\r\n const containerItem = document.getElementById(`c_${this.componentKey}`);\r\n var indexOfElementToFocus = value.length < this.config.length ? value.length : (this.config.length - 1);\r\n let ele = containerItem.getElementsByClassName('otp-input')[indexOfElementToFocus];\r\n if (ele && ele.focus) {\r\n ele.focus();\r\n }\r\n }\r\n this.rebuildValue();\r\n }\r\n rebuildValue() {\r\n var _a;\r\n let val = '';\r\n this.keysPipe.transform(this.otpForm.controls).forEach(k => {\r\n if (this.otpForm.controls[k].value) {\r\n let ctrlVal = this.otpForm.controls[k].value;\r\n let isLengthExceed = ctrlVal.length > 1;\r\n let isCaseTransformEnabled = !this.config.allowNumbersOnly && this.config.letterCase && (this.config.letterCase.toLocaleLowerCase() == 'upper' || this.config.letterCase.toLocaleLowerCase() == 'lower');\r\n ctrlVal = ctrlVal[0];\r\n let transformedVal = isCaseTransformEnabled ? this.config.letterCase.toLocaleLowerCase() == 'upper' ? ctrlVal.toUpperCase() : ctrlVal.toLowerCase() : ctrlVal;\r\n if (isCaseTransformEnabled && transformedVal == ctrlVal) {\r\n isCaseTransformEnabled = false;\r\n }\r\n else {\r\n ctrlVal = transformedVal;\r\n }\r\n val += ctrlVal;\r\n if (isLengthExceed || isCaseTransformEnabled) {\r\n this.otpForm.controls[k].setValue(ctrlVal);\r\n }\r\n }\r\n });\r\n if ((_a = this.formCtrl) === null || _a === void 0 ? void 0 : _a.setValue) {\r\n this.formCtrl.setValue(val);\r\n }\r\n this.onInputChange.emit(val);\r\n this.currentVal = val;\r\n }\r\n handlePaste(e) {\r\n // Get pasted data via clipboard API\r\n let clipboardData = e.clipboardData || window['clipboardData'];\r\n if (clipboardData) {\r\n var pastedData = clipboardData.getData('Text');\r\n }\r\n // Stop data actually being pasted into div\r\n e.stopPropagation();\r\n e.preventDefault();\r\n if (!pastedData || (this.config.allowNumbersOnly && !this.validateNumber(pastedData))) {\r\n return;\r\n }\r\n this.setValue(pastedData);\r\n }\r\n}\r\n/** @nocollapse */ NgOtpInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: NgOtpInputComponent, deps: [{ token: KeysPipe }], target: i0.ɵɵFactoryTarget.Component });\r\n/** @nocollapse */ NgOtpInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"12.2.16\", type: NgOtpInputComponent, selector: \"ng-otp-input\", inputs: { config: \"config\", formCtrl: \"formCtrl\" }, outputs: { onInputChange: \"onInputChange\" }, ngImport: i0, template: \"
\\r\\n \\r\\n
\", styles: [\".otp-input{width:50px;height:50px;border-radius:4px;border:solid 1px #c5c5c5;text-align:center;font-size:32px}.ng-otp-input-wrapper .otp-input:not(:last-child){margin-right:8px}@media screen and (max-width: 767px){.otp-input{width:40px;font-size:24px;height:40px}}@media screen and (max-width: 420px){.otp-input{width:30px;font-size:18px;height:30px}}\\n\"], directives: [{ type: i2.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { type: i2.NgStyle, selector: \"[ngStyle]\", inputs: [\"ngStyle\"] }, { type: i2.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }, { type: i3.DefaultValueAccessor, selector: \"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]\" }, { type: i3.PatternValidator, selector: \"[pattern][formControlName],[pattern][formControl],[pattern][ngModel]\", inputs: [\"pattern\"] }, { type: i3.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { type: i3.FormControlDirective, selector: \"[formControl]\", inputs: [\"disabled\", \"formControl\", \"ngModel\"], outputs: [\"ngModelChange\"], exportAs: [\"ngForm\"] }], pipes: { \"keys\": KeysPipe } });\r\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: NgOtpInputComponent, decorators: [{\r\n type: Component,\r\n args: [{\r\n // tslint:disable-next-line: component-selector\r\n selector: 'ng-otp-input',\r\n templateUrl: './ng-otp-input.component.html',\r\n styleUrls: ['./ng-otp-input.component.scss']\r\n }]\r\n }], ctorParameters: function () { return [{ type: KeysPipe }]; }, propDecorators: { config: [{\r\n type: Input\r\n }], onInputChange: [{\r\n type: Output\r\n }], formCtrl: [{\r\n type: Input\r\n }] } });\n\nclass NgOtpInputModule {\r\n}\r\n/** @nocollapse */ NgOtpInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: NgOtpInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\r\n/** @nocollapse */ NgOtpInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: NgOtpInputModule, declarations: [NgOtpInputComponent, KeysPipe], imports: [CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule], exports: [NgOtpInputComponent] });\r\n/** @nocollapse */ NgOtpInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: NgOtpInputModule, providers: [KeysPipe], imports: [[\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ]] });\r\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"12.2.16\", ngImport: i0, type: NgOtpInputModule, decorators: [{\r\n type: NgModule,\r\n args: [{\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n declarations: [NgOtpInputComponent, KeysPipe],\r\n exports: [NgOtpInputComponent],\r\n providers: [KeysPipe]\r\n }]\r\n }] });\n\nclass Config {\r\n}\n\n/*\r\n * Public API Surface of ng-otp-input\r\n */\n\n/**\r\n * Generated bundle index. Do not edit.\r\n */\n\nexport { NgOtpInputComponent, Config as NgOtpInputConfig, NgOtpInputModule };\n","import * as i0 from '@angular/core';\nimport { EventEmitter, Component, Input, Output, NgModule } from '@angular/core';\n\nclass CdTimerComponent {\n constructor(elt, renderer) {\n this.elt = elt;\n this.renderer = renderer;\n this.onStart = new EventEmitter();\n this.onStop = new EventEmitter();\n this.onTick = new EventEmitter();\n this.onComplete = new EventEmitter();\n // Initialization\n this.autoStart = true;\n this.startTime = 0;\n this.endTime = 0;\n this.timeoutId = null;\n this.countdown = false;\n this.format = 'default';\n }\n ngAfterViewInit() {\n const ngContentNode = this.elt.nativeElement.lastChild; // Get last child, defined by user or span\n this.ngContentSchema = ngContentNode ? ngContentNode.nodeValue : '';\n if (this.autoStart === undefined || this.autoStart === true) {\n this.start();\n }\n }\n ngOnDestroy() {\n this.resetTimeout();\n }\n /**\n * Start the timer\n */\n start() {\n this.initVar();\n this.resetTimeout();\n this.computeTimeUnits();\n this.startTickCount();\n this.onStart.emit(this);\n }\n /**\n * Resume the timer\n */\n resume() {\n this.resetTimeout();\n this.startTickCount();\n }\n /**\n * Stop the timer\n */\n stop() {\n this.clear();\n this.onStop.emit(this);\n }\n /**\n * Reset the timer\n */\n reset() {\n this.initVar();\n this.resetTimeout();\n this.clear();\n this.computeTimeUnits();\n this.renderText();\n }\n /**\n * Get the time information\n * @returns TimeInterface\n */\n get() {\n return {\n seconds: this.seconds,\n minutes: this.minutes,\n hours: this.hours,\n days: this.days,\n timer: this.timeoutId,\n tick_count: this.tickCounter\n };\n }\n /**\n * Initialize variable before start\n */\n initVar() {\n this.startTime = this.startTime || 0;\n this.endTime = this.endTime || 0;\n this.countdown = this.countdown || false;\n this.tickCounter = this.startTime;\n // Disable countdown if start time not defined\n if (this.countdown && this.startTime === 0) {\n this.countdown = false;\n }\n // Determine auto format\n if (!this.format) {\n this.format = (this.ngContentSchema.length > 5) ? 'user' : 'default';\n }\n }\n /**\n * Reset timeout\n */\n resetTimeout() {\n if (this.timeoutId) {\n clearInterval(this.timeoutId);\n }\n }\n /**\n * Render the time to DOM\n */\n renderText() {\n let outputText;\n if (this.format === 'user') {\n // User presentation\n const items = {\n 'seconds': this.seconds,\n 'minutes': this.minutes,\n 'hours': this.hours,\n 'days': this.days\n };\n outputText = this.ngContentSchema;\n for (const key of Object.keys(items)) {\n outputText = outputText.replace('[' + key + ']', items[key].toString());\n }\n }\n else if (this.format === 'intelli') {\n // Intelli presentation\n outputText = '';\n if (this.days > 0) {\n outputText += this.days.toString() + 'day' + ((this.days > 1) ? 's' : '') + ' ';\n }\n if ((this.hours > 0) || (this.days > 0)) {\n outputText += this.hours.toString() + 'h ';\n }\n if (((this.minutes > 0) || (this.hours > 0)) && (this.days === 0)) {\n outputText += this.minutes.toString().padStart(2, '0') + 'min ';\n }\n if ((this.hours === 0) && (this.days === 0)) {\n outputText += this.seconds.toString().padStart(2, '0') + 's';\n }\n }\n else if (this.format === 'hms') {\n // Hms presentation\n outputText = this.hours.toString().padStart(2, '0') + ':';\n outputText += this.minutes.toString().padStart(2, '0') + ':';\n outputText += this.seconds.toString().padStart(2, '0');\n }\n else if (this.format === 'ms') {\n // ms presentation\n outputText = '';\n if (this.hours > 0) {\n outputText = this.hours.toString().padStart(2, '0') + ':';\n }\n outputText += this.minutes.toString().padStart(2, '0') + ':';\n outputText += this.seconds.toString().padStart(2, '0');\n }\n else {\n // Default presentation\n outputText = this.days.toString() + 'd ';\n outputText += this.hours.toString() + 'h ';\n outputText += this.minutes.toString() + 'm ';\n outputText += this.seconds.toString() + 's';\n }\n this.renderer.setProperty(this.elt.nativeElement, 'innerHTML', outputText);\n }\n clear() {\n this.resetTimeout();\n this.timeoutId = null;\n }\n /**\n * Compute each unit (seconds, minutes, hours, days) for further manipulation\n * @protected\n */\n computeTimeUnits() {\n if (!this.maxTimeUnit || this.maxTimeUnit === 'day') {\n this.seconds = Math.floor(this.tickCounter % 60);\n this.minutes = Math.floor((this.tickCounter / 60) % 60);\n this.hours = Math.floor((this.tickCounter / 3600) % 24);\n this.days = Math.floor((this.tickCounter / 3600) / 24);\n }\n else if (this.maxTimeUnit === 'second') {\n this.seconds = this.tickCounter;\n this.minutes = 0;\n this.hours = 0;\n this.days = 0;\n }\n else if (this.maxTimeUnit === 'minute') {\n this.seconds = Math.floor(this.tickCounter % 60);\n this.minutes = Math.floor(this.tickCounter / 60);\n this.hours = 0;\n this.days = 0;\n }\n else if (this.maxTimeUnit === 'hour') {\n this.seconds = Math.floor(this.tickCounter % 60);\n this.minutes = Math.floor((this.tickCounter / 60) % 60);\n this.hours = Math.floor(this.tickCounter / 3600);\n this.days = 0;\n }\n this.renderText();\n }\n /**\n * Start tick count, base of this component\n * @protected\n */\n startTickCount() {\n const that = this;\n that.timeoutId = setInterval(function () {\n let counter;\n if (that.countdown) {\n // Compute finish counter for countdown\n counter = that.tickCounter;\n if (that.startTime > that.endTime) {\n counter = that.tickCounter - that.endTime - 1;\n }\n }\n else {\n // Compute finish counter for timer\n counter = that.tickCounter - that.startTime;\n if (that.endTime > that.startTime) {\n counter = that.endTime - that.tickCounter - 1;\n }\n }\n that.computeTimeUnits();\n const timer = {\n seconds: that.seconds,\n minutes: that.minutes,\n hours: that.hours,\n days: that.days,\n timer: that.timeoutId,\n tick_count: that.tickCounter\n };\n that.onTick.emit(timer);\n if (counter < 0) {\n that.stop();\n that.onComplete.emit(that);\n return;\n }\n if (that.countdown) {\n that.tickCounter--;\n }\n else {\n that.tickCounter++;\n }\n }, 1000); // Each seconds\n }\n}\nCdTimerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.3\", ngImport: i0, type: CdTimerComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });\nCdTimerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"12.0.0\", version: \"13.3.3\", type: CdTimerComponent, selector: \"cd-timer\", inputs: { startTime: \"startTime\", endTime: \"endTime\", countdown: \"countdown\", autoStart: \"autoStart\", maxTimeUnit: \"maxTimeUnit\", format: \"format\" }, outputs: { onStart: \"onStart\", onStop: \"onStop\", onTick: \"onTick\", onComplete: \"onComplete\" }, ngImport: i0, template: ' ', isInline: true });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.3\", ngImport: i0, type: CdTimerComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'cd-timer',\n template: ' '\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { startTime: [{\n type: Input\n }], endTime: [{\n type: Input\n }], countdown: [{\n type: Input\n }], autoStart: [{\n type: Input\n }], maxTimeUnit: [{\n type: Input\n }], format: [{\n type: Input\n }], onStart: [{\n type: Output\n }], onStop: [{\n type: Output\n }], onTick: [{\n type: Output\n }], onComplete: [{\n type: Output\n }] } });\n\nclass CdTimerModule {\n}\nCdTimerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"13.3.3\", ngImport: i0, type: CdTimerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nCdTimerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"12.0.0\", version: \"13.3.3\", ngImport: i0, type: CdTimerModule, declarations: [CdTimerComponent], exports: [CdTimerComponent] });\nCdTimerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"13.3.3\", ngImport: i0, type: CdTimerModule, imports: [[]] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"13.3.3\", ngImport: i0, type: CdTimerModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [CdTimerComponent],\n imports: [],\n exports: [CdTimerComponent]\n }]\n }] });\n\n/*\n * Public API Surface of angular-cd-timer\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { CdTimerComponent, CdTimerModule };\n"],"x_google_ignoreList":[0,1]}