@osovitny/anatoly 3.17.160 → 3.19.2

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.
Files changed (182) hide show
  1. package/fesm2022/osovitny-anatoly.mjs +569 -532
  2. package/fesm2022/osovitny-anatoly.mjs.map +1 -1
  3. package/lib/billing/utils.d.ts +2 -1
  4. package/lib/core/converts/convert.d.ts +1 -1
  5. package/lib/core/guid.d.ts +1 -1
  6. package/lib/core/is.d.ts +5 -5
  7. package/lib/ui/components/base/components/component.d.ts +1 -1
  8. package/lib/ui/components/base/components/edit.component.d.ts +1 -1
  9. package/lib/ui/components/base/components/enum-edit.component.d.ts +1 -1
  10. package/lib/ui/components/data-grid/control-panel.component.d.ts +6 -5
  11. package/lib/ui/components/dropdownlists/country/country.dropdownlist.d.ts +1 -3
  12. package/lib/ui/components/identity/signin-button.component.d.ts +0 -1
  13. package/lib/ui/components/identity/signout-button.component.d.ts +0 -1
  14. package/lib/ui/components/identity/signup-button.component.d.ts +0 -1
  15. package/lib/ui/directives/index.d.ts +1 -1
  16. package/lib/ui/directives/replacer/replacer.base.directive.d.ts +2 -1
  17. package/package.json +58 -60
  18. package/esm2022/lib/anatoly.module.mjs +0 -62
  19. package/esm2022/lib/billing/billing.module.mjs +0 -81
  20. package/esm2022/lib/billing/components/buttons/buyaccess-button.component.mjs +0 -104
  21. package/esm2022/lib/billing/components/buttons/subscribe-plan-button.component.mjs +0 -113
  22. package/esm2022/lib/billing/components/exports.mjs +0 -28
  23. package/esm2022/lib/billing/components/index.mjs +0 -31
  24. package/esm2022/lib/billing/components/order-summary/order-summary.component.mjs +0 -154
  25. package/esm2022/lib/billing/components/payment-methods/payment-methods.component.mjs +0 -106
  26. package/esm2022/lib/billing/components/payment-options/payment-options.component.mjs +0 -97
  27. package/esm2022/lib/billing/components/pm/braintree/braintree.component.mjs +0 -155
  28. package/esm2022/lib/billing/components/pm/paypal/paypal-button.component.mjs +0 -159
  29. package/esm2022/lib/billing/components/pm/paypal/paypal-subscribe-button.component.mjs +0 -149
  30. package/esm2022/lib/billing/components/pm/paypal/paypal.component.mjs +0 -317
  31. package/esm2022/lib/billing/components/pm/stripe/stripe.component.mjs +0 -109
  32. package/esm2022/lib/billing/exports.mjs +0 -19
  33. package/esm2022/lib/billing/models/paypal-models.mjs +0 -16
  34. package/esm2022/lib/billing/services/payments.service.mjs +0 -170
  35. package/esm2022/lib/billing/services/paypal-script.service.mjs +0 -90
  36. package/esm2022/lib/billing/utils.mjs +0 -28
  37. package/esm2022/lib/core/browser.mjs +0 -24
  38. package/esm2022/lib/core/consts/app-settings.mjs +0 -55
  39. package/esm2022/lib/core/consts/core-settings.mjs +0 -29
  40. package/esm2022/lib/core/consts/formats.mjs +0 -27
  41. package/esm2022/lib/core/consts/ga.mjs +0 -26
  42. package/esm2022/lib/core/consts/storageKeys.mjs +0 -23
  43. package/esm2022/lib/core/converts/convert.mjs +0 -103
  44. package/esm2022/lib/core/converts/dateConvert.mjs +0 -60
  45. package/esm2022/lib/core/converts/tz/tzParseTimezone.mjs +0 -122
  46. package/esm2022/lib/core/converts/tz/tzTokenizeDate.mjs +0 -101
  47. package/esm2022/lib/core/converts/xmlFormatter.mjs +0 -34
  48. package/esm2022/lib/core/core.module.mjs +0 -112
  49. package/esm2022/lib/core/dom.mjs +0 -153
  50. package/esm2022/lib/core/enums/billing.mjs +0 -56
  51. package/esm2022/lib/core/enums/enums.mjs +0 -35
  52. package/esm2022/lib/core/enums/index.mjs +0 -17
  53. package/esm2022/lib/core/exports.mjs +0 -67
  54. package/esm2022/lib/core/go/apps-go.service.mjs +0 -88
  55. package/esm2022/lib/core/go/go.service.mjs +0 -86
  56. package/esm2022/lib/core/guards/once-import.guard.mjs +0 -21
  57. package/esm2022/lib/core/guards/starter.guard.mjs +0 -46
  58. package/esm2022/lib/core/guid.mjs +0 -22
  59. package/esm2022/lib/core/interceptors/httpInterceptor.mjs +0 -161
  60. package/esm2022/lib/core/is.mjs +0 -98
  61. package/esm2022/lib/core/localization/localization.module.mjs +0 -45
  62. package/esm2022/lib/core/localization/localization.service.mjs +0 -164
  63. package/esm2022/lib/core/localization/localize.pipe.mjs +0 -83
  64. package/esm2022/lib/core/localization/settings.module.mjs +0 -103
  65. package/esm2022/lib/core/localization/utils.mjs +0 -41
  66. package/esm2022/lib/core/logging/globalErrorHandler.mjs +0 -41
  67. package/esm2022/lib/core/logging/logging.service.mjs +0 -40
  68. package/esm2022/lib/core/models/qs.mjs +0 -17
  69. package/esm2022/lib/core/notifications/alerts.mjs +0 -116
  70. package/esm2022/lib/core/notifications/interfaces/notification.mjs +0 -17
  71. package/esm2022/lib/core/notifications/services/notification-service.mjs +0 -83
  72. package/esm2022/lib/core/performance/stopwatch.mjs +0 -50
  73. package/esm2022/lib/core/services/appcontext.service.mjs +0 -186
  74. package/esm2022/lib/core/services/dm.service.mjs +0 -69
  75. package/esm2022/lib/core/services/google-analytics.service.mjs +0 -75
  76. package/esm2022/lib/core/services/idle.service.mjs +0 -77
  77. package/esm2022/lib/core/services/loading.service.mjs +0 -67
  78. package/esm2022/lib/core/services/script.service.mjs +0 -77
  79. package/esm2022/lib/core/services/starter.service.mjs +0 -85
  80. package/esm2022/lib/core/services/web-storage.service.mjs +0 -66
  81. package/esm2022/lib/core/subs.mjs +0 -31
  82. package/esm2022/lib/core/utils/qsutils.mjs +0 -84
  83. package/esm2022/lib/core/utils/utils.mjs +0 -112
  84. package/esm2022/lib/data/base/api.service.mjs +0 -94
  85. package/esm2022/lib/data/base/grid/grid-edit.service.mjs +0 -80
  86. package/esm2022/lib/data/base/grid/grid-read.service.mjs +0 -60
  87. package/esm2022/lib/data/data.module.mjs +0 -66
  88. package/esm2022/lib/data/exports.mjs +0 -29
  89. package/esm2022/lib/data/services/billing/currencies-api.service.mjs +0 -41
  90. package/esm2022/lib/data/services/billing/currencies-storage.service.mjs +0 -92
  91. package/esm2022/lib/data/services/billing/discountcodes-api.service.mjs +0 -37
  92. package/esm2022/lib/data/services/billing/payments-api.service.mjs +0 -64
  93. package/esm2022/lib/data/services/billing/subscriptions-api.service.mjs +0 -61
  94. package/esm2022/lib/data/services/billing/transactions-api.service.mjs +0 -43
  95. package/esm2022/lib/data/services/core-api.service.mjs +0 -44
  96. package/esm2022/lib/data/services/emails-api.service.mjs +0 -47
  97. package/esm2022/lib/external/fa.module.mjs +0 -45
  98. package/esm2022/lib/external/kendo.module.mjs +0 -179
  99. package/esm2022/lib/iam/b2c/b2c.mjs +0 -40
  100. package/esm2022/lib/iam/b2c/consts.mjs +0 -25
  101. package/esm2022/lib/iam/b2c/index.mjs +0 -21
  102. package/esm2022/lib/iam/configs.mjs +0 -109
  103. package/esm2022/lib/iam/consts.mjs +0 -22
  104. package/esm2022/lib/iam/exports.mjs +0 -22
  105. package/esm2022/lib/iam/guards/admin.guard.mjs +0 -46
  106. package/esm2022/lib/iam/guards/authentication.guard.mjs +0 -30
  107. package/esm2022/lib/iam/guards/index.mjs +0 -20
  108. package/esm2022/lib/iam/iam-pages.module.mjs +0 -57
  109. package/esm2022/lib/iam/iam-pages.routes.mjs +0 -45
  110. package/esm2022/lib/iam/iam.module.mjs +0 -84
  111. package/esm2022/lib/iam/pages/signin.page.mjs +0 -40
  112. package/esm2022/lib/iam/pages/signout.page.mjs +0 -40
  113. package/esm2022/lib/iam/pages/signup.page.mjs +0 -40
  114. package/esm2022/lib/iam/redirect.mjs +0 -29
  115. package/esm2022/lib/iam/services/auth.service.mjs +0 -436
  116. package/esm2022/lib/iam/storage.mjs +0 -42
  117. package/esm2022/lib/iam/utils.mjs +0 -49
  118. package/esm2022/lib/ui/components/base/components/component.mjs +0 -76
  119. package/esm2022/lib/ui/components/base/components/edit.component.mjs +0 -146
  120. package/esm2022/lib/ui/components/base/components/enum-edit.component.mjs +0 -92
  121. package/esm2022/lib/ui/components/base/dialog.mjs +0 -71
  122. package/esm2022/lib/ui/components/base/list.mjs +0 -100
  123. package/esm2022/lib/ui/components/base/pages/edit.page.mjs +0 -32
  124. package/esm2022/lib/ui/components/base/pages/page.mjs +0 -32
  125. package/esm2022/lib/ui/components/base/pages/paged.page.mjs +0 -68
  126. package/esm2022/lib/ui/components/card/card-body.component.mjs +0 -37
  127. package/esm2022/lib/ui/components/card/card-footer.component.mjs +0 -37
  128. package/esm2022/lib/ui/components/card/card-header.component.mjs +0 -51
  129. package/esm2022/lib/ui/components/card/card.component.mjs +0 -41
  130. package/esm2022/lib/ui/components/check-icon/check-icon.component.mjs +0 -43
  131. package/esm2022/lib/ui/components/copy-2-clipboard/copy-2-clipboard.component.mjs +0 -57
  132. package/esm2022/lib/ui/components/data-grid/control-panel.component.mjs +0 -201
  133. package/esm2022/lib/ui/components/datapager/datapager.component.mjs +0 -95
  134. package/esm2022/lib/ui/components/dropdownlists/country/country.dropdownlist.mjs +0 -96
  135. package/esm2022/lib/ui/components/dropdownlists/moderationstatus/moderationstatus.dropdownlist.mjs +0 -88
  136. package/esm2022/lib/ui/components/dropdownlists/publishstatus/publishstatus.dropdownlist.mjs +0 -88
  137. package/esm2022/lib/ui/components/dropdownlists/timezone/timezone.dropdownlist.mjs +0 -112
  138. package/esm2022/lib/ui/components/exports.mjs +0 -53
  139. package/esm2022/lib/ui/components/feature-will-be-ready/feature-will-be-ready.component.mjs +0 -55
  140. package/esm2022/lib/ui/components/html-editor/base-editor.component.mjs +0 -94
  141. package/esm2022/lib/ui/components/html-editor/defaultoptions.mjs +0 -87
  142. package/esm2022/lib/ui/components/html-editor/html-editor.component.mjs +0 -114
  143. package/esm2022/lib/ui/components/identity/signin-button.component.mjs +0 -105
  144. package/esm2022/lib/ui/components/identity/signout-button.component.mjs +0 -105
  145. package/esm2022/lib/ui/components/identity/signup-button.component.mjs +0 -105
  146. package/esm2022/lib/ui/components/index.mjs +0 -57
  147. package/esm2022/lib/ui/components/no-mobile-support/no-mobile-support.component.mjs +0 -45
  148. package/esm2022/lib/ui/components/nodata/nodata.component.mjs +0 -76
  149. package/esm2022/lib/ui/components/spinners/loading/loading.component.mjs +0 -53
  150. package/esm2022/lib/ui/components/spinners/pagespinner/pagespinner.component.mjs +0 -85
  151. package/esm2022/lib/ui/components/spinners/pagespinner/spinkits.mjs +0 -12
  152. package/esm2022/lib/ui/components/urlslug/urlslug.component.mjs +0 -130
  153. package/esm2022/lib/ui/components/you-agree-to-our-terms/you-agree-to-our-terms.component.mjs +0 -63
  154. package/esm2022/lib/ui/dialogs/contact-us/contact-us.dialog.mjs +0 -78
  155. package/esm2022/lib/ui/dialogs/exports.mjs +0 -16
  156. package/esm2022/lib/ui/dialogs/index.mjs +0 -19
  157. package/esm2022/lib/ui/directives/exports.mjs +0 -19
  158. package/esm2022/lib/ui/directives/hover.directive.mjs +0 -50
  159. package/esm2022/lib/ui/directives/index.mjs +0 -22
  160. package/esm2022/lib/ui/directives/native-element.directive.mjs +0 -37
  161. package/esm2022/lib/ui/directives/replacer/a-replacer.directive.mjs +0 -48
  162. package/esm2022/lib/ui/directives/replacer/image-replacer.directive.mjs +0 -44
  163. package/esm2022/lib/ui/directives/replacer/replacer.base.directive.mjs +0 -44
  164. package/esm2022/lib/ui/exports.mjs +0 -22
  165. package/esm2022/lib/ui/forms/components/address/address.component.mjs +0 -240
  166. package/esm2022/lib/ui/forms/components/company/company.component.mjs +0 -138
  167. package/esm2022/lib/ui/forms/contact-us/contact-us.mjs +0 -213
  168. package/esm2022/lib/ui/forms/exports.mjs +0 -20
  169. package/esm2022/lib/ui/forms/index.mjs +0 -21
  170. package/esm2022/lib/ui/pipes/exports.mjs +0 -19
  171. package/esm2022/lib/ui/pipes/filesize.pipe.mjs +0 -42
  172. package/esm2022/lib/ui/pipes/index.mjs +0 -22
  173. package/esm2022/lib/ui/pipes/replace-text.pipe.mjs +0 -37
  174. package/esm2022/lib/ui/pipes/safeHtml.pipe.mjs +0 -34
  175. package/esm2022/lib/ui/ui.module.mjs +0 -122
  176. package/esm2022/lib/ui/validation/exports.mjs +0 -19
  177. package/esm2022/lib/ui/validation/form-validation-summary.component.mjs +0 -90
  178. package/esm2022/lib/ui/validation/index.mjs +0 -21
  179. package/esm2022/lib/ui/validation/item-validation-summary.component.mjs +0 -53
  180. package/esm2022/lib/ui/validation/validation-summary.component.mjs +0 -124
  181. package/esm2022/osovitny-anatoly.mjs +0 -5
  182. package/esm2022/public-api.mjs +0 -22
@@ -1,155 +0,0 @@
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-2025 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\\pm\\braintree\\braintree.component.ts", lineNumber: 32 }); })();
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJhaW50cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9iaWxsaW5nL2NvbXBvbmVudHMvcG0vYnJhaW50cmVlL2JyYWludHJlZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvYmlsbGluZy9jb21wb25lbnRzL3BtL2JyYWludHJlZS9icmFpbnRyZWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7RUFnQkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxLQUFLLE1BQU0sTUFBTSx1QkFBdUIsQ0FBQztBQUVoRCxLQUFLO0FBQ0wsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7O0lDdEJqRSw4QkFBd0Msc0JBQUE7SUFDK0IsMEtBQVMsZUFBQSxnQkFBUyxDQUFBLElBQUM7SUFDdEYsNkNBQXVCO0lBQUEsb0NBQW9CO0lBQUEsaUJBQXdCO0lBQ25FLDhCQUFrQztJQUNoQyx5QkFBb0M7SUFDdEMsaUJBQU07SUFDTiwrQ0FBbUMsZ0JBQUE7SUFDb0Isb0tBQVMsZUFBQSxjQUFPLENBQUEsSUFBQztJQUFDLG1CQUFHO0lBQUEsaUJBQVM7SUFDbkYsaUNBQXlFO0lBQXBCLG9LQUFTLGVBQUEsZ0JBQVMsQ0FBQSxJQUFDO0lBQUMsdUJBQU07SUFBQSxpQkFBUyxFQUFBLEVBQUEsRUFBQTs7O0lBUDlFLGNBQWE7SUFBYiwyQkFBYSxlQUFBLGlDQUFBOztBRDZCL0IsTUFBTSxPQUFPLGVBQWdCLFNBQVEsVUFBVTtJQVM3QyxZQUNTLEVBQW1CLEVBQ2xCLEVBQXVCO1FBQy9CLEtBQUssRUFBRSxDQUFDO1FBRkQs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QUc7Z0JBQzFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQzthQUNJLENBQUM7WUFDSixXQUFXLEVBQUUsQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0MsQ0FBQztnRkF2R1UsZUFBZTtvRUFBZixlQUFlO1lDL0I1Qix5RUFhQzs7WUFiRCx5Q0FhQzs7O2lGRGtCWSxlQUFlO2NBSjNCLFNBQVM7MkJBQ0Usa0NBQWtDO2tGQU9uQyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLOztrRkFQSyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEBvc292aXRueS9hbmF0b2x5XHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBEaHJ1diBBZ2Fyd2FsIGRocnV2LmFnYXJ3YWxAb3Nvdml0bnkuY29tXHJcblxyXG4gIENyZWF0ZWQ6XHJcbiAgICAxNCBBdWcgMjAyNFxyXG5cclxuICBEZXNjcmlwdGlvbjpcclxuICAgIENyZWRpdCBDYXJkIHBheW1lbnQgZm9ybSB2aWEgYnJhaW50cmVlIGludGVncmF0aW9uXHJcblxyXG4gIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgZHJvcGluIGZyb20gJ2JyYWludHJlZS13ZWItZHJvcC1pbic7XHJcblxyXG4vL0FwcFxyXG5pbXBvcnQgeyBEaWFsb2dCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkvY29tcG9uZW50cy9iYXNlL2RpYWxvZyc7XHJcbmltcG9ydCB7IFBheW1lbnRzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BheW1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9ub3RpZmljYXRpb25zL3NlcnZpY2VzL25vdGlmaWNhdGlvbi1zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYW5hdG9seS1iaWxsaW5nLWJyYWludHJlZS1kaWFsb2cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9icmFpbnRyZWUuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmFpbnRyZWVEaWFsb2cgZXh0ZW5kcyBEaWFsb2dCYXNlIHtcclxuICBicmFpbnRyZWVJbnN0YW5jZTogYW55O1xyXG4gIGRldmljZURhdGE6IGFueTtcclxuXHJcbiAgQElucHV0KCkgcGFpZEZvcjtcclxuICBASW5wdXQoKSB0aXRsZTtcclxuICBASW5wdXQoKSBkZXNjcmlwdGlvbjtcclxuICBASW5wdXQoKSBpbWFnZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcHM6IFBheW1lbnRzU2VydmljZSxcclxuICAgIHByaXZhdGUgbnM6IE5vdGlmaWNhdGlvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0VmFsdWVzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFZhbHVlcygpIHtcclxuICAgIHRoaXMucHMuc2hvd0JyYWludHJlZURpYWxvZyQuc3Vic2NyaWJlKChpc09wZW4pID0+IHtcclxuICAgICAgdGhpcy5pc09wZW4gPSB0cnVlO1xyXG4gICAgICB0aGlzLmluaXRpYWxpemVFbWJlZEZvcm0oKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGl6ZUVtYmVkRm9ybSgpIHtcclxuICAgIGNvbnN0IHRoYXQgPSB0aGlzO1xyXG4gICAgLy8gbGV0IHRvdGFsUHJpY2UgPSB0aGlzLmJzLmdldFRvdGFsKCkudG9TdHJpbmcoKTtcclxuICAgIC8vIGxldCBjdXJyZW5jeSA9IHRoaXMuYnMuY3VycmVuY3k7XHJcblxyXG4gICAgdGhpcy5wcy5jcmVhdGVCcmFpbnRyZWVUb2tlbigpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcclxuICAgICAgaWYocmVzcG9uc2U/LnRva2VuKSB7XHJcbiAgICAgICAgZHJvcGluLmNyZWF0ZSh7XHJcbiAgICAgICAgICBhdXRob3JpemF0aW9uOiByZXNwb25zZT8udG9rZW4sXHJcbiAgICAgICAgICBjb250YWluZXI6ICcjYnJhaW50cmVlLWNvbnRhaW5lcicsXHJcbiAgICAgICAgICBjYXJkOiB7XHJcbiAgICAgICAgICAgIGNhcmRob2xkZXJOYW1lOiB0cnVlXHJcbiAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgIC8vVU5DT01NRU5UIEJFTE9XIEZPUiBHT09HTEVQQVkgLyBWRU5NT1xyXG4gICAgICAgICAgLy8gZ29vZ2xlUGF5OiB7XHJcbiAgICAgICAgICAvLyAgIG1lcmNoYW50SWQ6ICcnLFxyXG4gICAgICAgICAgLy8gICB0cmFuc2FjdGlvbkluZm86IHtcclxuICAgICAgICAgIC8vICAgICBjdXJyZW5jeUNvZGU6IGN1cnJlbmN5LFxyXG4gICAgICAgICAgLy8gICAgIHRvdGFsUHJpY2VTdGF0dXM6ICdGSU5BTCcsXHJcbiAgICAgICAgICAvLyAgICAgdG90YWxQcmljZTogdG90YWxQcmljZSxcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gfSxcclxuICAgICAgICAgIC8vIHZlbm1vOiB7XHJcbiAgICAgICAgICAvLyAgIGFsbG93TmV3QnJvd3NlclRhYjogZmFsc2VcclxuICAgICAgICAgIC8vIH0sXHJcbiAgICAgICAgICBkYXRhQ29sbGVjdG9yOiB0cnVlXHJcbiAgICAgICAgfSwgZnVuY3Rpb24oY3JlYXRlRXJyLCBpbnN0YW5jZSkge1xyXG4gICAgICAgICAgaWYgKGluc3RhbmNlKSB7XHJcbiAgICAgICAgICAgIHRoYXQuYnJhaW50cmVlSW5zdGFuY2UgPSBpbnN0YW5jZTtcclxuICAgICAgICAgICAgaW5zdGFuY2UuX2RhdGFDb2xsZWN0b3IuX2luc3RhbmNlLmdldERldmljZURhdGEoKS50aGVuKChkZXZpY2VEYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhhdC5kZXZpY2VEYXRhID0gZGV2aWNlRGF0YTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICB0aGF0Lm5zLmVycm9yKCdDcmVkaXQgQ2FyZCBQYXltZW50IGlzIGZhY2luZyBpc3N1ZXMuIFBsZWFzZSB0cnkgb3RoZXIgcGF5bWVudCBtZXRob2RzLicpXHJcbiAgICAgICAgICAgIHRoYXQuY2xvc2VEaWFsb2coKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdWJtaXRQYXltZW50KHBheWxvYWQpIHtcclxuICAgIHRoaXMucHMucGF5KHRoaXMucGFpZEZvciwgcGF5bG9hZC5ub25jZSwgJ0NPTVBMRVRFRCcsIHRoaXMuZGV2aWNlRGF0YSk7XHJcbiAgfVxyXG5cclxuICBjbG9zZURpYWxvZygpIHtcclxuICAgIHN1cGVyLmNsb3NlKCk7XHJcbiAgICB0aGlzLmJyYWludHJlZUluc3RhbmNlID0gbnVsbDtcclxuICB9XHJcblxyXG4gIC8vRXZlbnRzXHJcbiAgb25QYXkoKSB7XHJcbiAgICBpZiAodGhpcy5icmFpbnRyZWVJbnN0YW5jZSAmJiB0aGlzLmRldmljZURhdGEpIHtcclxuICAgICAgY29uc3QgdGhhdCA9IHRoaXM7XHJcbiAgICAgIHRoaXMuYnJhaW50cmVlSW5zdGFuY2UucmVxdWVzdFBheW1lbnRNZXRob2QoZnVuY3Rpb24ocmVxdWVzdFBheW1lbnRFcnIsIHBheWxvYWQpIHtcclxuICAgICAgICB0aGF0LnN1Ym1pdFBheW1lbnQocGF5bG9hZCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25DbG9zZSgpIHtcclxuICAgIGNvbnN0IGNsb3NlRGlhbG9nID0gdGhpcy5jbG9zZURpYWxvZztcclxuXHJcbiAgICBpZiAodGhpcy5icmFpbnRyZWVJbnN0YW5jZSkge1xyXG4gICAgICB0aGlzLmJyYWludHJlZUluc3RhbmNlLnRlYXJkb3duKGZ1bmN0aW9uKGVycikge1xyXG4gICAgICAgIGNsb3NlRGlhbG9nKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNsb3NlRGlhbG9nKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHZpc2libGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5pc09wZW4gJiYgdGhpcy5wcy5nZXRUb3RhbCgpID4gMDtcclxuICB9XHJcbn1cclxuIiwiQGlmICh2aXNpYmxlKSB7XHJcbiAgPGRpdiBjbGFzcz0nc2VuZC1tZXNzYWdlX19rZW5kby1kaWFsb2cnPlxyXG4gICAgPGtlbmRvLWRpYWxvZyBbd2lkdGhdPSc0ODAnIFtoZWlnaHRdPSc1NjAnIFt0aGVtZUNvbG9yXT0ndGhlbWVDb2xvcicgKGNsb3NlKT0nb25DbG9zZSgpJz5cclxuICAgICAgPGtlbmRvLWRpYWxvZy10aXRsZWJhcj5QYXkgd2l0aCBDcmVkaXQgQ2FyZDwva2VuZG8tZGlhbG9nLXRpdGxlYmFyPlxyXG4gICAgICA8ZGl2IGNsYXNzPSdrZW5kby1kaWFsb2ctY29udGVudCc+XHJcbiAgICAgICAgPGRpdiBpZD1cImJyYWludHJlZS1jb250YWluZXJcIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxrZW5kby1kaWFsb2ctYWN0aW9ucyBsYXlvdXQ9J2VuZCc+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz0nYnRuIGJ0bi1zbSBidG4tc3VjY2VzcycgdHlwZT0nYnV0dG9uJyAoY2xpY2spPSdvblBheSgpJz5QYXk8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPSdidG4gYnRuLXNtIGJ0bi1kYW5nZXInIHR5cGU9J2J1dHRvbicgIChjbGljayk9J29uQ2xvc2UoKSc+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgIDwva2VuZG8tZGlhbG9nLWFjdGlvbnM+XHJcbiAgICA8L2tlbmRvLWRpYWxvZz5cclxuICA8L2Rpdj5cclxufVxyXG4iXX0=
@@ -1,159 +0,0 @@
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) 2016-2025 Osovitny 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 payPalSettings = AppCoreSettings.externalApi.pm.payPal;
63
- let clientId = payPalSettings.clientId;
64
- let totalPrice = this.ps.getTotal().toString();
65
- let currency = this.ps.currency;
66
- this.payPalConfig = {
67
- intent: 'CAPTURE',
68
- clientId: clientId,
69
- currency: currency,
70
- advanced: {
71
- commit: 'true',
72
- extraQueryParams: [
73
- {
74
- name: "disable-funding",
75
- value: "credit,card"
76
- }
77
- ]
78
- },
79
- style: {
80
- color: 'white'
81
- },
82
- createOrderOnClient: (data) => ({
83
- intent: 'CAPTURE',
84
- application_context: {
85
- shipping_preference: "NO_SHIPPING"
86
- },
87
- purchase_units: [
88
- {
89
- amount: {
90
- currency_code: currency,
91
- value: totalPrice,
92
- breakdown: {
93
- item_total: {
94
- currency_code: currency,
95
- value: totalPrice
96
- }
97
- }
98
- },
99
- items: [
100
- {
101
- name: this.paidForTitle,
102
- quantity: '1',
103
- category: 'DIGITAL_GOODS',
104
- unit_amount: {
105
- currency_code: currency,
106
- value: totalPrice
107
- },
108
- }
109
- ]
110
- }
111
- ]
112
- }),
113
- onApprove: (data, actions) => {
114
- return actions.order.capture().then(function (orderData) {
115
- try {
116
- let payment = orderData.purchase_units[0].payments.captures[0];
117
- let paymentId = payment.id;
118
- let status = payment.status;
119
- let amount = payment.amount.value;
120
- let currencyCode = payment.amount.currency_code;
121
- let details = JSON.stringify(orderData);
122
- that.ps.pay(that.paidFor, paymentId, status, details);
123
- }
124
- catch {
125
- that.ps.paymentFailed(PaymentStage.External);
126
- }
127
- });
128
- },
129
- onCancel: (data, actions) => {
130
- that.ps.paymentInProgress = false;
131
- },
132
- onError: err => {
133
- that.ps.paymentInProgress = false;
134
- },
135
- onClick: (data, actions) => {
136
- that.ps.paymentInProgress = true;
137
- }
138
- };
139
- }
140
- get visible() {
141
- return this.ps.selectedPaymentMethod == PaymentMethod.PayPal && this.ps.getTotal() > 0;
142
- }
143
- static { this.ɵfac = function PaypalButtonComponent_Factory(t) { return new (t || PaypalButtonComponent)(i0.ɵɵdirectiveInject(i1.PaymentsService)); }; }
144
- 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) {
145
- i0.ɵɵtemplate(0, PaypalButtonComponent_Conditional_0_Template, 1, 1, "anatoly-billing-paypal-container", 0);
146
- } if (rf & 2) {
147
- i0.ɵɵconditional(0, ctx.visible ? 0 : -1);
148
- } }, dependencies: [i2.PayPalComponent], encapsulation: 2 }); }
149
- }
150
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PaypalButtonComponent, [{
151
- type: Component,
152
- args: [{ selector: 'anatoly-billing-paypal-button', template: "@if (visible) {\r\n <anatoly-billing-paypal-container [config]='payPalConfig' />\r\n}\r\n" }]
153
- }], () => [{ type: i1.PaymentsService }], { paidForTitle: [{
154
- type: Input
155
- }], paidFor: [{
156
- type: Input
157
- }] }); })();
158
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PaypalButtonComponent, { className: "PaypalButtonComponent", filePath: "lib\\billing\\components\\pm\\paypal\\paypal-button.component.ts", lineNumber: 42 }); })();
159
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5cGFsLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmF0b2x5L3NyYy9saWIvYmlsbGluZy9jb21wb25lbnRzL3BtL3BheXBhbC9wYXlwYWwtYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuYXRvbHkvc3JjL2xpYi9iaWxsaW5nL2NvbXBvbmVudHMvcG0vcGF5cGFsL3BheXBhbC1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF5QkU7QUFFRixNQUFNO0FBQ04sT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsS0FBSztBQUNMLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scURBQXFELENBQUM7QUFFcEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7SUNqQzNFLHNEQUE0RDs7O0lBQTFCLDRDQUF1Qjs7QUR3QzNELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBTXRELFlBQW1CLEVBQW1CO1FBQ3BDLEtBQUssRUFBRSxDQUFDO1FBRFMsT0FBRSxHQUFGLEVBQUUsQ0FBaUI7UUFIN0IsaUJBQVksR0FBRyxzQkFBc0IsQ0FBQztJQUsvQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVPLFdBQVc7SUFDbkIsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFFbEIsSUFBSSxDQUFDLEVBQUUsQ0FB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Q0wsQ0FBQztZQUVELFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7WUFDcEMsQ0FBQztZQUVELE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDYixJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUNwQyxDQUFDO1lBRUQsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFO2dCQUN6QixJQUFJLENBQUMsRUFBRSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUNuQyxDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLHFCQUFxQixJQUFJLGFBQWEsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDekYsQ0FBQztzRkFySFUscUJBQXFCO29FQUFyQixxQkFBcUI7WUN6Q2xDLDJHQUVDOztZQUZELHlDQUVDOzs7aUZEdUNZLHFCQUFxQjtjQUpqQyxTQUFTOzJCQUNFLCtCQUErQjtnREFNaEMsWUFBWTtrQkFBcEIsS0FBSztZQUNHLE9BQU87a0JBQWYsS0FBSzs7a0ZBSksscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuPGZpbGU+XHJcbiAgUHJvamVjdDpcclxuICAgIEF0bGFzIENyb3NzXHJcblxyXG4gIEF1dGhvcnM6XHJcbiAgICBWYWRpbSBPc292aXRueSB2YWRpbS5vc292aXRueUBvc292aXRueS5jb21cclxuXHJcbiAgQ3JlYXRlZDpcclxuICAgIDE0IEp1biAyMDI0XHJcblxyXG4gIERlc2NyaXB0aW9uOlxyXG4gICAgaHR0cHM6Ly9naXRodWIuY29tL2JyYWludHJlZS9icmFpbnRyZWUtd2ViLWRyb3AtaW4vaXNzdWVzLzQzM1xyXG4gICAgSXQncyBpbXBvc3NpYmxlIHRvIHRyaWdnZXIgdGhlIHBheXBhbCBmbG93IHByb2dyYW1tYXRpY2FsbHksIGFzIG9wZW5pbmcgYSBwb3B1cCB3aW5kb3cgbXVzdCBiZSBhcyBhIHJlc3VsdCBvZlxyXG4gICAgYSBkaXJlY3QgdXNlciBhY3Rpb24uIElmIGl0IGlzIG5vdCwgdGhlIGJyb3dzZXIgd2lsbCB1c3VhbGx5IGJsb2NrIGl0LlxyXG5cclxuICAgIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzQzMjc2NTcwL3RyaWdnZXItcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbi1jbGlja1xyXG4gICAgVGhpcyBpc24ndCBzb21ldGhpbmcgdGhhdCdzIHN1cHBvcnRlZCBieSB0aGUgUGF5UGFsIGJ1dHRvbiByaWdodCBub3cuIFRoZSBvZmZpY2lhbCBwb2xpY3kgaXMsIG9ubHkgYSBjbGljayBvbiB0aGUgYnV0dG9uXHJcbiAgICBpdHNlbGYgc2hvdWxkIG9wZW4gYSBjaGVja291dCB3aW5kb3cuXHJcblxyXG4gICAgc2hpcHBpbmdfcHJlZmVyZW5jZTpcclxuICAgIGh0dHBzOi8vZGV2ZWxvcGVyLnBheXBhbC5jb20vZG9jcy9hcGkvcGF5bWVudHMvdjEvP21hcms9c2hpcHBpbmdfcHJlZmVyZW5jZSUyMCNkZWZpbml0aW9uLWFwcGxpY2F0aW9uX2NvbnRleHRcclxuXHJcbiAgIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEFwcENvcmVTZXR0aW5ncyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvY29uc3RzL2NvcmUtc2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdWkvY29tcG9uZW50cy9iYXNlL2NvbXBvbmVudHMvY29tcG9uZW50JztcclxuaW1wb3J0IHsgUGF5bWVudHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcGF5bWVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7IFBheW1lbnRNZXRob2QsIFBheW1lbnRTdGFnZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvZW51bXMvYmlsbGluZyc7XHJcbmltcG9ydCB7IElDcmVhdGVPcmRlclJlcXVlc3QsIElQYXlQYWxDb25maWcgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvcGF5cGFsLW1vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FuYXRvbHktYmlsbGluZy1wYXlwYWwtYnV0dG9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGF5cGFsLWJ1dHRvbi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBheXBhbEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEJhc2Uge1xyXG4gIHBheVBhbENvbmZpZz86IElQYXlQYWxDb25maWc7XHJcblxyXG4gIEBJbnB1dCgpIHBhaWRGb3JUaXRsZSA9ICdQYXltZW50IGZvciBQcm9kaXVjdCc7XHJcbiAgQElucHV0KCkgcGFpZEZvcjtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHBzOiBQYXltZW50c1NlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RGVmYXVsdHMoKTtcclxuICAgIHRoaXMuc2V0VmFsdWVzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERlZmF1bHRzKCkge1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRWYWx1ZXMoKSB7XHJcbiAgICB0aGlzLmluaXRQYXlQYWwoKTtcclxuXHJcbiAgICB0aGlzLnBzLmRpc2NvdW50Q29kZUFwcGxpZWQkLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICB0aGlzLmluaXRQYXlQYWwoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0UGF5UGFsKCkge1xyXG4gICAgbGV0IHRoYXQgPSB0aGlzO1xyXG4gICAgbGV0IHBheVBhbFNldHRpbmdzID0gQXBwQ29yZVNldHRpbmdzLmV4dGVybmFsQXBpLnBtLnBheVBhbDtcclxuICAgIGxldCBjbGllbnRJZCA9IHBheVBhbFNldHRpbmdzLmNsaWVudElkO1xyXG4gICAgbGV0IHRvdGFsUHJpY2UgPSB0aGlzLnBzLmdldFRvdGFsKCkudG9TdHJpbmcoKTtcclxuICAgIGxldCBjdXJyZW5jeSA9IHRoaXMucHMuY3VycmVuY3k7XHJcblxyXG4gICAgdGhpcy5wYXlQYWxDb25maWcgPSB7XHJcbiAgICAgIGludGVudDogJ0NBUFRVUkUnLFxyXG4gICAgICBjbGllbnRJZDogY2xpZW50SWQsXHJcbiAgICAgIGN1cnJlbmN5OiBjdXJyZW5jeSwgICAgICBcclxuICAgICAgYWR2YW5jZWQ6IHtcclxuICAgICAgICBjb21taXQ6ICd0cnVlJyxcclxuICAgICAgICBleHRyYVF1ZXJ5UGFyYW1zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIG5hbWU6IFwiZGlzYWJsZS1mdW5kaW5nXCIsXHJcbiAgICAgICAgICAgIHZhbHVlOiBcImNyZWRpdCxjYXJkXCJcclxuICAgICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgY29sb3I6ICd3aGl0ZSdcclxuICAgICAgfSxcclxuXHJcbiAgICAgIGNyZWF0ZU9yZGVyT25DbGllbnQ6IChkYXRhKSA9PiA8SUNyZWF0ZU9yZGVyUmVxdWVzdD4ge1xyXG4gICAgICAgIGludGVudDogJ0NBUFRVUkUnLFxyXG4gICAgICAgIGFwcGxpY2F0aW9uX2NvbnRleHQ6IHtcclxuICAgICAgICAgIHNoaXBwaW5nX3ByZWZlcmVuY2U6IFwiTk9fU0hJUFBJTkdcIlxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcHVyY2hhc2VfdW5pdHM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgYW1vdW50OiB7XHJcbiAgICAgICAgICAgICAgY3VycmVuY3lfY29kZTogY3VycmVuY3ksXHJcbiAgICAgICAgICAgICAgdmFsdWU6IHRvdGFsUHJpY2UsXHJcbiAgICAgICAgICAgICAgYnJlYWtkb3duOiB7XHJcbiAgICAgICAgICAgICAgICBpdGVtX3RvdGFsOiB7XHJcbiAgICAgICAgICAgICAgICAgIGN1cnJlbmN5X2NvZGU6IGN1cnJlbmN5LFxyXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogdG90YWxQcmljZVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgaXRlbXM6IFtcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBuYW1lOiB0aGlzLnBhaWRGb3JUaXRsZSxcclxuICAgICAgICAgICAgICAgIHF1YW50aXR5OiAnMScsXHJcbiAgICAgICAgICAgICAgICBjYXRlZ29yeTogJ0RJR0lUQUxfR09PRFMnLFxyXG4gICAgICAgICAgICAgICAgdW5pdF9hbW91bnQ6IHtcclxuICAgICAgICAgICAgICAgICAgY3VycmVuY3lfY29kZTogY3VycmVuY3ksXHJcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiB0b3RhbFByaWNlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuXHJcbiAgICAgIG9uQXBwcm92ZTogKGRhdGEsIGFjdGlvbnMpID0+IHtcclxuICAgICAgICByZXR1cm4gYWN0aW9ucy5vcmRlci5jYXB0dXJlKCkudGhlbihmdW5jdGlvbiAob3JkZXJEYXRhKSB7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBsZXQgcGF5bWVudCA9IG9yZGVyRGF0YS5wdXJjaGFzZV91bml0c1swXS5wYXltZW50cy5jYXB0dXJlc1swXTtcclxuICAgICAgICAgICAgbGV0IHBheW1lbnRJZCA9IHBheW1lbnQuaWQ7XHJcbiAgICAgICAgICAgIGxldCBzdGF0dXMgPSBwYXltZW50LnN0YXR1cztcclxuICAgICAgICAgICAgbGV0IGFtb3VudCA9IHBheW1lbnQuYW1vdW50LnZhbHVlO1xyXG4gICAgICAgICAgICBsZXQgY3VycmVuY3lDb2RlID0gcGF5bWVudC5hbW91bnQuY3VycmVuY3lfY29kZTtcclxuICAgICAgICAgICAgbGV0IGRldGFpbHMgPSBKU09OLnN0cmluZ2lmeShvcmRlckRhdGEpO1xyXG5cclxuICAgICAgICAgICAgdGhhdC5wcy5wYXkodGhhdC5wYWlkRm9yLCBwYXltZW50SWQsIHN0YXR1cywgZGV0YWlscyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjYXRjaFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aGF0LnBzLnBheW1lbnRGYWlsZWQoUGF5bWVudFN0YWdlLkV4dGVybmFsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuXHJcbiAgICAgIG9uQ2FuY2VsOiAoZGF0YSwgYWN0aW9ucykgPT4ge1xyXG4gICAgICAgIHRoYXQucHMucGF5bWVudEluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgfSxcclxuXHJcbiAgICAgIG9uRXJyb3I6IGVyciA9PiB7XHJcbiAgICAgICAgdGhhdC5wcy5wYXltZW50SW5Qcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG5cclxuICAgICAgb25DbGljazogKGRhdGEsIGFjdGlvbnMpID0+IHtcclxuICAgICAgICB0aGF0LnBzLnBheW1lbnRJblByb2dyZXNzID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgdmlzaWJsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnBzLnNlbGVjdGVkUGF5bWVudE1ldGhvZCA9PSBQYXltZW50TWV0aG9kLlBheVBhbCAmJiB0aGlzLnBzLmdldFRvdGFsKCkgPiAwO1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKHZpc2libGUpIHtcclxuICA8YW5hdG9seS1iaWxsaW5nLXBheXBhbC1jb250YWluZXIgW2NvbmZpZ109J3BheVBhbENvbmZpZycgLz5cclxufVxyXG4iXX0=
@@ -1,149 +0,0 @@
1
- /*
2
- <file>
3
- Project:
4
- Atlas Cross
5
-
6
- Authors:
7
- Vadim Osovitny vadim.osovitny@osovitny.com
8
-
9
- Created:
10
- 04 Aug 2022
11
-
12
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
13
- </file>
14
- */
15
- //Node
16
- import { Component, EventEmitter, Input, Output } from '@angular/core';
17
- //App
18
- import { AppCoreSettings, IsDevMode } from '../../../../core/consts/core-settings';
19
- import { ComponentBase } from '../../../../ui/components/base/components/component';
20
- import { SubscriptionProvider } from '../../../../core/enums';
21
- import * as i0 from "@angular/core";
22
- import * as i1 from "../../../../core/services/appcontext.service";
23
- import * as i2 from "../../../../data/services/billing/subscriptions-api.service";
24
- import * as i3 from "./paypal.component";
25
- export class PaypalSubscribeButtonComponent extends ComponentBase {
26
- get payPalPlanId() {
27
- return this._payPalPlanId;
28
- }
29
- set payPalPlanId(value) {
30
- this._payPalPlanId = value;
31
- this.initPayPal();
32
- }
33
- constructor(zone, appContext, api) {
34
- super();
35
- this.zone = zone;
36
- this.appContext = appContext;
37
- this.api = api;
38
- this.paymentInProgress = false;
39
- this.paymentFailed = false;
40
- //Outputs
41
- this.statusChange = new EventEmitter();
42
- }
43
- ngOnInit() {
44
- this.setDefaults();
45
- this.setValues();
46
- }
47
- setDefaults() {
48
- }
49
- setValues() {
50
- }
51
- fireStatusChange(paymentInProgress, paymentFailed) {
52
- this.paymentInProgress = paymentInProgress;
53
- this.paymentFailed = paymentFailed;
54
- this.statusChange.emit({
55
- paymentInProgress,
56
- paymentFailed
57
- });
58
- }
59
- initPayPal() {
60
- let that = this;
61
- let payPalSettings = AppCoreSettings.externalApi.pm.payPal;
62
- let clientId = payPalSettings.clientId;
63
- let planId = this.payPalPlanId;
64
- this.payPalConfig = {
65
- debug: IsDevMode,
66
- intent: 'subscription',
67
- clientId: clientId,
68
- vault: 'true',
69
- currency: 'USD',
70
- advanced: {
71
- commit: 'true',
72
- extraQueryParams: [
73
- {
74
- name: "disable-funding",
75
- value: "credit,card"
76
- }
77
- ]
78
- },
79
- style: {
80
- shape: 'rect',
81
- color: 'gold',
82
- layout: 'vertical',
83
- label: 'subscribe'
84
- },
85
- createSubscriptionOnClient: (data) => ({
86
- plan_id: planId,
87
- custom_id: '0',
88
- quantity: this.quantity,
89
- application_context: {
90
- shipping_preference: "NO_SHIPPING"
91
- }
92
- }),
93
- onApprove: (data, actions) => {
94
- try {
95
- let subscriptionId = data.subscriptionID;
96
- that.addSubscription(subscriptionId);
97
- }
98
- catch {
99
- that.fireStatusChange(false, true);
100
- }
101
- },
102
- onCancel: (data, actions) => {
103
- that.fireStatusChange(false, true);
104
- },
105
- onError: err => {
106
- that.fireStatusChange(false, true);
107
- },
108
- onClick: (data, actions) => {
109
- that.fireStatusChange(true, false);
110
- }
111
- };
112
- }
113
- addSubscription(newSubscriptionId) {
114
- this.zone.run(() => {
115
- this.api.addSubscription(SubscriptionProvider.PayPal, newSubscriptionId, this.planId, this.addons, this.price, this.totalPrice, () => {
116
- this.fireStatusChange(false, false);
117
- this.appContext.updateCurrent();
118
- }, () => {
119
- this.fireStatusChange(false, true);
120
- });
121
- });
122
- }
123
- static { this.ɵfac = function PaypalSubscribeButtonComponent_Factory(t) { return new (t || PaypalSubscribeButtonComponent)(i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i1.AppContextService), i0.ɵɵdirectiveInject(i2.SubscriptionsApiService)); }; }
124
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PaypalSubscribeButtonComponent, selectors: [["anatoly-billing-paypal-subscribe-button"]], inputs: { payPalPlanId: "payPalPlanId", quantity: "quantity", planId: "planId", addons: "addons", price: "price", totalPrice: "totalPrice" }, outputs: { statusChange: "statusChange" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[3, "config"]], template: function PaypalSubscribeButtonComponent_Template(rf, ctx) { if (rf & 1) {
125
- i0.ɵɵelement(0, "anatoly-billing-paypal-container", 0);
126
- } if (rf & 2) {
127
- i0.ɵɵproperty("config", ctx.payPalConfig);
128
- } }, dependencies: [i3.PayPalComponent], encapsulation: 2 }); }
129
- }
130
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PaypalSubscribeButtonComponent, [{
131
- type: Component,
132
- args: [{ selector: 'anatoly-billing-paypal-subscribe-button', template: "<anatoly-billing-paypal-container [config]='payPalConfig' />\r\n\r\n" }]
133
- }], () => [{ type: i0.NgZone }, { type: i1.AppContextService }, { type: i2.SubscriptionsApiService }], { payPalPlanId: [{
134
- type: Input
135
- }], quantity: [{
136
- type: Input
137
- }], planId: [{
138
- type: Input
139
- }], addons: [{
140
- type: Input
141
- }], price: [{
142
- type: Input
143
- }], totalPrice: [{
144
- type: Input
145
- }], statusChange: [{
146
- type: Output
147
- }] }); })();
148
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PaypalSubscribeButtonComponent, { className: "PaypalSubscribeButtonComponent", filePath: "lib\\billing\\components\\pm\\paypal\\paypal-subscribe-button.component.ts", lineNumber: 31 }); })();
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF5cGFsLXN1YnNjcmliZS1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2JpbGxpbmcvY29tcG9uZW50cy9wbS9wYXlwYWwvcGF5cGFsLXN1YnNjcmliZS1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5hdG9seS9zcmMvbGliL2JpbGxpbmcvY29tcG9uZW50cy9wbS9wYXlwYWwvcGF5cGFsLXN1YnNjcmliZS1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7RUFhRTtBQUVGLE1BQU07QUFDTixPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLEtBQUs7QUFDTCxPQUFPLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUdwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFPOUQsTUFBTSxPQUFPLDhCQUErQixTQUFRLGFBQWE7SUFRL0QsSUFDSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFDRCxJQUFJLFlBQVksQ0FBQyxLQUFLO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBZUQsWUFBb0IsSUFBWSxFQUFVLFVBQTZCLEVBQVUsR0FBNEI7UUFDM0csS0FBSyxFQUFFLENBQUM7UUFEVSxTQUFJLEdBQUosSUFBSSxDQUFRO1FBQVUsZUFBVSxHQUFWLFVBQVUs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dkMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ2pCLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxFQUM1SCxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNsQyxDQUFDLEVBQ0QsR0FBRyxFQUFFO2dCQUNILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0ZBaElVLDhCQUE4QjtvRUFBOUIsOEJBQThCO1lDOUIzQyxzREFBNEQ7O1lBQTFCLHlDQUF1Qjs7O2lGRDhCNUMsOEJBQThCO2NBSjFDLFNBQVM7MkJBQ0UseUNBQXlDOzZHQVkvQyxZQUFZO2tCQURmLEtBQUs7WUFTRyxRQUFRO2tCQUFoQixLQUFLO1lBR0csTUFBTTtrQkFBZCxLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBR0csS0FBSztrQkFBYixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUdJLFlBQVk7a0JBQXJCLE1BQU07O2tGQTVCSSw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG48ZmlsZT5cclxuICBQcm9qZWN0OlxyXG4gICAgQXRsYXMgQ3Jvc3NcclxuXHJcbiAgQXV0aG9yczpcclxuICAgIFZhZGltIE9zb3ZpdG55IHZhZGltLm9zb3ZpdG55QG9zb3ZpdG55LmNvbVxyXG5cclxuICBDcmVhdGVkOlxyXG4gICAgMDQgQXVnIDIwMjJcclxuXHJcbiAgIENvcHlyaWdodCAoYykgMjAxNi0yMDI1IE9zb3ZpdG55IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cclxuPC9maWxlPlxyXG4qL1xyXG5cclxuLy9Ob2RlXHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTmdab25lLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8vQXBwXHJcbmltcG9ydCB7IEFwcENvcmVTZXR0aW5ncywgSXNEZXZNb2RlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9jb25zdHMvY29yZS1zZXR0aW5ncyc7XHJcbmltcG9ydCB7IENvbXBvbmVudEJhc2UgfSBmcm9tICcuLi8uLi8uLi8uLi91aS9jb21wb25lbnRzL2Jhc2UvY29tcG9uZW50cy9jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBJQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdCwgSVBheVBhbENvbmZpZyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9wYXlwYWwtbW9kZWxzJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uc0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhL3NlcnZpY2VzL2JpbGxpbmcvc3Vic2NyaXB0aW9ucy1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvblByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9lbnVtcyc7XHJcbmltcG9ydCB7IEFwcENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9hcHBjb250ZXh0LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhbmF0b2x5LWJpbGxpbmctcGF5cGFsLXN1YnNjcmliZS1idXR0b24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wYXlwYWwtc3Vic2NyaWJlLWJ1dHRvbi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFBheXBhbFN1YnNjcmliZUJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEJhc2Uge1xyXG4gIHByaXZhdGUgX3BheVBhbFBsYW5JZDtcclxuXHJcbiAgcGF5UGFsQ29uZmlnPzogSVBheVBhbENvbmZpZztcclxuICBcclxuICBwYXltZW50SW5Qcm9ncmVzcyA9IGZhbHNlO1xyXG4gIHBheW1lbnRGYWlsZWQgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgcGF5UGFsUGxhbklkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BheVBhbFBsYW5JZDtcclxuICB9XHJcbiAgc2V0IHBheVBhbFBsYW5JZCh2YWx1ZSkge1xyXG4gICAgdGhpcy5fcGF5UGFsUGxhbklkID0gdmFsdWU7XHJcbiAgICB0aGlzLmluaXRQYXlQYWwoKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHF1YW50aXR5O1xyXG5cclxuICAvL1B1cmNoYXNlXHJcbiAgQElucHV0KCkgcGxhbklkO1xyXG4gIEBJbnB1dCgpIGFkZG9ucztcclxuICBcclxuICAvL1ByaWNlXHJcbiAgQElucHV0KCkgcHJpY2U7XHJcbiAgQElucHV0KCkgdG90YWxQcmljZTtcclxuXHJcbiAgLy9PdXRwdXRzXHJcbiAgQE91dHB1dCgpIHN0YXR1c0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgem9uZTogTmdab25lLCBwcml2YXRlIGFwcENvbnRleHQ6IEFwcENvbnRleHRTZXJ2aWNlLCBwcml2YXRlIGFwaTogU3Vic2NyaXB0aW9uc0FwaVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RGVmYXVsdHMoKTtcclxuICAgIHRoaXMuc2V0VmFsdWVzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERlZmF1bHRzKCkge1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRWYWx1ZXMoKSB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpcmVTdGF0dXNDaGFuZ2UocGF5bWVudEluUHJvZ3Jlc3MsIHBheW1lbnRGYWlsZWQpIHtcclxuICAgIHRoaXMucGF5bWVudEluUHJvZ3Jlc3MgPSBwYXltZW50SW5Qcm9ncmVzcztcclxuICAgIHRoaXMucGF5bWVudEZhaWxlZCA9IHBheW1lbnRGYWlsZWQ7XHJcblxyXG4gICAgdGhpcy5zdGF0dXNDaGFuZ2UuZW1pdCh7IFxyXG4gICAgICBwYXltZW50SW5Qcm9ncmVzcywgXHJcbiAgICAgIHBheW1lbnRGYWlsZWQgXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdFBheVBhbCgpIHtcclxuICAgIGxldCB0aGF0ID0gdGhpcztcclxuICAgIGxldCBwYXlQYWxTZXR0aW5ncyA9IEFwcENvcmVTZXR0aW5ncy5leHRlcm5hbEFwaS5wbS5wYXlQYWw7XHJcbiAgICBsZXQgY2xpZW50SWQgPSBwYXlQYWxTZXR0aW5ncy5jbGllbnRJZDtcclxuICAgIGxldCBwbGFuSWQgPSB0aGlzLnBheVBhbFBsYW5JZDtcclxuXHJcbiAgICB0aGlzLnBheVBhbENvbmZpZyA9IHtcclxuICAgICAgZGVidWc6IElzRGV2TW9kZSxcclxuICAgICAgaW50ZW50OiAnc3Vic2NyaXB0aW9uJyxcclxuICAgICAgY2xpZW50SWQ6IGNsaWVudElkLFxyXG4gICAgICB2YXVsdDogJ3RydWUnLFxyXG4gICAgICBjdXJyZW5jeTogJ1VTRCcsXHJcbiAgICAgIGFkdmFuY2VkOiB7XHJcbiAgICAgICAgY29tbWl0OiAndHJ1ZScsXHJcbiAgICAgICAgZXh0cmFRdWVyeVBhcmFtczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBuYW1lOiBcImRpc2FibGUtZnVuZGluZ1wiLFxyXG4gICAgICAgICAgICB2YWx1ZTogXCJjcmVkaXQsY2FyZFwiXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgXVxyXG4gICAgICB9LFxyXG4gICAgICBzdHlsZToge1xyXG4gICAgICAgIHNoYXBlOiAncmVjdCcsXHJcbiAgICAgICAgY29sb3I6ICdnb2xkJyxcclxuICAgICAgICBsYXlvdXQ6ICd2ZXJ0aWNhbCcsXHJcbiAgICAgICAgbGFiZWw6ICdzdWJzY3JpYmUnXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBjcmVhdGVTdWJzY3JpcHRpb25PbkNsaWVudDogKGRhdGEpID0+IDxJQ3JlYXRlU3Vic2NyaXB0aW9uUmVxdWVzdD4ge1xyXG4gICAgICAgIHBsYW5faWQ6IHBsYW5JZCxcclxuICAgICAgICBjdXN0b21faWQ6ICcwJyxcclxuICAgICAgICBxdWFudGl0eTogdGhpcy5xdWFudGl0eSxcclxuICAgICAgICBhcHBsaWNhdGlvbl9jb250ZXh0OiB7XHJcbiAgICAgICAgICBzaGlwcGluZ19wcmVmZXJlbmNlOiBcIk5PX1NISVBQSU5HXCJcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBvbkFwcHJvdmU6IChkYXRhLCBhY3Rpb25zKSA9PiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIGxldCBzdWJzY3JpcHRpb25JZCA9IGRhdGEuc3Vic2NyaXB0aW9uSUQ7XHJcbiAgICAgICAgICB0aGF0LmFkZFN1YnNjcmlwdGlvbihzdWJzY3JpcHRpb25JZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGhhdC5maXJlU3RhdHVzQ2hhbmdlKGZhbHNlLCB0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcblxyXG4gICAgICBvbkNhbmNlbDogKGRhdGEsIGFjdGlvbnMpID0+IHtcclxuICAgICAgICB0aGF0LmZpcmVTdGF0dXNDaGFuZ2UoZmFsc2UsIHRydWUpO1xyXG4gICAgICB9LFxyXG5cclxuICAgICAgb25FcnJvcjogZXJyID0+IHtcclxuICAgICAgICB0aGF0LmZpcmVTdGF0dXNDaGFuZ2UoZmFsc2UsIHRydWUpO1xyXG4gICAgICB9LFxyXG5cclxuICAgICAgb25DbGljazogKGRhdGEsIGFjdGlvbnMpID0+IHtcclxuICAgICAgICB0aGF0LmZpcmVTdGF0dXNDaGFuZ2UodHJ1ZSwgZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRTdWJzY3JpcHRpb24obmV3U3Vic2NyaXB0aW9uSWQpIHtcclxuICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLmFwaS5hZGRTdWJzY3JpcHRpb24oU3Vic2NyaXB0aW9uUHJvdmlkZXIuUGF5UGFsLCBuZXdTdWJzY3JpcHRpb25JZCwgdGhpcy5wbGFuSWQsIHRoaXMuYWRkb25zLCB0aGlzLnByaWNlLCB0aGlzLnRvdGFsUHJpY2UsXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5maXJlU3RhdHVzQ2hhbmdlKGZhbHNlLCBmYWxzZSk7XHJcbiAgICAgICAgICB0aGlzLmFwcENvbnRleHQudXBkYXRlQ3VycmVudCgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5maXJlU3RhdHVzQ2hhbmdlKGZhbHNlLCB0cnVlKTtcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8YW5hdG9seS1iaWxsaW5nLXBheXBhbC1jb250YWluZXIgW2NvbmZpZ109J3BheVBhbENvbmZpZycgLz5cclxuXHJcbiJdfQ==