@recursyve/nice-stripe-kit.v2 15.0.0-beta.6 → 17.0.0-beta.8

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.
@@ -0,0 +1,130 @@
1
+ import { coerceBooleanProperty } from "@angular/cdk/coercion";
2
+ import { Component, ElementRef, HostBinding, Input, Optional, Self, ViewChild, ViewEncapsulation } from "@angular/core";
3
+ import { NgControl } from "@angular/forms";
4
+ import { MatFormFieldControl } from "@angular/material/form-field";
5
+ import { Subject } from "rxjs";
6
+ import { v4 as uuidv4 } from "uuid";
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@angular/forms";
9
+ export class NiceStripeCardElementComponent {
10
+ set placeholder(placeholder) {
11
+ this._placeholder = placeholder;
12
+ this.stateChanges.next();
13
+ }
14
+ get placeholder() {
15
+ return this._placeholder;
16
+ }
17
+ set focused(focused) {
18
+ this._focused = focused;
19
+ this.stateChanges.next();
20
+ }
21
+ get focused() {
22
+ return this._focused;
23
+ }
24
+ get required() {
25
+ return this._required;
26
+ }
27
+ set required(req) {
28
+ this._required = coerceBooleanProperty(req);
29
+ this.stateChanges.next();
30
+ }
31
+ get disabled() {
32
+ return this._disabled;
33
+ }
34
+ set disabled(value) {
35
+ this._disabled = coerceBooleanProperty(value);
36
+ this.stateChanges.next();
37
+ }
38
+ get shouldLabelFloat() {
39
+ return this.focused || !this.empty;
40
+ }
41
+ setDescribedByIds(ids) {
42
+ this.describedBy = ids.join(" ");
43
+ }
44
+ constructor(ngControl) {
45
+ this.ngControl = ngControl;
46
+ this._focused = false;
47
+ this._required = false;
48
+ this._disabled = false;
49
+ this.stateChanges = new Subject();
50
+ this.empty = true;
51
+ this.errorState = false;
52
+ this.complete = false;
53
+ this.describedBy = "";
54
+ this.id = uuidv4();
55
+ }
56
+ async ngAfterViewInit() {
57
+ if (this.elementRef) {
58
+ this.empty = !this.value;
59
+ }
60
+ }
61
+ async init(element) {
62
+ this.element = element;
63
+ this.element.mount(this.elementRef.nativeElement);
64
+ this.stateChanges.next();
65
+ this.element.update({
66
+ placeholder: this.placeholder
67
+ });
68
+ this.element.on("blur", () => {
69
+ this.focused = false;
70
+ if (this.empty && this._required) {
71
+ this.errorState = true;
72
+ }
73
+ });
74
+ this.element.on("focus", () => {
75
+ this.focused = true;
76
+ });
77
+ this.element.on("change", event => {
78
+ this.empty = event.empty;
79
+ this.errorState = !!event.error;
80
+ this.complete = event.complete;
81
+ this.stateChanges.next();
82
+ });
83
+ }
84
+ markAsTouched() {
85
+ this.errorState = !!this.empty;
86
+ this.stateChanges.next();
87
+ }
88
+ onContainerClick(event) {
89
+ }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceStripeCardElementComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
91
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", 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: [
92
+ {
93
+ provide: MatFormFieldControl,
94
+ useExisting: NiceStripeCardElementComponent
95
+ }
96
+ ], 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 }); }
97
+ }
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceStripeCardElementComponent, decorators: [{
99
+ type: Component,
100
+ args: [{ selector: "nice-stripe-card-element", template: "<div class='stripe-element' #element></div>", encapsulation: ViewEncapsulation.None, providers: [
101
+ {
102
+ provide: MatFormFieldControl,
103
+ useExisting: NiceStripeCardElementComponent
104
+ }
105
+ ], styles: ["nice-stripe-card-element .stripe-element{height:15px}\n"] }]
106
+ }], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
107
+ type: Optional
108
+ }, {
109
+ type: Self
110
+ }] }], propDecorators: { elementRef: [{
111
+ type: ViewChild,
112
+ args: ["element"]
113
+ }], describedBy: [{
114
+ type: HostBinding,
115
+ args: ["attr.aria-describedby"]
116
+ }], id: [{
117
+ type: HostBinding
118
+ }], placeholder: [{
119
+ type: Input
120
+ }], focused: [{
121
+ type: Input
122
+ }], required: [{
123
+ type: Input
124
+ }], disabled: [{
125
+ type: Input
126
+ }], shouldLabelFloat: [{
127
+ type: HostBinding,
128
+ args: ["class.floating"]
129
+ }] } });
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaXBlLWNhcmQtZWxlbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXN0cmlwZS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQtZWxlbWVudC9zdHJpcGUtY2FyZC1lbGVtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBRUgsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBQ1gsS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0osU0FBUyxFQUNULGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBY3BDLE1BQU0sT0FBTyw4QkFBOEI7SUFzQnZDLElBQ1csV0FBVyxDQUFDLFdBQW1CO1FBQ3RDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsV0FBVztRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQ1csT0FBTyxDQUFDLE9BQWdCO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQVcsT0FBTztRQUNkLE9BQU8sSUFBSSxD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QUFRLENBQUM7WUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTSxhQUFhO1FBQ2hCLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sZ0JBQWdCLENBQUMsS0FBaUI7SUFDekMsQ0FBQzsrR0FqSFEsOEJBQThCO21HQUE5Qiw4QkFBOEIsOFJBUDVCO1lBQ1A7Z0JBQ0ksT0FBTyxFQUFFLG1CQUFtQjtnQkFDNUIsV0FBVyxFQUFFLDhCQUE4QjthQUM5QztTQUNKLGlJQVJTLDZDQUE2Qzs7NEZBVTlDLDhCQUE4QjtrQkFaMUMsU0FBUzsrQkFDSSwwQkFBMEIsWUFDMUIsNkNBQTZDLGlCQUV4QyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO3dCQUNQOzRCQUNJLE9BQU8sRUFBRSxtQkFBbUI7NEJBQzVCLFdBQVcsZ0NBQWdDO3lCQUM5QztxQkFDSjs7MEJBeUVZLFFBQVE7OzBCQUFJLElBQUk7eUNBaEVyQixVQUFVO3NCQURqQixTQUFTO3VCQUFDLFNBQVM7Z0JBV2IsV0FBVztzQkFEakIsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBSTdCLEVBQUU7c0JBRFIsV0FBVztnQkFJRCxXQUFXO3NCQURyQixLQUFLO2dCQVdLLE9BQU87c0JBRGpCLEtBQUs7Z0JBV0ssUUFBUTtzQkFEbEIsS0FBSztnQkFXSyxRQUFRO3NCQURsQixLQUFLO2dCQVdLLGdCQUFnQjtzQkFEMUIsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2NvZXJjaW9uXCI7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgU2VsZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE5nQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XG5pbXBvcnQgeyBTdHJpcGVDYXJkQ3ZjRWxlbWVudCwgU3RyaXBlQ2FyZEV4cGlyeUVsZW1lbnQsIFN0cmlwZUNhcmROdW1iZXJFbGVtZW50IH0gZnJvbSBcIkBzdHJpcGUvc3RyaXBlLWpzXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gXCJ1dWlkXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2Utc3RyaXBlLWNhcmQtZWxlbWVudFwiLFxuICAgIHRlbXBsYXRlOiBcIjxkaXYgY2xhc3M9J3N0cmlwZS1lbGVtZW50JyAjZWxlbWVudD48L2Rpdj5cIixcbiAgICBzdHlsZVVybHM6IFtcIi4vc3RyaXBlLWNhcmQtZWxlbWVudC5zdHlsZS5zY3NzXCJdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IE1hdEZvcm1GaWVsZENvbnRyb2wsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogTmljZVN0cmlwZUNhcmRFbGVtZW50Q29tcG9uZW50XG4gICAgICAgIH1cbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VTdHJpcGVDYXJkRWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE1hdEZvcm1GaWVsZENvbnRyb2w8c3RyaW5nPiB7XG4gICAgcHJpdmF0ZSBfcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBwcml2YXRlIF9mb2N1c2VkID0gZmFsc2U7XG4gICAgcHJpdmF0ZSBfcmVxdWlyZWQgPSBmYWxzZTtcbiAgICBwcml2YXRlIF9kaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZChcImVsZW1lbnRcIilcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY/OiBFbGVtZW50UmVmO1xuXG4gICAgcHVibGljIGVsZW1lbnQ/OiBTdHJpcGVDYXJkTnVtYmVyRWxlbWVudCB8IFN0cmlwZUNhcmRFeHBpcnlFbGVtZW50IHwgU3RyaXBlQ2FyZEN2Y0VsZW1lbnQ7XG4gICAgcHVibGljIHZhbHVlOiBzdHJpbmc7XG4gICAgcHVibGljIHN0YXRlQ2hhbmdlcyA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHVibGljIGVtcHR5ID0gdHJ1ZTtcbiAgICBwdWJsaWMgZXJyb3JTdGF0ZSA9IGZhbHNlO1xuICAgIHB1YmxpYyBjb21wbGV0ZSA9IGZhbHNlO1xuXG4gICAgQEhvc3RCaW5kaW5nKFwiYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XCIpXG4gICAgcHVibGljIGRlc2NyaWJlZEJ5ID0gXCJcIjtcblxuICAgIEBIb3N0QmluZGluZygpXG4gICAgcHVibGljIGlkOiBzdHJpbmcgPSB1dWlkdjQoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBwbGFjZWhvbGRlcihwbGFjZWhvbGRlcjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHBsYWNlaG9sZGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXI7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGZvY3VzZWQoZm9jdXNlZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9mb2N1c2VkID0gZm9jdXNlZDtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZm9jdXNlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ZvY3VzZWQ7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgZ2V0IHJlcXVpcmVkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVxdWlyZWQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCByZXF1aXJlZChyZXEpIHtcbiAgICAgICAgdGhpcy5fcmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkocmVxKTtcbiAgICAgICAgdGhpcy5zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgfVxuXG4gICAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuZmxvYXRpbmdcIilcbiAgICBwdWJsaWMgZ2V0IHNob3VsZExhYmVsRmxvYXQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzZWQgfHwgIXRoaXMuZW1wdHk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldERlc2NyaWJlZEJ5SWRzKGlkczogc3RyaW5nW10pIHtcbiAgICAgICAgdGhpcy5kZXNjcmliZWRCeSA9IGlkcy5qb2luKFwiIFwiKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBuZ0NvbnRyb2w6IE5nQ29udHJvbCkge1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmVsZW1lbnRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuZW1wdHkgPSAhdGhpcy52YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBpbml0KGVsZW1lbnQ6IFN0cmlwZUNhcmROdW1iZXJFbGVtZW50IHwgU3RyaXBlQ2FyZEV4cGlyeUVsZW1lbnQgfCBTdHJpcGVDYXJkQ3ZjRWxlbWVudCkge1xuICAgICAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50O1xuICAgICAgICB0aGlzLmVsZW1lbnQubW91bnQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG5cbiAgICAgICAgdGhpcy5lbGVtZW50LnVwZGF0ZSh7XG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogdGhpcy5wbGFjZWhvbGRlclxuICAgICAgICB9KTtcblxuICAgICAgICAodGhpcy5lbGVtZW50IGFzIFN0cmlwZUNhcmROdW1iZXJFbGVtZW50KS5vbihcImJsdXJcIiwgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAodGhpcy5lbXB0eSAmJiB0aGlzLl9yZXF1aXJlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JTdGF0ZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAodGhpcy5lbGVtZW50IGFzIFN0cmlwZUNhcmROdW1iZXJFbGVtZW50KS5vbihcImZvY3VzXCIsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICh0aGlzLmVsZW1lbnQgYXMgU3RyaXBlQ2FyZE51bWJlckVsZW1lbnQpLm9uKFwiY2hhbmdlXCIsIGV2ZW50ID0+IHtcbiAgICAgICAgICAgIHRoaXMuZW1wdHkgPSBldmVudC5lbXB0eTtcbiAgICAgICAgICAgIHRoaXMuZXJyb3JTdGF0ZSA9ICEhZXZlbnQuZXJyb3I7XG4gICAgICAgICAgICB0aGlzLmNvbXBsZXRlID0gZXZlbnQuY29tcGxldGU7XG4gICAgICAgICAgICB0aGlzLnN0YXRlQ2hhbmdlcy5uZXh0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBtYXJrQXNUb3VjaGVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVycm9yU3RhdGUgPSAhIXRoaXMuZW1wdHk7XG4gICAgICAgIHRoaXMuc3RhdGVDaGFuZ2VzLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Db250YWluZXJDbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,145 @@
1
+ import { Component, Inject, Input, Optional, ViewChild, ViewEncapsulation } from "@angular/core";
2
+ import { TranslateService } from "@ngx-translate/core";
3
+ import { GeneratedFormGroup, ngxFormGeneratorFactory } from "@recursyve/ngx-form-generator";
4
+ import { niceAnimations } from "@recursyve/nice-ui-kit.v2";
5
+ import { StripeService } from "ngx-stripe";
6
+ import { lastValueFrom } from "rxjs";
7
+ import { map } from "rxjs/operators";
8
+ import { NICE_STRIPE_OPTIONS } from "../../nice-stripe-kit.constant";
9
+ import { NiceStripeCardElementComponent } from "../card-element/stripe-card-element.component";
10
+ import { StripeForm } from "./stripe-card-form.form";
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@recursyve/ngx-form-generator";
13
+ import * as i2 from "ngx-stripe";
14
+ import * as i3 from "@ngx-translate/core";
15
+ import * as i4 from "@angular/forms";
16
+ import * as i5 from "@angular/material/form-field";
17
+ import * as i6 from "@angular/material/input";
18
+ import * as i7 from "@angular/material/list";
19
+ import * as i8 from "@recursyve/nice-ui-kit.v2";
20
+ import * as i9 from "@angular/common";
21
+ import * as i10 from "../card-element/stripe-card-element.component";
22
+ export class NiceStripeCardFormComponent {
23
+ get isValid() {
24
+ return this.cardNumberInput.complete &&
25
+ this.cardExpiryInput.complete &&
26
+ this.cardCvcInput.complete &&
27
+ this.formGroup.valid;
28
+ }
29
+ get cardToken() {
30
+ if (!this.isValid) {
31
+ return null;
32
+ }
33
+ return this.stripeService.createToken(this.cardNumberElement, {
34
+ name: this.formGroup.get("name").value
35
+ }).pipe(map(x => x?.token?.id)).toPromise();
36
+ }
37
+ constructor(options, formGroup, stripeService, translateService) {
38
+ this.options = options;
39
+ this.formGroup = formGroup;
40
+ this.stripeService = stripeService;
41
+ this.translateService = translateService;
42
+ this.showIcons = false;
43
+ }
44
+ async ngOnInit() {
45
+ this.stripeOptions = {
46
+ placeholder: "",
47
+ style: {
48
+ base: this.options.styling
49
+ }
50
+ };
51
+ this.elements = await lastValueFrom(this.stripeService.elements({
52
+ locale: this.translateService.currentLang,
53
+ fonts: this.options?.fonts ?? []
54
+ }));
55
+ this.initCardNumber();
56
+ this.initCardExpiry();
57
+ this.initCardCvc();
58
+ }
59
+ initCardNumber() {
60
+ this.cardNumberElement = this.elements.create("cardNumber", {
61
+ ...this.stripeOptions,
62
+ });
63
+ this.cardNumberElement.on("change", event => {
64
+ this.cardNumberError = event.error ? event.error.message : null;
65
+ });
66
+ this.cardNumberInput.init(this.cardNumberElement);
67
+ }
68
+ initCardExpiry() {
69
+ this.cardExpiryElement = this.elements.create("cardExpiry", {
70
+ ...this.stripeOptions,
71
+ });
72
+ this.cardExpiryElement.on("change", event => {
73
+ this.cardExpiryError = event.error ? event.error.message : null;
74
+ });
75
+ this.cardExpiryInput.init(this.cardExpiryElement);
76
+ }
77
+ initCardCvc() {
78
+ this.cardCvcElement = this.elements.create("cardCvc", {
79
+ ...this.stripeOptions,
80
+ });
81
+ this.cardCvcElement.on("change", event => {
82
+ this.cardCvcError = event.error ? event.error.message : null;
83
+ });
84
+ this.cardCvcInput.init(this.cardCvcElement);
85
+ }
86
+ ngOnDestroy() {
87
+ if (this.cardNumberElement) {
88
+ this.cardNumberElement.unmount();
89
+ }
90
+ if (this.cardExpiryElement) {
91
+ this.cardExpiryElement.unmount();
92
+ }
93
+ if (this.cardCvcElement) {
94
+ this.cardCvcElement.unmount();
95
+ }
96
+ }
97
+ patchName(name) {
98
+ this.formGroup.get("name").patchValue(name);
99
+ }
100
+ markAllAsTouched() {
101
+ this.formGroup.markAllAsTouched();
102
+ this.cardCvcInput.markAsTouched();
103
+ this.cardNumberInput.markAsTouched();
104
+ this.cardExpiryInput.markAsTouched();
105
+ }
106
+ getYear() {
107
+ const date = new Date();
108
+ return +date.getFullYear().toString().substr(-2);
109
+ }
110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", 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
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: NiceStripeCardFormComponent, selector: "nice-stripe-card-form", inputs: { appearance: "appearance", showIcons: "showIcons" }, providers: [
112
+ {
113
+ provide: GeneratedFormGroup,
114
+ useFactory: ngxFormGeneratorFactory(StripeForm)
115
+ }
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: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i5.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { 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", exportAs: ["matList"] }, { kind: "component", type: i7.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], 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
+ }
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceStripeCardFormComponent, decorators: [{
119
+ type: Component,
120
+ args: [{ selector: "nice-stripe-card-form", encapsulation: ViewEncapsulation.None, providers: [
121
+ {
122
+ provide: GeneratedFormGroup,
123
+ useFactory: ngxFormGeneratorFactory(StripeForm)
124
+ }
125
+ ], 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"] }]
126
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
127
+ type: Optional
128
+ }, {
129
+ type: Inject,
130
+ args: [NICE_STRIPE_OPTIONS]
131
+ }] }, { type: i1.GeneratedFormGroup }, { type: i2.StripeService }, { type: i3.TranslateService }], propDecorators: { appearance: [{
132
+ type: Input
133
+ }], showIcons: [{
134
+ type: Input
135
+ }], cardNumberInput: [{
136
+ type: ViewChild,
137
+ args: ["cardNumber"]
138
+ }], cardExpiryInput: [{
139
+ type: ViewChild,
140
+ args: ["cardExpiry"]
141
+ }], cardCvcInput: [{
142
+ type: ViewChild,
143
+ args: ["cardCvc"]
144
+ }] } });
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaXBlLWNhcmQtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uaWNlLXN0cmlwZS1raXQtdjIvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQtZm9ybS9zdHJpcGUtY2FyZC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2Utc3RyaXBlLWtpdC12Mi9zcmMvbGliL2NvbXBvbmVudHMvY2FyZC1mb3JtL3N0cmlwZS1jYXJkLWZvcm0udGVtcGxhdGUuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXFCLFFBQVEsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBUTNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFckUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDL0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7Ozs7QUFlckQsTUFBTSxPQUFPLDJCQUEyQjtJQTJCcEMsSUFBVyxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVE7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QWEsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU8sT0FBTztRQUNYLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDeEIsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDOytHQXBJUSwyQkFBMkIsa0JBK0NaLG1CQUFtQjttR0EvQ2xDLDJCQUEyQiw4R0FSekI7WUFDUDtnQkFDSSxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixVQUFVLEVBQUUsdUJBQXVCLENBQUMsVUFBVSxDQUFDO2FBQ2xEO1NBQ0osbVVDOUJMLGt0RkF5Q0EsMnRGRFZnQixjQUFjOzs0RkFFakIsMkJBQTJCO2tCQWJ2QyxTQUFTOytCQUNJLHVCQUF1QixpQkFHbEIsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsa0JBQWtCOzRCQUMzQixVQUFVLEVBQUUsdUJBQXVCLENBQUMsVUFBVSxDQUFDO3lCQUNsRDtxQkFDSixjQUNXLGNBQWM7OzBCQWlEckIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxtQkFBbUI7cUlBN0NwQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxlQUFlO3NCQURyQixTQUFTO3VCQUFDLFlBQVk7Z0JBSWhCLGVBQWU7c0JBRHJCLFNBQVM7dUJBQUMsWUFBWTtnQkFJaEIsWUFBWTtzQkFEbEIsU0FBUzt1QkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkQXBwZWFyYW5jZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IEdlbmVyYXRlZEZvcm1Hcm91cCwgbmd4Rm9ybUdlbmVyYXRvckZhY3RvcnkgfSBmcm9tIFwiQHJlY3Vyc3l2ZS9uZ3gtZm9ybS1nZW5lcmF0b3JcIjtcbmltcG9ydCB7IG5pY2VBbmltYXRpb25zIH0gZnJvbSBcIkByZWN1cnN5dmUvbmljZS11aS1raXQudjJcIjtcbmltcG9ydCB7XG4gICAgU3RyaXBlQ2FyZEN2Y0VsZW1lbnQsXG4gICAgU3RyaXBlQ2FyZEV4cGlyeUVsZW1lbnQsXG4gICAgU3RyaXBlQ2FyZE51bWJlckVsZW1lbnQsXG4gICAgU3RyaXBlQ2FyZE51bWJlckVsZW1lbnRPcHRpb25zLFxuICAgIFN0cmlwZUVsZW1lbnRzXG59IGZyb20gXCJAc3RyaXBlL3N0cmlwZS1qc1wiO1xuaW1wb3J0IHsgU3RyaXBlU2VydmljZSB9IGZyb20gXCJuZ3gtc3RyaXBlXCI7XG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IG1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgTklDRV9TVFJJUEVfT1BUSU9OUyB9IGZyb20gXCIuLi8uLi9uaWNlLXN0cmlwZS1raXQuY29uc3RhbnRcIjtcbmltcG9ydCB7IE5pY2VTdHJpcGVLaXRPcHRpb25zIH0gZnJvbSBcIi4uLy4uL25pY2Utc3RyaXBlLWtpdC5vcHRpb25zXCI7XG5pbXBvcnQgeyBOaWNlU3RyaXBlQ2FyZEVsZW1lbnRDb21wb25lbnQgfSBmcm9tIFwiLi4vY2FyZC1lbGVtZW50L3N0cmlwZS1jYXJkLWVsZW1lbnQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBTdHJpcGVGb3JtIH0gZnJvbSBcIi4vc3RyaXBlLWNhcmQtZm9ybS5mb3JtXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2Utc3RyaXBlLWNhcmQtZm9ybVwiLFxuICAgIHRlbXBsYXRlVXJsOiBcInN0cmlwZS1jYXJkLWZvcm0udGVtcGxhdGUuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wic3RyaXBlLWNhcmQtZm9ybS5zdHlsZS5zY3NzXCJdLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEdlbmVyYXRlZEZvcm1Hcm91cCxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IG5neEZvcm1HZW5lcmF0b3JGYWN0b3J5KFN0cmlwZUZvcm0pXG4gICAgICAgIH1cbiAgICBdLFxuICAgIGFuaW1hdGlvbnM6IG5pY2VBbmltYXRpb25zXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VTdHJpcGVDYXJkRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBhcHBlYXJhbmNlOiBNYXRGb3JtRmllbGRBcHBlYXJhbmNlO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2hvd0ljb25zID0gZmFsc2U7XG5cbiAgICBAVmlld0NoaWxkKFwiY2FyZE51bWJlclwiKVxuICAgIHB1YmxpYyBjYXJkTnVtYmVySW5wdXQ6IE5pY2VTdHJpcGVDYXJkRWxlbWVudENvbXBvbmVudDtcblxuICAgIEBWaWV3Q2hpbGQoXCJjYXJkRXhwaXJ5XCIpXG4gICAgcHVibGljIGNhcmRFeHBpcnlJbnB1dDogTmljZVN0cmlwZUNhcmRFbGVtZW50Q29tcG9uZW50O1xuXG4gICAgQFZpZXdDaGlsZChcImNhcmRDdmNcIilcbiAgICBwdWJsaWMgY2FyZEN2Y0lucHV0OiBOaWNlU3RyaXBlQ2FyZEVsZW1lbnRDb21wb25lbnQ7XG5cbiAgICBwdWJsaWMgY2FyZE51bWJlckVsZW1lbnQ6IFN0cmlwZUNhcmROdW1iZXJFbGVtZW50O1xuICAgIHB1YmxpYyBjYXJkTnVtYmVyRXJyb3I6IHN0cmluZztcbiAgICBwdWJsaWMgY2FyZEV4cGlyeUVsZW1lbnQ6IFN0cmlwZUNhcmRFeHBpcnlFbGVtZW50O1xuICAgIHB1YmxpYyBjYXJkRXhwaXJ5RXJyb3I6IHN0cmluZztcbiAgICBwdWJsaWMgY2FyZEN2Y0VsZW1lbnQ6IFN0cmlwZUNhcmRDdmNFbGVtZW50O1xuICAgIHB1YmxpYyBjYXJkQ3ZjRXJyb3I6IHN0cmluZztcblxuICAgIHB1YmxpYyBzdHJpcGVPcHRpb25zOiBTdHJpcGVDYXJkTnVtYmVyRWxlbWVudE9wdGlvbnM7XG5cbiAgICBwcml2YXRlIGVsZW1lbnRzOiBTdHJpcGVFbGVtZW50cztcblxuICAgIHB1YmxpYyBnZXQgaXNWYWxpZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FyZE51bWJlcklucHV0LmNvbXBsZXRlICYmXG4gICAgICAgICAgICB0aGlzLmNhcmRFeHBpcnlJbnB1dC5jb21wbGV0ZSAmJlxuICAgICAgICAgICAgdGhpcy5jYXJkQ3ZjSW5wdXQuY29tcGxldGUgJiZcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLnZhbGlkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgY2FyZFRva2VuKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnN0cmlwZVNlcnZpY2UuY3JlYXRlVG9rZW4odGhpcy5jYXJkTnVtYmVyRWxlbWVudCwge1xuICAgICAgICAgICAgbmFtZTogdGhpcy5mb3JtR3JvdXAuZ2V0KFwibmFtZVwiKS52YWx1ZVxuICAgICAgICB9KS5waXBlKFxuICAgICAgICAgICAgbWFwKHggPT4geD8udG9rZW4/LmlkKVxuICAgICAgICApLnRvUHJvbWlzZSgpO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5JQ0VfU1RSSVBFX09QVElPTlMpIHB1YmxpYyBvcHRpb25zOiBOaWNlU3RyaXBlS2l0T3B0aW9ucyxcbiAgICAgICAgcHVibGljIGZvcm1Hcm91cDogR2VuZXJhdGVkRm9ybUdyb3VwPFN0cmlwZUZvcm0+LFxuICAgICAgICBwcml2YXRlIHN0cmlwZVNlcnZpY2U6IFN0cmlwZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICAgICkge1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgdGhpcy5zdHJpcGVPcHRpb25zID0ge1xuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwiXCIsXG4gICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgIGJhc2U6IHRoaXMub3B0aW9ucy5zdHlsaW5nXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5lbGVtZW50cyA9IGF3YWl0IGxhc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLnN0cmlwZVNlcnZpY2UuZWxlbWVudHMoe1xuICAgICAgICAgICAgICAgIGxvY2FsZTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nIGFzIGFueSxcbiAgICAgICAgICAgICAgICBmb250czogdGhpcy5vcHRpb25zPy5mb250cyA/PyBbXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLmluaXRDYXJkTnVtYmVyKCk7XG4gICAgICAgIHRoaXMuaW5pdENhcmRFeHBpcnkoKTtcbiAgICAgICAgdGhpcy5pbml0Q2FyZEN2YygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpbml0Q2FyZE51bWJlcigpIHtcbiAgICAgICAgdGhpcy5jYXJkTnVtYmVyRWxlbWVudCA9IHRoaXMuZWxlbWVudHMuY3JlYXRlKFwiY2FyZE51bWJlclwiLCB7XG4gICAgICAgICAgICAuLi50aGlzLnN0cmlwZU9wdGlvbnMsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNhcmROdW1iZXJFbGVtZW50Lm9uKFwiY2hhbmdlXCIsIGV2ZW50ID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FyZE51bWJlckVycm9yID0gZXZlbnQuZXJyb3IgPyBldmVudC5lcnJvci5tZXNzYWdlIDogbnVsbDtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2FyZE51bWJlcklucHV0LmluaXQodGhpcy5jYXJkTnVtYmVyRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHVibGljIGluaXRDYXJkRXhwaXJ5KCkge1xuICAgICAgICB0aGlzLmNhcmRFeHBpcnlFbGVtZW50ID0gdGhpcy5lbGVtZW50cy5jcmVhdGUoXCJjYXJkRXhwaXJ5XCIsIHtcbiAgICAgICAgICAgIC4uLnRoaXMuc3RyaXBlT3B0aW9ucyxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuY2FyZEV4cGlyeUVsZW1lbnQub24oXCJjaGFuZ2VcIiwgZXZlbnQgPT4ge1xuICAgICAgICAgICAgdGhpcy5jYXJkRXhwaXJ5RXJyb3IgPSBldmVudC5lcnJvciA/IGV2ZW50LmVycm9yLm1lc3NhZ2UgOiBudWxsO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYXJkRXhwaXJ5SW5wdXQuaW5pdCh0aGlzLmNhcmRFeHBpcnlFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaW5pdENhcmRDdmMoKSB7XG4gICAgICAgIHRoaXMuY2FyZEN2Y0VsZW1lbnQgPSB0aGlzLmVsZW1lbnRzLmNyZWF0ZShcImNhcmRDdmNcIiwge1xuICAgICAgICAgICAgLi4udGhpcy5zdHJpcGVPcHRpb25zLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jYXJkQ3ZjRWxlbWVudC5vbihcImNoYW5nZVwiLCBldmVudCA9PiB7XG4gICAgICAgICAgICB0aGlzLmNhcmRDdmNFcnJvciA9IGV2ZW50LmVycm9yID8gZXZlbnQuZXJyb3IubWVzc2FnZSA6IG51bGw7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNhcmRDdmNJbnB1dC5pbml0KHRoaXMuY2FyZEN2Y0VsZW1lbnQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY2FyZE51bWJlckVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2FyZE51bWJlckVsZW1lbnQudW5tb3VudCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY2FyZEV4cGlyeUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2FyZEV4cGlyeUVsZW1lbnQudW5tb3VudCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY2FyZEN2Y0VsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2FyZEN2Y0VsZW1lbnQudW5tb3VudCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHBhdGNoTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KFwibmFtZVwiKS5wYXRjaFZhbHVlKG5hbWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBtYXJrQWxsQXNUb3VjaGVkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZvcm1Hcm91cC5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgICAgIHRoaXMuY2FyZEN2Y0lucHV0Lm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgdGhpcy5jYXJkTnVtYmVySW5wdXQubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICB0aGlzLmNhcmRFeHBpcnlJbnB1dC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRZZWFyKCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICByZXR1cm4gK2RhdGUuZ2V0RnVsbFllYXIoKS50b1N0cmluZygpLnN1YnN0cigtMik7XG4gICAgfVxufVxuIiwiPG1hdC1saXN0IFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgPG1hdC1saXN0LWl0ZW0+XG4gICAgICAgIDxtYXQtZm9ybS1maWVsZCBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCIgbmljZUNvbnRyb2xTdGF0dXMgZmxvYXRMYWJlbD1cImFsd2F5c1wiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcIm5pY2VfdWlfa2l0LnN0cmlwZS5uYW1lX29uX2NhcmQubGFiZWxcIiAgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBbcGxhY2Vob2xkZXJdPVwiJ25pY2VfdWlfa2l0LnN0cmlwZS5uYW1lX29uX2NhcmQucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCIgbWF0SW5wdXQgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm5hbWVcIiByZXF1aXJlZC8+XG4gICAgICAgICAgICA8ZGl2IG1hdFByZWZpeCBjbGFzcz1cInBsLTJcIiAqbmdJZj1cInNob3dJY29uc1wiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFkIGZhLXVzZXItY2lyY2xlIGFjY2VudC1mZ1wiPjwvaT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgIDwvbWF0LWxpc3QtaXRlbT5cbiAgICA8bWF0LWxpc3QtaXRlbT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgdy1mdWxsXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvd1wiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXgtZnVsbCBtYXgtdy1mdWxsXCIgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiIGZsb2F0TGFiZWw9XCJhbHdheXNcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57eyBcIm5pY2VfdWlfa2l0LnN0cmlwZS5jYXJkX251bWJlci5sYWJlbFwiICB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IG1hdFByZWZpeCBjbGFzcz1cInBsLTJcIiAqbmdJZj1cInNob3dJY29uc1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYWQgZmEtY3JlZGl0LWNhcmQgYWNjZW50LWZnXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPG5pY2Utc3RyaXBlLWNhcmQtZWxlbWVudCBbcGxhY2Vob2xkZXJdPVwiJ25pY2VfdWlfa2l0LnN0cmlwZS5jYXJkX251bWJlci5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNjYXJkTnVtYmVyIHJlcXVpcmVkPjwvbmljZS1zdHJpcGUtY2FyZC1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yIFtAc2xpZGVJbkJvdHRvbV0gKm5nSWY9XCJjYXJkTnVtYmVyRXJyb3JcIj57eyBjYXJkTnVtYmVyRXJyb3IgfX08L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LXJvdyBnYXAtNFwiPlxuICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImZsZXggZmxleC1mdWxsIG1heC13LTEvMlwiIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2VcIiBmbG9hdExhYmVsPVwiYWx3YXlzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgXCJuaWNlX3VpX2tpdC5zdHJpcGUuZXhwaXJhdGlvbi5sYWJlbFwiICB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8bmljZS1zdHJpcGUtY2FyZC1lbGVtZW50IFtwbGFjZWhvbGRlcl09XCInbmljZV91aV9raXQuc3RyaXBlLmV4cGlyYXRpb24ucGxhY2Vob2xkZXInIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjY2FyZEV4cGlyeSByZXF1aXJlZD48L25pY2Utc3RyaXBlLWNhcmQtZWxlbWVudD5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciBbQHNsaWRlSW5Cb3R0b21dICpuZ0lmPVwiY2FyZEV4cGlyeUVycm9yXCI+e3sgY2FyZEV4cGlyeUVycm9yIH19PC9tYXQtZXJyb3I+XG4gICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJmbGV4IGZsZXgtZnVsbCBtYXgtdy0xLzJcIiBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlXCIgZmxvYXRMYWJlbD1cImFsd2F5c1wiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPnt7IFwibmljZV91aV9raXQuc3RyaXBlLmN2Yy5sYWJlbFwiICB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgICAgICA8bmljZS1zdHJpcGUtY2FyZC1lbGVtZW50IFtwbGFjZWhvbGRlcl09XCInbmljZV91aV9raXQuc3RyaXBlLmN2Yy5wbGFjZWhvbGRlcicgfCB0cmFuc2xhdGVcIiAjY2FyZEN2Y1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkPjwvbmljZS1zdHJpcGUtY2FyZC1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yIFtAc2xpZGVJbkJvdHRvbV0gKm5nSWY9XCJjYXJkQ3ZjRXJyb3JcIj57eyBjYXJkQ3ZjRXJyb3IgfX08L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LWxpc3QtaXRlbT5cbjwvbWF0LWxpc3Q+XG4iXX0=
@@ -7,4 +7,4 @@ __decorate([
7
7
  Required(),
8
8
  __metadata("design:type", String)
9
9
  ], StripeForm.prototype, "name", void 0);
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaXBlLWNhcmQtZm9ybS5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1zdHJpcGUta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9jYXJkLWZvcm0vc3RyaXBlLWNhcmQtZm9ybS5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWxFLE1BQU0sT0FBTyxVQUFVO0NBSXRCO0FBSEc7SUFBQyxPQUFPLEVBQUU7SUFDVCxRQUFRLEVBQUU7O3dDQUNTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJvbCwgUmVxdWlyZWQgfSBmcm9tIFwiQHJlY3Vyc3l2ZS9uZ3gtZm9ybS1nZW5lcmF0b3JcIjtcblxuZXhwb3J0IGNsYXNzIFN0cmlwZUZvcm0ge1xuICAgIEBDb250cm9sKClcbiAgICBAUmVxdWlyZWQoKVxuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG59XG4iXX0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaXBlLWNhcmQtZm9ybS5mb3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmljZS1zdHJpcGUta2l0LXYyL3NyYy9saWIvY29tcG9uZW50cy9jYXJkLWZvcm0vc3RyaXBlLWNhcmQtZm9ybS5mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWxFLE1BQU0sT0FBTyxVQUFVO0NBSXRCO0FBRFU7SUFGTixPQUFPLEVBQUU7SUFDVCxRQUFRLEVBQUU7O3dDQUNTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udHJvbCwgUmVxdWlyZWQgfSBmcm9tIFwiQHJlY3Vyc3l2ZS9uZ3gtZm9ybS1nZW5lcmF0b3JcIjtcblxuZXhwb3J0IGNsYXNzIFN0cmlwZUZvcm0ge1xuICAgIEBDb250cm9sKClcbiAgICBAUmVxdWlyZWQoKVxuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG59XG4iXX0=
@@ -24,28 +24,28 @@ export class NiceStripeModule {
24
24
  ]
25
25
  };
26
26
  }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceStripeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
28
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: NiceStripeModule, declarations: [NiceStripeCardElementComponent,
29
+ NiceStripeCardFormComponent], imports: [NgxStripeModule,
30
+ ReactiveFormsModule,
31
+ TranslateModule,
32
+ MatFormFieldModule,
33
+ MatInputModule,
34
+ MatListModule,
35
+ NiceFormErrorModule,
36
+ MatButtonModule,
37
+ CommonModule], exports: [NiceStripeCardFormComponent] }); }
38
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceStripeModule, imports: [NgxStripeModule,
39
+ ReactiveFormsModule,
40
+ TranslateModule,
41
+ MatFormFieldModule,
42
+ MatInputModule,
43
+ MatListModule,
44
+ NiceFormErrorModule,
45
+ MatButtonModule,
46
+ CommonModule] }); }
27
47
  }
28
- NiceStripeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceStripeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
29
- NiceStripeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NiceStripeModule, declarations: [NiceStripeCardElementComponent,
30
- NiceStripeCardFormComponent], imports: [NgxStripeModule,
31
- ReactiveFormsModule,
32
- TranslateModule,
33
- MatFormFieldModule,
34
- MatInputModule,
35
- MatListModule,
36
- NiceFormErrorModule,
37
- MatButtonModule,
38
- CommonModule], exports: [NiceStripeCardFormComponent] });
39
- NiceStripeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", 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: "15.2.9", ngImport: i0, type: NiceStripeModule, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceStripeModule, decorators: [{
49
49
  type: NgModule,
50
50
  args: [{
51
51
  imports: [
@@ -68,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
68
68
  ]
69
69
  }]
70
70
  }] });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1zdHJpcGUta2l0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2Utc3RyaXBlLWtpdC12Mi9zcmMvbGliL25pY2Utc3RyaXBlLWtpdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQXdCakUsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQThCO1FBQ2hELE9BQU87WUFDSCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsbUJBQW1CO29CQUM1QixRQUFRLEVBQUUsT0FBTztpQkFDcEI7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDOzs2R0FYUSxnQkFBZ0I7OEdBQWhCLGdCQUFnQixpQkFQckIsOEJBQThCO1FBQzlCLDJCQUEyQixhQWIzQixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGVBQWU7UUFFZixrQkFBa0I7UUFDbEIsY0FBYztRQUNkLGFBQWE7UUFDYixtQkFBbUI7UUFDbkIsZUFBZTtRQUNmLFlBQVksYUFPWiwyQkFBMkI7OEdBR3RCLGdCQUFnQixZQW5CckIsZUFBZTtRQUNmLG1CQUFtQjtRQUNuQixlQUFlO1FBRWYsa0JBQWtCO1FBQ2xCLGNBQWM7UUFDZCxhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZixZQUFZOzJGQVVQLGdCQUFnQjtrQkFyQjVCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUVmLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixZQUFZO3FCQUNmO29CQUNELFlBQVksRUFBRTt3QkFDViw4QkFBOEI7d0JBQzlCLDJCQUEyQjtxQkFDOUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLDJCQUEyQjtxQkFDOUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdFwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IE5pY2VGb3JtRXJyb3JNb2R1bGUgfSBmcm9tIFwiQHJlY3Vyc3l2ZS9uaWNlLXVpLWtpdC52MlwiO1xuaW1wb3J0IHsgTmd4U3RyaXBlTW9kdWxlIH0gZnJvbSBcIm5neC1zdHJpcGVcIjtcbmltcG9ydCB7IE5pY2VTdHJpcGVDYXJkRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvY2FyZC1lbGVtZW50L3N0cmlwZS1jYXJkLWVsZW1lbnQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBOaWNlU3RyaXBlQ2FyZEZvcm1Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2NhcmQtZm9ybS9zdHJpcGUtY2FyZC1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTklDRV9TVFJJUEVfT1BUSU9OUyB9IGZyb20gXCIuL25pY2Utc3RyaXBlLWtpdC5jb25zdGFudFwiO1xuaW1wb3J0IHsgTmljZVN0cmlwZUtpdE9wdGlvbnMgfSBmcm9tIFwiLi9uaWNlLXN0cmlwZS1raXQub3B0aW9uc1wiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmd4U3RyaXBlTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG5cbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0TGlzdE1vZHVsZSxcbiAgICAgICAgTmljZUZvcm1FcnJvck1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBOaWNlU3RyaXBlQ2FyZEVsZW1lbnRDb21wb25lbnQsXG4gICAgICAgIE5pY2VTdHJpcGVDYXJkRm9ybUNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBOaWNlU3RyaXBlQ2FyZEZvcm1Db21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VTdHJpcGVNb2R1bGUge1xuICAgIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChvcHRpb25zPzogTmljZVN0cmlwZUtpdE9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5pY2VTdHJpcGVNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOaWNlU3RyaXBlTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBOSUNFX1NUUklQRV9PUFRJT05TLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9uc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmljZS1zdHJpcGUta2l0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25pY2Utc3RyaXBlLWtpdC12Mi9zcmMvbGliL25pY2Utc3RyaXBlLWtpdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3pHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQXdCakUsTUFBTSxPQUFPLGdCQUFnQjtJQUNsQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQThCO1FBQ2hELE9BQU87WUFDSCxRQUFRLEVBQUUsZ0JBQWdCO1lBQzFCLFNBQVMsRUFBRTtnQkFDUDtvQkFDSSxPQUFPLEVBQUUsbUJBQW1CO29CQUM1QixRQUFRLEVBQUUsT0FBTztpQkFDcEI7YUFDSjtTQUNKLENBQUM7SUFDTixDQUFDOytHQVhRLGdCQUFnQjtnSEFBaEIsZ0JBQWdCLGlCQVByQiw4QkFBOEI7WUFDOUIsMkJBQTJCLGFBYjNCLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsZUFBZTtZQUVmLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsYUFBYTtZQUNiLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2YsWUFBWSxhQU9aLDJCQUEyQjtnSEFHdEIsZ0JBQWdCLFlBbkJyQixlQUFlO1lBQ2YsbUJBQW1CO1lBQ25CLGVBQWU7WUFFZixrQkFBa0I7WUFDbEIsY0FBYztZQUNkLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsZUFBZTtZQUNmLFlBQVk7OzRGQVVQLGdCQUFnQjtrQkFyQjVCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUVmLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLG1CQUFtQjt3QkFDbkIsZUFBZTt3QkFDZixZQUFZO3FCQUNmO29CQUNELFlBQVksRUFBRTt3QkFDViw4QkFBOEI7d0JBQzlCLDJCQUEyQjtxQkFDOUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLDJCQUEyQjtxQkFDOUI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXRcIjtcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdFwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IE5pY2VGb3JtRXJyb3JNb2R1bGUgfSBmcm9tIFwiQHJlY3Vyc3l2ZS9uaWNlLXVpLWtpdC52MlwiO1xuaW1wb3J0IHsgTmd4U3RyaXBlTW9kdWxlIH0gZnJvbSBcIm5neC1zdHJpcGVcIjtcbmltcG9ydCB7IE5pY2VTdHJpcGVDYXJkRWxlbWVudENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvY2FyZC1lbGVtZW50L3N0cmlwZS1jYXJkLWVsZW1lbnQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBOaWNlU3RyaXBlQ2FyZEZvcm1Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2NhcmQtZm9ybS9zdHJpcGUtY2FyZC1mb3JtLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTklDRV9TVFJJUEVfT1BUSU9OUyB9IGZyb20gXCIuL25pY2Utc3RyaXBlLWtpdC5jb25zdGFudFwiO1xuaW1wb3J0IHsgTmljZVN0cmlwZUtpdE9wdGlvbnMgfSBmcm9tIFwiLi9uaWNlLXN0cmlwZS1raXQub3B0aW9uc1wiO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmd4U3RyaXBlTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG5cbiAgICAgICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgICAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICAgICAgTWF0TGlzdE1vZHVsZSxcbiAgICAgICAgTmljZUZvcm1FcnJvck1vZHVsZSxcbiAgICAgICAgTWF0QnV0dG9uTW9kdWxlLFxuICAgICAgICBDb21tb25Nb2R1bGVcbiAgICBdLFxuICAgIGRlY2xhcmF0aW9uczogW1xuICAgICAgICBOaWNlU3RyaXBlQ2FyZEVsZW1lbnRDb21wb25lbnQsXG4gICAgICAgIE5pY2VTdHJpcGVDYXJkRm9ybUNvbXBvbmVudFxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBOaWNlU3RyaXBlQ2FyZEZvcm1Db21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIE5pY2VTdHJpcGVNb2R1bGUge1xuICAgIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChvcHRpb25zPzogTmljZVN0cmlwZUtpdE9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5pY2VTdHJpcGVNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBOaWNlU3RyaXBlTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBOSUNFX1NUUklQRV9PUFRJT05TLFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZTogb3B0aW9uc1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
@@ -106,15 +106,15 @@ class NiceStripeCardElementComponent {
106
106
  }
107
107
  onContainerClick(event) {
108
108
  }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceStripeCardElementComponent, deps: [{ token: i4.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
110
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", 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: [
111
+ {
112
+ provide: MatFormFieldControl,
113
+ useExisting: NiceStripeCardElementComponent
114
+ }
115
+ ], 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 }); }
109
116
  }
110
- NiceStripeCardElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", 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: "15.2.9", 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: [
112
- {
113
- provide: MatFormFieldControl,
114
- useExisting: NiceStripeCardElementComponent
115
- }
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 });
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceStripeCardElementComponent, decorators: [{
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceStripeCardElementComponent, decorators: [{
118
118
  type: Component,
119
119
  args: [{ selector: "nice-stripe-card-element", template: "<div class='stripe-element' #element></div>", encapsulation: ViewEncapsulation.None, providers: [
120
120
  {
@@ -122,11 +122,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
122
122
  useExisting: NiceStripeCardElementComponent
123
123
  }
124
124
  ], styles: ["nice-stripe-card-element .stripe-element{height:15px}\n"] }]
125
- }], ctorParameters: function () { return [{ type: i4.NgControl, decorators: [{
125
+ }], ctorParameters: () => [{ type: i4.NgControl, decorators: [{
126
126
  type: Optional
127
127
  }, {
128
128
  type: Self
129
- }] }]; }, propDecorators: { elementRef: [{
129
+ }] }], propDecorators: { elementRef: [{
130
130
  type: ViewChild,
131
131
  args: ["element"]
132
132
  }], describedBy: [{
@@ -245,15 +245,15 @@ class NiceStripeCardFormComponent {
245
245
  const date = new Date();
246
246
  return +date.getFullYear().toString().substr(-2);
247
247
  }
248
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", 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
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: NiceStripeCardFormComponent, selector: "nice-stripe-card-form", inputs: { appearance: "appearance", showIcons: "showIcons" }, providers: [
250
+ {
251
+ provide: GeneratedFormGroup,
252
+ useFactory: ngxFormGeneratorFactory(StripeForm)
253
+ }
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=\"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: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i5.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { 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", exportAs: ["matList"] }, { kind: "component", type: i7.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], 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 }); }
248
255
  }
249
- NiceStripeCardFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", 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: "15.2.9", type: NiceStripeCardFormComponent, selector: "nice-stripe-card-form", inputs: { appearance: "appearance", showIcons: "showIcons" }, providers: [
251
- {
252
- provide: GeneratedFormGroup,
253
- useFactory: ngxFormGeneratorFactory(StripeForm)
254
- }
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: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i5.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { 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", exportAs: ["matList"] }, { kind: "component", type: i7.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], 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: "15.2.9", ngImport: i0, type: NiceStripeCardFormComponent, decorators: [{
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceStripeCardFormComponent, decorators: [{
257
257
  type: Component,
258
258
  args: [{ selector: "nice-stripe-card-form", encapsulation: ViewEncapsulation.None, providers: [
259
259
  {
@@ -261,12 +261,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
261
261
  useFactory: ngxFormGeneratorFactory(StripeForm)
262
262
  }
263
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"] }]
264
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
264
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
265
265
  type: Optional
266
266
  }, {
267
267
  type: Inject,
268
268
  args: [NICE_STRIPE_OPTIONS]
269
- }] }, { type: i1.GeneratedFormGroup }, { type: i2.StripeService }, { type: i3.TranslateService }]; }, propDecorators: { appearance: [{
269
+ }] }, { type: i1.GeneratedFormGroup }, { type: i2.StripeService }, { type: i3.TranslateService }], propDecorators: { appearance: [{
270
270
  type: Input
271
271
  }], showIcons: [{
272
272
  type: Input
@@ -293,28 +293,28 @@ class NiceStripeModule {
293
293
  ]
294
294
  };
295
295
  }
296
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceStripeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
297
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: NiceStripeModule, declarations: [NiceStripeCardElementComponent,
298
+ NiceStripeCardFormComponent], imports: [NgxStripeModule,
299
+ ReactiveFormsModule,
300
+ TranslateModule,
301
+ MatFormFieldModule,
302
+ MatInputModule,
303
+ MatListModule,
304
+ NiceFormErrorModule,
305
+ MatButtonModule,
306
+ CommonModule], exports: [NiceStripeCardFormComponent] }); }
307
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceStripeModule, imports: [NgxStripeModule,
308
+ ReactiveFormsModule,
309
+ TranslateModule,
310
+ MatFormFieldModule,
311
+ MatInputModule,
312
+ MatListModule,
313
+ NiceFormErrorModule,
314
+ MatButtonModule,
315
+ CommonModule] }); }
296
316
  }
297
- NiceStripeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceStripeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
298
- NiceStripeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", 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: "15.2.9", ngImport: i0, type: NiceStripeModule, imports: [NgxStripeModule,
309
- ReactiveFormsModule,
310
- TranslateModule,
311
- MatFormFieldModule,
312
- MatInputModule,
313
- MatListModule,
314
- NiceFormErrorModule,
315
- MatButtonModule,
316
- CommonModule] });
317
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NiceStripeModule, decorators: [{
317
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NiceStripeModule, decorators: [{
318
318
  type: NgModule,
319
319
  args: [{
320
320
  imports: [