@osovitny/anatoly 3.17.78 → 3.17.80
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.
- package/esm2022/lib/billing/billing.module.mjs +9 -12
- package/esm2022/lib/billing/components/braintree/braintree.component.mjs +155 -0
- package/esm2022/lib/billing/components/exports.mjs +22 -0
- package/esm2022/lib/billing/components/index.mjs +25 -0
- package/esm2022/lib/billing/components/paypal/paypal-button.component.mjs +157 -0
- package/esm2022/lib/billing/components/paypal/paypal.component.mjs +316 -0
- package/esm2022/lib/billing/components/stripe/stripe.component.mjs +109 -0
- package/esm2022/lib/billing/exports.mjs +3 -4
- package/esm2022/lib/billing/services/payments.service.mjs +173 -0
- package/esm2022/lib/core/exports.mjs +2 -1
- package/fesm2022/osovitny-anatoly.mjs +44 -47
- package/fesm2022/osovitny-anatoly.mjs.map +1 -1
- package/lib/billing/billing.module.d.ts +4 -4
- package/lib/billing/{payments/components → components}/braintree/braintree.component.d.ts +3 -3
- package/lib/billing/components/index.d.ts +2 -0
- package/lib/billing/{payments/components → components}/paypal/paypal-button.component.d.ts +3 -3
- package/lib/billing/{payments/components → components}/paypal/paypal.component.d.ts +3 -3
- package/lib/billing/{payments/components → components}/stripe/stripe.component.d.ts +2 -2
- package/lib/billing/exports.d.ts +2 -2
- package/lib/billing/{payments/services → services}/payments.service.d.ts +4 -4
- package/lib/core/exports.d.ts +1 -0
- package/package.json +1 -1
- package/esm2022/lib/billing/payments/components/braintree/braintree.component.mjs +0 -155
- package/esm2022/lib/billing/payments/components/exports.mjs +0 -22
- package/esm2022/lib/billing/payments/components/index.mjs +0 -25
- package/esm2022/lib/billing/payments/components/paypal/paypal-button.component.mjs +0 -157
- package/esm2022/lib/billing/payments/components/paypal/paypal.component.mjs +0 -316
- package/esm2022/lib/billing/payments/components/stripe/stripe.component.mjs +0 -109
- package/esm2022/lib/billing/payments/services/payments.service.mjs +0 -173
- package/lib/billing/payments/components/index.d.ts +0 -2
- /package/lib/billing/{payments/components → components}/exports.d.ts +0 -0
|
@@ -22,21 +22,19 @@ import { KendoModule } from '../external/kendo.module';
|
|
|
22
22
|
//App
|
|
23
23
|
import { ScriptService } from '../core/services/script.service';
|
|
24
24
|
import { PayPalScriptService } from './services/paypal-script.service';
|
|
25
|
-
|
|
26
|
-
import {
|
|
27
|
-
import { PaymentsService } from './payments/services/payments.service';
|
|
25
|
+
import { PaymentsService } from './services/payments.service';
|
|
26
|
+
import { COMPONENTS } from './components';
|
|
28
27
|
import * as i0 from "@angular/core";
|
|
29
|
-
import * as i1 from "./
|
|
30
|
-
import * as i2 from "./
|
|
31
|
-
import * as i3 from "./
|
|
32
|
-
import * as i4 from "./
|
|
28
|
+
import * as i1 from "./components/paypal/paypal-button.component";
|
|
29
|
+
import * as i2 from "./components/paypal/paypal.component";
|
|
30
|
+
import * as i3 from "./components/braintree/braintree.component";
|
|
31
|
+
import * as i4 from "./components/stripe/stripe.component";
|
|
33
32
|
export class AnatolyBillingModule {
|
|
34
33
|
static { this.ɵfac = function AnatolyBillingModule_Factory(t) { return new (t || AnatolyBillingModule)(); }; }
|
|
35
34
|
static { this.ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: AnatolyBillingModule }); }
|
|
36
35
|
static { this.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
|
|
37
36
|
ScriptService,
|
|
38
37
|
PayPalScriptService,
|
|
39
|
-
//Payments
|
|
40
38
|
PaymentsService
|
|
41
39
|
], imports: [CommonModule,
|
|
42
40
|
FaModule,
|
|
@@ -51,15 +49,14 @@ export class AnatolyBillingModule {
|
|
|
51
49
|
KendoModule
|
|
52
50
|
],
|
|
53
51
|
declarations: [
|
|
54
|
-
|
|
52
|
+
COMPONENTS
|
|
55
53
|
],
|
|
56
54
|
exports: [
|
|
57
|
-
|
|
55
|
+
COMPONENTS
|
|
58
56
|
],
|
|
59
57
|
providers: [
|
|
60
58
|
ScriptService,
|
|
61
59
|
PayPalScriptService,
|
|
62
|
-
//Payments
|
|
63
60
|
PaymentsService
|
|
64
61
|
]
|
|
65
62
|
}]
|
|
@@ -67,4 +64,4 @@ export class AnatolyBillingModule {
|
|
|
67
64
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(AnatolyBillingModule, { declarations: [i1.PaypalButtonComponent, i2.PayPalComponent, i3.BraintreeDialog, i4.StripeDialog], imports: [CommonModule,
|
|
68
65
|
FaModule,
|
|
69
66
|
KendoModule], exports: [i1.PaypalButtonComponent, i2.PayPalComponent, i3.BraintreeDialog, i4.StripeDialog] }); })();
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlsbGluZy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvYmlsbGluZy9iaWxsaW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxrQkFBa0I7QUFDbEIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQ2hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUV0RCxLQUFLO0FBQ0wsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7QUFxQjFDLE1BQU0sT0FBTyxvQkFBb0I7cUZBQXBCLG9CQUFvQjttRUFBcEIsb0JBQW9CO3dFQU5wQjtZQUNULGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsZUFBZTtTQUNoQixZQWZDLFlBQVk7WUFFWixRQUFRO1lBQ1IsV0FBVzs7aUZBY0Ysb0JBQW9CO2NBbkJoQyxRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLFlBQVk7b0JBRVosUUFBUTtvQkFDUixXQUFXO2lCQUNaO2dCQUNELFlBQVksRUFBRTtvQkFDWixVQUFVO2lCQUNYO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxVQUFVO2lCQUNYO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxhQUFhO29CQUNiLG1CQUFtQjtvQkFDbkIsZUFBZTtpQkFDaEI7YUFDRjs7d0ZBQ1ksb0JBQW9CLGlIQWpCN0IsWUFBWTtRQUVaLFFBQVE7UUFDUixXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuICAgIEFuYXRvbHkgT3Nvdml0bnkgYW5hdG9seS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDE0IEp1biAyMDI0XHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDIyIE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG4vL0V4dGVybmFsIE1vZHVsZXNcclxuaW1wb3J0IHsgRmFNb2R1bGUgfSBmcm9tICcuLi9leHRlcm5hbC9mYS5tb2R1bGUnXHJcbmltcG9ydCB7IEtlbmRvTW9kdWxlIH0gZnJvbSAnLi4vZXh0ZXJuYWwva2VuZG8ubW9kdWxlJ1xyXG5cclxuLy9BcHBcclxuaW1wb3J0IHsgU2NyaXB0U2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2VydmljZXMvc2NyaXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYXlQYWxTY3JpcHRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wYXlwYWwtc2NyaXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYXltZW50c1NlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3BheW1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDT01QT05FTlRTIH0gZnJvbSAnLi9jb21wb25lbnRzJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG5cclxuICAgIEZhTW9kdWxlLFxyXG4gICAgS2VuZG9Nb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgQ09NUE9ORU5UU1xyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQ09NUE9ORU5UU1xyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBTY3JpcHRTZXJ2aWNlLFxyXG4gICAgUGF5UGFsU2NyaXB0U2VydmljZSxcclxuICAgIFBheW1lbnRzU2VydmljZVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFuYXRvbHlCaWxsaW5nTW9kdWxlIHtcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Dhruv Agarwal dhruv.agarwal@osovitny.com
|
|
8
|
+
|
|
9
|
+
Created:
|
|
10
|
+
14 Aug 2024
|
|
11
|
+
|
|
12
|
+
Description:
|
|
13
|
+
Credit Card payment form via braintree integration
|
|
14
|
+
|
|
15
|
+
Copyright (c) 2016-2024 Osovitny Inc. All rights reserved.
|
|
16
|
+
</file>
|
|
17
|
+
*/
|
|
18
|
+
//Node
|
|
19
|
+
import { Component, Input } from '@angular/core';
|
|
20
|
+
import * as dropin from 'braintree-web-drop-in';
|
|
21
|
+
//App
|
|
22
|
+
import { DialogBase } from '../../../ui/components/base/dialog';
|
|
23
|
+
import * as i0 from "@angular/core";
|
|
24
|
+
import * as i1 from "../../services/payments.service";
|
|
25
|
+
import * as i2 from "../../../core/notifications/services/notification-service";
|
|
26
|
+
import * as i3 from "@progress/kendo-angular-dialog";
|
|
27
|
+
function BraintreeDialog_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
29
|
+
i0.ɵɵelementStart(0, "div", 1)(1, "kendo-dialog", 2);
|
|
30
|
+
i0.ɵɵlistener("close", function BraintreeDialog_Conditional_0_Template_kendo_dialog_close_1_listener() { i0.ɵɵrestoreView(_r2); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onClose()); });
|
|
31
|
+
i0.ɵɵelementStart(2, "kendo-dialog-titlebar");
|
|
32
|
+
i0.ɵɵtext(3, "Pay with Credit Card");
|
|
33
|
+
i0.ɵɵelementEnd();
|
|
34
|
+
i0.ɵɵelementStart(4, "div", 3);
|
|
35
|
+
i0.ɵɵelement(5, "div", 4);
|
|
36
|
+
i0.ɵɵelementEnd();
|
|
37
|
+
i0.ɵɵelementStart(6, "kendo-dialog-actions", 5)(7, "button", 6);
|
|
38
|
+
i0.ɵɵlistener("click", function BraintreeDialog_Conditional_0_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r2); const ctx_r3 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r3.onPay()); });
|
|
39
|
+
i0.ɵɵtext(8, "Pay");
|
|
40
|
+
i0.ɵɵelementEnd();
|
|
41
|
+
i0.ɵɵelementStart(9, "button", 7);
|
|
42
|
+
i0.ɵɵlistener("click", function BraintreeDialog_Conditional_0_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r2); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.onClose()); });
|
|
43
|
+
i0.ɵɵtext(10, "Cancel");
|
|
44
|
+
i0.ɵɵelementEnd()()()();
|
|
45
|
+
} if (rf & 2) {
|
|
46
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
47
|
+
i0.ɵɵadvance();
|
|
48
|
+
i0.ɵɵproperty("width", 480)("height", 560)("themeColor", ctx_r0.themeColor);
|
|
49
|
+
} }
|
|
50
|
+
export class BraintreeDialog extends DialogBase {
|
|
51
|
+
constructor(ps, ns) {
|
|
52
|
+
super();
|
|
53
|
+
this.ps = ps;
|
|
54
|
+
this.ns = ns;
|
|
55
|
+
}
|
|
56
|
+
ngOnInit() {
|
|
57
|
+
this.setValues();
|
|
58
|
+
}
|
|
59
|
+
setValues() {
|
|
60
|
+
this.ps.showBraintreeDialog$.subscribe((isOpen) => {
|
|
61
|
+
this.isOpen = true;
|
|
62
|
+
this.initializeEmbedForm();
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
initializeEmbedForm() {
|
|
66
|
+
const that = this;
|
|
67
|
+
// let totalPrice = this.bs.getTotal().toString();
|
|
68
|
+
// let currency = this.bs.currency;
|
|
69
|
+
this.ps.createBraintreeToken().subscribe((response) => {
|
|
70
|
+
if (response?.token) {
|
|
71
|
+
dropin.create({
|
|
72
|
+
authorization: response?.token,
|
|
73
|
+
container: '#braintree-container',
|
|
74
|
+
card: {
|
|
75
|
+
cardholderName: true
|
|
76
|
+
},
|
|
77
|
+
//UNCOMMENT BELOW FOR GOOGLEPAY / VENMO
|
|
78
|
+
// googlePay: {
|
|
79
|
+
// merchantId: '',
|
|
80
|
+
// transactionInfo: {
|
|
81
|
+
// currencyCode: currency,
|
|
82
|
+
// totalPriceStatus: 'FINAL',
|
|
83
|
+
// totalPrice: totalPrice,
|
|
84
|
+
// }
|
|
85
|
+
// },
|
|
86
|
+
// venmo: {
|
|
87
|
+
// allowNewBrowserTab: false
|
|
88
|
+
// },
|
|
89
|
+
dataCollector: true
|
|
90
|
+
}, function (createErr, instance) {
|
|
91
|
+
if (instance) {
|
|
92
|
+
that.braintreeInstance = instance;
|
|
93
|
+
instance._dataCollector._instance.getDeviceData().then((deviceData) => {
|
|
94
|
+
that.deviceData = deviceData;
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
that.ns.error('Credit Card Payment is facing issues. Please try other payment methods.');
|
|
99
|
+
that.closeDialog();
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
submitPayment(payload) {
|
|
106
|
+
this.ps.pay(this.paidFor, payload.nonce, 'COMPLETED', this.deviceData);
|
|
107
|
+
}
|
|
108
|
+
closeDialog() {
|
|
109
|
+
super.close();
|
|
110
|
+
this.braintreeInstance = null;
|
|
111
|
+
}
|
|
112
|
+
//Events
|
|
113
|
+
onPay() {
|
|
114
|
+
if (this.braintreeInstance && this.deviceData) {
|
|
115
|
+
const that = this;
|
|
116
|
+
this.braintreeInstance.requestPaymentMethod(function (requestPaymentErr, payload) {
|
|
117
|
+
that.submitPayment(payload);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
onClose() {
|
|
122
|
+
const closeDialog = this.closeDialog;
|
|
123
|
+
if (this.braintreeInstance) {
|
|
124
|
+
this.braintreeInstance.teardown(function (err) {
|
|
125
|
+
closeDialog();
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
closeDialog();
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
get visible() {
|
|
133
|
+
return this.isOpen && this.ps.getTotal() > 0;
|
|
134
|
+
}
|
|
135
|
+
static { this.ɵfac = function BraintreeDialog_Factory(t) { return new (t || BraintreeDialog)(i0.ɵɵdirectiveInject(i1.PaymentsService), i0.ɵɵdirectiveInject(i2.NotificationService)); }; }
|
|
136
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BraintreeDialog, selectors: [["anatoly-billing-braintree-dialog"]], inputs: { paidFor: "paidFor", title: "title", description: "description", image: "image" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["class", "send-message__kendo-dialog"], [1, "send-message__kendo-dialog"], [3, "width", "height", "themeColor", "close"], [1, "kendo-dialog-content"], ["id", "braintree-container"], ["layout", "end"], ["type", "button", 1, "btn", "btn-sm", "btn-success", 3, "click"], ["type", "button", 1, "btn", "btn-sm", "btn-danger", 3, "click"]], template: function BraintreeDialog_Template(rf, ctx) { if (rf & 1) {
|
|
137
|
+
i0.ɵɵtemplate(0, BraintreeDialog_Conditional_0_Template, 11, 3, "div", 0);
|
|
138
|
+
} if (rf & 2) {
|
|
139
|
+
i0.ɵɵconditional(0, ctx.visible ? 0 : -1);
|
|
140
|
+
} }, dependencies: [i3.DialogComponent, i3.DialogTitleBarComponent, i3.DialogActionsComponent], encapsulation: 2 }); }
|
|
141
|
+
}
|
|
142
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BraintreeDialog, [{
|
|
143
|
+
type: Component,
|
|
144
|
+
args: [{ selector: 'anatoly-billing-braintree-dialog', template: "@if (visible) {\r\n <div class='send-message__kendo-dialog'>\r\n <kendo-dialog [width]='480' [height]='560' [themeColor]='themeColor' (close)='onClose()'>\r\n <kendo-dialog-titlebar>Pay with Credit Card</kendo-dialog-titlebar>\r\n <div class='kendo-dialog-content'>\r\n <div id=\"braintree-container\"></div>\r\n </div>\r\n <kendo-dialog-actions layout='end'>\r\n <button class='btn btn-sm btn-success' type='button' (click)='onPay()'>Pay</button>\r\n <button class='btn btn-sm btn-danger' type='button' (click)='onClose()'>Cancel</button>\r\n </kendo-dialog-actions>\r\n </kendo-dialog>\r\n </div>\r\n}\r\n" }]
|
|
145
|
+
}], () => [{ type: i1.PaymentsService }, { type: i2.NotificationService }], { paidFor: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}], title: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}], description: [{
|
|
150
|
+
type: Input
|
|
151
|
+
}], image: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}] }); })();
|
|
154
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BraintreeDialog, { className: "BraintreeDialog", filePath: "lib\\billing\\components\\braintree\\braintree.component.ts", lineNumber: 32 }); })();
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhaW50cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9iaWxsaW5nL2NvbXBvbmVudHMvYnJhaW50cmVlL2JyYWludHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvYmlsbGluZy9jb21wb25lbnRzL2JyYWludHJlZS9icmFpbnRyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7RUFnQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxLQUFLLE1BQU0sTUFBTSx1QkFBdUIsQ0FBQztBQUVoRCxLQUFLO0FBQ0wsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7O0lDdEI5RCw4QkFBd0Msc0JBQUE7SUFDK0IsMEtBQVMsZUFBQSxnQkFBUyxDQUFBLElBQUM7SUFDdEYsNkNBQXVCO0lBQUEsb0NBQW9CO0lBQUEsaUJBQXdCO0lBQ25FLDhCQUFrQztJQUNoQyx5QkFBb0M7SUFDdEMsaUJBQU07SUFDTiwrQ0FBbUMsZ0JBQUE7SUFDb0Isb0tBQVMsZUFBQSxjQUFPLENBQUEsSUFBQztJQUFDLG1CQUFHO0lBQUEsaUJBQVM7SUFDbkYsaUNBQXlFO0lBQXBCLG9LQUFTLGVBQUEsZ0JBQVMsQ0FBQSxJQUFDO0lBQUMsdUJBQU07SUFBQSxpQkFBUyxFQUFBLEVBQUEsRUFBQTs7O0lBUDlFLGNBQWE7SUFBYiwyQkFBYSxlQUFBLGlDQUFBOztBRDZCL0IsTUFBTSxPQUFPLGVBQWdCLFNBQVEsVUFBVTtJQVM3QyxZQUNTLEVBQW1CLEVBQ2xCLEVBQXVCO1FBQy9CLEtBQUssRUFBRSxDQUFDO1FBRkQsT0FBRSxHQUFGLEVB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QVcsRUFBRSxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUNJLENBQUM7WUFDSixXQUFXLEVBQUUsQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0MsQ0FBQztnRkF2R1UsZUFBZTtvRUFBZixlQUFlO1lDL0I1Qix5RUFhQzs7WUFiRCx5Q0FhQzs7O2lGRGtCWSxlQUFlO2NBSjNCLFNBQVM7MkJBQ0Usa0NBQWtDO2tGQU9uQyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLOztrRkFQSyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBEaHJ1diBBZ2Fyd2FsIGRocnV2LmFnYXJ3YWxAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxNCBBdWcgMjAyNFxyXG5cclxuICBEZXNjcmlwdGlvbjpcclxuICAgIENyZWRpdCBDYXJkIHBheW1lbnQgZm9ybSB2aWEgYnJhaW50cmVlIGludGVncmF0aW9uXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI0IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgZHJvcGluIGZyb20gJ2JyYWludHJlZS13ZWItZHJvcC1pbic7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBEaWFsb2dCYXNlIH0gZnJvbSAnLi4vLi4vLi4vdWkvY29tcG9uZW50cy9iYXNlL2RpYWxvZyc7XHJcbmltcG9ydCB7IFBheW1lbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BheW1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9ub3RpZmljYXRpb25zL3NlcnZpY2VzL25vdGlmaWNhdGlvbi1zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5hdG9seS1iaWxsaW5nLWJyYWludHJlZS1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9icmFpbnRyZWUuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmFpbnRyZWVEaWFsb2cgZXh0ZW5kcyBEaWFsb2dCYXNlIHtcclxuICBicmFpbnRyZWVJbnN0YW5jZTogYW55O1xyXG4gIGRldmljZURhdGE6IGFueTtcclxuXHJcbiAgQElucHV0KCkgcGFpZEZvcjtcclxuICBASW5wdXQoKSB0aXRsZTtcclxuICBASW5wdXQoKSBkZXNjcmlwdGlvbjtcclxuICBASW5wdXQoKSBpbWFnZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcHM6IFBheW1lbnRzU2VydmljZSxcclxuICAgIHByaXZhdGUgbnM6IE5vdGlmaWNhdGlvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0VmFsdWVzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFZhbHVlcygpIHtcclxuICAgIHRoaXMucHMuc2hvd0JyYWludHJlZURpYWxvZyQuc3Vic2NyaWJlKChpc09wZW4pID0+IHtcclxuICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xyXG4gICAgICB0aGlzLmluaXRpYWxpemVFbWJlZEZvcm0oKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZUVtYmVkRm9ybSgpIHtcclxuICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xyXG4gICAgLy8gbGV0IHRvdGFsUHJpY2UgPSB0aGlzLmJzLmdldFRvdGFsKCkudG9TdHJpbmcoKTtcclxuICAgIC8vIGxldCBjdXJyZW5jeSA9IHRoaXMuYnMuY3VycmVuY3k7XHJcblxyXG4gICAgdGhpcy5wcy5jcmVhdGVCcmFpbnRyZWVUb2tlbigpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYocmVzcG9uc2U/LnRva2VuKSB7XHJcbiAgICAgICAgZHJvcGluLmNyZWF0ZSh7XHJcbiAgICAgICAgICBhdXRob3JpemF0aW9uOiByZXNwb25zZT8udG9rZW4sXHJcbiAgICAgICAgICBjb250YWluZXI6ICcjYnJhaW50cmVlLWNvbnRhaW5lcicsXHJcbiAgICAgICAgICBjYXJkOiB7XHJcbiAgICAgICAgICAgIGNhcmRob2xkZXJOYW1lOiB0cnVlXHJcbiAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgIC8vVU5DT01NRU5UIEJFTE9XIEZPUiBHT09HTEVQQVkgLyBWRU5NT1xyXG4gICAgICAgICAgLy8gZ29vZ2xlUGF5OiB7XHJcbiAgICAgICAgICAvLyAgIG1lcmNoYW50SWQ6ICcnLFxyXG4gICAgICAgICAgLy8gICB0cmFuc2FjdGlvbkluZm86IHtcclxuICAgICAgICAgIC8vICAgICBjdXJyZW5jeUNvZGU6IGN1cnJlbmN5LFxyXG4gICAgICAgICAgLy8gICAgIHRvdGFsUHJpY2VTdGF0dXM6ICdGSU5BTCcsXHJcbiAgICAgICAgICAvLyAgICAgdG90YWxQcmljZTogdG90YWxQcmljZSxcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gfSxcclxuICAgICAgICAgIC8vIHZlbm1vOiB7XHJcbiAgICAgICAgICAvLyAgIGFsbG93TmV3QnJvd3NlclRhYjogZmFsc2VcclxuICAgICAgICAgIC8vIH0sXHJcbiAgICAgICAgICBkYXRhQ29sbGVjdG9yOiB0cnVlXHJcbiAgICAgICAgfSwgZnVuY3Rpb24oY3JlYXRlRXJyLCBpbnN0YW5jZSkge1xyXG4gICAgICAgICAgaWYgKGluc3RhbmNlKSB7XHJcbiAgICAgICAgICAgIHRoYXQuYnJhaW50cmVlSW5zdGFuY2UgPSBpbnN0YW5jZTtcclxuICAgICAgICAgICAgaW5zdGFuY2UuX2RhdGFDb2xsZWN0b3IuX2luc3RhbmNlLmdldERldmljZURhdGEoKS50aGVuKChkZXZpY2VEYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhhdC5kZXZpY2VEYXRhID0gZGV2aWNlRGF0YTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGF0Lm5zLmVycm9yKCdDcmVkaXQgQ2FyZCBQYXltZW50IGlzIGZhY2luZyBpc3N1ZXMuIFBsZWFzZSB0cnkgb3RoZXIgcGF5bWVudCBtZXRob2RzLicpXHJcbiAgICAgICAgICAgIHRoYXQuY2xvc2VEaWFsb2coKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXRQYXltZW50KHBheWxvYWQpIHtcclxuICAgIHRoaXMucHMucGF5KHRoaXMucGFpZEZvciwgcGF5bG9hZC5ub25jZSwgJ0NPTVBMRVRFRCcsIHRoaXMuZGV2aWNlRGF0YSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZURpYWxvZygpIHtcclxuICAgIHN1cGVyLmNsb3NlKCk7XHJcbiAgICB0aGlzLmJyYWludHJlZUluc3RhbmNlID0gbnVsbDtcclxuICB9XHJcblxyXG4gIC8vRXZlbnRzXHJcbiAgb25QYXkoKSB7XHJcbiAgICBpZiAodGhpcy5icmFpbnRyZWVJbnN0YW5jZSAmJiB0aGlzLmRldmljZURhdGEpIHtcclxuICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XHJcbiAgICAgIHRoaXMuYnJhaW50cmVlSW5zdGFuY2UucmVxdWVzdFBheW1lbnRNZXRob2QoZnVuY3Rpb24ocmVxdWVzdFBheW1lbnRFcnIsIHBheWxvYWQpIHtcclxuICAgICAgICB0aGF0LnN1Ym1pdFBheW1lbnQocGF5bG9hZCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DbG9zZSgpIHtcclxuICAgIGNvbnN0IGNsb3NlRGlhbG9nID0gdGhpcy5jbG9zZURpYWxvZztcclxuXHJcbiAgICBpZiAodGhpcy5icmFpbnRyZWVJbnN0YW5jZSkge1xyXG4gICAgICB0aGlzLmJyYWludHJlZUluc3RhbmNlLnRlYXJkb3duKGZ1bmN0aW9uKGVycikge1xyXG4gICAgICAgIGNsb3NlRGlhbG9nKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNsb3NlRGlhbG9nKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHZpc2libGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5pc09wZW4gJiYgdGhpcy5wcy5nZXRUb3RhbCgpID4gMDtcclxuICB9XHJcbn1cclxuIiwiQGlmICh2aXNpYmxlKSB7XHJcbiAgPGRpdiBjbGFzcz0nc2VuZC1tZXNzYWdlX19rZW5kby1kaWFsb2cnPlxyXG4gICAgPGtlbmRvLWRpYWxvZyBbd2lkdGhdPSc0ODAnIFtoZWlnaHRdPSc1NjAnIFt0aGVtZUNvbG9yXT0ndGhlbWVDb2xvcicgKGNsb3NlKT0nb25DbG9zZSgpJz5cclxuICAgICAgPGtlbmRvLWRpYWxvZy10aXRsZWJhcj5QYXkgd2l0aCBDcmVkaXQgQ2FyZDwva2VuZG8tZGlhbG9nLXRpdGxlYmFyPlxyXG4gICAgICA8ZGl2IGNsYXNzPSdrZW5kby1kaWFsb2ctY29udGVudCc+XHJcbiAgICAgICAgPGRpdiBpZD1cImJyYWludHJlZS1jb250YWluZXJcIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxrZW5kby1kaWFsb2ctYWN0aW9ucyBsYXlvdXQ9J2VuZCc+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz0nYnRuIGJ0bi1zbSBidG4tc3VjY2VzcycgdHlwZT0nYnV0dG9uJyAoY2xpY2spPSdvblBheSgpJz5QYXk8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPSdidG4gYnRuLXNtIGJ0bi1kYW5nZXInIHR5cGU9J2J1dHRvbicgIChjbGljayk9J29uQ2xvc2UoKSc+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgIDwva2VuZG8tZGlhbG9nLWFjdGlvbnM+XHJcbiAgICA8L2tlbmRvLWRpYWxvZz5cclxuICA8L2Rpdj5cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny vadim.osovitny@osovitny.com
|
|
8
|
+
|
|
9
|
+
Created:
|
|
10
|
+
11 Nov 2024
|
|
11
|
+
|
|
12
|
+
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
13
|
+
</file>
|
|
14
|
+
*/
|
|
15
|
+
//braintree
|
|
16
|
+
export * from './braintree/braintree.component';
|
|
17
|
+
//paypal
|
|
18
|
+
export * from './paypal/paypal-button.component';
|
|
19
|
+
export * from './paypal/paypal.component';
|
|
20
|
+
//stripe
|
|
21
|
+
export * from './stripe/stripe.component';
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9iaWxsaW5nL2NvbXBvbmVudHMvZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztFQWFFO0FBRUYsV0FBVztBQUNYLGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsUUFBUTtBQUNSLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxRQUFRO0FBQ1IsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbjxmaWxlPlxyXG4gIFByb2plY3Q6XHJcbiAgICBAb3Nvdml0bnkvYW5hdG9seVxyXG5cclxuICBBdXRob3JzOlxyXG4gICAgVmFkaW0gT3Nvdml0bnkgdmFkaW0ub3Nvdml0bnlAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxMSBOb3YgMjAyNFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMTYtMjAyMiBPc292aXRueSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vYnJhaW50cmVlXHJcbmV4cG9ydCAqIGZyb20gJy4vYnJhaW50cmVlL2JyYWludHJlZS5jb21wb25lbnQnO1xyXG5cclxuLy9wYXlwYWxcclxuZXhwb3J0ICogZnJvbSAnLi9wYXlwYWwvcGF5cGFsLWJ1dHRvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3BheXBhbC9wYXlwYWwuY29tcG9uZW50JztcclxuXHJcbi8vc3RyaXBlXHJcbmV4cG9ydCAqIGZyb20gJy4vc3RyaXBlL3N0cmlwZS5jb21wb25lbnQnO1xyXG5cclxuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
@osovitny/anatoly
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny vadim.osovitny@osovitny.com
|
|
8
|
+
|
|
9
|
+
Created:
|
|
10
|
+
8 Nov 2024
|
|
11
|
+
|
|
12
|
+
Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
|
|
13
|
+
</file>
|
|
14
|
+
*/
|
|
15
|
+
import { PaypalButtonComponent, PayPalComponent,
|
|
16
|
+
//Dialogs
|
|
17
|
+
BraintreeDialog, StripeDialog } from './exports';
|
|
18
|
+
export const COMPONENTS = [
|
|
19
|
+
PaypalButtonComponent,
|
|
20
|
+
PayPalComponent,
|
|
21
|
+
//Dialogs
|
|
22
|
+
BraintreeDialog,
|
|
23
|
+
StripeDialog
|
|
24
|
+
];
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvYmlsbGluZy9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7O0VBYUU7QUFFRixPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGVBQWU7QUFFZixTQUFTO0FBQ1QsZUFBZSxFQUNmLFlBQVksRUFDYixNQUFNLFdBQVcsQ0FBQztBQUVuQixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUc7SUFDeEIscUJBQXFCO0lBQ3JCLGVBQWU7SUFFZixTQUFTO0lBQ1QsZUFBZTtJQUNmLFlBQVk7Q0FDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDggTm92IDIwMjRcclxuXHJcbiAgQ29weXJpZ2h0IChjKSAyMDE2LTIwMjIgT3Nvdml0bnkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxyXG48L2ZpbGU+XHJcbiovXHJcblxyXG5pbXBvcnQge1xyXG4gIFBheXBhbEJ1dHRvbkNvbXBvbmVudCxcclxuICBQYXlQYWxDb21wb25lbnQsXHJcblxyXG4gIC8vRGlhbG9nc1xyXG4gIEJyYWludHJlZURpYWxvZyxcclxuICBTdHJpcGVEaWFsb2dcclxufSBmcm9tICcuL2V4cG9ydHMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IENPTVBPTkVOVFMgPSBbXHJcbiAgUGF5cGFsQnV0dG9uQ29tcG9uZW50LFxyXG4gIFBheVBhbENvbXBvbmVudCxcclxuXHJcbiAgLy9EaWFsb2dzXHJcbiAgQnJhaW50cmVlRGlhbG9nLFxyXG4gIFN0cmlwZURpYWxvZ1xyXG5dO1xyXG4iXX0=
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/*
|
|
2
|
+
<file>
|
|
3
|
+
Project:
|
|
4
|
+
Atlas Cross
|
|
5
|
+
|
|
6
|
+
Authors:
|
|
7
|
+
Vadim Osovitny vadim.osovitny@osovitny.com
|
|
8
|
+
|
|
9
|
+
Created:
|
|
10
|
+
14 Jun 2024
|
|
11
|
+
|
|
12
|
+
Description:
|
|
13
|
+
https://github.com/braintree/braintree-web-drop-in/issues/433
|
|
14
|
+
It's impossible to trigger the paypal flow programmatically, as opening a popup window must be as a result of
|
|
15
|
+
a direct user action. If it is not, the browser will usually block it.
|
|
16
|
+
|
|
17
|
+
https://stackoverflow.com/questions/43276570/trigger-paypal-checkout-button-click
|
|
18
|
+
This isn't something that's supported by the PayPal button right now. The official policy is, only a click on the button
|
|
19
|
+
itself should open a checkout window.
|
|
20
|
+
|
|
21
|
+
shipping_preference:
|
|
22
|
+
https://developer.paypal.com/docs/api/payments/v1/?mark=shipping_preference%20#definition-application_context
|
|
23
|
+
|
|
24
|
+
Copyright (c) 2023-2024 Atlas Cross Inc. All rights reserved.
|
|
25
|
+
</file>
|
|
26
|
+
*/
|
|
27
|
+
//Node
|
|
28
|
+
import { Component, Input } from '@angular/core';
|
|
29
|
+
//App
|
|
30
|
+
import { AppCoreSettings } from '../../../core/consts/core-settings';
|
|
31
|
+
import { ComponentBase } from '../../../ui/components/base/components/component';
|
|
32
|
+
import { PaymentMethod, PaymentStage } from '../../../core/enums/billing';
|
|
33
|
+
import * as i0 from "@angular/core";
|
|
34
|
+
import * as i1 from "../../services/payments.service";
|
|
35
|
+
import * as i2 from "./paypal.component";
|
|
36
|
+
function PaypalButtonComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
37
|
+
i0.ɵɵelement(0, "anatoly-billing-paypal-container", 0);
|
|
38
|
+
} if (rf & 2) {
|
|
39
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
40
|
+
i0.ɵɵproperty("config", ctx_r0.payPalConfig);
|
|
41
|
+
} }
|
|
42
|
+
export class PaypalButtonComponent extends ComponentBase {
|
|
43
|
+
constructor(ps) {
|
|
44
|
+
super();
|
|
45
|
+
this.ps = ps;
|
|
46
|
+
this.paidForTitle = 'Payment for Prodiuct';
|
|
47
|
+
}
|
|
48
|
+
ngOnInit() {
|
|
49
|
+
this.setDefaults();
|
|
50
|
+
this.setValues();
|
|
51
|
+
}
|
|
52
|
+
setDefaults() {
|
|
53
|
+
}
|
|
54
|
+
setValues() {
|
|
55
|
+
this.initPayPal();
|
|
56
|
+
this.ps.discountCodeApplied$.subscribe((data) => {
|
|
57
|
+
this.initPayPal();
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
initPayPal() {
|
|
61
|
+
let that = this;
|
|
62
|
+
let clientId = AppCoreSettings.external.pm.payPal.clientId;
|
|
63
|
+
let totalPrice = this.ps.getTotal().toString();
|
|
64
|
+
let currency = this.ps.currency;
|
|
65
|
+
this.payPalConfig = {
|
|
66
|
+
currency: currency,
|
|
67
|
+
clientId: clientId,
|
|
68
|
+
advanced: {
|
|
69
|
+
commit: 'true',
|
|
70
|
+
extraQueryParams: [
|
|
71
|
+
{
|
|
72
|
+
name: "disable-funding",
|
|
73
|
+
value: "credit,card"
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
style: {
|
|
78
|
+
color: 'white'
|
|
79
|
+
},
|
|
80
|
+
createOrderOnClient: (data) => ({
|
|
81
|
+
intent: 'CAPTURE',
|
|
82
|
+
application_context: {
|
|
83
|
+
shipping_preference: "NO_SHIPPING"
|
|
84
|
+
},
|
|
85
|
+
purchase_units: [
|
|
86
|
+
{
|
|
87
|
+
amount: {
|
|
88
|
+
currency_code: currency,
|
|
89
|
+
value: totalPrice,
|
|
90
|
+
breakdown: {
|
|
91
|
+
item_total: {
|
|
92
|
+
currency_code: currency,
|
|
93
|
+
value: totalPrice
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
items: [
|
|
98
|
+
{
|
|
99
|
+
name: this.paidForTitle,
|
|
100
|
+
quantity: '1',
|
|
101
|
+
category: 'DIGITAL_GOODS',
|
|
102
|
+
unit_amount: {
|
|
103
|
+
currency_code: currency,
|
|
104
|
+
value: totalPrice
|
|
105
|
+
},
|
|
106
|
+
}
|
|
107
|
+
]
|
|
108
|
+
}
|
|
109
|
+
]
|
|
110
|
+
}),
|
|
111
|
+
onApprove: (data, actions) => {
|
|
112
|
+
return actions.order.capture().then(function (orderData) {
|
|
113
|
+
try {
|
|
114
|
+
let payment = orderData.purchase_units[0].payments.captures[0];
|
|
115
|
+
let paymentId = payment.id;
|
|
116
|
+
let status = payment.status;
|
|
117
|
+
let amount = payment.amount.value;
|
|
118
|
+
let currencyCode = payment.amount.currency_code;
|
|
119
|
+
let details = JSON.stringify(orderData);
|
|
120
|
+
that.ps.pay(that.paidFor, paymentId, status, details);
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
that.ps.paymentFailed(PaymentStage.External);
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
},
|
|
127
|
+
onCancel: (data, actions) => {
|
|
128
|
+
that.ps.paymentInProgress = false;
|
|
129
|
+
},
|
|
130
|
+
onError: err => {
|
|
131
|
+
that.ps.paymentInProgress = false;
|
|
132
|
+
},
|
|
133
|
+
onClick: (data, actions) => {
|
|
134
|
+
that.ps.paymentInProgress = true;
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
get visible() {
|
|
139
|
+
return this.ps.selectedPaymentMethod == PaymentMethod.PayPal && this.ps.getTotal() > 0;
|
|
140
|
+
}
|
|
141
|
+
static { this.ɵfac = function PaypalButtonComponent_Factory(t) { return new (t || PaypalButtonComponent)(i0.ɵɵdirectiveInject(i1.PaymentsService)); }; }
|
|
142
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PaypalButtonComponent, selectors: [["anatoly-billing-paypal-button"]], inputs: { paidForTitle: "paidForTitle", paidFor: "paidFor" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[3, "config"]], template: function PaypalButtonComponent_Template(rf, ctx) { if (rf & 1) {
|
|
143
|
+
i0.ɵɵtemplate(0, PaypalButtonComponent_Conditional_0_Template, 1, 1, "anatoly-billing-paypal-container", 0);
|
|
144
|
+
} if (rf & 2) {
|
|
145
|
+
i0.ɵɵconditional(0, ctx.visible ? 0 : -1);
|
|
146
|
+
} }, dependencies: [i2.PayPalComponent], encapsulation: 2 }); }
|
|
147
|
+
}
|
|
148
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PaypalButtonComponent, [{
|
|
149
|
+
type: Component,
|
|
150
|
+
args: [{ selector: 'anatoly-billing-paypal-button', template: "@if (visible) {\r\n <anatoly-billing-paypal-container [config]='payPalConfig' />\r\n}\r\n" }]
|
|
151
|
+
}], () => [{ type: i1.PaymentsService }], { paidForTitle: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}], paidFor: [{
|
|
154
|
+
type: Input
|
|
155
|
+
}] }); })();
|
|
156
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PaypalButtonComponent, { className: "PaypalButtonComponent", filePath: "lib\\billing\\components\\paypal\\paypal-button.component.ts", lineNumber: 42 }); })();
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5cGFsLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvYmlsbGluZy9jb21wb25lbnRzL3BheXBhbC9wYXlwYWwtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9iaWxsaW5nL2NvbXBvbmVudHMvcGF5cGFsL3BheXBhbC1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF5QkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsS0FBSztBQUNMLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFakYsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7SUNqQ3hFLHNEQUE0RDs7O0lBQTFCLDRDQUF1Qjs7QUR3QzNELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBTXRELFlBQW1CLEVBQW1CO1FBQ3BDLEtBQUssRUFBRSxDQUFDO1FBRFMsT0FBRSxHQUFGLEVBQUUsQ0FBaUI7UUFIN0IsaUJBQVksR0FBRyxzQkFBc0IsQ0FBQztJQUsvQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVPLFdBQVc7SUFDbkIsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FB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LENBQUMsRUFBRSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUNwQyxDQUFDO1lBRUQsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFO2dCQUNiLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO1lBQ3BDLENBQUM7WUFFRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7Z0JBQ3pCLElBQUksQ0FBQyxFQUFFLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1lBQ25DLENBQUM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMscUJBQXFCLElBQUksYUFBYSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN6RixDQUFDO3NGQW5IVSxxQkFBcUI7b0VBQXJCLHFCQUFxQjtZQ3pDbEMsMkdBRUM7O1lBRkQseUNBRUM7OztpRkR1Q1kscUJBQXFCO2NBSmpDLFNBQVM7MkJBQ0UsK0JBQStCO2dEQU1oQyxZQUFZO2tCQUFwQixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLOztrRkFKSyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQXRsYXMgQ3Jvc3NcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltLm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMTQgSnVuIDIwMjRcclxuXHJcbiAgRGVzY3JpcHRpb246XHJcbiAgICBodHRwczovL2dpdGh1Yi5jb20vYnJhaW50cmVlL2JyYWludHJlZS13ZWItZHJvcC1pbi9pc3N1ZXMvNDMzXHJcbiAgICBJdCdzIGltcG9zc2libGUgdG8gdHJpZ2dlciB0aGUgcGF5cGFsIGZsb3cgcHJvZ3JhbW1hdGljYWxseSwgYXMgb3BlbmluZyBhIHBvcHVwIHdpbmRvdyBtdXN0IGJlIGFzIGEgcmVzdWx0IG9mXHJcbiAgICBhIGRpcmVjdCB1c2VyIGFjdGlvbi4gSWYgaXQgaXMgbm90LCB0aGUgYnJvd3NlciB3aWxsIHVzdWFsbHkgYmxvY2sgaXQuXHJcblxyXG4gICAgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNDMyNzY1NzAvdHJpZ2dlci1wYXlwYWwtY2hlY2tvdXQtYnV0dG9uLWNsaWNrXHJcbiAgICBUaGlzIGlzbid0IHNvbWV0aGluZyB0aGF0J3Mgc3VwcG9ydGVkIGJ5IHRoZSBQYXlQYWwgYnV0dG9uIHJpZ2h0IG5vdy4gVGhlIG9mZmljaWFsIHBvbGljeSBpcywgb25seSBhIGNsaWNrIG9uIHRoZSBidXR0b25cclxuICAgIGl0c2VsZiBzaG91bGQgb3BlbiBhIGNoZWNrb3V0IHdpbmRvdy5cclxuXHJcbiAgICBzaGlwcGluZ19wcmVmZXJlbmNlOlxyXG4gICAgaHR0cHM6Ly9kZXZlbG9wZXIucGF5cGFsLmNvbS9kb2NzL2FwaS9wYXltZW50cy92MS8/bWFyaz1zaGlwcGluZ19wcmVmZXJlbmNlJTIwI2RlZmluaXRpb24tYXBwbGljYXRpb25fY29udGV4dFxyXG5cclxuICBDb3B5cmlnaHQgKGMpIDIwMjMtMjAyNCBBdGxhcyBDcm9zcyBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXHJcbjwvZmlsZT5cclxuKi9cclxuXHJcbi8vTm9kZVxyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBBcHBDb3JlU2V0dGluZ3MgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2NvbnN0cy9jb3JlLXNldHRpbmdzJztcclxuaW1wb3J0IHsgQ29tcG9uZW50QmFzZSB9IGZyb20gJy4uLy4uLy4uL3VpL2NvbXBvbmVudHMvYmFzZS9jb21wb25lbnRzL2NvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBheW1lbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BheW1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQYXltZW50TWV0aG9kLCBQYXltZW50U3RhZ2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL2VudW1zL2JpbGxpbmcnO1xyXG5pbXBvcnQgeyBJQ3JlYXRlT3JkZXJSZXF1ZXN0LCBJUGF5UGFsQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3BheXBhbC1tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWJpbGxpbmctcGF5cGFsLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BheXBhbC1idXR0b24uY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYXlwYWxCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRCYXNlIHtcclxuICBwYXlQYWxDb25maWc/OiBJUGF5UGFsQ29uZmlnO1xyXG5cclxuICBASW5wdXQoKSBwYWlkRm9yVGl0bGUgPSAnUGF5bWVudCBmb3IgUHJvZGl1Y3QnO1xyXG4gIEBJbnB1dCgpIHBhaWRGb3I7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBwczogUGF5bWVudHNTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldERlZmF1bHRzKCk7XHJcbiAgICB0aGlzLnNldFZhbHVlcygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREZWZhdWx0cygpIHtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VmFsdWVzKCkge1xyXG4gICAgdGhpcy5pbml0UGF5UGFsKCk7XHJcblxyXG4gICAgdGhpcy5wcy5kaXNjb3VudENvZGVBcHBsaWVkJC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgdGhpcy5pbml0UGF5UGFsKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdFBheVBhbCgpIHtcclxuICAgIGxldCB0aGF0ID0gdGhpcztcclxuICAgIGxldCBjbGllbnRJZCA9IEFwcENvcmVTZXR0aW5ncy5leHRlcm5hbC5wbS5wYXlQYWwuY2xpZW50SWQ7XHJcbiAgICBsZXQgdG90YWxQcmljZSA9IHRoaXMucHMuZ2V0VG90YWwoKS50b1N0cmluZygpO1xyXG4gICAgbGV0IGN1cnJlbmN5ID0gdGhpcy5wcy5jdXJyZW5jeTtcclxuXHJcbiAgICB0aGlzLnBheVBhbENvbmZpZyA9IHtcclxuICAgICAgY3VycmVuY3k6IGN1cnJlbmN5LFxyXG4gICAgICBjbGllbnRJZDogY2xpZW50SWQsXHJcbiAgICAgIGFkdmFuY2VkOiB7XHJcbiAgICAgICAgY29tbWl0OiAndHJ1ZScsXHJcbiAgICAgICAgZXh0cmFRdWVyeVBhcmFtczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBuYW1lOiBcImRpc2FibGUtZnVuZGluZ1wiLFxyXG4gICAgICAgICAgICB2YWx1ZTogXCJjcmVkaXQsY2FyZFwiXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgXVxyXG4gICAgICB9LFxyXG4gICAgICBzdHlsZToge1xyXG4gICAgICAgIGNvbG9yOiAnd2hpdGUnXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBjcmVhdGVPcmRlck9uQ2xpZW50OiAoZGF0YSkgPT4gPElDcmVhdGVPcmRlclJlcXVlc3Q+e1xyXG4gICAgICAgIGludGVudDogJ0NBUFRVUkUnLFxyXG4gICAgICAgIGFwcGxpY2F0aW9uX2NvbnRleHQ6IHtcclxuICAgICAgICAgIHNoaXBwaW5nX3ByZWZlcmVuY2U6IFwiTk9fU0hJUFBJTkdcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcHVyY2hhc2VfdW5pdHM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgYW1vdW50OiB7XHJcbiAgICAgICAgICAgICAgY3VycmVuY3lfY29kZTogY3VycmVuY3ksXHJcbiAgICAgICAgICAgICAgdmFsdWU6IHRvdGFsUHJpY2UsXHJcbiAgICAgICAgICAgICAgYnJlYWtkb3duOiB7XHJcbiAgICAgICAgICAgICAgICBpdGVtX3RvdGFsOiB7XHJcbiAgICAgICAgICAgICAgICAgIGN1cnJlbmN5X2NvZGU6IGN1cnJlbmN5LFxyXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogdG90YWxQcmljZVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaXRlbXM6IFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLnBhaWRGb3JUaXRsZSxcclxuICAgICAgICAgICAgICAgIHF1YW50aXR5OiAnMScsXHJcbiAgICAgICAgICAgICAgICBjYXRlZ29yeTogJ0RJR0lUQUxfR09PRFMnLFxyXG4gICAgICAgICAgICAgICAgdW5pdF9hbW91bnQ6IHtcclxuICAgICAgICAgICAgICAgICAgY3VycmVuY3lfY29kZTogY3VycmVuY3ksXHJcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiB0b3RhbFByaWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuXHJcbiAgICAgIG9uQXBwcm92ZTogKGRhdGEsIGFjdGlvbnMpID0+IHtcclxuICAgICAgICByZXR1cm4gYWN0aW9ucy5vcmRlci5jYXB0dXJlKCkudGhlbihmdW5jdGlvbiAob3JkZXJEYXRhKSB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBsZXQgcGF5bWVudCA9IG9yZGVyRGF0YS5wdXJjaGFzZV91bml0c1swXS5wYXltZW50cy5jYXB0dXJlc1swXTtcclxuICAgICAgICAgICAgbGV0IHBheW1lbnRJZCA9IHBheW1lbnQuaWQ7XHJcbiAgICAgICAgICAgIGxldCBzdGF0dXMgPSBwYXltZW50LnN0YXR1cztcclxuICAgICAgICAgICAgbGV0IGFtb3VudCA9IHBheW1lbnQuYW1vdW50LnZhbHVlO1xyXG4gICAgICAgICAgICBsZXQgY3VycmVuY3lDb2RlID0gcGF5bWVudC5hbW91bnQuY3VycmVuY3lfY29kZTtcclxuICAgICAgICAgICAgbGV0IGRldGFpbHMgPSBKU09OLnN0cmluZ2lmeShvcmRlckRhdGEpO1xyXG5cclxuICAgICAgICAgICAgdGhhdC5wcy5wYXkodGhhdC5wYWlkRm9yLCBwYXltZW50SWQsIHN0YXR1cywgZGV0YWlscyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjYXRjaFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aGF0LnBzLnBheW1lbnRGYWlsZWQoUGF5bWVudFN0YWdlLkV4dGVybmFsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuXHJcbiAgICAgIG9uQ2FuY2VsOiAoZGF0YSwgYWN0aW9ucykgPT4ge1xyXG4gICAgICAgIHRoYXQucHMucGF5bWVudEluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgfSxcclxuXHJcbiAgICAgIG9uRXJyb3I6IGVyciA9PiB7XHJcbiAgICAgICAgdGhhdC5wcy5wYXltZW50SW5Qcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG5cclxuICAgICAgb25DbGljazogKGRhdGEsIGFjdGlvbnMpID0+IHtcclxuICAgICAgICB0aGF0LnBzLnBheW1lbnRJblByb2dyZXNzID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgdmlzaWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnBzLnNlbGVjdGVkUGF5bWVudE1ldGhvZCA9PSBQYXltZW50TWV0aG9kLlBheVBhbCAmJiB0aGlzLnBzLmdldFRvdGFsKCkgPiAwO1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKHZpc2libGUpIHtcclxuICA8YW5hdG9seS1iaWxsaW5nLXBheXBhbC1jb250YWluZXIgW2NvbmZpZ109J3BheVBhbENvbmZpZycgLz5cclxufVxyXG4iXX0=
|