@recursyve/nice-stripe-kit.v2 13.0.0-beta.3 → 14.0.0-beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -88,14 +88,14 @@ export class NiceStripeCardElementComponent {
88
88
  onContainerClick(event) {
89
89
  }
90
90
  }
91
- NiceStripeCardElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeCardElementComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
92
- NiceStripeCardElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: NiceStripeCardElementComponent, selector: "nice-stripe-card-element", inputs: { placeholder: "placeholder", focused: "focused", required: "required", disabled: "disabled" }, host: { properties: { "attr.aria-describedby": "this.describedBy", "id": "this.id", "class.floating": "this.shouldLabelFloat" } }, providers: [
91
+ NiceStripeCardElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeCardElementComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
92
+ NiceStripeCardElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceStripeCardElementComponent, selector: "nice-stripe-card-element", inputs: { placeholder: "placeholder", focused: "focused", required: "required", disabled: "disabled" }, host: { properties: { "attr.aria-describedby": "this.describedBy", "id": "this.id", "class.floating": "this.shouldLabelFloat" } }, providers: [
93
93
  {
94
94
  provide: MatFormFieldControl,
95
95
  useExisting: NiceStripeCardElementComponent
96
96
  }
97
97
  ], viewQueries: [{ propertyName: "elementRef", first: true, predicate: ["element"], descendants: true }], ngImport: i0, template: "<div class='stripe-element' #element></div>", isInline: true, styles: ["nice-stripe-card-element .stripe-element{height:15px}\n"], encapsulation: i0.ViewEncapsulation.None });
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeCardElementComponent, decorators: [{
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeCardElementComponent, decorators: [{
99
99
  type: Component,
100
100
  args: [{ selector: "nice-stripe-card-element", template: "<div class='stripe-element' #element></div>", encapsulation: ViewEncapsulation.None, providers: [
101
101
  {
@@ -11,14 +11,13 @@ import * as i0 from "@angular/core";
11
11
  import * as i1 from "@recursyve/ngx-form-generator";
12
12
  import * as i2 from "ngx-stripe";
13
13
  import * as i3 from "@ngx-translate/core";
14
- import * as i4 from "@angular/material/list";
14
+ import * as i4 from "@angular/forms";
15
15
  import * as i5 from "@angular/material/form-field";
16
- import * as i6 from "../card-element/stripe-card-element.component";
17
- import * as i7 from "@angular/forms";
16
+ import * as i6 from "@angular/material/input";
17
+ import * as i7 from "@angular/material/list";
18
18
  import * as i8 from "@recursyve/nice-ui-kit.v2";
19
- import * as i9 from "@angular/material/input";
20
- import * as i10 from "@angular/common";
21
- import * as i11 from "@angular/flex-layout";
19
+ import * as i9 from "@angular/common";
20
+ import * as i10 from "../card-element/stripe-card-element.component";
22
21
  export class NiceStripeCardFormComponent {
23
22
  constructor(options, formGroup, stripeService, translateService) {
24
23
  this.options = options;
@@ -84,9 +83,15 @@ export class NiceStripeCardFormComponent {
84
83
  this.cardCvcInput.init(this.cardCvcElement);
85
84
  }
86
85
  ngOnDestroy() {
87
- this.cardNumberElement.unmount();
88
- this.cardExpiryElement.unmount();
89
- this.cardCvcElement.unmount();
86
+ if (this.cardNumberElement) {
87
+ this.cardNumberElement.unmount();
88
+ }
89
+ if (this.cardExpiryElement) {
90
+ this.cardExpiryElement.unmount();
91
+ }
92
+ if (this.cardCvcElement) {
93
+ this.cardCvcElement.unmount();
94
+ }
90
95
  }
91
96
  patchName(name) {
92
97
  this.formGroup.get("name").patchValue(name);
@@ -102,21 +107,21 @@ export class NiceStripeCardFormComponent {
102
107
  return +date.getFullYear().toString().substr(-2);
103
108
  }
104
109
  }
105
- NiceStripeCardFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeCardFormComponent, deps: [{ token: NICE_STRIPE_OPTIONS, optional: true }, { token: i1.GeneratedFormGroup }, { token: i2.StripeService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
106
- NiceStripeCardFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: NiceStripeCardFormComponent, selector: "nice-stripe-card-form", inputs: { appearance: "appearance", showIcons: "showIcons" }, providers: [
110
+ NiceStripeCardFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeCardFormComponent, deps: [{ token: NICE_STRIPE_OPTIONS, optional: true }, { token: i1.GeneratedFormGroup }, { token: i2.StripeService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
111
+ NiceStripeCardFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceStripeCardFormComponent, selector: "nice-stripe-card-form", inputs: { appearance: "appearance", showIcons: "showIcons" }, providers: [
107
112
  {
108
113
  provide: GeneratedFormGroup,
109
114
  useFactory: ngxFormGeneratorFactory(StripeForm)
110
115
  }
111
- ], viewQueries: [{ propertyName: "cardNumberInput", first: true, predicate: ["cardNumber"], descendants: true }, { propertyName: "cardExpiryInput", first: true, predicate: ["cardExpiry"], descendants: true }, { propertyName: "cardCvcInput", first: true, predicate: ["cardCvc"], descendants: true }], ngImport: i0, template: "<mat-list [formGroup]=\"formGroup\">\n <mat-list-item>\n <mat-form-field [appearance]=\"appearance\" niceControlStatus floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.name_on_card.label\" | translate}}</mat-label>\n <input [placeholder]=\"'nice_ui_kit.stripe.name_on_card.placeholder' | translate\" matInput type=\"text\"\n formControlName=\"name\" required/>\n <div matPrefix class=\"pr-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-user-circle text-accent form-icons\"></i>\n </div>\n </mat-form-field>\n </mat-list-item>\n <mat-list-item>\n <div fxLayout=\"column\" class=\"w-full\">\n <div fxLayout=\"row\">\n <mat-form-field fxFlex=\"100\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.card_number.label\" | translate}}</mat-label>\n <div matPrefix class=\"pr-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-credit-card text-accent form-icons\"></i>\n </div>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.card_number.placeholder' | translate\"\n #cardNumber required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardNumberError\">{{ cardNumberError }}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutGap=\"15px\">\n <mat-form-field fxFlex=\"50\" fxFlex.lt-md=\"48\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.expiration.label\" | translate}}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.expiration.placeholder' | translate\"\n #cardExpiry required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardExpiryError\">{{ cardExpiryError }}</mat-error>\n </mat-form-field>\n <mat-form-field fxFlex=\"50\" fxFlex.lt-md=\"48\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.cvc.label\" | translate}}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.cvc.placeholder' | translate\" #cardCvc\n required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardCvcError\">{{ cardCvcError }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-list-item>\n</mat-list>\n", styles: ["nice-stripe-card-form mat-list-item{height:auto!important}nice-stripe-card-form .form-icons{font-size:24px!important;width:24px!important;height:24px!important;line-height:24px!important}\n"], components: [{ type: i4.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i6.NiceStripeCardElementComponent, selector: "nice-stripe-card-element", inputs: ["placeholder", "focused", "required", "disabled"] }], directives: [{ type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i8.NiceControlStatusDirective, selector: "[niceControlStatus]" }, { type: i5.MatLabel, selector: "mat-label" }, { type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.MatPrefix, selector: "[matPrefix]" }, { type: i11.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i11.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { type: i11.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }], pipes: { "translate": i3.TranslatePipe }, animations: niceAnimations, encapsulation: i0.ViewEncapsulation.None });
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeCardFormComponent, decorators: [{
116
+ ], viewQueries: [{ propertyName: "cardNumberInput", first: true, predicate: ["cardNumber"], descendants: true }, { propertyName: "cardExpiryInput", first: true, predicate: ["cardExpiry"], descendants: true }, { propertyName: "cardCvcInput", first: true, predicate: ["cardCvc"], descendants: true }], ngImport: i0, template: "<mat-list [formGroup]=\"formGroup\">\n <mat-list-item>\n <mat-form-field [appearance]=\"appearance\" niceControlStatus floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.name_on_card.label\" | translate }}</mat-label>\n <input [placeholder]=\"'nice_ui_kit.stripe.name_on_card.placeholder' | translate\" matInput type=\"text\"\n formControlName=\"name\" required/>\n <div matPrefix class=\"pl-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-user-circle accent-fg\"></i>\n </div>\n </mat-form-field>\n </mat-list-item>\n <mat-list-item>\n <div class=\"flex flex-col w-full\">\n <div class=\"flex flex-row\">\n <mat-form-field class=\"flex-full max-w-full\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.card_number.label\" | translate }}</mat-label>\n <div matPrefix class=\"pl-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-credit-card accent-fg\"></i>\n </div>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.card_number.placeholder' | translate\"\n #cardNumber required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardNumberError\">{{ cardNumberError }}</mat-error>\n </mat-form-field>\n </div>\n <div class=\"flex flex-row gap-4\">\n <mat-form-field class=\"flex flex-full max-w-1/2\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.expiration.label\" | translate }}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.expiration.placeholder' | translate\"\n #cardExpiry required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardExpiryError\">{{ cardExpiryError }}</mat-error>\n </mat-form-field>\n <mat-form-field class=\"flex flex-full max-w-1/2\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.cvc.label\" | translate }}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.cvc.placeholder' | translate\" #cardCvc\n required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardCvcError\">{{ cardCvcError }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-list-item>\n</mat-list>\n", styles: ["nice-stripe-card-form mat-list-item{height:auto!important}nice-stripe-card-form .form-icons{font-size:24px!important;width:24px!important;height:24px!important;line-height:24px!important}\n"], dependencies: [{ kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { kind: "component", type: i7.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i8.NiceControlStatusDirective, selector: "[niceControlStatus]" }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i10.NiceStripeCardElementComponent, selector: "nice-stripe-card-element", inputs: ["placeholder", "focused", "required", "disabled"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], animations: niceAnimations, encapsulation: i0.ViewEncapsulation.None });
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeCardFormComponent, decorators: [{
113
118
  type: Component,
114
119
  args: [{ selector: "nice-stripe-card-form", encapsulation: ViewEncapsulation.None, providers: [
115
120
  {
116
121
  provide: GeneratedFormGroup,
117
122
  useFactory: ngxFormGeneratorFactory(StripeForm)
118
123
  }
119
- ], animations: niceAnimations, template: "<mat-list [formGroup]=\"formGroup\">\n <mat-list-item>\n <mat-form-field [appearance]=\"appearance\" niceControlStatus floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.name_on_card.label\" | translate}}</mat-label>\n <input [placeholder]=\"'nice_ui_kit.stripe.name_on_card.placeholder' | translate\" matInput type=\"text\"\n formControlName=\"name\" required/>\n <div matPrefix class=\"pr-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-user-circle text-accent form-icons\"></i>\n </div>\n </mat-form-field>\n </mat-list-item>\n <mat-list-item>\n <div fxLayout=\"column\" class=\"w-full\">\n <div fxLayout=\"row\">\n <mat-form-field fxFlex=\"100\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.card_number.label\" | translate}}</mat-label>\n <div matPrefix class=\"pr-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-credit-card text-accent form-icons\"></i>\n </div>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.card_number.placeholder' | translate\"\n #cardNumber required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardNumberError\">{{ cardNumberError }}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutGap=\"15px\">\n <mat-form-field fxFlex=\"50\" fxFlex.lt-md=\"48\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.expiration.label\" | translate}}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.expiration.placeholder' | translate\"\n #cardExpiry required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardExpiryError\">{{ cardExpiryError }}</mat-error>\n </mat-form-field>\n <mat-form-field fxFlex=\"50\" fxFlex.lt-md=\"48\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.cvc.label\" | translate}}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.cvc.placeholder' | translate\" #cardCvc\n required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardCvcError\">{{ cardCvcError }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-list-item>\n</mat-list>\n", styles: ["nice-stripe-card-form mat-list-item{height:auto!important}nice-stripe-card-form .form-icons{font-size:24px!important;width:24px!important;height:24px!important;line-height:24px!important}\n"] }]
124
+ ], animations: niceAnimations, template: "<mat-list [formGroup]=\"formGroup\">\n <mat-list-item>\n <mat-form-field [appearance]=\"appearance\" niceControlStatus floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.name_on_card.label\" | translate }}</mat-label>\n <input [placeholder]=\"'nice_ui_kit.stripe.name_on_card.placeholder' | translate\" matInput type=\"text\"\n formControlName=\"name\" required/>\n <div matPrefix class=\"pl-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-user-circle accent-fg\"></i>\n </div>\n </mat-form-field>\n </mat-list-item>\n <mat-list-item>\n <div class=\"flex flex-col w-full\">\n <div class=\"flex flex-row\">\n <mat-form-field class=\"flex-full max-w-full\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.card_number.label\" | translate }}</mat-label>\n <div matPrefix class=\"pl-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-credit-card accent-fg\"></i>\n </div>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.card_number.placeholder' | translate\"\n #cardNumber required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardNumberError\">{{ cardNumberError }}</mat-error>\n </mat-form-field>\n </div>\n <div class=\"flex flex-row gap-4\">\n <mat-form-field class=\"flex flex-full max-w-1/2\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.expiration.label\" | translate }}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.expiration.placeholder' | translate\"\n #cardExpiry required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardExpiryError\">{{ cardExpiryError }}</mat-error>\n </mat-form-field>\n <mat-form-field class=\"flex flex-full max-w-1/2\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.cvc.label\" | translate }}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.cvc.placeholder' | translate\" #cardCvc\n required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardCvcError\">{{ cardCvcError }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-list-item>\n</mat-list>\n", styles: ["nice-stripe-card-form mat-list-item{height:auto!important}nice-stripe-card-form .form-icons{font-size:24px!important;width:24px!important;height:24px!important;line-height:24px!important}\n"] }]
120
125
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
121
126
  type: Optional
122
127
  }, {
@@ -136,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
136
141
  type: ViewChild,
137
142
  args: ["cardCvc"]
138
143
  }] } });
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaXBlLWNhcmQtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXN0cmlwZS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQtZm9ybS9zdHJpcGUtY2FyZC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2Utc3RyaXBlLWtpdC12Mi9zcmMvbGliL2NvbXBvbmVudHMvY2FyZC1mb3JtL3N0cmlwZS1jYXJkLWZvcm0udGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBUTNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQWVyRCxNQUFNLE9BQU8sMkJBQTJCO0lBOENwQyxZQUNvRCxPQUE2QixFQUN0RSxTQUF5QyxFQUN4QyxhQUE0QixFQUM1QixnQkFBa0M7UUFITSxZQUFPLEdBQVAsT0FBTyxDQUFzQjtRQUN0RSxjQUFT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QUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQzs7d0hBMUhRLDJCQUEyQixrQkErQ1osbUJBQW1COzRHQS9DbEMsMkJBQTJCLDhHQVJ6QjtRQUNQO1lBQ0ksT0FBTyxFQUFFLGtCQUFrQjtZQUMzQixVQUFVLEVBQUUsdUJBQXVCLENBQUMsVUFBVSxDQUFDO1NBQ2xEO0tBQ0osbVVDN0JMLDZ0RkF5Q0EsazlIRFhnQixjQUFjOzJGQUVqQiwyQkFBMkI7a0JBYnZDLFNBQVM7K0JBQ0ksdUJBQXVCLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxVQUFVLENBQUM7eUJBQ2xEO3FCQUNKLGNBQ1csY0FBYzs7MEJBaURyQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQjt3SUE3Q3BDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLGVBQWU7c0JBRHJCLFNBQVM7dUJBQUMsWUFBWTtnQkFJaEIsZUFBZTtzQkFEckIsU0FBUzt1QkFBQyxZQUFZO2dCQUloQixZQUFZO3NCQURsQixTQUFTO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRBcHBlYXJhbmNlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgR2VuZXJhdGVkRm9ybUdyb3VwLCBuZ3hGb3JtR2VuZXJhdG9yRmFjdG9yeSB9IGZyb20gXCJAcmVjdXJzeXZlL25neC1mb3JtLWdlbmVyYXRvclwiO1xuaW1wb3J0IHsgbmljZUFuaW1hdGlvbnMgfSBmcm9tIFwiQHJlY3Vyc3l2ZS9uaWNlLXVpLWtpdC52MlwiO1xuaW1wb3J0IHtcbiAgICBTdHJpcGVDYXJkQ3ZjRWxlbWVudCxcbiAgICBTdHJpcGVDYXJkRXhwaXJ5RWxlbWVudCxcbiAgICBTdHJpcGVDYXJkTnVtYmVyRWxlbWVudCxcbiAgICBTdHJpcGVDYXJkTnVtYmVyRWxlbWVudE9wdGlvbnMsXG4gICAgU3RyaXBlRWxlbWVudHNcbn0gZnJvbSBcIkBzdHJpcGUvc3RyaXBlLWpzXCI7XG5pbXBvcnQgeyBTdHJpcGVTZXJ2aWNlIH0gZnJvbSBcIm5neC1zdHJpcGVcIjtcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgTklDRV9TVFJJUEVfT1BUSU9OUyB9IGZyb20gXCIuLi8uLi9uaWNlLXN0cmlwZS1raXQuY29uc3RhbnRcIjtcbmltcG9ydCB7IE5pY2VTdHJpcGVLaXRPcHRpb25zIH0gZnJvbSBcIi4uLy4uL25pY2Utc3RyaXBlLWtpdC5vcHRpb25zXCI7XG5pbXBvcnQgeyBOaWNlU3RyaXBlQ2FyZEVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vY2FyZC1lbGVtZW50L3N0cmlwZS1jYXJkLWVsZW1lbnQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTdHJpcGVGb3JtIH0gZnJvbSBcIi4vc3RyaXBlLWNhcmQtZm9ybS5mb3JtXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2Utc3RyaXBlLWNhcmQtZm9ybVwiLFxuICAgIHRlbXBsYXRlVXJsOiBcInN0cmlwZS1jYXJkLWZvcm0udGVtcGxhdGUuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wic3RyaXBlLWNhcmQtZm9ybS5zdHlsZS5zY3NzXCJdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEdlbmVyYXRlZEZvcm1Hcm91cCxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IG5neEZvcm1HZW5lcmF0b3JGYWN0b3J5KFN0cmlwZUZvcm0pXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGFuaW1hdGlvbnM6IG5pY2VBbmltYXRpb25zXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VTdHJpcGVDYXJkRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd0ljb25zID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkKFwiY2FyZE51bWJlclwiKVxuICAgIHB1YmxpYyBjYXJkTnVtYmVySW5wdXQ6IE5pY2VTdHJpcGVDYXJkRWxlbWVudENvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoXCJjYXJkRXhwaXJ5XCIpXG4gICAgcHVibGljIGNhcmRFeHBpcnlJbnB1dDogTmljZVN0cmlwZUNhcmRFbGVtZW50Q29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZChcImNhcmRDdmNcIilcbiAgICBwdWJsaWMgY2FyZEN2Y0lucHV0OiBOaWNlU3RyaXBlQ2FyZEVsZW1lbnRDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgY2FyZE51bWJlckVsZW1lbnQ6IFN0cmlwZUNhcmROdW1iZXJFbGVtZW50O1xuICAgIHB1YmxpYyBjYXJkTnVtYmVyRXJyb3I6IHN0cmluZztcbiAgICBwdWJsaWMgY2FyZEV4cGlyeUVsZW1lbnQ6IFN0cmlwZUNhcmRFeHBpcnlFbGVtZW50O1xuICAgIHB1YmxpYyBjYXJkRXhwaXJ5RXJyb3I6IHN0cmluZztcbiAgICBwdWJsaWMgY2FyZEN2Y0VsZW1lbnQ6IFN0cmlwZUNhcmRDdmNFbGVtZW50O1xuICAgIHB1YmxpYyBjYXJkQ3ZjRXJyb3I6IHN0cmluZztcblxuICAgIHB1YmxpYyBzdHJpcGVPcHRpb25zOiBTdHJpcGVDYXJkTnVtYmVyRWxlbWVudE9wdGlvbnM7XG5cbiAgICBwcml2YXRlIGVsZW1lbnRzOiBTdHJpcGVFbGVtZW50cztcblxuICAgIHB1YmxpYyBnZXQgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FyZE51bWJlcklucHV0LmNvbXBsZXRlICYmXG4gICAgICAgICAgICB0aGlzLmNhcmRFeHBpcnlJbnB1dC5jb21wbGV0ZSAmJlxuICAgICAgICAgICAgdGhpcy5jYXJkQ3ZjSW5wdXQuY29tcGxldGUgJiZcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLnZhbGlkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY2FyZFRva2VuKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnN0cmlwZVNlcnZpY2UuY3JlYXRlVG9rZW4odGhpcy5jYXJkTnVtYmVyRWxlbWVudCwge1xuICAgICAgICAgICAgbmFtZTogdGhpcy5mb3JtR3JvdXAuZ2V0KFwibmFtZVwiKS52YWx1ZVxuICAgICAgICB9KS5waXBlKFxuICAgICAgICAgICAgbWFwKHggPT4geD8udG9rZW4/LmlkKVxuICAgICAgICApLnRvUHJvbWlzZSgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5JQ0VfU1RSSVBFX09QVElPTlMpIHB1YmxpYyBvcHRpb25zOiBOaWNlU3RyaXBlS2l0T3B0aW9ucyxcbiAgICAgICAgcHVibGljIGZvcm1Hcm91cDogR2VuZXJhdGVkRm9ybUdyb3VwPFN0cmlwZUZvcm0+LFxuICAgICAgICBwcml2YXRlIHN0cmlwZVNlcnZpY2U6IFN0cmlwZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICAgICkge1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5zdHJpcGVPcHRpb25zID0ge1xuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwiXCIsXG4gICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgIGJhc2U6IHRoaXMub3B0aW9ucy5zdHlsaW5nXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5lbGVtZW50cyA9IGF3YWl0IHRoaXMuc3RyaXBlU2VydmljZS5lbGVtZW50cyh7XG4gICAgICAgICAgICBsb2NhbGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyBhcyBhbnksXG4gICAgICAgICAgICBmb250czogdGhpcy5vcHRpb25zPy5mb250cyA/PyBbXVxuICAgICAgICB9KS50b1Byb21pc2UoKTtcblxuICAgICAgICB0aGlzLmluaXRDYXJkTnVtYmVyKCk7XG4gICAgICAgIHRoaXMuaW5pdENhcmRFeHBpcnkoKTtcbiAgICAgICAgdGhpcy5pbml0Q2FyZEN2YygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0Q2FyZE51bWJlcigpIHtcbiAgICAgICAgdGhpcy5jYXJkTnVtYmVyRWxlbWVudCA9IHRoaXMuZWxlbWVudHMuY3JlYXRlKFwiY2FyZE51bWJlclwiLCB7XG4gICAgICAgICAgICAuLi50aGlzLnN0cmlwZU9wdGlvbnMsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNhcmROdW1iZXJFbGVtZW50Lm9uKFwiY2hhbmdlXCIsIGV2ZW50ID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FyZE51bWJlckVycm9yID0gZXZlbnQuZXJyb3IgPyBldmVudC5lcnJvci5tZXNzYWdlIDogbnVsbDtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2FyZE51bWJlcklucHV0LmluaXQodGhpcy5jYXJkTnVtYmVyRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGluaXRDYXJkRXhwaXJ5KCkge1xuICAgICAgICB0aGlzLmNhcmRFeHBpcnlFbGVtZW50ID0gdGhpcy5lbGVtZW50cy5jcmVhdGUoXCJjYXJkRXhwaXJ5XCIsIHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RyaXBlT3B0aW9ucyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2FyZEV4cGlyeUVsZW1lbnQub24oXCJjaGFuZ2VcIiwgZXZlbnQgPT4ge1xuICAgICAgICAgICAgdGhpcy5jYXJkRXhwaXJ5RXJyb3IgPSBldmVudC5lcnJvciA/IGV2ZW50LmVycm9yLm1lc3NhZ2UgOiBudWxsO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYXJkRXhwaXJ5SW5wdXQuaW5pdCh0aGlzLmNhcmRFeHBpcnlFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdENhcmRDdmMoKSB7XG4gICAgICAgIHRoaXMuY2FyZEN2Y0VsZW1lbnQgPSB0aGlzLmVsZW1lbnRzLmNyZWF0ZShcImNhcmRDdmNcIiwge1xuICAgICAgICAgICAgLi4udGhpcy5zdHJpcGVPcHRpb25zLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYXJkQ3ZjRWxlbWVudC5vbihcImNoYW5nZVwiLCBldmVudCA9PiB7XG4gICAgICAgICAgICB0aGlzLmNhcmRDdmNFcnJvciA9IGV2ZW50LmVycm9yID8gZXZlbnQuZXJyb3IubWVzc2FnZSA6IG51bGw7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNhcmRDdmNJbnB1dC5pbml0KHRoaXMuY2FyZEN2Y0VsZW1lbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYXJkTnVtYmVyRWxlbWVudC51bm1vdW50KCk7XG4gICAgICAgIHRoaXMuY2FyZEV4cGlyeUVsZW1lbnQudW5tb3VudCgpO1xuICAgICAgICB0aGlzLmNhcmRDdmNFbGVtZW50LnVubW91bnQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcGF0Y2hOYW1lKG5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoXCJuYW1lXCIpLnBhdGNoVmFsdWUobmFtZSk7XG4gICAgfVxuXG4gICAgcHVibGljIG1hcmtBbGxBc1RvdWNoZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9ybUdyb3VwLm1hcmtBbGxBc1RvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5jYXJkQ3ZjSW5wdXQubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmNhcmROdW1iZXJJbnB1dC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgIHRoaXMuY2FyZEV4cGlyeUlucHV0Lm1hcmtBc1RvdWNoZWQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFllYXIoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgIHJldHVybiArZGF0ZS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCkuc3Vic3RyKC0yKTtcbiAgICB9XG59XG4iLCI8bWF0LWxpc3QgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgICA8bWF0LWxpc3QtaXRlbT5cbiAgICAgICAgPG1hdC1mb3JtLWZpZWxkIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIiBuaWNlQ29udHJvbFN0YXR1cyBmbG9hdExhYmVsPVwiYWx3YXlzXCI+XG4gICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwibmljZV91aV9raXQuc3RyaXBlLm5hbWVfb25fY2FyZC5sYWJlbFwiICB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgW3BsYWNlaG9sZGVyXT1cIiduaWNlX3VpX2tpdC5zdHJpcGUubmFtZV9vbl9jYXJkLnBsYWNlaG9sZGVyJyB8IHRyYW5zbGF0ZVwiIG1hdElucHV0IHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCIgcmVxdWlyZWQvPlxuICAgICAgICAgICAgPGRpdiBtYXRQcmVmaXggY2xhc3M9XCJwci0yXCIgKm5nSWY9XCJzaG93SWNvbnNcIj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhZCBmYS11c2VyLWNpcmNsZSB0ZXh0LWFjY2VudCBmb3JtLWljb25zXCI+PC9pPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgPC9tYXQtbGlzdC1pdGVtPlxuICAgIDxtYXQtbGlzdC1pdGVtPlxuICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCIgY2xhc3M9XCJ3LWZ1bGxcIj5cbiAgICAgICAgICAgIDxkaXYgZnhMYXlvdXQ9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMTAwXCIgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiIGZsb2F0TGFiZWw9XCJhbHdheXNcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcIm5pY2VfdWlfa2l0LnN0cmlwZS5jYXJkX251bWJlci5sYWJlbFwiICB8IHRyYW5zbGF0ZX19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgbWF0UHJlZml4IGNsYXNzPVwicHItMlwiICpuZ0lmPVwic2hvd0ljb25zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhZCBmYS1jcmVkaXQtY2FyZCB0ZXh0LWFjY2VudCBmb3JtLWljb25zXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPG5pY2Utc3RyaXBlLWNhcmQtZWxlbWVudCBbcGxhY2Vob2xkZXJdPVwiJ25pY2VfdWlfa2l0LnN0cmlwZS5jYXJkX251bWJlci5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNjYXJkTnVtYmVyIHJlcXVpcmVkPjwvbmljZS1zdHJpcGUtY2FyZC1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yIFtAc2xpZGVJbkJvdHRvbV0gKm5nSWY9XCJjYXJkTnVtYmVyRXJyb3JcIj57eyBjYXJkTnVtYmVyRXJyb3IgfX08L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwicm93XCIgZnhMYXlvdXRHYXA9XCIxNXB4XCI+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cIjUwXCIgZnhGbGV4Lmx0LW1kPVwiNDhcIiBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCIgZmxvYXRMYWJlbD1cImFsd2F5c1wiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwibmljZV91aV9raXQuc3RyaXBlLmV4cGlyYXRpb24ubGFiZWxcIiAgfCB0cmFuc2xhdGV9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8bmljZS1zdHJpcGUtY2FyZC1lbGVtZW50IFtwbGFjZWhvbGRlcl09XCInbmljZV91aV9raXQuc3RyaXBlLmV4cGlyYXRpb24ucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjY2FyZEV4cGlyeSByZXF1aXJlZD48L25pY2Utc3RyaXBlLWNhcmQtZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciBbQHNsaWRlSW5Cb3R0b21dICpuZ0lmPVwiY2FyZEV4cGlyeUVycm9yXCI+e3sgY2FyZEV4cGlyeUVycm9yIH19PC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiNTBcIiBmeEZsZXgubHQtbWQ9XCI0OFwiIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIiBmbG9hdExhYmVsPVwiYWx3YXlzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCJuaWNlX3VpX2tpdC5zdHJpcGUuY3ZjLmxhYmVsXCIgIHwgdHJhbnNsYXRlfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgPG5pY2Utc3RyaXBlLWNhcmQtZWxlbWVudCBbcGxhY2Vob2xkZXJdPVwiJ25pY2VfdWlfa2l0LnN0cmlwZS5jdmMucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCIgI2NhcmRDdmNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZD48L25pY2Utc3RyaXBlLWNhcmQtZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciBbQHNsaWRlSW5Cb3R0b21dICpuZ0lmPVwiY2FyZEN2Y0Vycm9yXCI+e3sgY2FyZEN2Y0Vycm9yIH19PC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L21hdC1saXN0LWl0ZW0+XG48L21hdC1saXN0PlxuIl19
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaXBlLWNhcmQtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXN0cmlwZS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQtZm9ybS9zdHJpcGUtY2FyZC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2Utc3RyaXBlLWtpdC12Mi9zcmMvbGliL2NvbXBvbmVudHMvY2FyZC1mb3JtL3N0cmlwZS1jYXJkLWZvcm0udGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBUTNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQy9GLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBZXJELE1BQU0sT0FBTywyQkFBMkI7SUE4Q3BDLFlBQ29ELE9BQTZCLEVBQ3RFLFNBQXlDLEVBQ3hDLGFBQTRCLEVBQzVCLGdCQUFrQztRQUhNLFlBQU8sR0FBUCxPQUFPLENBQXNCO1FBQ3RFLGNBQVMs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YSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVPLE9BQU87UUFDWCxNQUFNLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQzs7d0hBbElRLDJCQUEyQixrQkErQ1osbUJBQW1COzRHQS9DbEMsMkJBQTJCLDhHQVJ6QjtRQUNQO1lBQ0ksT0FBTyxFQUFFLGtCQUFrQjtZQUMzQixVQUFVLEVBQUUsdUJBQXVCLENBQUMsVUFBVSxDQUFDO1NBQ2xEO0tBQ0osbVVDN0JMLGt0RkF5Q0EsdXNGRFhnQixjQUFjOzJGQUVqQiwyQkFBMkI7a0JBYnZDLFNBQVM7K0JBQ0ksdUJBQXVCLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxVQUFVLENBQUM7eUJBQ2xEO3FCQUNKLGNBQ1csY0FBYzs7MEJBaURyQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1CQUFtQjt3SUE3Q3BDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixLQUFLO2dCQUlDLGVBQWU7c0JBRHJCLFNBQVM7dUJBQUMsWUFBWTtnQkFJaEIsZUFBZTtzQkFEckIsU0FBUzt1QkFBQyxZQUFZO2dCQUloQixZQUFZO3NCQURsQixTQUFTO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPcHRpb25hbCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRBcHBlYXJhbmNlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGRcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgR2VuZXJhdGVkRm9ybUdyb3VwLCBuZ3hGb3JtR2VuZXJhdG9yRmFjdG9yeSB9IGZyb20gXCJAcmVjdXJzeXZlL25neC1mb3JtLWdlbmVyYXRvclwiO1xuaW1wb3J0IHsgbmljZUFuaW1hdGlvbnMgfSBmcm9tIFwiQHJlY3Vyc3l2ZS9uaWNlLXVpLWtpdC52MlwiO1xuaW1wb3J0IHtcbiAgICBTdHJpcGVDYXJkQ3ZjRWxlbWVudCxcbiAgICBTdHJpcGVDYXJkRXhwaXJ5RWxlbWVudCxcbiAgICBTdHJpcGVDYXJkTnVtYmVyRWxlbWVudCxcbiAgICBTdHJpcGVDYXJkTnVtYmVyRWxlbWVudE9wdGlvbnMsXG4gICAgU3RyaXBlRWxlbWVudHNcbn0gZnJvbSBcIkBzdHJpcGUvc3RyaXBlLWpzXCI7XG5pbXBvcnQgeyBTdHJpcGVTZXJ2aWNlIH0gZnJvbSBcIm5neC1zdHJpcGVcIjtcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgTklDRV9TVFJJUEVfT1BUSU9OUyB9IGZyb20gXCIuLi8uLi9uaWNlLXN0cmlwZS1raXQuY29uc3RhbnRcIjtcbmltcG9ydCB7IE5pY2VTdHJpcGVLaXRPcHRpb25zIH0gZnJvbSBcIi4uLy4uL25pY2Utc3RyaXBlLWtpdC5vcHRpb25zXCI7XG5pbXBvcnQgeyBOaWNlU3RyaXBlQ2FyZEVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vY2FyZC1lbGVtZW50L3N0cmlwZS1jYXJkLWVsZW1lbnQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTdHJpcGVGb3JtIH0gZnJvbSBcIi4vc3RyaXBlLWNhcmQtZm9ybS5mb3JtXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2Utc3RyaXBlLWNhcmQtZm9ybVwiLFxuICAgIHRlbXBsYXRlVXJsOiBcInN0cmlwZS1jYXJkLWZvcm0udGVtcGxhdGUuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wic3RyaXBlLWNhcmQtZm9ybS5zdHlsZS5zY3NzXCJdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEdlbmVyYXRlZEZvcm1Hcm91cCxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IG5neEZvcm1HZW5lcmF0b3JGYWN0b3J5KFN0cmlwZUZvcm0pXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGFuaW1hdGlvbnM6IG5pY2VBbmltYXRpb25zXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VTdHJpcGVDYXJkRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd0ljb25zID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkKFwiY2FyZE51bWJlclwiKVxuICAgIHB1YmxpYyBjYXJkTnVtYmVySW5wdXQ6IE5pY2VTdHJpcGVDYXJkRWxlbWVudENvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoXCJjYXJkRXhwaXJ5XCIpXG4gICAgcHVibGljIGNhcmRFeHBpcnlJbnB1dDogTmljZVN0cmlwZUNhcmRFbGVtZW50Q29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZChcImNhcmRDdmNcIilcbiAgICBwdWJsaWMgY2FyZEN2Y0lucHV0OiBOaWNlU3RyaXBlQ2FyZEVsZW1lbnRDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgY2FyZE51bWJlckVsZW1lbnQ6IFN0cmlwZUNhcmROdW1iZXJFbGVtZW50O1xuICAgIHB1YmxpYyBjYXJkTnVtYmVyRXJyb3I6IHN0cmluZztcbiAgICBwdWJsaWMgY2FyZEV4cGlyeUVsZW1lbnQ6IFN0cmlwZUNhcmRFeHBpcnlFbGVtZW50O1xuICAgIHB1YmxpYyBjYXJkRXhwaXJ5RXJyb3I6IHN0cmluZztcbiAgICBwdWJsaWMgY2FyZEN2Y0VsZW1lbnQ6IFN0cmlwZUNhcmRDdmNFbGVtZW50O1xuICAgIHB1YmxpYyBjYXJkQ3ZjRXJyb3I6IHN0cmluZztcblxuICAgIHB1YmxpYyBzdHJpcGVPcHRpb25zOiBTdHJpcGVDYXJkTnVtYmVyRWxlbWVudE9wdGlvbnM7XG5cbiAgICBwcml2YXRlIGVsZW1lbnRzOiBTdHJpcGVFbGVtZW50cztcblxuICAgIHB1YmxpYyBnZXQgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FyZE51bWJlcklucHV0LmNvbXBsZXRlICYmXG4gICAgICAgICAgICB0aGlzLmNhcmRFeHBpcnlJbnB1dC5jb21wbGV0ZSAmJlxuICAgICAgICAgICAgdGhpcy5jYXJkQ3ZjSW5wdXQuY29tcGxldGUgJiZcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLnZhbGlkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY2FyZFRva2VuKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnN0cmlwZVNlcnZpY2UuY3JlYXRlVG9rZW4odGhpcy5jYXJkTnVtYmVyRWxlbWVudCwge1xuICAgICAgICAgICAgbmFtZTogdGhpcy5mb3JtR3JvdXAuZ2V0KFwibmFtZVwiKS52YWx1ZVxuICAgICAgICB9KS5waXBlKFxuICAgICAgICAgICAgbWFwKHggPT4geD8udG9rZW4/LmlkKVxuICAgICAgICApLnRvUHJvbWlzZSgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5JQ0VfU1RSSVBFX09QVElPTlMpIHB1YmxpYyBvcHRpb25zOiBOaWNlU3RyaXBlS2l0T3B0aW9ucyxcbiAgICAgICAgcHVibGljIGZvcm1Hcm91cDogR2VuZXJhdGVkRm9ybUdyb3VwPFN0cmlwZUZvcm0+LFxuICAgICAgICBwcml2YXRlIHN0cmlwZVNlcnZpY2U6IFN0cmlwZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICAgICkge1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5zdHJpcGVPcHRpb25zID0ge1xuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwiXCIsXG4gICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgIGJhc2U6IHRoaXMub3B0aW9ucy5zdHlsaW5nXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5lbGVtZW50cyA9IGF3YWl0IHRoaXMuc3RyaXBlU2VydmljZS5lbGVtZW50cyh7XG4gICAgICAgICAgICBsb2NhbGU6IHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyBhcyBhbnksXG4gICAgICAgICAgICBmb250czogdGhpcy5vcHRpb25zPy5mb250cyA/PyBbXVxuICAgICAgICB9KS50b1Byb21pc2UoKTtcblxuICAgICAgICB0aGlzLmluaXRDYXJkTnVtYmVyKCk7XG4gICAgICAgIHRoaXMuaW5pdENhcmRFeHBpcnkoKTtcbiAgICAgICAgdGhpcy5pbml0Q2FyZEN2YygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0Q2FyZE51bWJlcigpIHtcbiAgICAgICAgdGhpcy5jYXJkTnVtYmVyRWxlbWVudCA9IHRoaXMuZWxlbWVudHMuY3JlYXRlKFwiY2FyZE51bWJlclwiLCB7XG4gICAgICAgICAgICAuLi50aGlzLnN0cmlwZU9wdGlvbnMsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNhcmROdW1iZXJFbGVtZW50Lm9uKFwiY2hhbmdlXCIsIGV2ZW50ID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FyZE51bWJlckVycm9yID0gZXZlbnQuZXJyb3IgPyBldmVudC5lcnJvci5tZXNzYWdlIDogbnVsbDtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2FyZE51bWJlcklucHV0LmluaXQodGhpcy5jYXJkTnVtYmVyRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGluaXRDYXJkRXhwaXJ5KCkge1xuICAgICAgICB0aGlzLmNhcmRFeHBpcnlFbGVtZW50ID0gdGhpcy5lbGVtZW50cy5jcmVhdGUoXCJjYXJkRXhwaXJ5XCIsIHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RyaXBlT3B0aW9ucyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2FyZEV4cGlyeUVsZW1lbnQub24oXCJjaGFuZ2VcIiwgZXZlbnQgPT4ge1xuICAgICAgICAgICAgdGhpcy5jYXJkRXhwaXJ5RXJyb3IgPSBldmVudC5lcnJvciA/IGV2ZW50LmVycm9yLm1lc3NhZ2UgOiBudWxsO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYXJkRXhwaXJ5SW5wdXQuaW5pdCh0aGlzLmNhcmRFeHBpcnlFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdENhcmRDdmMoKSB7XG4gICAgICAgIHRoaXMuY2FyZEN2Y0VsZW1lbnQgPSB0aGlzLmVsZW1lbnRzLmNyZWF0ZShcImNhcmRDdmNcIiwge1xuICAgICAgICAgICAgLi4udGhpcy5zdHJpcGVPcHRpb25zLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYXJkQ3ZjRWxlbWVudC5vbihcImNoYW5nZVwiLCBldmVudCA9PiB7XG4gICAgICAgICAgICB0aGlzLmNhcmRDdmNFcnJvciA9IGV2ZW50LmVycm9yID8gZXZlbnQuZXJyb3IubWVzc2FnZSA6IG51bGw7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNhcmRDdmNJbnB1dC5pbml0KHRoaXMuY2FyZEN2Y0VsZW1lbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2FyZE51bWJlckVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2FyZE51bWJlckVsZW1lbnQudW5tb3VudCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY2FyZEV4cGlyeUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2FyZEV4cGlyeUVsZW1lbnQudW5tb3VudCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY2FyZEN2Y0VsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2FyZEN2Y0VsZW1lbnQudW5tb3VudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHBhdGNoTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwibmFtZVwiKS5wYXRjaFZhbHVlKG5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBtYXJrQWxsQXNUb3VjaGVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICAgIHRoaXMuY2FyZEN2Y0lucHV0Lm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5jYXJkTnVtYmVySW5wdXQubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmNhcmRFeHBpcnlJbnB1dC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRZZWFyKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICByZXR1cm4gK2RhdGUuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpLnN1YnN0cigtMik7XG4gICAgfVxufVxuIiwiPG1hdC1saXN0IFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgPG1hdC1saXN0LWl0ZW0+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCIgbmljZUNvbnRyb2xTdGF0dXMgZmxvYXRMYWJlbD1cImFsd2F5c1wiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcIm5pY2VfdWlfa2l0LnN0cmlwZS5uYW1lX29uX2NhcmQubGFiZWxcIiAgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBbcGxhY2Vob2xkZXJdPVwiJ25pY2VfdWlfa2l0LnN0cmlwZS5uYW1lX29uX2NhcmQucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCIgbWF0SW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiByZXF1aXJlZC8+XG4gICAgICAgICAgICA8ZGl2IG1hdFByZWZpeCBjbGFzcz1cInBsLTJcIiAqbmdJZj1cInNob3dJY29uc1wiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFkIGZhLXVzZXItY2lyY2xlIGFjY2VudC1mZ1wiPjwvaT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICA8bWF0LWxpc3QtaXRlbT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgdy1mdWxsXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvd1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXgtZnVsbCBtYXgtdy1mdWxsXCIgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiIGZsb2F0TGFiZWw9XCJhbHdheXNcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcIm5pY2VfdWlfa2l0LnN0cmlwZS5jYXJkX251bWJlci5sYWJlbFwiICB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFByZWZpeCBjbGFzcz1cInBsLTJcIiAqbmdJZj1cInNob3dJY29uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWQgZmEtY3JlZGl0LWNhcmQgYWNjZW50LWZnXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPG5pY2Utc3RyaXBlLWNhcmQtZWxlbWVudCBbcGxhY2Vob2xkZXJdPVwiJ25pY2VfdWlfa2l0LnN0cmlwZS5jYXJkX251bWJlci5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNjYXJkTnVtYmVyIHJlcXVpcmVkPjwvbmljZS1zdHJpcGUtY2FyZC1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yIFtAc2xpZGVJbkJvdHRvbV0gKm5nSWY9XCJjYXJkTnVtYmVyRXJyb3JcIj57eyBjYXJkTnVtYmVyRXJyb3IgfX08L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtNFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXggZmxleC1mdWxsIG1heC13LTEvMlwiIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIiBmbG9hdExhYmVsPVwiYWx3YXlzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCJuaWNlX3VpX2tpdC5zdHJpcGUuZXhwaXJhdGlvbi5sYWJlbFwiICB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8bmljZS1zdHJpcGUtY2FyZC1lbGVtZW50IFtwbGFjZWhvbGRlcl09XCInbmljZV91aV9raXQuc3RyaXBlLmV4cGlyYXRpb24ucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjY2FyZEV4cGlyeSByZXF1aXJlZD48L25pY2Utc3RyaXBlLWNhcmQtZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciBbQHNsaWRlSW5Cb3R0b21dICpuZ0lmPVwiY2FyZEV4cGlyeUVycm9yXCI+e3sgY2FyZEV4cGlyeUVycm9yIH19PC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4IGZsZXgtZnVsbCBtYXgtdy0xLzJcIiBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCIgZmxvYXRMYWJlbD1cImFsd2F5c1wiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwibmljZV91aV9raXQuc3RyaXBlLmN2Yy5sYWJlbFwiICB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8bmljZS1zdHJpcGUtY2FyZC1lbGVtZW50IFtwbGFjZWhvbGRlcl09XCInbmljZV91aV9raXQuc3RyaXBlLmN2Yy5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIiAjY2FyZEN2Y1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkPjwvbmljZS1zdHJpcGUtY2FyZC1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yIFtAc2xpZGVJbkJvdHRvbV0gKm5nSWY9XCJjYXJkQ3ZjRXJyb3JcIj57eyBjYXJkQ3ZjRXJyb3IgfX08L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LWxpc3QtaXRlbT5cbjwvbWF0LWxpc3Q+XG4iXX0=
@@ -1,6 +1,5 @@
1
1
  import { CommonModule } from "@angular/common";
2
2
  import { NgModule } from "@angular/core";
3
- import { ExtendedModule, FlexModule } from "@angular/flex-layout";
4
3
  import { ReactiveFormsModule } from "@angular/forms";
5
4
  import { MatButtonModule } from "@angular/material/button";
6
5
  import { MatFormFieldModule } from "@angular/material/form-field";
@@ -26,10 +25,9 @@ export class NiceStripeModule {
26
25
  };
27
26
  }
28
27
  }
29
- NiceStripeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
30
- NiceStripeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeModule, declarations: [NiceStripeCardElementComponent,
31
- NiceStripeCardFormComponent], imports: [FlexModule,
32
- NgxStripeModule,
28
+ NiceStripeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
+ NiceStripeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeModule, declarations: [NiceStripeCardElementComponent,
30
+ NiceStripeCardFormComponent], imports: [NgxStripeModule,
33
31
  ReactiveFormsModule,
34
32
  TranslateModule,
35
33
  MatFormFieldModule,
@@ -37,26 +35,20 @@ NiceStripeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
37
35
  MatListModule,
38
36
  NiceFormErrorModule,
39
37
  MatButtonModule,
40
- CommonModule,
41
- ExtendedModule], exports: [NiceStripeCardFormComponent] });
42
- NiceStripeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeModule, imports: [[
43
- FlexModule,
44
- NgxStripeModule,
45
- ReactiveFormsModule,
46
- TranslateModule,
47
- MatFormFieldModule,
48
- MatInputModule,
49
- MatListModule,
50
- NiceFormErrorModule,
51
- MatButtonModule,
52
- CommonModule,
53
- ExtendedModule
54
- ]] });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeModule, decorators: [{
38
+ CommonModule], exports: [NiceStripeCardFormComponent] });
39
+ NiceStripeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeModule, imports: [NgxStripeModule,
40
+ ReactiveFormsModule,
41
+ TranslateModule,
42
+ MatFormFieldModule,
43
+ MatInputModule,
44
+ MatListModule,
45
+ NiceFormErrorModule,
46
+ MatButtonModule,
47
+ CommonModule] });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeModule, decorators: [{
56
49
  type: NgModule,
57
50
  args: [{
58
51
  imports: [
59
- FlexModule,
60
52
  NgxStripeModule,
61
53
  ReactiveFormsModule,
62
54
  TranslateModule,
@@ -65,8 +57,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
65
57
  MatListModule,
66
58
  NiceFormErrorModule,
67
59
  MatButtonModule,
68
- CommonModule,
69
- ExtendedModule
60
+ CommonModule
70
61
  ],
71
62
  declarations: [
72
63
  NiceStripeCardElementComponent,
@@ -77,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
77
68
  ]
78
69
  }]
79
70
  }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1zdHJpcGUta2l0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2Utc3RyaXBlLWtpdC12Mi9zcmMvbGliL25pY2Utc3RyaXBlLWtpdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0MsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDekcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDaEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBMEJqRSxNQUFNLE9BQU8sZ0JBQWdCO0lBQ2xCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBOEI7UUFDaEQsT0FBTztZQUNILFFBQVEsRUFBRSxnQkFBZ0I7WUFDMUIsU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxtQkFBbUI7b0JBQzVCLFFBQVEsRUFBRSxPQUFPO2lCQUNwQjthQUNKO1NBQ0osQ0FBQztJQUNOLENBQUM7OzZHQVhRLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQVByQiw4QkFBOEI7UUFDOUIsMkJBQTJCLGFBZjNCLFVBQVU7UUFDVixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGVBQWU7UUFFZixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLFlBQVk7UUFDWixjQUFjLGFBT2QsMkJBQTJCOzhHQUd0QixnQkFBZ0IsWUF0QmhCO1lBQ0wsVUFBVTtZQUNWLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsZUFBZTtZQUVmLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsWUFBWTtZQUNaLGNBQWM7U0FDakI7MkZBU1EsZ0JBQWdCO2tCQXZCNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsVUFBVTt3QkFDVixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFFZixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLGVBQWU7d0JBQ2YsWUFBWTt3QkFDWixjQUFjO3FCQUNqQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YsOEJBQThCO3dCQUM5QiwyQkFBMkI7cUJBQzlCO29CQUNELE9BQU8sRUFBRTt3QkFDTCwyQkFBMkI7cUJBQzlCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRXh0ZW5kZWRNb2R1bGUsIEZsZXhNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZmxleC1sYXlvdXRcIjtcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9idXR0b25cIjtcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dFwiO1xuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9saXN0XCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTmljZUZvcm1FcnJvck1vZHVsZSB9IGZyb20gXCJAcmVjdXJzeXZlL25pY2UtdWkta2l0LnYyXCI7XG5pbXBvcnQgeyBOZ3hTdHJpcGVNb2R1bGUgfSBmcm9tIFwibmd4LXN0cmlwZVwiO1xuaW1wb3J0IHsgTmljZVN0cmlwZUNhcmRFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9jYXJkLWVsZW1lbnQvc3RyaXBlLWNhcmQtZWxlbWVudC5jb21wb25lbnRcIjtcbmltcG9ydCB7IE5pY2VTdHJpcGVDYXJkRm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvY2FyZC1mb3JtL3N0cmlwZS1jYXJkLWZvcm0uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBOSUNFX1NUUklQRV9PUFRJT05TIH0gZnJvbSBcIi4vbmljZS1zdHJpcGUta2l0LmNvbnN0YW50XCI7XG5pbXBvcnQgeyBOaWNlU3RyaXBlS2l0T3B0aW9ucyB9IGZyb20gXCIuL25pY2Utc3RyaXBlLWtpdC5vcHRpb25zXCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1xuICAgICAgICBGbGV4TW9kdWxlLFxuICAgICAgICBOZ3hTdHJpcGVNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIFRyYW5zbGF0ZU1vZHVsZSxcblxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRMaXN0TW9kdWxlLFxuICAgICAgICBOaWNlRm9ybUVycm9yTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgRXh0ZW5kZWRNb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBOaWNlU3RyaXBlQ2FyZEVsZW1lbnRDb21wb25lbnQsXG4gICAgICAgIE5pY2VTdHJpcGVDYXJkRm9ybUNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBOaWNlU3RyaXBlQ2FyZEZvcm1Db21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VTdHJpcGVNb2R1bGUge1xuICAgIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChvcHRpb25zPzogTmljZVN0cmlwZUtpdE9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5pY2VTdHJpcGVNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOaWNlU3RyaXBlTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBOSUNFX1NUUklQRV9PUFRJT05TLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9uc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1zdHJpcGUta2l0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2Utc3RyaXBlLWtpdC12Mi9zcmMvbGliL25pY2Utc3RyaXBlLWtpdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQXdCakUsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQThCO1FBQ2hELE9BQU87WUFDSCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsbUJBQW1CO29CQUM1QixRQUFRLEVBQUUsT0FBTztpQkFDcEI7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDOzs2R0FYUSxnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkFQckIsOEJBQThCO1FBQzlCLDJCQUEyQixhQWIzQixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGVBQWU7UUFFZixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLFlBQVksYUFPWiwyQkFBMkI7OEdBR3RCLGdCQUFnQixZQW5CckIsZUFBZTtRQUNmLG1CQUFtQjtRQUNuQixlQUFlO1FBRWYsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZixZQUFZOzJGQVVQLGdCQUFnQjtrQkFyQjVCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUVmLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixZQUFZO3FCQUNmO29CQUNELFlBQVksRUFBRTt3QkFDViw4QkFBOEI7d0JBQzlCLDJCQUEyQjtxQkFDOUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLDJCQUEyQjtxQkFDOUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdFwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IE5pY2VGb3JtRXJyb3JNb2R1bGUgfSBmcm9tIFwiQHJlY3Vyc3l2ZS9uaWNlLXVpLWtpdC52MlwiO1xuaW1wb3J0IHsgTmd4U3RyaXBlTW9kdWxlIH0gZnJvbSBcIm5neC1zdHJpcGVcIjtcbmltcG9ydCB7IE5pY2VTdHJpcGVDYXJkRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvY2FyZC1lbGVtZW50L3N0cmlwZS1jYXJkLWVsZW1lbnQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBOaWNlU3RyaXBlQ2FyZEZvcm1Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2NhcmQtZm9ybS9zdHJpcGUtY2FyZC1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTklDRV9TVFJJUEVfT1BUSU9OUyB9IGZyb20gXCIuL25pY2Utc3RyaXBlLWtpdC5jb25zdGFudFwiO1xuaW1wb3J0IHsgTmljZVN0cmlwZUtpdE9wdGlvbnMgfSBmcm9tIFwiLi9uaWNlLXN0cmlwZS1raXQub3B0aW9uc1wiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmd4U3RyaXBlTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG5cbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0TGlzdE1vZHVsZSxcbiAgICAgICAgTmljZUZvcm1FcnJvck1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBOaWNlU3RyaXBlQ2FyZEVsZW1lbnRDb21wb25lbnQsXG4gICAgICAgIE5pY2VTdHJpcGVDYXJkRm9ybUNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBOaWNlU3RyaXBlQ2FyZEZvcm1Db21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VTdHJpcGVNb2R1bGUge1xuICAgIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChvcHRpb25zPzogTmljZVN0cmlwZUtpdE9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5pY2VTdHJpcGVNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOaWNlU3RyaXBlTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBOSUNFX1NUUklQRV9PUFRJT05TLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9uc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
@@ -1,17 +1,15 @@
1
- import * as i10 from '@angular/common';
1
+ import * as i9 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Component, ViewEncapsulation, Optional, Self, ViewChild, HostBinding, Input, InjectionToken, Inject, NgModule } from '@angular/core';
5
- import * as i11 from '@angular/flex-layout';
6
- import { FlexModule, ExtendedModule } from '@angular/flex-layout';
7
- import * as i7 from '@angular/forms';
5
+ import * as i4 from '@angular/forms';
8
6
  import { ReactiveFormsModule } from '@angular/forms';
9
7
  import { MatButtonModule } from '@angular/material/button';
10
8
  import * as i5 from '@angular/material/form-field';
11
9
  import { MatFormFieldControl, MatFormFieldModule } from '@angular/material/form-field';
12
- import * as i9 from '@angular/material/input';
10
+ import * as i6 from '@angular/material/input';
13
11
  import { MatInputModule } from '@angular/material/input';
14
- import * as i4 from '@angular/material/list';
12
+ import * as i7 from '@angular/material/list';
15
13
  import { MatListModule } from '@angular/material/list';
16
14
  import * as i3 from '@ngx-translate/core';
17
15
  import { TranslateModule } from '@ngx-translate/core';
@@ -113,14 +111,14 @@ class NiceStripeCardElementComponent {
113
111
  onContainerClick(event) {
114
112
  }
115
113
  }
116
- NiceStripeCardElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeCardElementComponent, deps: [{ token: i7.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
117
- NiceStripeCardElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: NiceStripeCardElementComponent, selector: "nice-stripe-card-element", inputs: { placeholder: "placeholder", focused: "focused", required: "required", disabled: "disabled" }, host: { properties: { "attr.aria-describedby": "this.describedBy", "id": "this.id", "class.floating": "this.shouldLabelFloat" } }, providers: [
114
+ NiceStripeCardElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeCardElementComponent, deps: [{ token: i4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
115
+ NiceStripeCardElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceStripeCardElementComponent, selector: "nice-stripe-card-element", inputs: { placeholder: "placeholder", focused: "focused", required: "required", disabled: "disabled" }, host: { properties: { "attr.aria-describedby": "this.describedBy", "id": "this.id", "class.floating": "this.shouldLabelFloat" } }, providers: [
118
116
  {
119
117
  provide: MatFormFieldControl,
120
118
  useExisting: NiceStripeCardElementComponent
121
119
  }
122
120
  ], viewQueries: [{ propertyName: "elementRef", first: true, predicate: ["element"], descendants: true }], ngImport: i0, template: "<div class='stripe-element' #element></div>", isInline: true, styles: ["nice-stripe-card-element .stripe-element{height:15px}\n"], encapsulation: i0.ViewEncapsulation.None });
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeCardElementComponent, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeCardElementComponent, decorators: [{
124
122
  type: Component,
125
123
  args: [{ selector: "nice-stripe-card-element", template: "<div class='stripe-element' #element></div>", encapsulation: ViewEncapsulation.None, providers: [
126
124
  {
@@ -129,7 +127,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
129
127
  }
130
128
  ], styles: ["nice-stripe-card-element .stripe-element{height:15px}\n"] }]
131
129
  }], ctorParameters: function () {
132
- return [{ type: i7.NgControl, decorators: [{
130
+ return [{ type: i4.NgControl, decorators: [{
133
131
  type: Optional
134
132
  }, {
135
133
  type: Self
@@ -227,9 +225,15 @@ class NiceStripeCardFormComponent {
227
225
  this.cardCvcInput.init(this.cardCvcElement);
228
226
  }
229
227
  ngOnDestroy() {
230
- this.cardNumberElement.unmount();
231
- this.cardExpiryElement.unmount();
232
- this.cardCvcElement.unmount();
228
+ if (this.cardNumberElement) {
229
+ this.cardNumberElement.unmount();
230
+ }
231
+ if (this.cardExpiryElement) {
232
+ this.cardExpiryElement.unmount();
233
+ }
234
+ if (this.cardCvcElement) {
235
+ this.cardCvcElement.unmount();
236
+ }
233
237
  }
234
238
  patchName(name) {
235
239
  this.formGroup.get("name").patchValue(name);
@@ -245,21 +249,21 @@ class NiceStripeCardFormComponent {
245
249
  return +date.getFullYear().toString().substr(-2);
246
250
  }
247
251
  }
248
- NiceStripeCardFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeCardFormComponent, deps: [{ token: NICE_STRIPE_OPTIONS, optional: true }, { token: i1.GeneratedFormGroup }, { token: i2.StripeService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
249
- NiceStripeCardFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: NiceStripeCardFormComponent, selector: "nice-stripe-card-form", inputs: { appearance: "appearance", showIcons: "showIcons" }, providers: [
252
+ NiceStripeCardFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeCardFormComponent, deps: [{ token: NICE_STRIPE_OPTIONS, optional: true }, { token: i1.GeneratedFormGroup }, { token: i2.StripeService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
253
+ NiceStripeCardFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceStripeCardFormComponent, selector: "nice-stripe-card-form", inputs: { appearance: "appearance", showIcons: "showIcons" }, providers: [
250
254
  {
251
255
  provide: GeneratedFormGroup,
252
256
  useFactory: ngxFormGeneratorFactory(StripeForm)
253
257
  }
254
- ], viewQueries: [{ propertyName: "cardNumberInput", first: true, predicate: ["cardNumber"], descendants: true }, { propertyName: "cardExpiryInput", first: true, predicate: ["cardExpiry"], descendants: true }, { propertyName: "cardCvcInput", first: true, predicate: ["cardCvc"], descendants: true }], ngImport: i0, template: "<mat-list [formGroup]=\"formGroup\">\n <mat-list-item>\n <mat-form-field [appearance]=\"appearance\" niceControlStatus floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.name_on_card.label\" | translate}}</mat-label>\n <input [placeholder]=\"'nice_ui_kit.stripe.name_on_card.placeholder' | translate\" matInput type=\"text\"\n formControlName=\"name\" required/>\n <div matPrefix class=\"pr-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-user-circle text-accent form-icons\"></i>\n </div>\n </mat-form-field>\n </mat-list-item>\n <mat-list-item>\n <div fxLayout=\"column\" class=\"w-full\">\n <div fxLayout=\"row\">\n <mat-form-field fxFlex=\"100\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.card_number.label\" | translate}}</mat-label>\n <div matPrefix class=\"pr-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-credit-card text-accent form-icons\"></i>\n </div>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.card_number.placeholder' | translate\"\n #cardNumber required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardNumberError\">{{ cardNumberError }}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutGap=\"15px\">\n <mat-form-field fxFlex=\"50\" fxFlex.lt-md=\"48\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.expiration.label\" | translate}}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.expiration.placeholder' | translate\"\n #cardExpiry required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardExpiryError\">{{ cardExpiryError }}</mat-error>\n </mat-form-field>\n <mat-form-field fxFlex=\"50\" fxFlex.lt-md=\"48\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.cvc.label\" | translate}}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.cvc.placeholder' | translate\" #cardCvc\n required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardCvcError\">{{ cardCvcError }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-list-item>\n</mat-list>\n", styles: ["nice-stripe-card-form mat-list-item{height:auto!important}nice-stripe-card-form .form-icons{font-size:24px!important;width:24px!important;height:24px!important;line-height:24px!important}\n"], components: [{ type: i4.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: NiceStripeCardElementComponent, selector: "nice-stripe-card-element", inputs: ["placeholder", "focused", "required", "disabled"] }], directives: [{ type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i8.NiceControlStatusDirective, selector: "[niceControlStatus]" }, { type: i5.MatLabel, selector: "mat-label" }, { type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.MatPrefix, selector: "[matPrefix]" }, { type: i11.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i11.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { type: i11.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }], pipes: { "translate": i3.TranslatePipe }, animations: niceAnimations, encapsulation: i0.ViewEncapsulation.None });
255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeCardFormComponent, decorators: [{
258
+ ], viewQueries: [{ propertyName: "cardNumberInput", first: true, predicate: ["cardNumber"], descendants: true }, { propertyName: "cardExpiryInput", first: true, predicate: ["cardExpiry"], descendants: true }, { propertyName: "cardCvcInput", first: true, predicate: ["cardCvc"], descendants: true }], ngImport: i0, template: "<mat-list [formGroup]=\"formGroup\">\n <mat-list-item>\n <mat-form-field [appearance]=\"appearance\" niceControlStatus floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.name_on_card.label\" | translate }}</mat-label>\n <input [placeholder]=\"'nice_ui_kit.stripe.name_on_card.placeholder' | translate\" matInput type=\"text\"\n formControlName=\"name\" required/>\n <div matPrefix class=\"pl-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-user-circle accent-fg\"></i>\n </div>\n </mat-form-field>\n </mat-list-item>\n <mat-list-item>\n <div class=\"flex flex-col w-full\">\n <div class=\"flex flex-row\">\n <mat-form-field class=\"flex-full max-w-full\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.card_number.label\" | translate }}</mat-label>\n <div matPrefix class=\"pl-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-credit-card accent-fg\"></i>\n </div>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.card_number.placeholder' | translate\"\n #cardNumber required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardNumberError\">{{ cardNumberError }}</mat-error>\n </mat-form-field>\n </div>\n <div class=\"flex flex-row gap-4\">\n <mat-form-field class=\"flex flex-full max-w-1/2\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.expiration.label\" | translate }}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.expiration.placeholder' | translate\"\n #cardExpiry required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardExpiryError\">{{ cardExpiryError }}</mat-error>\n </mat-form-field>\n <mat-form-field class=\"flex flex-full max-w-1/2\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.cvc.label\" | translate }}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.cvc.placeholder' | translate\" #cardCvc\n required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardCvcError\">{{ cardCvcError }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-list-item>\n</mat-list>\n", styles: ["nice-stripe-card-form mat-list-item{height:auto!important}nice-stripe-card-form .form-icons{font-size:24px!important;width:24px!important;height:24px!important;line-height:24px!important}\n"], dependencies: [{ kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { kind: "component", type: i7.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i8.NiceControlStatusDirective, selector: "[niceControlStatus]" }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NiceStripeCardElementComponent, selector: "nice-stripe-card-element", inputs: ["placeholder", "focused", "required", "disabled"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], animations: niceAnimations, encapsulation: i0.ViewEncapsulation.None });
259
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeCardFormComponent, decorators: [{
256
260
  type: Component,
257
261
  args: [{ selector: "nice-stripe-card-form", encapsulation: ViewEncapsulation.None, providers: [
258
262
  {
259
263
  provide: GeneratedFormGroup,
260
264
  useFactory: ngxFormGeneratorFactory(StripeForm)
261
265
  }
262
- ], animations: niceAnimations, template: "<mat-list [formGroup]=\"formGroup\">\n <mat-list-item>\n <mat-form-field [appearance]=\"appearance\" niceControlStatus floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.name_on_card.label\" | translate}}</mat-label>\n <input [placeholder]=\"'nice_ui_kit.stripe.name_on_card.placeholder' | translate\" matInput type=\"text\"\n formControlName=\"name\" required/>\n <div matPrefix class=\"pr-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-user-circle text-accent form-icons\"></i>\n </div>\n </mat-form-field>\n </mat-list-item>\n <mat-list-item>\n <div fxLayout=\"column\" class=\"w-full\">\n <div fxLayout=\"row\">\n <mat-form-field fxFlex=\"100\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.card_number.label\" | translate}}</mat-label>\n <div matPrefix class=\"pr-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-credit-card text-accent form-icons\"></i>\n </div>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.card_number.placeholder' | translate\"\n #cardNumber required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardNumberError\">{{ cardNumberError }}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutGap=\"15px\">\n <mat-form-field fxFlex=\"50\" fxFlex.lt-md=\"48\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.expiration.label\" | translate}}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.expiration.placeholder' | translate\"\n #cardExpiry required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardExpiryError\">{{ cardExpiryError }}</mat-error>\n </mat-form-field>\n <mat-form-field fxFlex=\"50\" fxFlex.lt-md=\"48\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.cvc.label\" | translate}}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.cvc.placeholder' | translate\" #cardCvc\n required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardCvcError\">{{ cardCvcError }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-list-item>\n</mat-list>\n", styles: ["nice-stripe-card-form mat-list-item{height:auto!important}nice-stripe-card-form .form-icons{font-size:24px!important;width:24px!important;height:24px!important;line-height:24px!important}\n"] }]
266
+ ], animations: niceAnimations, template: "<mat-list [formGroup]=\"formGroup\">\n <mat-list-item>\n <mat-form-field [appearance]=\"appearance\" niceControlStatus floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.name_on_card.label\" | translate }}</mat-label>\n <input [placeholder]=\"'nice_ui_kit.stripe.name_on_card.placeholder' | translate\" matInput type=\"text\"\n formControlName=\"name\" required/>\n <div matPrefix class=\"pl-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-user-circle accent-fg\"></i>\n </div>\n </mat-form-field>\n </mat-list-item>\n <mat-list-item>\n <div class=\"flex flex-col w-full\">\n <div class=\"flex flex-row\">\n <mat-form-field class=\"flex-full max-w-full\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.card_number.label\" | translate }}</mat-label>\n <div matPrefix class=\"pl-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-credit-card accent-fg\"></i>\n </div>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.card_number.placeholder' | translate\"\n #cardNumber required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardNumberError\">{{ cardNumberError }}</mat-error>\n </mat-form-field>\n </div>\n <div class=\"flex flex-row gap-4\">\n <mat-form-field class=\"flex flex-full max-w-1/2\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.expiration.label\" | translate }}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.expiration.placeholder' | translate\"\n #cardExpiry required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardExpiryError\">{{ cardExpiryError }}</mat-error>\n </mat-form-field>\n <mat-form-field class=\"flex flex-full max-w-1/2\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.cvc.label\" | translate }}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.cvc.placeholder' | translate\" #cardCvc\n required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardCvcError\">{{ cardCvcError }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-list-item>\n</mat-list>\n", styles: ["nice-stripe-card-form mat-list-item{height:auto!important}nice-stripe-card-form .form-icons{font-size:24px!important;width:24px!important;height:24px!important;line-height:24px!important}\n"] }]
263
267
  }], ctorParameters: function () {
264
268
  return [{ type: undefined, decorators: [{
265
269
  type: Optional
@@ -295,10 +299,18 @@ class NiceStripeModule {
295
299
  };
296
300
  }
297
301
  }
298
- NiceStripeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
299
- NiceStripeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeModule, declarations: [NiceStripeCardElementComponent,
300
- NiceStripeCardFormComponent], imports: [FlexModule,
301
- NgxStripeModule,
302
+ NiceStripeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
303
+ NiceStripeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeModule, declarations: [NiceStripeCardElementComponent,
304
+ NiceStripeCardFormComponent], imports: [NgxStripeModule,
305
+ ReactiveFormsModule,
306
+ TranslateModule,
307
+ MatFormFieldModule,
308
+ MatInputModule,
309
+ MatListModule,
310
+ NiceFormErrorModule,
311
+ MatButtonModule,
312
+ CommonModule], exports: [NiceStripeCardFormComponent] });
313
+ NiceStripeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeModule, imports: [NgxStripeModule,
302
314
  ReactiveFormsModule,
303
315
  TranslateModule,
304
316
  MatFormFieldModule,
@@ -306,26 +318,11 @@ NiceStripeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
306
318
  MatListModule,
307
319
  NiceFormErrorModule,
308
320
  MatButtonModule,
309
- CommonModule,
310
- ExtendedModule], exports: [NiceStripeCardFormComponent] });
311
- NiceStripeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeModule, imports: [[
312
- FlexModule,
313
- NgxStripeModule,
314
- ReactiveFormsModule,
315
- TranslateModule,
316
- MatFormFieldModule,
317
- MatInputModule,
318
- MatListModule,
319
- NiceFormErrorModule,
320
- MatButtonModule,
321
- CommonModule,
322
- ExtendedModule
323
- ]] });
324
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeModule, decorators: [{
321
+ CommonModule] });
322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeModule, decorators: [{
325
323
  type: NgModule,
326
324
  args: [{
327
325
  imports: [
328
- FlexModule,
329
326
  NgxStripeModule,
330
327
  ReactiveFormsModule,
331
328
  TranslateModule,
@@ -334,8 +331,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
334
331
  MatListModule,
335
332
  NiceFormErrorModule,
336
333
  MatButtonModule,
337
- CommonModule,
338
- ExtendedModule
334
+ CommonModule
339
335
  ],
340
336
  declarations: [
341
337
  NiceStripeCardElementComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"recursyve-nice-stripe-kit.v2.mjs","sources":["../../../projects/nice-stripe-kit-v2/src/lib/components/card-element/stripe-card-element.component.ts","../../../projects/nice-stripe-kit-v2/src/lib/nice-stripe-kit.constant.ts","../../../projects/nice-stripe-kit-v2/src/lib/components/card-form/stripe-card-form.form.ts","../../../projects/nice-stripe-kit-v2/src/lib/components/card-form/stripe-card-form.component.ts","../../../projects/nice-stripe-kit-v2/src/lib/components/card-form/stripe-card-form.template.html","../../../projects/nice-stripe-kit-v2/src/lib/nice-stripe-kit.module.ts","../../../projects/nice-stripe-kit-v2/src/public-api.ts","../../../projects/nice-stripe-kit-v2/src/recursyve-nice-stripe-kit.v2.ts"],"sourcesContent":["import { coerceBooleanProperty } from \"@angular/cdk/coercion\";\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n Input,\n Optional,\n Self,\n ViewChild,\n ViewEncapsulation\n} from \"@angular/core\";\nimport { NgControl } from \"@angular/forms\";\nimport { MatFormFieldControl } from \"@angular/material/form-field\";\nimport { StripeCardCvcElement, StripeCardExpiryElement, StripeCardNumberElement } from \"@stripe/stripe-js\";\nimport { Subject } from \"rxjs\";\nimport { v4 as uuidv4 } from \"uuid\";\n\n@Component({\n selector: \"nice-stripe-card-element\",\n template: \"<div class='stripe-element' #element></div>\",\n styleUrls: [\"./stripe-card-element.style.scss\"],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: MatFormFieldControl,\n useExisting: NiceStripeCardElementComponent\n }\n ]\n})\nexport class NiceStripeCardElementComponent implements AfterViewInit, MatFormFieldControl<string> {\n private _placeholder: string;\n private _focused = false;\n private _required = false;\n private _disabled = false;\n\n @ViewChild(\"element\")\n private elementRef?: ElementRef;\n\n public element?: StripeCardNumberElement | StripeCardExpiryElement | StripeCardCvcElement;\n public value: string;\n public stateChanges = new Subject<void>();\n public empty = true;\n public errorState = false;\n public complete = false;\n\n @HostBinding(\"attr.aria-describedby\")\n public describedBy = \"\";\n\n @HostBinding()\n public id: string = uuidv4();\n\n @Input()\n public set placeholder(placeholder: string) {\n this._placeholder = placeholder;\n this.stateChanges.next();\n }\n\n public get placeholder() {\n return this._placeholder;\n }\n\n @Input()\n public set focused(focused: boolean) {\n this._focused = focused;\n this.stateChanges.next();\n }\n\n public get focused() {\n return this._focused;\n }\n\n @Input()\n public get required() {\n return this._required;\n }\n\n public set required(req) {\n this._required = coerceBooleanProperty(req);\n this.stateChanges.next();\n }\n\n @Input()\n public get disabled(): boolean {\n return this._disabled;\n }\n\n public set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n\n @HostBinding(\"class.floating\")\n public get shouldLabelFloat() {\n return this.focused || !this.empty;\n }\n\n public setDescribedByIds(ids: string[]) {\n this.describedBy = ids.join(\" \");\n }\n\n constructor(@Optional() @Self() public ngControl: NgControl) {\n }\n\n public async ngAfterViewInit() {\n if (this.elementRef) {\n this.empty = !this.value;\n }\n }\n\n public async init(element: StripeCardNumberElement | StripeCardExpiryElement | StripeCardCvcElement) {\n this.element = element;\n this.element.mount(this.elementRef.nativeElement);\n this.stateChanges.next();\n\n this.element.update({\n placeholder: this.placeholder\n });\n\n (this.element as StripeCardNumberElement).on(\"blur\", () => {\n this.focused = false;\n if (this.empty && this._required) {\n this.errorState = true;\n }\n });\n (this.element as StripeCardNumberElement).on(\"focus\", () => {\n this.focused = true;\n });\n\n (this.element as StripeCardNumberElement).on(\"change\", event => {\n this.empty = event.empty;\n this.errorState = !!event.error;\n this.complete = event.complete;\n this.stateChanges.next();\n });\n }\n\n public markAsTouched(): void {\n this.errorState = !!this.empty;\n this.stateChanges.next();\n }\n\n public onContainerClick(event: MouseEvent): void {\n }\n}\n","import { InjectionToken } from \"@angular/core\";\n\nexport const NICE_STRIPE_OPTIONS = new InjectionToken(\"nice_stripe_options\");\n","import { Control, Required } from \"@recursyve/ngx-form-generator\";\n\nexport class StripeForm {\n @Control()\n @Required()\n public name: string;\n}\n","import { Component, Inject, Input, OnDestroy, OnInit, Optional, ViewChild, ViewEncapsulation } from \"@angular/core\";\nimport { MatFormFieldAppearance } from \"@angular/material/form-field\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { GeneratedFormGroup, ngxFormGeneratorFactory } from \"@recursyve/ngx-form-generator\";\nimport { niceAnimations } from \"@recursyve/nice-ui-kit.v2\";\nimport {\n StripeCardCvcElement,\n StripeCardExpiryElement,\n StripeCardNumberElement,\n StripeCardNumberElementOptions,\n StripeElements\n} from \"@stripe/stripe-js\";\nimport { StripeService } from \"ngx-stripe\";\nimport { map } from \"rxjs/operators\";\nimport { NICE_STRIPE_OPTIONS } from \"../../nice-stripe-kit.constant\";\nimport { NiceStripeKitOptions } from \"../../nice-stripe-kit.options\";\nimport { NiceStripeCardElementComponent } from \"../card-element/stripe-card-element.component\";\nimport { StripeForm } from \"./stripe-card-form.form\";\n\n@Component({\n selector: \"nice-stripe-card-form\",\n templateUrl: \"stripe-card-form.template.html\",\n styleUrls: [\"stripe-card-form.style.scss\"],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: GeneratedFormGroup,\n useFactory: ngxFormGeneratorFactory(StripeForm)\n }\n ],\n animations: niceAnimations\n})\nexport class NiceStripeCardFormComponent implements OnInit, OnDestroy {\n @Input()\n public appearance: MatFormFieldAppearance;\n\n @Input()\n public showIcons = false;\n\n @ViewChild(\"cardNumber\")\n public cardNumberInput: NiceStripeCardElementComponent;\n\n @ViewChild(\"cardExpiry\")\n public cardExpiryInput: NiceStripeCardElementComponent;\n\n @ViewChild(\"cardCvc\")\n public cardCvcInput: NiceStripeCardElementComponent;\n\n public cardNumberElement: StripeCardNumberElement;\n public cardNumberError: string;\n public cardExpiryElement: StripeCardExpiryElement;\n public cardExpiryError: string;\n public cardCvcElement: StripeCardCvcElement;\n public cardCvcError: string;\n\n public stripeOptions: StripeCardNumberElementOptions;\n\n private elements: StripeElements;\n\n public get isValid(): boolean {\n return this.cardNumberInput.complete &&\n this.cardExpiryInput.complete &&\n this.cardCvcInput.complete &&\n this.formGroup.valid;\n }\n\n public get cardToken(): Promise<string> {\n if (!this.isValid) {\n return null;\n }\n\n return this.stripeService.createToken(this.cardNumberElement, {\n name: this.formGroup.get(\"name\").value\n }).pipe(\n map(x => x?.token?.id)\n ).toPromise();\n }\n\n constructor(\n @Optional() @Inject(NICE_STRIPE_OPTIONS) public options: NiceStripeKitOptions,\n public formGroup: GeneratedFormGroup<StripeForm>,\n private stripeService: StripeService,\n private translateService: TranslateService\n ) {\n }\n\n public async ngOnInit(): Promise<void> {\n this.stripeOptions = {\n placeholder: \"\",\n style: {\n base: this.options.styling\n }\n };\n\n this.elements = await this.stripeService.elements({\n locale: this.translateService.currentLang as any,\n fonts: this.options?.fonts ?? []\n }).toPromise();\n\n this.initCardNumber();\n this.initCardExpiry();\n this.initCardCvc();\n }\n\n public initCardNumber() {\n this.cardNumberElement = this.elements.create(\"cardNumber\", {\n ...this.stripeOptions,\n });\n this.cardNumberElement.on(\"change\", event => {\n this.cardNumberError = event.error ? event.error.message : null;\n });\n this.cardNumberInput.init(this.cardNumberElement);\n }\n\n public initCardExpiry() {\n this.cardExpiryElement = this.elements.create(\"cardExpiry\", {\n ...this.stripeOptions,\n });\n this.cardExpiryElement.on(\"change\", event => {\n this.cardExpiryError = event.error ? event.error.message : null;\n });\n this.cardExpiryInput.init(this.cardExpiryElement);\n }\n\n public initCardCvc() {\n this.cardCvcElement = this.elements.create(\"cardCvc\", {\n ...this.stripeOptions,\n });\n this.cardCvcElement.on(\"change\", event => {\n this.cardCvcError = event.error ? event.error.message : null;\n });\n this.cardCvcInput.init(this.cardCvcElement);\n }\n\n public ngOnDestroy(): void {\n this.cardNumberElement.unmount();\n this.cardExpiryElement.unmount();\n this.cardCvcElement.unmount();\n }\n\n public patchName(name: string) {\n this.formGroup.get(\"name\").patchValue(name);\n }\n\n public markAllAsTouched(): void {\n this.formGroup.markAllAsTouched();\n this.cardCvcInput.markAsTouched();\n this.cardNumberInput.markAsTouched();\n this.cardExpiryInput.markAsTouched();\n }\n\n private getYear(): number {\n const date = new Date();\n return +date.getFullYear().toString().substr(-2);\n }\n}\n","<mat-list [formGroup]=\"formGroup\">\n <mat-list-item>\n <mat-form-field [appearance]=\"appearance\" niceControlStatus floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.name_on_card.label\" | translate}}</mat-label>\n <input [placeholder]=\"'nice_ui_kit.stripe.name_on_card.placeholder' | translate\" matInput type=\"text\"\n formControlName=\"name\" required/>\n <div matPrefix class=\"pr-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-user-circle text-accent form-icons\"></i>\n </div>\n </mat-form-field>\n </mat-list-item>\n <mat-list-item>\n <div fxLayout=\"column\" class=\"w-full\">\n <div fxLayout=\"row\">\n <mat-form-field fxFlex=\"100\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.card_number.label\" | translate}}</mat-label>\n <div matPrefix class=\"pr-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-credit-card text-accent form-icons\"></i>\n </div>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.card_number.placeholder' | translate\"\n #cardNumber required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardNumberError\">{{ cardNumberError }}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutGap=\"15px\">\n <mat-form-field fxFlex=\"50\" fxFlex.lt-md=\"48\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.expiration.label\" | translate}}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.expiration.placeholder' | translate\"\n #cardExpiry required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardExpiryError\">{{ cardExpiryError }}</mat-error>\n </mat-form-field>\n <mat-form-field fxFlex=\"50\" fxFlex.lt-md=\"48\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.cvc.label\" | translate}}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.cvc.placeholder' | translate\" #cardCvc\n required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardCvcError\">{{ cardCvcError }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-list-item>\n</mat-list>\n","import { CommonModule } from \"@angular/common\";\nimport { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { ExtendedModule, FlexModule } from \"@angular/flex-layout\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatListModule } from \"@angular/material/list\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { NiceFormErrorModule } from \"@recursyve/nice-ui-kit.v2\";\nimport { NgxStripeModule } from \"ngx-stripe\";\nimport { NiceStripeCardElementComponent } from \"./components/card-element/stripe-card-element.component\";\nimport { NiceStripeCardFormComponent } from \"./components/card-form/stripe-card-form.component\";\nimport { NICE_STRIPE_OPTIONS } from \"./nice-stripe-kit.constant\";\nimport { NiceStripeKitOptions } from \"./nice-stripe-kit.options\";\n\n@NgModule({\n imports: [\n FlexModule,\n NgxStripeModule,\n ReactiveFormsModule,\n TranslateModule,\n\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n NiceFormErrorModule,\n MatButtonModule,\n CommonModule,\n ExtendedModule\n ],\n declarations: [\n NiceStripeCardElementComponent,\n NiceStripeCardFormComponent\n ],\n exports: [\n NiceStripeCardFormComponent\n ]\n})\nexport class NiceStripeModule {\n public static forRoot(options?: NiceStripeKitOptions): ModuleWithProviders<NiceStripeModule> {\n return {\n ngModule: NiceStripeModule,\n providers: [\n {\n provide: NICE_STRIPE_OPTIONS,\n useValue: options\n }\n ]\n };\n }\n}\n","/*\n * Public API Surface of nice-stripe-kit\n */\n\nexport * from \"./lib/nice-stripe-kit.module\";\nexport * from \"./lib/components/card-element/stripe-card-element.component\";\nexport * from \"./lib/components/card-form/stripe-card-form.component\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidv4"],"mappings":"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"}
1
+ {"version":3,"file":"recursyve-nice-stripe-kit.v2.mjs","sources":["../../../projects/nice-stripe-kit-v2/src/lib/components/card-element/stripe-card-element.component.ts","../../../projects/nice-stripe-kit-v2/src/lib/nice-stripe-kit.constant.ts","../../../projects/nice-stripe-kit-v2/src/lib/components/card-form/stripe-card-form.form.ts","../../../projects/nice-stripe-kit-v2/src/lib/components/card-form/stripe-card-form.component.ts","../../../projects/nice-stripe-kit-v2/src/lib/components/card-form/stripe-card-form.template.html","../../../projects/nice-stripe-kit-v2/src/lib/nice-stripe-kit.module.ts","../../../projects/nice-stripe-kit-v2/src/public-api.ts","../../../projects/nice-stripe-kit-v2/src/recursyve-nice-stripe-kit.v2.ts"],"sourcesContent":["import { coerceBooleanProperty } from \"@angular/cdk/coercion\";\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n Input,\n Optional,\n Self,\n ViewChild,\n ViewEncapsulation\n} from \"@angular/core\";\nimport { NgControl } from \"@angular/forms\";\nimport { MatFormFieldControl } from \"@angular/material/form-field\";\nimport { StripeCardCvcElement, StripeCardExpiryElement, StripeCardNumberElement } from \"@stripe/stripe-js\";\nimport { Subject } from \"rxjs\";\nimport { v4 as uuidv4 } from \"uuid\";\n\n@Component({\n selector: \"nice-stripe-card-element\",\n template: \"<div class='stripe-element' #element></div>\",\n styleUrls: [\"./stripe-card-element.style.scss\"],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: MatFormFieldControl,\n useExisting: NiceStripeCardElementComponent\n }\n ]\n})\nexport class NiceStripeCardElementComponent implements AfterViewInit, MatFormFieldControl<string> {\n private _placeholder: string;\n private _focused = false;\n private _required = false;\n private _disabled = false;\n\n @ViewChild(\"element\")\n private elementRef?: ElementRef;\n\n public element?: StripeCardNumberElement | StripeCardExpiryElement | StripeCardCvcElement;\n public value: string;\n public stateChanges = new Subject<void>();\n public empty = true;\n public errorState = false;\n public complete = false;\n\n @HostBinding(\"attr.aria-describedby\")\n public describedBy = \"\";\n\n @HostBinding()\n public id: string = uuidv4();\n\n @Input()\n public set placeholder(placeholder: string) {\n this._placeholder = placeholder;\n this.stateChanges.next();\n }\n\n public get placeholder() {\n return this._placeholder;\n }\n\n @Input()\n public set focused(focused: boolean) {\n this._focused = focused;\n this.stateChanges.next();\n }\n\n public get focused() {\n return this._focused;\n }\n\n @Input()\n public get required() {\n return this._required;\n }\n\n public set required(req) {\n this._required = coerceBooleanProperty(req);\n this.stateChanges.next();\n }\n\n @Input()\n public get disabled(): boolean {\n return this._disabled;\n }\n\n public set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n\n @HostBinding(\"class.floating\")\n public get shouldLabelFloat() {\n return this.focused || !this.empty;\n }\n\n public setDescribedByIds(ids: string[]) {\n this.describedBy = ids.join(\" \");\n }\n\n constructor(@Optional() @Self() public ngControl: NgControl) {\n }\n\n public async ngAfterViewInit() {\n if (this.elementRef) {\n this.empty = !this.value;\n }\n }\n\n public async init(element: StripeCardNumberElement | StripeCardExpiryElement | StripeCardCvcElement) {\n this.element = element;\n this.element.mount(this.elementRef.nativeElement);\n this.stateChanges.next();\n\n this.element.update({\n placeholder: this.placeholder\n });\n\n (this.element as StripeCardNumberElement).on(\"blur\", () => {\n this.focused = false;\n if (this.empty && this._required) {\n this.errorState = true;\n }\n });\n (this.element as StripeCardNumberElement).on(\"focus\", () => {\n this.focused = true;\n });\n\n (this.element as StripeCardNumberElement).on(\"change\", event => {\n this.empty = event.empty;\n this.errorState = !!event.error;\n this.complete = event.complete;\n this.stateChanges.next();\n });\n }\n\n public markAsTouched(): void {\n this.errorState = !!this.empty;\n this.stateChanges.next();\n }\n\n public onContainerClick(event: MouseEvent): void {\n }\n}\n","import { InjectionToken } from \"@angular/core\";\n\nexport const NICE_STRIPE_OPTIONS = new InjectionToken(\"nice_stripe_options\");\n","import { Control, Required } from \"@recursyve/ngx-form-generator\";\n\nexport class StripeForm {\n @Control()\n @Required()\n public name: string;\n}\n","import { Component, Inject, Input, OnDestroy, OnInit, Optional, ViewChild, ViewEncapsulation } from \"@angular/core\";\nimport { MatFormFieldAppearance } from \"@angular/material/form-field\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { GeneratedFormGroup, ngxFormGeneratorFactory } from \"@recursyve/ngx-form-generator\";\nimport { niceAnimations } from \"@recursyve/nice-ui-kit.v2\";\nimport {\n StripeCardCvcElement,\n StripeCardExpiryElement,\n StripeCardNumberElement,\n StripeCardNumberElementOptions,\n StripeElements\n} from \"@stripe/stripe-js\";\nimport { StripeService } from \"ngx-stripe\";\nimport { map } from \"rxjs/operators\";\nimport { NICE_STRIPE_OPTIONS } from \"../../nice-stripe-kit.constant\";\nimport { NiceStripeKitOptions } from \"../../nice-stripe-kit.options\";\nimport { NiceStripeCardElementComponent } from \"../card-element/stripe-card-element.component\";\nimport { StripeForm } from \"./stripe-card-form.form\";\n\n@Component({\n selector: \"nice-stripe-card-form\",\n templateUrl: \"stripe-card-form.template.html\",\n styleUrls: [\"stripe-card-form.style.scss\"],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: GeneratedFormGroup,\n useFactory: ngxFormGeneratorFactory(StripeForm)\n }\n ],\n animations: niceAnimations\n})\nexport class NiceStripeCardFormComponent implements OnInit, OnDestroy {\n @Input()\n public appearance: MatFormFieldAppearance;\n\n @Input()\n public showIcons = false;\n\n @ViewChild(\"cardNumber\")\n public cardNumberInput: NiceStripeCardElementComponent;\n\n @ViewChild(\"cardExpiry\")\n public cardExpiryInput: NiceStripeCardElementComponent;\n\n @ViewChild(\"cardCvc\")\n public cardCvcInput: NiceStripeCardElementComponent;\n\n public cardNumberElement: StripeCardNumberElement;\n public cardNumberError: string;\n public cardExpiryElement: StripeCardExpiryElement;\n public cardExpiryError: string;\n public cardCvcElement: StripeCardCvcElement;\n public cardCvcError: string;\n\n public stripeOptions: StripeCardNumberElementOptions;\n\n private elements: StripeElements;\n\n public get isValid(): boolean {\n return this.cardNumberInput.complete &&\n this.cardExpiryInput.complete &&\n this.cardCvcInput.complete &&\n this.formGroup.valid;\n }\n\n public get cardToken(): Promise<string> {\n if (!this.isValid) {\n return null;\n }\n\n return this.stripeService.createToken(this.cardNumberElement, {\n name: this.formGroup.get(\"name\").value\n }).pipe(\n map(x => x?.token?.id)\n ).toPromise();\n }\n\n constructor(\n @Optional() @Inject(NICE_STRIPE_OPTIONS) public options: NiceStripeKitOptions,\n public formGroup: GeneratedFormGroup<StripeForm>,\n private stripeService: StripeService,\n private translateService: TranslateService\n ) {\n }\n\n public async ngOnInit(): Promise<void> {\n this.stripeOptions = {\n placeholder: \"\",\n style: {\n base: this.options.styling\n }\n };\n\n this.elements = await this.stripeService.elements({\n locale: this.translateService.currentLang as any,\n fonts: this.options?.fonts ?? []\n }).toPromise();\n\n this.initCardNumber();\n this.initCardExpiry();\n this.initCardCvc();\n }\n\n public initCardNumber() {\n this.cardNumberElement = this.elements.create(\"cardNumber\", {\n ...this.stripeOptions,\n });\n this.cardNumberElement.on(\"change\", event => {\n this.cardNumberError = event.error ? event.error.message : null;\n });\n this.cardNumberInput.init(this.cardNumberElement);\n }\n\n public initCardExpiry() {\n this.cardExpiryElement = this.elements.create(\"cardExpiry\", {\n ...this.stripeOptions,\n });\n this.cardExpiryElement.on(\"change\", event => {\n this.cardExpiryError = event.error ? event.error.message : null;\n });\n this.cardExpiryInput.init(this.cardExpiryElement);\n }\n\n public initCardCvc() {\n this.cardCvcElement = this.elements.create(\"cardCvc\", {\n ...this.stripeOptions,\n });\n this.cardCvcElement.on(\"change\", event => {\n this.cardCvcError = event.error ? event.error.message : null;\n });\n this.cardCvcInput.init(this.cardCvcElement);\n }\n\n public ngOnDestroy(): void {\n if (this.cardNumberElement) {\n this.cardNumberElement.unmount();\n }\n\n if (this.cardExpiryElement) {\n this.cardExpiryElement.unmount();\n }\n\n if (this.cardCvcElement) {\n this.cardCvcElement.unmount();\n }\n }\n\n public patchName(name: string) {\n this.formGroup.get(\"name\").patchValue(name);\n }\n\n public markAllAsTouched(): void {\n this.formGroup.markAllAsTouched();\n this.cardCvcInput.markAsTouched();\n this.cardNumberInput.markAsTouched();\n this.cardExpiryInput.markAsTouched();\n }\n\n private getYear(): number {\n const date = new Date();\n return +date.getFullYear().toString().substr(-2);\n }\n}\n","<mat-list [formGroup]=\"formGroup\">\n <mat-list-item>\n <mat-form-field [appearance]=\"appearance\" niceControlStatus floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.name_on_card.label\" | translate }}</mat-label>\n <input [placeholder]=\"'nice_ui_kit.stripe.name_on_card.placeholder' | translate\" matInput type=\"text\"\n formControlName=\"name\" required/>\n <div matPrefix class=\"pl-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-user-circle accent-fg\"></i>\n </div>\n </mat-form-field>\n </mat-list-item>\n <mat-list-item>\n <div class=\"flex flex-col w-full\">\n <div class=\"flex flex-row\">\n <mat-form-field class=\"flex-full max-w-full\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.card_number.label\" | translate }}</mat-label>\n <div matPrefix class=\"pl-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-credit-card accent-fg\"></i>\n </div>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.card_number.placeholder' | translate\"\n #cardNumber required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardNumberError\">{{ cardNumberError }}</mat-error>\n </mat-form-field>\n </div>\n <div class=\"flex flex-row gap-4\">\n <mat-form-field class=\"flex flex-full max-w-1/2\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.expiration.label\" | translate }}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.expiration.placeholder' | translate\"\n #cardExpiry required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardExpiryError\">{{ cardExpiryError }}</mat-error>\n </mat-form-field>\n <mat-form-field class=\"flex flex-full max-w-1/2\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.cvc.label\" | translate }}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.cvc.placeholder' | translate\" #cardCvc\n required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardCvcError\">{{ cardCvcError }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-list-item>\n</mat-list>\n","import { CommonModule } from \"@angular/common\";\nimport { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatListModule } from \"@angular/material/list\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { NiceFormErrorModule } from \"@recursyve/nice-ui-kit.v2\";\nimport { NgxStripeModule } from \"ngx-stripe\";\nimport { NiceStripeCardElementComponent } from \"./components/card-element/stripe-card-element.component\";\nimport { NiceStripeCardFormComponent } from \"./components/card-form/stripe-card-form.component\";\nimport { NICE_STRIPE_OPTIONS } from \"./nice-stripe-kit.constant\";\nimport { NiceStripeKitOptions } from \"./nice-stripe-kit.options\";\n\n@NgModule({\n imports: [\n NgxStripeModule,\n ReactiveFormsModule,\n TranslateModule,\n\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n NiceFormErrorModule,\n MatButtonModule,\n CommonModule\n ],\n declarations: [\n NiceStripeCardElementComponent,\n NiceStripeCardFormComponent\n ],\n exports: [\n NiceStripeCardFormComponent\n ]\n})\nexport class NiceStripeModule {\n public static forRoot(options?: NiceStripeKitOptions): ModuleWithProviders<NiceStripeModule> {\n return {\n ngModule: NiceStripeModule,\n providers: [\n {\n provide: NICE_STRIPE_OPTIONS,\n useValue: options\n }\n ]\n };\n }\n}\n","/*\n * Public API Surface of nice-stripe-kit\n */\n\nexport * from \"./lib/nice-stripe-kit.module\";\nexport * from \"./lib/components/card-element/stripe-card-element.component\";\nexport * from \"./lib/components/card-form/stripe-card-form.component\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidv4","i1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;MA8Ba,8BAA8B,CAAA;AAuEvC,IAAA,WAAA,CAAuC,SAAoB,EAAA;AAApB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;AArEnD,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AACjB,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAClB,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;AAOnB,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAQ,CAAC;AACnC,QAAA,IAAK,CAAA,KAAA,GAAG,IAAI,CAAC;AACb,QAAA,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AACnB,QAAA,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;AAGjB,QAAA,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AAGjB,QAAA,IAAE,CAAA,EAAA,GAAWA,EAAM,EAAE,CAAC;KAoD5B;IAlDD,IACW,WAAW,CAAC,WAAmB,EAAA;AACtC,QAAA,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;AAChC,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC5B;AAED,IAAA,IAAW,WAAW,GAAA;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC5B;IAED,IACW,OAAO,CAAC,OAAgB,EAAA;AAC/B,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;AACxB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC5B;AAED,IAAA,IAAW,OAAO,GAAA;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;KACxB;AAED,IAAA,IACW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAW,QAAQ,CAAC,GAAG,EAAA;AACnB,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC5B;AAED,IAAA,IACW,QAAQ,GAAA;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAW,QAAQ,CAAC,KAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAC9C,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC5B;AAED,IAAA,IACW,gBAAgB,GAAA;QACvB,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;KACtC;AAEM,IAAA,iBAAiB,CAAC,GAAa,EAAA;QAClC,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACpC;IAKY,eAAe,GAAA;;YACxB,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,gBAAA,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;AAC5B,aAAA;SACJ,CAAA,CAAA;AAAA,KAAA;AAEY,IAAA,IAAI,CAAC,OAAiF,EAAA;;AAC/F,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAClD,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AAEzB,YAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBAChB,WAAW,EAAE,IAAI,CAAC,WAAW;AAChC,aAAA,CAAC,CAAC;YAEF,IAAI,CAAC,OAAmC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAK;AACtD,gBAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;AACrB,gBAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;AAC9B,oBAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AAC1B,iBAAA;AACL,aAAC,CAAC,CAAC;YACF,IAAI,CAAC,OAAmC,CAAC,EAAE,CAAC,OAAO,EAAE,MAAK;AACvD,gBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;AACxB,aAAC,CAAC,CAAC;YAEF,IAAI,CAAC,OAAmC,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAG;AAC3D,gBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;gBACzB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;AAChC,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;AAC/B,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AAC7B,aAAC,CAAC,CAAC;SACN,CAAA,CAAA;AAAA,KAAA;IAEM,aAAa,GAAA;QAChB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;AAC/B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;KAC5B;AAEM,IAAA,gBAAgB,CAAC,KAAiB,EAAA;KACxC;;2HAjHQ,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,IAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9B,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,EAP5B,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,uBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA;AACI,YAAA,OAAO,EAAE,mBAAmB;AAC5B,YAAA,WAAW,EAAE,8BAA8B;AAC9C,SAAA;KACJ,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EARS,6CAA6C,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,yDAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAU9C,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAZ1C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,0BAA0B,YAC1B,6CAA6C,EAAA,aAAA,EAExC,iBAAiB,CAAC,IAAI,EAC1B,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,WAAW,EAAgC,8BAAA;AAC9C,yBAAA;AACJ,qBAAA,EAAA,MAAA,EAAA,CAAA,yDAAA,CAAA,EAAA,CAAA;;;8BAyEY,QAAQ;;8BAAI,IAAI;;yBAhErB,UAAU,EAAA,CAAA;sBADjB,SAAS;uBAAC,SAAS,CAAA;gBAWb,WAAW,EAAA,CAAA;sBADjB,WAAW;uBAAC,uBAAuB,CAAA;gBAI7B,EAAE,EAAA,CAAA;sBADR,WAAW;gBAID,WAAW,EAAA,CAAA;sBADrB,KAAK;gBAWK,OAAO,EAAA,CAAA;sBADjB,KAAK;gBAWK,QAAQ,EAAA,CAAA;sBADlB,KAAK;gBAWK,QAAQ,EAAA,CAAA;sBADlB,KAAK;gBAWK,gBAAgB,EAAA,CAAA;sBAD1B,WAAW;uBAAC,gBAAgB,CAAA;;;AC1F1B,MAAM,mBAAmB,GAAG,IAAI,cAAc,CAAC,qBAAqB,CAAC;;MCA/D,UAAU,CAAA;AAItB,CAAA;AADG,UAAA,CAAA;AAFC,IAAA,OAAO,EAAE;AACT,IAAA,QAAQ,EAAE;;CACS,EAAA,UAAA,CAAA,SAAA,EAAA,MAAA,EAAA,KAAA,CAAA,CAAA;;MC2BX,2BAA2B,CAAA;AA8CpC,IAAA,WAAA,CACoD,OAA6B,EACtE,SAAyC,EACxC,aAA4B,EAC5B,gBAAkC,EAAA;AAHM,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAsB;AACtE,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAgC;AACxC,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AAC5B,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AA7CvC,QAAA,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;KA+CxB;AAzBD,IAAA,IAAW,OAAO,GAAA;AACd,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ;YAChC,IAAI,CAAC,eAAe,CAAC,QAAQ;YAC7B,IAAI,CAAC,YAAY,CAAC,QAAQ;AAC1B,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;KAC5B;AAED,IAAA,IAAW,SAAS,GAAA;AAChB,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;AACf,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC1D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK;SACzC,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,IAAG,EAAA,IAAA,EAAA,CAAA,CAAC,OAAA,CAAA,EAAA,GAAA,CAAC,KAAA,IAAA,IAAD,CAAC,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAD,CAAC,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,EAAE,CAAA,EAAA,CAAC,CACzB,CAAC,SAAS,EAAE,CAAC;KACjB;IAUY,QAAQ,GAAA;;;YACjB,IAAI,CAAC,aAAa,GAAG;AACjB,gBAAA,WAAW,EAAE,EAAE;AACf,gBAAA,KAAK,EAAE;AACH,oBAAA,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;AAC7B,iBAAA;aACJ,CAAC;YAEF,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC9C,gBAAA,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAkB;gBAChD,KAAK,EAAE,MAAA,CAAA,EAAA,GAAA,IAAI,CAAC,OAAO,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,KAAK,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,EAAE;aACnC,CAAC,CAAC,SAAS,EAAE,CAAC;YAEf,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,EAAE,CAAC;;AACtB,KAAA;IAEM,cAAc,GAAA;AACjB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EACnD,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,aAAa,EACvB,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAG;AACxC,YAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;AACpE,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACrD;IAEM,cAAc,GAAA;AACjB,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EACnD,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,aAAa,EACvB,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAG;AACxC,YAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;AACpE,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KACrD;IAEM,WAAW,GAAA;AACd,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAC7C,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,aAAa,EACvB,CAAC;QACH,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAG;AACrC,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;AACjE,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAC/C;IAEM,WAAW,GAAA;QACd,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACxB,YAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;AACpC,SAAA;QAED,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACxB,YAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;AACpC,SAAA;QAED,IAAI,IAAI,CAAC,cAAc,EAAE;AACrB,YAAA,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;AACjC,SAAA;KACJ;AAEM,IAAA,SAAS,CAAC,IAAY,EAAA;AACzB,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;KAC/C;IAEM,gBAAgB,GAAA;AACnB,QAAA,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;AAClC,QAAA,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;AAClC,QAAA,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;AACrC,QAAA,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;KACxC;IAEO,OAAO,GAAA;AACX,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;AACxB,QAAA,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KACpD;;AAlIQ,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBA+CZ,mBAAmB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA/ClC,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,2BAA2B,EARzB,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,SAAA,EAAA;AACP,QAAA;AACI,YAAA,OAAO,EAAE,kBAAkB;AAC3B,YAAA,UAAU,EAAE,uBAAuB,CAAC,UAAU,CAAC;AAClD,SAAA;AACJ,KAAA,EC7BL,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ktFAyCA,msFDXgB,cAAc,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;2FAEjB,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAbvC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,uBAAuB,EAGlB,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAC1B,SAAA,EAAA;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,UAAU,EAAE,uBAAuB,CAAC,UAAU,CAAC;AAClD,yBAAA;AACJ,qBAAA,EAAA,UAAA,EACW,cAAc,EAAA,QAAA,EAAA,ktFAAA,EAAA,MAAA,EAAA,CAAA,+LAAA,CAAA,EAAA,CAAA;;;8BAiDrB,QAAQ;;8BAAI,MAAM;+BAAC,mBAAmB,CAAA;;yBA7CpC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAIC,SAAS,EAAA,CAAA;sBADf,KAAK;gBAIC,eAAe,EAAA,CAAA;sBADrB,SAAS;uBAAC,YAAY,CAAA;gBAIhB,eAAe,EAAA,CAAA;sBADrB,SAAS;uBAAC,YAAY,CAAA;gBAIhB,YAAY,EAAA,CAAA;sBADlB,SAAS;uBAAC,SAAS,CAAA;;;METX,gBAAgB,CAAA;IAClB,OAAO,OAAO,CAAC,OAA8B,EAAA;QAChD,OAAO;AACH,YAAA,QAAQ,EAAE,gBAAgB;AAC1B,YAAA,SAAS,EAAE;AACP,gBAAA;AACI,oBAAA,OAAO,EAAE,mBAAmB;AAC5B,oBAAA,QAAQ,EAAE,OAAO;AACpB,iBAAA;AACJ,aAAA;SACJ,CAAC;KACL;;6GAXQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBAPrB,8BAA8B;AAC9B,QAAA,2BAA2B,aAb3B,eAAe;QACf,mBAAmB;QACnB,eAAe;QAEf,kBAAkB;QAClB,cAAc;QACd,aAAa;QACb,mBAAmB;QACnB,eAAe;QACf,YAAY,aAOZ,2BAA2B,CAAA,EAAA,CAAA,CAAA;AAGtB,gBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAnBrB,eAAe;QACf,mBAAmB;QACnB,eAAe;QAEf,kBAAkB;QAClB,cAAc;QACd,aAAa;QACb,mBAAmB;QACnB,eAAe;QACf,YAAY,CAAA,EAAA,CAAA,CAAA;2FAUP,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBArB5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,eAAe;wBACf,mBAAmB;wBACnB,eAAe;wBAEf,kBAAkB;wBAClB,cAAc;wBACd,aAAa;wBACb,mBAAmB;wBACnB,eAAe;wBACf,YAAY;AACf,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,8BAA8B;wBAC9B,2BAA2B;AAC9B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,2BAA2B;AAC9B,qBAAA;iBACJ,CAAA;;;ACnCD;;AAEG;;ACFH;;AAEG;;;;"}
@@ -1,17 +1,15 @@
1
- import * as i10 from '@angular/common';
1
+ import * as i9 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Component, ViewEncapsulation, Optional, Self, ViewChild, HostBinding, Input, InjectionToken, Inject, NgModule } from '@angular/core';
5
- import * as i11 from '@angular/flex-layout';
6
- import { FlexModule, ExtendedModule } from '@angular/flex-layout';
7
- import * as i7 from '@angular/forms';
5
+ import * as i4 from '@angular/forms';
8
6
  import { ReactiveFormsModule } from '@angular/forms';
9
7
  import { MatButtonModule } from '@angular/material/button';
10
8
  import * as i5 from '@angular/material/form-field';
11
9
  import { MatFormFieldControl, MatFormFieldModule } from '@angular/material/form-field';
12
- import * as i9 from '@angular/material/input';
10
+ import * as i6 from '@angular/material/input';
13
11
  import { MatInputModule } from '@angular/material/input';
14
- import * as i4 from '@angular/material/list';
12
+ import * as i7 from '@angular/material/list';
15
13
  import { MatListModule } from '@angular/material/list';
16
14
  import * as i3 from '@ngx-translate/core';
17
15
  import { TranslateModule } from '@ngx-translate/core';
@@ -109,14 +107,14 @@ class NiceStripeCardElementComponent {
109
107
  onContainerClick(event) {
110
108
  }
111
109
  }
112
- NiceStripeCardElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeCardElementComponent, deps: [{ token: i7.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
113
- NiceStripeCardElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: NiceStripeCardElementComponent, selector: "nice-stripe-card-element", inputs: { placeholder: "placeholder", focused: "focused", required: "required", disabled: "disabled" }, host: { properties: { "attr.aria-describedby": "this.describedBy", "id": "this.id", "class.floating": "this.shouldLabelFloat" } }, providers: [
110
+ NiceStripeCardElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeCardElementComponent, deps: [{ token: i4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
111
+ NiceStripeCardElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceStripeCardElementComponent, selector: "nice-stripe-card-element", inputs: { placeholder: "placeholder", focused: "focused", required: "required", disabled: "disabled" }, host: { properties: { "attr.aria-describedby": "this.describedBy", "id": "this.id", "class.floating": "this.shouldLabelFloat" } }, providers: [
114
112
  {
115
113
  provide: MatFormFieldControl,
116
114
  useExisting: NiceStripeCardElementComponent
117
115
  }
118
116
  ], viewQueries: [{ propertyName: "elementRef", first: true, predicate: ["element"], descendants: true }], ngImport: i0, template: "<div class='stripe-element' #element></div>", isInline: true, styles: ["nice-stripe-card-element .stripe-element{height:15px}\n"], encapsulation: i0.ViewEncapsulation.None });
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeCardElementComponent, decorators: [{
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeCardElementComponent, decorators: [{
120
118
  type: Component,
121
119
  args: [{ selector: "nice-stripe-card-element", template: "<div class='stripe-element' #element></div>", encapsulation: ViewEncapsulation.None, providers: [
122
120
  {
@@ -124,7 +122,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
124
122
  useExisting: NiceStripeCardElementComponent
125
123
  }
126
124
  ], styles: ["nice-stripe-card-element .stripe-element{height:15px}\n"] }]
127
- }], ctorParameters: function () { return [{ type: i7.NgControl, decorators: [{
125
+ }], ctorParameters: function () { return [{ type: i4.NgControl, decorators: [{
128
126
  type: Optional
129
127
  }, {
130
128
  type: Self
@@ -224,9 +222,15 @@ class NiceStripeCardFormComponent {
224
222
  this.cardCvcInput.init(this.cardCvcElement);
225
223
  }
226
224
  ngOnDestroy() {
227
- this.cardNumberElement.unmount();
228
- this.cardExpiryElement.unmount();
229
- this.cardCvcElement.unmount();
225
+ if (this.cardNumberElement) {
226
+ this.cardNumberElement.unmount();
227
+ }
228
+ if (this.cardExpiryElement) {
229
+ this.cardExpiryElement.unmount();
230
+ }
231
+ if (this.cardCvcElement) {
232
+ this.cardCvcElement.unmount();
233
+ }
230
234
  }
231
235
  patchName(name) {
232
236
  this.formGroup.get("name").patchValue(name);
@@ -242,21 +246,21 @@ class NiceStripeCardFormComponent {
242
246
  return +date.getFullYear().toString().substr(-2);
243
247
  }
244
248
  }
245
- NiceStripeCardFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeCardFormComponent, deps: [{ token: NICE_STRIPE_OPTIONS, optional: true }, { token: i1.GeneratedFormGroup }, { token: i2.StripeService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
246
- NiceStripeCardFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: NiceStripeCardFormComponent, selector: "nice-stripe-card-form", inputs: { appearance: "appearance", showIcons: "showIcons" }, providers: [
249
+ NiceStripeCardFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeCardFormComponent, deps: [{ token: NICE_STRIPE_OPTIONS, optional: true }, { token: i1.GeneratedFormGroup }, { token: i2.StripeService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
250
+ NiceStripeCardFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.3", type: NiceStripeCardFormComponent, selector: "nice-stripe-card-form", inputs: { appearance: "appearance", showIcons: "showIcons" }, providers: [
247
251
  {
248
252
  provide: GeneratedFormGroup,
249
253
  useFactory: ngxFormGeneratorFactory(StripeForm)
250
254
  }
251
- ], viewQueries: [{ propertyName: "cardNumberInput", first: true, predicate: ["cardNumber"], descendants: true }, { propertyName: "cardExpiryInput", first: true, predicate: ["cardExpiry"], descendants: true }, { propertyName: "cardCvcInput", first: true, predicate: ["cardCvc"], descendants: true }], ngImport: i0, template: "<mat-list [formGroup]=\"formGroup\">\n <mat-list-item>\n <mat-form-field [appearance]=\"appearance\" niceControlStatus floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.name_on_card.label\" | translate}}</mat-label>\n <input [placeholder]=\"'nice_ui_kit.stripe.name_on_card.placeholder' | translate\" matInput type=\"text\"\n formControlName=\"name\" required/>\n <div matPrefix class=\"pr-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-user-circle text-accent form-icons\"></i>\n </div>\n </mat-form-field>\n </mat-list-item>\n <mat-list-item>\n <div fxLayout=\"column\" class=\"w-full\">\n <div fxLayout=\"row\">\n <mat-form-field fxFlex=\"100\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.card_number.label\" | translate}}</mat-label>\n <div matPrefix class=\"pr-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-credit-card text-accent form-icons\"></i>\n </div>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.card_number.placeholder' | translate\"\n #cardNumber required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardNumberError\">{{ cardNumberError }}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutGap=\"15px\">\n <mat-form-field fxFlex=\"50\" fxFlex.lt-md=\"48\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.expiration.label\" | translate}}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.expiration.placeholder' | translate\"\n #cardExpiry required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardExpiryError\">{{ cardExpiryError }}</mat-error>\n </mat-form-field>\n <mat-form-field fxFlex=\"50\" fxFlex.lt-md=\"48\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.cvc.label\" | translate}}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.cvc.placeholder' | translate\" #cardCvc\n required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardCvcError\">{{ cardCvcError }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-list-item>\n</mat-list>\n", styles: ["nice-stripe-card-form mat-list-item{height:auto!important}nice-stripe-card-form .form-icons{font-size:24px!important;width:24px!important;height:24px!important;line-height:24px!important}\n"], components: [{ type: i4.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: NiceStripeCardElementComponent, selector: "nice-stripe-card-element", inputs: ["placeholder", "focused", "required", "disabled"] }], directives: [{ type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i8.NiceControlStatusDirective, selector: "[niceControlStatus]" }, { type: i5.MatLabel, selector: "mat-label" }, { type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.MatPrefix, selector: "[matPrefix]" }, { type: i11.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i11.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { type: i11.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }], pipes: { "translate": i3.TranslatePipe }, animations: niceAnimations, encapsulation: i0.ViewEncapsulation.None });
252
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeCardFormComponent, decorators: [{
255
+ ], viewQueries: [{ propertyName: "cardNumberInput", first: true, predicate: ["cardNumber"], descendants: true }, { propertyName: "cardExpiryInput", first: true, predicate: ["cardExpiry"], descendants: true }, { propertyName: "cardCvcInput", first: true, predicate: ["cardCvc"], descendants: true }], ngImport: i0, template: "<mat-list [formGroup]=\"formGroup\">\n <mat-list-item>\n <mat-form-field [appearance]=\"appearance\" niceControlStatus floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.name_on_card.label\" | translate }}</mat-label>\n <input [placeholder]=\"'nice_ui_kit.stripe.name_on_card.placeholder' | translate\" matInput type=\"text\"\n formControlName=\"name\" required/>\n <div matPrefix class=\"pl-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-user-circle accent-fg\"></i>\n </div>\n </mat-form-field>\n </mat-list-item>\n <mat-list-item>\n <div class=\"flex flex-col w-full\">\n <div class=\"flex flex-row\">\n <mat-form-field class=\"flex-full max-w-full\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.card_number.label\" | translate }}</mat-label>\n <div matPrefix class=\"pl-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-credit-card accent-fg\"></i>\n </div>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.card_number.placeholder' | translate\"\n #cardNumber required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardNumberError\">{{ cardNumberError }}</mat-error>\n </mat-form-field>\n </div>\n <div class=\"flex flex-row gap-4\">\n <mat-form-field class=\"flex flex-full max-w-1/2\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.expiration.label\" | translate }}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.expiration.placeholder' | translate\"\n #cardExpiry required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardExpiryError\">{{ cardExpiryError }}</mat-error>\n </mat-form-field>\n <mat-form-field class=\"flex flex-full max-w-1/2\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.cvc.label\" | translate }}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.cvc.placeholder' | translate\" #cardCvc\n required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardCvcError\">{{ cardCvcError }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-list-item>\n</mat-list>\n", styles: ["nice-stripe-card-form mat-list-item{height:auto!important}nice-stripe-card-form .form-icons{font-size:24px!important;width:24px!important;height:24px!important;line-height:24px!important}\n"], dependencies: [{ kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatPrefix, selector: "[matPrefix]" }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { kind: "component", type: i7.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { kind: "directive", type: i8.NiceControlStatusDirective, selector: "[niceControlStatus]" }, { kind: "directive", type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NiceStripeCardElementComponent, selector: "nice-stripe-card-element", inputs: ["placeholder", "focused", "required", "disabled"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }], animations: niceAnimations, encapsulation: i0.ViewEncapsulation.None });
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeCardFormComponent, decorators: [{
253
257
  type: Component,
254
258
  args: [{ selector: "nice-stripe-card-form", encapsulation: ViewEncapsulation.None, providers: [
255
259
  {
256
260
  provide: GeneratedFormGroup,
257
261
  useFactory: ngxFormGeneratorFactory(StripeForm)
258
262
  }
259
- ], animations: niceAnimations, template: "<mat-list [formGroup]=\"formGroup\">\n <mat-list-item>\n <mat-form-field [appearance]=\"appearance\" niceControlStatus floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.name_on_card.label\" | translate}}</mat-label>\n <input [placeholder]=\"'nice_ui_kit.stripe.name_on_card.placeholder' | translate\" matInput type=\"text\"\n formControlName=\"name\" required/>\n <div matPrefix class=\"pr-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-user-circle text-accent form-icons\"></i>\n </div>\n </mat-form-field>\n </mat-list-item>\n <mat-list-item>\n <div fxLayout=\"column\" class=\"w-full\">\n <div fxLayout=\"row\">\n <mat-form-field fxFlex=\"100\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.card_number.label\" | translate}}</mat-label>\n <div matPrefix class=\"pr-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-credit-card text-accent form-icons\"></i>\n </div>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.card_number.placeholder' | translate\"\n #cardNumber required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardNumberError\">{{ cardNumberError }}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutGap=\"15px\">\n <mat-form-field fxFlex=\"50\" fxFlex.lt-md=\"48\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.expiration.label\" | translate}}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.expiration.placeholder' | translate\"\n #cardExpiry required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardExpiryError\">{{ cardExpiryError }}</mat-error>\n </mat-form-field>\n <mat-form-field fxFlex=\"50\" fxFlex.lt-md=\"48\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.cvc.label\" | translate}}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.cvc.placeholder' | translate\" #cardCvc\n required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardCvcError\">{{ cardCvcError }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-list-item>\n</mat-list>\n", styles: ["nice-stripe-card-form mat-list-item{height:auto!important}nice-stripe-card-form .form-icons{font-size:24px!important;width:24px!important;height:24px!important;line-height:24px!important}\n"] }]
263
+ ], animations: niceAnimations, template: "<mat-list [formGroup]=\"formGroup\">\n <mat-list-item>\n <mat-form-field [appearance]=\"appearance\" niceControlStatus floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.name_on_card.label\" | translate }}</mat-label>\n <input [placeholder]=\"'nice_ui_kit.stripe.name_on_card.placeholder' | translate\" matInput type=\"text\"\n formControlName=\"name\" required/>\n <div matPrefix class=\"pl-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-user-circle accent-fg\"></i>\n </div>\n </mat-form-field>\n </mat-list-item>\n <mat-list-item>\n <div class=\"flex flex-col w-full\">\n <div class=\"flex flex-row\">\n <mat-form-field class=\"flex-full max-w-full\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.card_number.label\" | translate }}</mat-label>\n <div matPrefix class=\"pl-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-credit-card accent-fg\"></i>\n </div>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.card_number.placeholder' | translate\"\n #cardNumber required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardNumberError\">{{ cardNumberError }}</mat-error>\n </mat-form-field>\n </div>\n <div class=\"flex flex-row gap-4\">\n <mat-form-field class=\"flex flex-full max-w-1/2\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.expiration.label\" | translate }}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.expiration.placeholder' | translate\"\n #cardExpiry required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardExpiryError\">{{ cardExpiryError }}</mat-error>\n </mat-form-field>\n <mat-form-field class=\"flex flex-full max-w-1/2\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.cvc.label\" | translate }}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.cvc.placeholder' | translate\" #cardCvc\n required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardCvcError\">{{ cardCvcError }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-list-item>\n</mat-list>\n", styles: ["nice-stripe-card-form mat-list-item{height:auto!important}nice-stripe-card-form .form-icons{font-size:24px!important;width:24px!important;height:24px!important;line-height:24px!important}\n"] }]
260
264
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
261
265
  type: Optional
262
266
  }, {
@@ -290,10 +294,18 @@ class NiceStripeModule {
290
294
  };
291
295
  }
292
296
  }
293
- NiceStripeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
294
- NiceStripeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeModule, declarations: [NiceStripeCardElementComponent,
295
- NiceStripeCardFormComponent], imports: [FlexModule,
296
- NgxStripeModule,
297
+ NiceStripeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
298
+ NiceStripeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeModule, declarations: [NiceStripeCardElementComponent,
299
+ NiceStripeCardFormComponent], imports: [NgxStripeModule,
300
+ ReactiveFormsModule,
301
+ TranslateModule,
302
+ MatFormFieldModule,
303
+ MatInputModule,
304
+ MatListModule,
305
+ NiceFormErrorModule,
306
+ MatButtonModule,
307
+ CommonModule], exports: [NiceStripeCardFormComponent] });
308
+ NiceStripeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeModule, imports: [NgxStripeModule,
297
309
  ReactiveFormsModule,
298
310
  TranslateModule,
299
311
  MatFormFieldModule,
@@ -301,26 +313,11 @@ NiceStripeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versio
301
313
  MatListModule,
302
314
  NiceFormErrorModule,
303
315
  MatButtonModule,
304
- CommonModule,
305
- ExtendedModule], exports: [NiceStripeCardFormComponent] });
306
- NiceStripeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeModule, imports: [[
307
- FlexModule,
308
- NgxStripeModule,
309
- ReactiveFormsModule,
310
- TranslateModule,
311
- MatFormFieldModule,
312
- MatInputModule,
313
- MatListModule,
314
- NiceFormErrorModule,
315
- MatButtonModule,
316
- CommonModule,
317
- ExtendedModule
318
- ]] });
319
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NiceStripeModule, decorators: [{
316
+ CommonModule] });
317
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.3", ngImport: i0, type: NiceStripeModule, decorators: [{
320
318
  type: NgModule,
321
319
  args: [{
322
320
  imports: [
323
- FlexModule,
324
321
  NgxStripeModule,
325
322
  ReactiveFormsModule,
326
323
  TranslateModule,
@@ -329,8 +326,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImpor
329
326
  MatListModule,
330
327
  NiceFormErrorModule,
331
328
  MatButtonModule,
332
- CommonModule,
333
- ExtendedModule
329
+ CommonModule
334
330
  ],
335
331
  declarations: [
336
332
  NiceStripeCardElementComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"recursyve-nice-stripe-kit.v2.mjs","sources":["../../../projects/nice-stripe-kit-v2/src/lib/components/card-element/stripe-card-element.component.ts","../../../projects/nice-stripe-kit-v2/src/lib/nice-stripe-kit.constant.ts","../../../projects/nice-stripe-kit-v2/src/lib/components/card-form/stripe-card-form.form.ts","../../../projects/nice-stripe-kit-v2/src/lib/components/card-form/stripe-card-form.component.ts","../../../projects/nice-stripe-kit-v2/src/lib/components/card-form/stripe-card-form.template.html","../../../projects/nice-stripe-kit-v2/src/lib/nice-stripe-kit.module.ts","../../../projects/nice-stripe-kit-v2/src/public-api.ts","../../../projects/nice-stripe-kit-v2/src/recursyve-nice-stripe-kit.v2.ts"],"sourcesContent":["import { coerceBooleanProperty } from \"@angular/cdk/coercion\";\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n Input,\n Optional,\n Self,\n ViewChild,\n ViewEncapsulation\n} from \"@angular/core\";\nimport { NgControl } from \"@angular/forms\";\nimport { MatFormFieldControl } from \"@angular/material/form-field\";\nimport { StripeCardCvcElement, StripeCardExpiryElement, StripeCardNumberElement } from \"@stripe/stripe-js\";\nimport { Subject } from \"rxjs\";\nimport { v4 as uuidv4 } from \"uuid\";\n\n@Component({\n selector: \"nice-stripe-card-element\",\n template: \"<div class='stripe-element' #element></div>\",\n styleUrls: [\"./stripe-card-element.style.scss\"],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: MatFormFieldControl,\n useExisting: NiceStripeCardElementComponent\n }\n ]\n})\nexport class NiceStripeCardElementComponent implements AfterViewInit, MatFormFieldControl<string> {\n private _placeholder: string;\n private _focused = false;\n private _required = false;\n private _disabled = false;\n\n @ViewChild(\"element\")\n private elementRef?: ElementRef;\n\n public element?: StripeCardNumberElement | StripeCardExpiryElement | StripeCardCvcElement;\n public value: string;\n public stateChanges = new Subject<void>();\n public empty = true;\n public errorState = false;\n public complete = false;\n\n @HostBinding(\"attr.aria-describedby\")\n public describedBy = \"\";\n\n @HostBinding()\n public id: string = uuidv4();\n\n @Input()\n public set placeholder(placeholder: string) {\n this._placeholder = placeholder;\n this.stateChanges.next();\n }\n\n public get placeholder() {\n return this._placeholder;\n }\n\n @Input()\n public set focused(focused: boolean) {\n this._focused = focused;\n this.stateChanges.next();\n }\n\n public get focused() {\n return this._focused;\n }\n\n @Input()\n public get required() {\n return this._required;\n }\n\n public set required(req) {\n this._required = coerceBooleanProperty(req);\n this.stateChanges.next();\n }\n\n @Input()\n public get disabled(): boolean {\n return this._disabled;\n }\n\n public set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n\n @HostBinding(\"class.floating\")\n public get shouldLabelFloat() {\n return this.focused || !this.empty;\n }\n\n public setDescribedByIds(ids: string[]) {\n this.describedBy = ids.join(\" \");\n }\n\n constructor(@Optional() @Self() public ngControl: NgControl) {\n }\n\n public async ngAfterViewInit() {\n if (this.elementRef) {\n this.empty = !this.value;\n }\n }\n\n public async init(element: StripeCardNumberElement | StripeCardExpiryElement | StripeCardCvcElement) {\n this.element = element;\n this.element.mount(this.elementRef.nativeElement);\n this.stateChanges.next();\n\n this.element.update({\n placeholder: this.placeholder\n });\n\n (this.element as StripeCardNumberElement).on(\"blur\", () => {\n this.focused = false;\n if (this.empty && this._required) {\n this.errorState = true;\n }\n });\n (this.element as StripeCardNumberElement).on(\"focus\", () => {\n this.focused = true;\n });\n\n (this.element as StripeCardNumberElement).on(\"change\", event => {\n this.empty = event.empty;\n this.errorState = !!event.error;\n this.complete = event.complete;\n this.stateChanges.next();\n });\n }\n\n public markAsTouched(): void {\n this.errorState = !!this.empty;\n this.stateChanges.next();\n }\n\n public onContainerClick(event: MouseEvent): void {\n }\n}\n","import { InjectionToken } from \"@angular/core\";\n\nexport const NICE_STRIPE_OPTIONS = new InjectionToken(\"nice_stripe_options\");\n","import { Control, Required } from \"@recursyve/ngx-form-generator\";\n\nexport class StripeForm {\n @Control()\n @Required()\n public name: string;\n}\n","import { Component, Inject, Input, OnDestroy, OnInit, Optional, ViewChild, ViewEncapsulation } from \"@angular/core\";\nimport { MatFormFieldAppearance } from \"@angular/material/form-field\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { GeneratedFormGroup, ngxFormGeneratorFactory } from \"@recursyve/ngx-form-generator\";\nimport { niceAnimations } from \"@recursyve/nice-ui-kit.v2\";\nimport {\n StripeCardCvcElement,\n StripeCardExpiryElement,\n StripeCardNumberElement,\n StripeCardNumberElementOptions,\n StripeElements\n} from \"@stripe/stripe-js\";\nimport { StripeService } from \"ngx-stripe\";\nimport { map } from \"rxjs/operators\";\nimport { NICE_STRIPE_OPTIONS } from \"../../nice-stripe-kit.constant\";\nimport { NiceStripeKitOptions } from \"../../nice-stripe-kit.options\";\nimport { NiceStripeCardElementComponent } from \"../card-element/stripe-card-element.component\";\nimport { StripeForm } from \"./stripe-card-form.form\";\n\n@Component({\n selector: \"nice-stripe-card-form\",\n templateUrl: \"stripe-card-form.template.html\",\n styleUrls: [\"stripe-card-form.style.scss\"],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: GeneratedFormGroup,\n useFactory: ngxFormGeneratorFactory(StripeForm)\n }\n ],\n animations: niceAnimations\n})\nexport class NiceStripeCardFormComponent implements OnInit, OnDestroy {\n @Input()\n public appearance: MatFormFieldAppearance;\n\n @Input()\n public showIcons = false;\n\n @ViewChild(\"cardNumber\")\n public cardNumberInput: NiceStripeCardElementComponent;\n\n @ViewChild(\"cardExpiry\")\n public cardExpiryInput: NiceStripeCardElementComponent;\n\n @ViewChild(\"cardCvc\")\n public cardCvcInput: NiceStripeCardElementComponent;\n\n public cardNumberElement: StripeCardNumberElement;\n public cardNumberError: string;\n public cardExpiryElement: StripeCardExpiryElement;\n public cardExpiryError: string;\n public cardCvcElement: StripeCardCvcElement;\n public cardCvcError: string;\n\n public stripeOptions: StripeCardNumberElementOptions;\n\n private elements: StripeElements;\n\n public get isValid(): boolean {\n return this.cardNumberInput.complete &&\n this.cardExpiryInput.complete &&\n this.cardCvcInput.complete &&\n this.formGroup.valid;\n }\n\n public get cardToken(): Promise<string> {\n if (!this.isValid) {\n return null;\n }\n\n return this.stripeService.createToken(this.cardNumberElement, {\n name: this.formGroup.get(\"name\").value\n }).pipe(\n map(x => x?.token?.id)\n ).toPromise();\n }\n\n constructor(\n @Optional() @Inject(NICE_STRIPE_OPTIONS) public options: NiceStripeKitOptions,\n public formGroup: GeneratedFormGroup<StripeForm>,\n private stripeService: StripeService,\n private translateService: TranslateService\n ) {\n }\n\n public async ngOnInit(): Promise<void> {\n this.stripeOptions = {\n placeholder: \"\",\n style: {\n base: this.options.styling\n }\n };\n\n this.elements = await this.stripeService.elements({\n locale: this.translateService.currentLang as any,\n fonts: this.options?.fonts ?? []\n }).toPromise();\n\n this.initCardNumber();\n this.initCardExpiry();\n this.initCardCvc();\n }\n\n public initCardNumber() {\n this.cardNumberElement = this.elements.create(\"cardNumber\", {\n ...this.stripeOptions,\n });\n this.cardNumberElement.on(\"change\", event => {\n this.cardNumberError = event.error ? event.error.message : null;\n });\n this.cardNumberInput.init(this.cardNumberElement);\n }\n\n public initCardExpiry() {\n this.cardExpiryElement = this.elements.create(\"cardExpiry\", {\n ...this.stripeOptions,\n });\n this.cardExpiryElement.on(\"change\", event => {\n this.cardExpiryError = event.error ? event.error.message : null;\n });\n this.cardExpiryInput.init(this.cardExpiryElement);\n }\n\n public initCardCvc() {\n this.cardCvcElement = this.elements.create(\"cardCvc\", {\n ...this.stripeOptions,\n });\n this.cardCvcElement.on(\"change\", event => {\n this.cardCvcError = event.error ? event.error.message : null;\n });\n this.cardCvcInput.init(this.cardCvcElement);\n }\n\n public ngOnDestroy(): void {\n this.cardNumberElement.unmount();\n this.cardExpiryElement.unmount();\n this.cardCvcElement.unmount();\n }\n\n public patchName(name: string) {\n this.formGroup.get(\"name\").patchValue(name);\n }\n\n public markAllAsTouched(): void {\n this.formGroup.markAllAsTouched();\n this.cardCvcInput.markAsTouched();\n this.cardNumberInput.markAsTouched();\n this.cardExpiryInput.markAsTouched();\n }\n\n private getYear(): number {\n const date = new Date();\n return +date.getFullYear().toString().substr(-2);\n }\n}\n","<mat-list [formGroup]=\"formGroup\">\n <mat-list-item>\n <mat-form-field [appearance]=\"appearance\" niceControlStatus floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.name_on_card.label\" | translate}}</mat-label>\n <input [placeholder]=\"'nice_ui_kit.stripe.name_on_card.placeholder' | translate\" matInput type=\"text\"\n formControlName=\"name\" required/>\n <div matPrefix class=\"pr-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-user-circle text-accent form-icons\"></i>\n </div>\n </mat-form-field>\n </mat-list-item>\n <mat-list-item>\n <div fxLayout=\"column\" class=\"w-full\">\n <div fxLayout=\"row\">\n <mat-form-field fxFlex=\"100\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.card_number.label\" | translate}}</mat-label>\n <div matPrefix class=\"pr-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-credit-card text-accent form-icons\"></i>\n </div>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.card_number.placeholder' | translate\"\n #cardNumber required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardNumberError\">{{ cardNumberError }}</mat-error>\n </mat-form-field>\n </div>\n <div fxLayout=\"row\" fxLayoutGap=\"15px\">\n <mat-form-field fxFlex=\"50\" fxFlex.lt-md=\"48\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.expiration.label\" | translate}}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.expiration.placeholder' | translate\"\n #cardExpiry required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardExpiryError\">{{ cardExpiryError }}</mat-error>\n </mat-form-field>\n <mat-form-field fxFlex=\"50\" fxFlex.lt-md=\"48\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.cvc.label\" | translate}}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.cvc.placeholder' | translate\" #cardCvc\n required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardCvcError\">{{ cardCvcError }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-list-item>\n</mat-list>\n","import { CommonModule } from \"@angular/common\";\nimport { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { ExtendedModule, FlexModule } from \"@angular/flex-layout\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatListModule } from \"@angular/material/list\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { NiceFormErrorModule } from \"@recursyve/nice-ui-kit.v2\";\nimport { NgxStripeModule } from \"ngx-stripe\";\nimport { NiceStripeCardElementComponent } from \"./components/card-element/stripe-card-element.component\";\nimport { NiceStripeCardFormComponent } from \"./components/card-form/stripe-card-form.component\";\nimport { NICE_STRIPE_OPTIONS } from \"./nice-stripe-kit.constant\";\nimport { NiceStripeKitOptions } from \"./nice-stripe-kit.options\";\n\n@NgModule({\n imports: [\n FlexModule,\n NgxStripeModule,\n ReactiveFormsModule,\n TranslateModule,\n\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n NiceFormErrorModule,\n MatButtonModule,\n CommonModule,\n ExtendedModule\n ],\n declarations: [\n NiceStripeCardElementComponent,\n NiceStripeCardFormComponent\n ],\n exports: [\n NiceStripeCardFormComponent\n ]\n})\nexport class NiceStripeModule {\n public static forRoot(options?: NiceStripeKitOptions): ModuleWithProviders<NiceStripeModule> {\n return {\n ngModule: NiceStripeModule,\n providers: [\n {\n provide: NICE_STRIPE_OPTIONS,\n useValue: options\n }\n ]\n };\n }\n}\n","/*\n * Public API Surface of nice-stripe-kit\n */\n\nexport * from \"./lib/nice-stripe-kit.module\";\nexport * from \"./lib/components/card-element/stripe-card-element.component\";\nexport * from \"./lib/components/card-form/stripe-card-form.component\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidv4"],"mappings":"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"}
1
+ {"version":3,"file":"recursyve-nice-stripe-kit.v2.mjs","sources":["../../../projects/nice-stripe-kit-v2/src/lib/components/card-element/stripe-card-element.component.ts","../../../projects/nice-stripe-kit-v2/src/lib/nice-stripe-kit.constant.ts","../../../projects/nice-stripe-kit-v2/src/lib/components/card-form/stripe-card-form.form.ts","../../../projects/nice-stripe-kit-v2/src/lib/components/card-form/stripe-card-form.component.ts","../../../projects/nice-stripe-kit-v2/src/lib/components/card-form/stripe-card-form.template.html","../../../projects/nice-stripe-kit-v2/src/lib/nice-stripe-kit.module.ts","../../../projects/nice-stripe-kit-v2/src/public-api.ts","../../../projects/nice-stripe-kit-v2/src/recursyve-nice-stripe-kit.v2.ts"],"sourcesContent":["import { coerceBooleanProperty } from \"@angular/cdk/coercion\";\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n HostBinding,\n Input,\n Optional,\n Self,\n ViewChild,\n ViewEncapsulation\n} from \"@angular/core\";\nimport { NgControl } from \"@angular/forms\";\nimport { MatFormFieldControl } from \"@angular/material/form-field\";\nimport { StripeCardCvcElement, StripeCardExpiryElement, StripeCardNumberElement } from \"@stripe/stripe-js\";\nimport { Subject } from \"rxjs\";\nimport { v4 as uuidv4 } from \"uuid\";\n\n@Component({\n selector: \"nice-stripe-card-element\",\n template: \"<div class='stripe-element' #element></div>\",\n styleUrls: [\"./stripe-card-element.style.scss\"],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: MatFormFieldControl,\n useExisting: NiceStripeCardElementComponent\n }\n ]\n})\nexport class NiceStripeCardElementComponent implements AfterViewInit, MatFormFieldControl<string> {\n private _placeholder: string;\n private _focused = false;\n private _required = false;\n private _disabled = false;\n\n @ViewChild(\"element\")\n private elementRef?: ElementRef;\n\n public element?: StripeCardNumberElement | StripeCardExpiryElement | StripeCardCvcElement;\n public value: string;\n public stateChanges = new Subject<void>();\n public empty = true;\n public errorState = false;\n public complete = false;\n\n @HostBinding(\"attr.aria-describedby\")\n public describedBy = \"\";\n\n @HostBinding()\n public id: string = uuidv4();\n\n @Input()\n public set placeholder(placeholder: string) {\n this._placeholder = placeholder;\n this.stateChanges.next();\n }\n\n public get placeholder() {\n return this._placeholder;\n }\n\n @Input()\n public set focused(focused: boolean) {\n this._focused = focused;\n this.stateChanges.next();\n }\n\n public get focused() {\n return this._focused;\n }\n\n @Input()\n public get required() {\n return this._required;\n }\n\n public set required(req) {\n this._required = coerceBooleanProperty(req);\n this.stateChanges.next();\n }\n\n @Input()\n public get disabled(): boolean {\n return this._disabled;\n }\n\n public set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n this.stateChanges.next();\n }\n\n @HostBinding(\"class.floating\")\n public get shouldLabelFloat() {\n return this.focused || !this.empty;\n }\n\n public setDescribedByIds(ids: string[]) {\n this.describedBy = ids.join(\" \");\n }\n\n constructor(@Optional() @Self() public ngControl: NgControl) {\n }\n\n public async ngAfterViewInit() {\n if (this.elementRef) {\n this.empty = !this.value;\n }\n }\n\n public async init(element: StripeCardNumberElement | StripeCardExpiryElement | StripeCardCvcElement) {\n this.element = element;\n this.element.mount(this.elementRef.nativeElement);\n this.stateChanges.next();\n\n this.element.update({\n placeholder: this.placeholder\n });\n\n (this.element as StripeCardNumberElement).on(\"blur\", () => {\n this.focused = false;\n if (this.empty && this._required) {\n this.errorState = true;\n }\n });\n (this.element as StripeCardNumberElement).on(\"focus\", () => {\n this.focused = true;\n });\n\n (this.element as StripeCardNumberElement).on(\"change\", event => {\n this.empty = event.empty;\n this.errorState = !!event.error;\n this.complete = event.complete;\n this.stateChanges.next();\n });\n }\n\n public markAsTouched(): void {\n this.errorState = !!this.empty;\n this.stateChanges.next();\n }\n\n public onContainerClick(event: MouseEvent): void {\n }\n}\n","import { InjectionToken } from \"@angular/core\";\n\nexport const NICE_STRIPE_OPTIONS = new InjectionToken(\"nice_stripe_options\");\n","import { Control, Required } from \"@recursyve/ngx-form-generator\";\n\nexport class StripeForm {\n @Control()\n @Required()\n public name: string;\n}\n","import { Component, Inject, Input, OnDestroy, OnInit, Optional, ViewChild, ViewEncapsulation } from \"@angular/core\";\nimport { MatFormFieldAppearance } from \"@angular/material/form-field\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { GeneratedFormGroup, ngxFormGeneratorFactory } from \"@recursyve/ngx-form-generator\";\nimport { niceAnimations } from \"@recursyve/nice-ui-kit.v2\";\nimport {\n StripeCardCvcElement,\n StripeCardExpiryElement,\n StripeCardNumberElement,\n StripeCardNumberElementOptions,\n StripeElements\n} from \"@stripe/stripe-js\";\nimport { StripeService } from \"ngx-stripe\";\nimport { map } from \"rxjs/operators\";\nimport { NICE_STRIPE_OPTIONS } from \"../../nice-stripe-kit.constant\";\nimport { NiceStripeKitOptions } from \"../../nice-stripe-kit.options\";\nimport { NiceStripeCardElementComponent } from \"../card-element/stripe-card-element.component\";\nimport { StripeForm } from \"./stripe-card-form.form\";\n\n@Component({\n selector: \"nice-stripe-card-form\",\n templateUrl: \"stripe-card-form.template.html\",\n styleUrls: [\"stripe-card-form.style.scss\"],\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: GeneratedFormGroup,\n useFactory: ngxFormGeneratorFactory(StripeForm)\n }\n ],\n animations: niceAnimations\n})\nexport class NiceStripeCardFormComponent implements OnInit, OnDestroy {\n @Input()\n public appearance: MatFormFieldAppearance;\n\n @Input()\n public showIcons = false;\n\n @ViewChild(\"cardNumber\")\n public cardNumberInput: NiceStripeCardElementComponent;\n\n @ViewChild(\"cardExpiry\")\n public cardExpiryInput: NiceStripeCardElementComponent;\n\n @ViewChild(\"cardCvc\")\n public cardCvcInput: NiceStripeCardElementComponent;\n\n public cardNumberElement: StripeCardNumberElement;\n public cardNumberError: string;\n public cardExpiryElement: StripeCardExpiryElement;\n public cardExpiryError: string;\n public cardCvcElement: StripeCardCvcElement;\n public cardCvcError: string;\n\n public stripeOptions: StripeCardNumberElementOptions;\n\n private elements: StripeElements;\n\n public get isValid(): boolean {\n return this.cardNumberInput.complete &&\n this.cardExpiryInput.complete &&\n this.cardCvcInput.complete &&\n this.formGroup.valid;\n }\n\n public get cardToken(): Promise<string> {\n if (!this.isValid) {\n return null;\n }\n\n return this.stripeService.createToken(this.cardNumberElement, {\n name: this.formGroup.get(\"name\").value\n }).pipe(\n map(x => x?.token?.id)\n ).toPromise();\n }\n\n constructor(\n @Optional() @Inject(NICE_STRIPE_OPTIONS) public options: NiceStripeKitOptions,\n public formGroup: GeneratedFormGroup<StripeForm>,\n private stripeService: StripeService,\n private translateService: TranslateService\n ) {\n }\n\n public async ngOnInit(): Promise<void> {\n this.stripeOptions = {\n placeholder: \"\",\n style: {\n base: this.options.styling\n }\n };\n\n this.elements = await this.stripeService.elements({\n locale: this.translateService.currentLang as any,\n fonts: this.options?.fonts ?? []\n }).toPromise();\n\n this.initCardNumber();\n this.initCardExpiry();\n this.initCardCvc();\n }\n\n public initCardNumber() {\n this.cardNumberElement = this.elements.create(\"cardNumber\", {\n ...this.stripeOptions,\n });\n this.cardNumberElement.on(\"change\", event => {\n this.cardNumberError = event.error ? event.error.message : null;\n });\n this.cardNumberInput.init(this.cardNumberElement);\n }\n\n public initCardExpiry() {\n this.cardExpiryElement = this.elements.create(\"cardExpiry\", {\n ...this.stripeOptions,\n });\n this.cardExpiryElement.on(\"change\", event => {\n this.cardExpiryError = event.error ? event.error.message : null;\n });\n this.cardExpiryInput.init(this.cardExpiryElement);\n }\n\n public initCardCvc() {\n this.cardCvcElement = this.elements.create(\"cardCvc\", {\n ...this.stripeOptions,\n });\n this.cardCvcElement.on(\"change\", event => {\n this.cardCvcError = event.error ? event.error.message : null;\n });\n this.cardCvcInput.init(this.cardCvcElement);\n }\n\n public ngOnDestroy(): void {\n if (this.cardNumberElement) {\n this.cardNumberElement.unmount();\n }\n\n if (this.cardExpiryElement) {\n this.cardExpiryElement.unmount();\n }\n\n if (this.cardCvcElement) {\n this.cardCvcElement.unmount();\n }\n }\n\n public patchName(name: string) {\n this.formGroup.get(\"name\").patchValue(name);\n }\n\n public markAllAsTouched(): void {\n this.formGroup.markAllAsTouched();\n this.cardCvcInput.markAsTouched();\n this.cardNumberInput.markAsTouched();\n this.cardExpiryInput.markAsTouched();\n }\n\n private getYear(): number {\n const date = new Date();\n return +date.getFullYear().toString().substr(-2);\n }\n}\n","<mat-list [formGroup]=\"formGroup\">\n <mat-list-item>\n <mat-form-field [appearance]=\"appearance\" niceControlStatus floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.name_on_card.label\" | translate }}</mat-label>\n <input [placeholder]=\"'nice_ui_kit.stripe.name_on_card.placeholder' | translate\" matInput type=\"text\"\n formControlName=\"name\" required/>\n <div matPrefix class=\"pl-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-user-circle accent-fg\"></i>\n </div>\n </mat-form-field>\n </mat-list-item>\n <mat-list-item>\n <div class=\"flex flex-col w-full\">\n <div class=\"flex flex-row\">\n <mat-form-field class=\"flex-full max-w-full\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.card_number.label\" | translate }}</mat-label>\n <div matPrefix class=\"pl-2\" *ngIf=\"showIcons\">\n <i class=\"fad fa-credit-card accent-fg\"></i>\n </div>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.card_number.placeholder' | translate\"\n #cardNumber required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardNumberError\">{{ cardNumberError }}</mat-error>\n </mat-form-field>\n </div>\n <div class=\"flex flex-row gap-4\">\n <mat-form-field class=\"flex flex-full max-w-1/2\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.expiration.label\" | translate }}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.expiration.placeholder' | translate\"\n #cardExpiry required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardExpiryError\">{{ cardExpiryError }}</mat-error>\n </mat-form-field>\n <mat-form-field class=\"flex flex-full max-w-1/2\" [appearance]=\"appearance\" floatLabel=\"always\">\n <mat-label>{{ \"nice_ui_kit.stripe.cvc.label\" | translate }}</mat-label>\n <nice-stripe-card-element [placeholder]=\"'nice_ui_kit.stripe.cvc.placeholder' | translate\" #cardCvc\n required></nice-stripe-card-element>\n <mat-error [@slideInBottom] *ngIf=\"cardCvcError\">{{ cardCvcError }}</mat-error>\n </mat-form-field>\n </div>\n </div>\n </mat-list-item>\n</mat-list>\n","import { CommonModule } from \"@angular/common\";\nimport { ModuleWithProviders, NgModule } from \"@angular/core\";\nimport { ReactiveFormsModule } from \"@angular/forms\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\nimport { MatInputModule } from \"@angular/material/input\";\nimport { MatListModule } from \"@angular/material/list\";\nimport { TranslateModule } from \"@ngx-translate/core\";\nimport { NiceFormErrorModule } from \"@recursyve/nice-ui-kit.v2\";\nimport { NgxStripeModule } from \"ngx-stripe\";\nimport { NiceStripeCardElementComponent } from \"./components/card-element/stripe-card-element.component\";\nimport { NiceStripeCardFormComponent } from \"./components/card-form/stripe-card-form.component\";\nimport { NICE_STRIPE_OPTIONS } from \"./nice-stripe-kit.constant\";\nimport { NiceStripeKitOptions } from \"./nice-stripe-kit.options\";\n\n@NgModule({\n imports: [\n NgxStripeModule,\n ReactiveFormsModule,\n TranslateModule,\n\n MatFormFieldModule,\n MatInputModule,\n MatListModule,\n NiceFormErrorModule,\n MatButtonModule,\n CommonModule\n ],\n declarations: [\n NiceStripeCardElementComponent,\n NiceStripeCardFormComponent\n ],\n exports: [\n NiceStripeCardFormComponent\n ]\n})\nexport class NiceStripeModule {\n public static forRoot(options?: NiceStripeKitOptions): ModuleWithProviders<NiceStripeModule> {\n return {\n ngModule: NiceStripeModule,\n providers: [\n {\n provide: NICE_STRIPE_OPTIONS,\n useValue: options\n }\n ]\n };\n }\n}\n","/*\n * Public API Surface of nice-stripe-kit\n */\n\nexport * from \"./lib/nice-stripe-kit.module\";\nexport * from \"./lib/components/card-element/stripe-card-element.component\";\nexport * from \"./lib/components/card-form/stripe-card-form.component\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidv4","i1"],"mappings":"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"}
@@ -35,5 +35,5 @@ export declare class NiceStripeCardElementComponent implements AfterViewInit, Ma
35
35
  markAsTouched(): void;
36
36
  onContainerClick(event: MouseEvent): void;
37
37
  static ɵfac: i0.ɵɵFactoryDeclaration<NiceStripeCardElementComponent, [{ optional: true; self: true; }]>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<NiceStripeCardElementComponent, "nice-stripe-card-element", never, { "placeholder": "placeholder"; "focused": "focused"; "required": "required"; "disabled": "disabled"; }, {}, never, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<NiceStripeCardElementComponent, "nice-stripe-card-element", never, { "placeholder": "placeholder"; "focused": "focused"; "required": "required"; "disabled": "disabled"; }, {}, never, never, false>;
39
39
  }
@@ -38,5 +38,5 @@ export declare class NiceStripeCardFormComponent implements OnInit, OnDestroy {
38
38
  markAllAsTouched(): void;
39
39
  private getYear;
40
40
  static ɵfac: i0.ɵɵFactoryDeclaration<NiceStripeCardFormComponent, [{ optional: true; }, null, null, null]>;
41
- static ɵcmp: i0.ɵɵComponentDeclaration<NiceStripeCardFormComponent, "nice-stripe-card-form", never, { "appearance": "appearance"; "showIcons": "showIcons"; }, {}, never, never>;
41
+ static ɵcmp: i0.ɵɵComponentDeclaration<NiceStripeCardFormComponent, "nice-stripe-card-form", never, { "appearance": "appearance"; "showIcons": "showIcons"; }, {}, never, never, false>;
42
42
  }
@@ -3,19 +3,18 @@ import { NiceStripeKitOptions } from "./nice-stripe-kit.options";
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "./components/card-element/stripe-card-element.component";
5
5
  import * as i2 from "./components/card-form/stripe-card-form.component";
6
- import * as i3 from "@angular/flex-layout";
7
- import * as i4 from "ngx-stripe";
8
- import * as i5 from "@angular/forms";
9
- import * as i6 from "@ngx-translate/core";
10
- import * as i7 from "@angular/material/form-field";
11
- import * as i8 from "@angular/material/input";
12
- import * as i9 from "@angular/material/list";
13
- import * as i10 from "@recursyve/nice-ui-kit.v2";
14
- import * as i11 from "@angular/material/button";
15
- import * as i12 from "@angular/common";
6
+ import * as i3 from "ngx-stripe";
7
+ import * as i4 from "@angular/forms";
8
+ import * as i5 from "@ngx-translate/core";
9
+ import * as i6 from "@angular/material/form-field";
10
+ import * as i7 from "@angular/material/input";
11
+ import * as i8 from "@angular/material/list";
12
+ import * as i9 from "@recursyve/nice-ui-kit.v2";
13
+ import * as i10 from "@angular/material/button";
14
+ import * as i11 from "@angular/common";
16
15
  export declare class NiceStripeModule {
17
16
  static forRoot(options?: NiceStripeKitOptions): ModuleWithProviders<NiceStripeModule>;
18
17
  static ɵfac: i0.ɵɵFactoryDeclaration<NiceStripeModule, never>;
19
- static ɵmod: i0.ɵɵNgModuleDeclaration<NiceStripeModule, [typeof i1.NiceStripeCardElementComponent, typeof i2.NiceStripeCardFormComponent], [typeof i3.FlexModule, typeof i4.NgxStripeModule, typeof i5.ReactiveFormsModule, typeof i6.TranslateModule, typeof i7.MatFormFieldModule, typeof i8.MatInputModule, typeof i9.MatListModule, typeof i10.NiceFormErrorModule, typeof i11.MatButtonModule, typeof i12.CommonModule, typeof i3.ExtendedModule], [typeof i2.NiceStripeCardFormComponent]>;
18
+ static ɵmod: i0.ɵɵNgModuleDeclaration<NiceStripeModule, [typeof i1.NiceStripeCardElementComponent, typeof i2.NiceStripeCardFormComponent], [typeof i3.NgxStripeModule, typeof i4.ReactiveFormsModule, typeof i5.TranslateModule, typeof i6.MatFormFieldModule, typeof i7.MatInputModule, typeof i8.MatListModule, typeof i9.NiceFormErrorModule, typeof i10.MatButtonModule, typeof i11.CommonModule], [typeof i2.NiceStripeCardFormComponent]>;
20
19
  static ɵinj: i0.ɵɵInjectorDeclaration<NiceStripeModule>;
21
20
  }
package/package.json CHANGED
@@ -1,30 +1,30 @@
1
1
  {
2
2
  "name": "@recursyve/nice-stripe-kit.v2",
3
- "version": "13.0.0-beta.3",
3
+ "version": "14.0.0-beta.5",
4
4
  "dependencies": {
5
5
  "tslib": "^2.0.0"
6
6
  },
7
7
  "peerDependencies": {
8
- "@angular/common": "^13.0.0",
9
- "@angular/core": "^13.0.0",
10
- "@recursyve/nice-ui-kit.v2": "^13.0.0-beta.42",
11
- "@recursyve/ngx-form-generator": "^13.0.0-beta.19",
8
+ "@angular/common": "^14.0.0",
9
+ "@angular/core": "^14.0.0",
10
+ "@recursyve/nice-ui-kit.v2": "^14.0.0-beta.100",
11
+ "@recursyve/ngx-form-generator": "^14.0.0-beta.39",
12
12
  "@stripe/stripe-js": "^1.21.0",
13
- "ngx-stripe": "^13.0.0",
14
- "uuid": "^3.4.0"
13
+ "ngx-stripe": "^14.0.0",
14
+ "uuid": ">= 9.0.0"
15
15
  },
16
16
  "module": "fesm2015/recursyve-nice-stripe-kit.v2.mjs",
17
17
  "es2020": "fesm2020/recursyve-nice-stripe-kit.v2.mjs",
18
18
  "esm2020": "esm2020/recursyve-nice-stripe-kit.v2.mjs",
19
19
  "fesm2020": "fesm2020/recursyve-nice-stripe-kit.v2.mjs",
20
20
  "fesm2015": "fesm2015/recursyve-nice-stripe-kit.v2.mjs",
21
- "typings": "recursyve-nice-stripe-kit.v2.d.ts",
21
+ "typings": "index.d.ts",
22
22
  "exports": {
23
23
  "./package.json": {
24
24
  "default": "./package.json"
25
25
  },
26
26
  ".": {
27
- "types": "./recursyve-nice-stripe-kit.v2.d.ts",
27
+ "types": "./index.d.ts",
28
28
  "esm2020": "./esm2020/recursyve-nice-stripe-kit.v2.mjs",
29
29
  "es2020": "./fesm2020/recursyve-nice-stripe-kit.v2.mjs",
30
30
  "es2015": "./fesm2015/recursyve-nice-stripe-kit.v2.mjs",