@coinflowlabs/angular 1.0.1 → 1.0.3
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/README.md +18 -0
- package/fesm2022/coinflowlabs-angular.mjs +98 -56
- package/fesm2022/coinflowlabs-angular.mjs.map +1 -1
- package/lib/common/CoinflowLibMessageHandlers.d.ts +1 -1
- package/lib/common/CoinflowTypes.d.ts +35 -5
- package/lib/common/CoinflowUtils.d.ts +7 -2
- package/package.json +1 -3
- package/esm2022/coinflowlabs-angular.mjs +0 -5
- package/esm2022/lib/card-form/CardFormService.mjs +0 -64
- package/esm2022/lib/card-form/coinflow-card-number-input.component.mjs +0 -53
- package/esm2022/lib/card-form/coinflow-card-number-only-input.component.mjs +0 -53
- package/esm2022/lib/card-form/coinflow-cvv-input.component.mjs +0 -20
- package/esm2022/lib/card-form/coinflow-cvv-only-input.component.mjs +0 -70
- package/esm2022/lib/coinflow-iframe.component.mjs +0 -73
- package/esm2022/lib/coinflow-purchase-history.component.mjs +0 -16
- package/esm2022/lib/coinflow-purchase-protection.component.mjs +0 -16
- package/esm2022/lib/coinflow-purchase.component.mjs +0 -32
- package/esm2022/lib/coinflow-withdraw-history.component.mjs +0 -16
- package/esm2022/lib/coinflow-withdraw.component.mjs +0 -32
- package/esm2022/lib/common/CoinflowLibMessageHandlers.mjs +0 -207
- package/esm2022/lib/common/CoinflowTypes.mjs +0 -26
- package/esm2022/lib/common/CoinflowUtils.mjs +0 -219
- package/esm2022/lib/common/SolanaPeerDeps.mjs +0 -17
- package/esm2022/lib/common/Subtotal.mjs +0 -8
- package/esm2022/lib/common/card-form/TokenEx.mjs +0 -11
- package/esm2022/lib/common/card-form/tokenexHelpers.mjs +0 -157
- package/esm2022/lib/common/index.mjs +0 -7
- package/esm2022/lib/mobile-wallet/apple-pay-overlay.component.mjs +0 -93
- package/esm2022/lib/mobile-wallet/coinflow-apple-pay-button.component.mjs +0 -106
- package/esm2022/lib/mobile-wallet/coinflow-google-pay-button.component.mjs +0 -43
- package/esm2022/lib/mobile-wallet/coinflow-mobile-wallet-button.component.mjs +0 -96
- package/esm2022/lib/mobile-wallet/google-pay-overlay.component.mjs +0 -124
- package/esm2022/public-api.mjs +0 -16
package/README.md
CHANGED
|
@@ -4,6 +4,20 @@ This library was generated with [Angular CLI](https://github.com/angular/angular
|
|
|
4
4
|
|
|
5
5
|
# Changelog
|
|
6
6
|
|
|
7
|
+
## 1.0.2
|
|
8
|
+
|
|
9
|
+
- Added `allowedPaymentMethods` to `CoinflowPurchase`
|
|
10
|
+
- Options are:
|
|
11
|
+
- 'card' = Credit and debit cards
|
|
12
|
+
- 'ach' = ACH bank account transfers
|
|
13
|
+
- 'fasterPayments' = UK Faster Payments (GBP Bank Transfers)
|
|
14
|
+
- 'sepa' = SEPA bank account transfers (EUR Bank Transfers)
|
|
15
|
+
- 'pix' = Pix bank account transfers (BRL Bank Transfers)
|
|
16
|
+
- 'usdc' = USDC
|
|
17
|
+
- 'googlePay' = Google Pay
|
|
18
|
+
- 'applePay' = Apple Pay
|
|
19
|
+
- 'credits' = Credits
|
|
20
|
+
|
|
7
21
|
## 1.0.1
|
|
8
22
|
|
|
9
23
|
- Allow copy to clipboard for Coinflow Iframe
|
|
@@ -30,6 +44,10 @@ or
|
|
|
30
44
|
}
|
|
31
45
|
```
|
|
32
46
|
|
|
47
|
+
## 0.3.6
|
|
48
|
+
|
|
49
|
+
- Added 3DS Challenge Handling to the standalone Google Pay button
|
|
50
|
+
|
|
33
51
|
## 0.3.5
|
|
34
52
|
|
|
35
53
|
- Added cleanup code to handle arg changes in `CoinflowCvvOnlyInputComponent`
|
|
@@ -23,6 +23,18 @@ var ThreeDsChallengePreference;
|
|
|
23
23
|
ThreeDsChallengePreference["Frictionless"] = "Frictionless";
|
|
24
24
|
ThreeDsChallengePreference["Challenge"] = "Challenge";
|
|
25
25
|
})(ThreeDsChallengePreference || (ThreeDsChallengePreference = {}));
|
|
26
|
+
var PaymentMethods;
|
|
27
|
+
(function (PaymentMethods) {
|
|
28
|
+
PaymentMethods["card"] = "card";
|
|
29
|
+
PaymentMethods["ach"] = "ach";
|
|
30
|
+
PaymentMethods["fasterPayments"] = "fasterPayments";
|
|
31
|
+
PaymentMethods["sepa"] = "sepa";
|
|
32
|
+
PaymentMethods["pix"] = "pix";
|
|
33
|
+
PaymentMethods["usdc"] = "usdc";
|
|
34
|
+
PaymentMethods["googlePay"] = "googlePay";
|
|
35
|
+
PaymentMethods["applePay"] = "applePay";
|
|
36
|
+
PaymentMethods["credits"] = "credits";
|
|
37
|
+
})(PaymentMethods || (PaymentMethods = {}));
|
|
26
38
|
var CardType;
|
|
27
39
|
(function (CardType) {
|
|
28
40
|
CardType["VISA"] = "VISA";
|
|
@@ -75,6 +87,9 @@ class CoinflowUtils {
|
|
|
75
87
|
static getCoinflowBaseUrl(env) {
|
|
76
88
|
if (!env || env === 'prod')
|
|
77
89
|
return 'https://coinflow.cash';
|
|
90
|
+
// @ts-expect-error This is for testing
|
|
91
|
+
if (env === 'ngrok')
|
|
92
|
+
return 'https://coinflow.ngrok.app';
|
|
78
93
|
if (env === 'local')
|
|
79
94
|
return 'http://localhost:3000';
|
|
80
95
|
return `https://${env}.coinflow.cash`;
|
|
@@ -86,7 +101,7 @@ class CoinflowUtils {
|
|
|
86
101
|
return 'http://localhost:5000';
|
|
87
102
|
return `https://api-${env}.coinflow.cash`;
|
|
88
103
|
}
|
|
89
|
-
static getCoinflowUrl({ walletPubkey, sessionKey, route, routePrefix, env, subtotal, transaction, blockchain = 'solana', webhookInfo, email, loaderBackground,
|
|
104
|
+
static getCoinflowUrl({ walletPubkey, sessionKey, route, routePrefix, env, subtotal, transaction, blockchain = 'solana', webhookInfo, email, loaderBackground, handleHeightChangeId, bankAccountLinkRedirect, additionalWallets, nearDeposit, chargebackProtectionData, merchantCss, color, rent, lockDefaultToken, tokens, planCode, disableApplePay, disableGooglePay, customerInfo, settlementType, lockAmount, nativeSolToConvert, theme, usePermit, transactionSigner, authOnly, deviceId, jwtToken, origins, threeDsChallengePreference, supportEmail, destinationAuthKey, allowedPaymentMethods, }) {
|
|
90
105
|
const prefix = routePrefix
|
|
91
106
|
? `/${routePrefix}/${blockchain}`
|
|
92
107
|
: `/${blockchain}`;
|
|
@@ -133,8 +148,8 @@ class CoinflowUtils {
|
|
|
133
148
|
if (loaderBackground) {
|
|
134
149
|
url.searchParams.append('loaderBackground', loaderBackground);
|
|
135
150
|
}
|
|
136
|
-
if (
|
|
137
|
-
url.searchParams.append('useHeightChange',
|
|
151
|
+
if (handleHeightChangeId) {
|
|
152
|
+
url.searchParams.append('useHeightChange', handleHeightChangeId.toString());
|
|
138
153
|
}
|
|
139
154
|
if (bankAccountLinkRedirect) {
|
|
140
155
|
url.searchParams.append('bankAccountLinkRedirect', bankAccountLinkRedirect);
|
|
@@ -187,6 +202,8 @@ class CoinflowUtils {
|
|
|
187
202
|
url.searchParams.append('jwtToken', jwtToken);
|
|
188
203
|
if (origins)
|
|
189
204
|
url.searchParams.append('origins', LZString.compressToEncodedURIComponent(JSON.stringify(origins)));
|
|
205
|
+
if (allowedPaymentMethods)
|
|
206
|
+
url.searchParams.append('allowedPaymentMethods', allowedPaymentMethods.join(','));
|
|
190
207
|
if (threeDsChallengePreference)
|
|
191
208
|
url.searchParams.append('threeDsChallengePreference', threeDsChallengePreference);
|
|
192
209
|
if (destinationAuthKey)
|
|
@@ -268,6 +285,25 @@ class CoinflowUtils {
|
|
|
268
285
|
}
|
|
269
286
|
}
|
|
270
287
|
}
|
|
288
|
+
function getCustomerName(info) {
|
|
289
|
+
if (!info)
|
|
290
|
+
return undefined;
|
|
291
|
+
let firstName, lastName;
|
|
292
|
+
if ('name' in info && info.name) {
|
|
293
|
+
firstName = info.name.split(' ')[0];
|
|
294
|
+
lastName = info.name.split(' ').slice(1).join(' ');
|
|
295
|
+
}
|
|
296
|
+
if ('firstName' in info && info.firstName)
|
|
297
|
+
firstName = info.firstName;
|
|
298
|
+
if ('lastName' in info && info.lastName)
|
|
299
|
+
lastName = info.lastName;
|
|
300
|
+
if (firstName && lastName)
|
|
301
|
+
return {
|
|
302
|
+
firstName,
|
|
303
|
+
lastName,
|
|
304
|
+
};
|
|
305
|
+
return undefined;
|
|
306
|
+
}
|
|
271
307
|
|
|
272
308
|
var IFrameMessageMethods;
|
|
273
309
|
(function (IFrameMessageMethods) {
|
|
@@ -301,7 +337,7 @@ function getWalletPubkey(input) {
|
|
|
301
337
|
}
|
|
302
338
|
return null;
|
|
303
339
|
}
|
|
304
|
-
function handleIFrameMessage(rawMessage, handlers) {
|
|
340
|
+
function handleIFrameMessage(rawMessage, handlers, handleHeightChangeId) {
|
|
305
341
|
let walletCall;
|
|
306
342
|
try {
|
|
307
343
|
walletCall = JSON.parse(rawMessage);
|
|
@@ -324,7 +360,7 @@ function handleIFrameMessage(rawMessage, handlers) {
|
|
|
324
360
|
return handlers.handleSignTransaction(data);
|
|
325
361
|
case IFrameMessageMethods.SendTransaction:
|
|
326
362
|
return handlers.handleSendTransaction(data);
|
|
327
|
-
case IFrameMessageMethods.HeightChange:
|
|
363
|
+
case IFrameMessageMethods.HeightChange + ':' + handleHeightChangeId:
|
|
328
364
|
if (!handlers.handleHeightChange)
|
|
329
365
|
return;
|
|
330
366
|
return handlers.handleHeightChange(data);
|
|
@@ -653,7 +689,7 @@ class CoinflowIFrameComponent {
|
|
|
653
689
|
if (!event.origin.includes(CoinflowUtils.getCoinflowBaseUrl(this.iframeProps.env)))
|
|
654
690
|
return;
|
|
655
691
|
this.messageEvent.emit(event);
|
|
656
|
-
const promise = handleIFrameMessage(event.data, this.messageHandlers);
|
|
692
|
+
const promise = handleIFrameMessage(event.data, this.messageHandlers, this.iframeProps.handleHeightChangeId);
|
|
657
693
|
if (!promise)
|
|
658
694
|
return;
|
|
659
695
|
promise
|
|
@@ -665,19 +701,19 @@ class CoinflowIFrameComponent {
|
|
|
665
701
|
return;
|
|
666
702
|
this.iframe.nativeElement.contentWindow.postMessage(message, '*');
|
|
667
703
|
}
|
|
668
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
669
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
704
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowIFrameComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
705
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: CoinflowIFrameComponent, isStandalone: true, selector: "lib-coinflow-iframe", inputs: { iframeProps: "iframeProps", messageHandlers: "messageHandlers" }, outputs: { messageEvent: "messageEvent" }, host: { listeners: { "window:message": "onPostMessage($event)" } }, viewQueries: [{ propertyName: "iframe", first: true, predicate: ["iframe"], descendants: true }], ngImport: i0, template: ` <iframe
|
|
670
706
|
width="100%"
|
|
671
707
|
height="100%"
|
|
672
708
|
#iframe
|
|
673
|
-
scrolling="{{ iframeProps?.
|
|
709
|
+
scrolling="{{ iframeProps?.handleHeightChangeId ? 'no' : 'yes' }}"
|
|
674
710
|
allow="payment;camera;clipboard-write"
|
|
675
711
|
title="withdraw"
|
|
676
712
|
frameBorder="0"
|
|
677
713
|
[src]="dynamicUrl"
|
|
678
714
|
></iframe>`, isInline: true }); }
|
|
679
715
|
}
|
|
680
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
716
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowIFrameComponent, decorators: [{
|
|
681
717
|
type: Component,
|
|
682
718
|
args: [{
|
|
683
719
|
selector: 'lib-coinflow-iframe',
|
|
@@ -687,7 +723,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
687
723
|
width="100%"
|
|
688
724
|
height="100%"
|
|
689
725
|
#iframe
|
|
690
|
-
scrolling="{{ iframeProps?.
|
|
726
|
+
scrolling="{{ iframeProps?.handleHeightChangeId ? 'no' : 'yes' }}"
|
|
691
727
|
allow="payment;camera;clipboard-write"
|
|
692
728
|
title="withdraw"
|
|
693
729
|
frameBorder="0"
|
|
@@ -714,17 +750,19 @@ class CoinflowPurchaseComponent {
|
|
|
714
750
|
this.messageHandlers = getHandlers(this.purchaseProps);
|
|
715
751
|
this.messageHandlers.handleHeightChange =
|
|
716
752
|
this.purchaseProps.handleHeightChange;
|
|
753
|
+
const handleHeightChangeId = Math.random().toString(16).substring(2);
|
|
717
754
|
this.iframeProps = {
|
|
718
755
|
...this.purchaseProps,
|
|
719
756
|
walletPubkey,
|
|
720
757
|
route: `/purchase-v2/${this.purchaseProps?.merchantId}`,
|
|
721
758
|
transaction: CoinflowUtils.getTransaction(this.purchaseProps),
|
|
759
|
+
handleHeightChangeId,
|
|
722
760
|
};
|
|
723
761
|
}
|
|
724
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
725
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
762
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowPurchaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
763
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: CoinflowPurchaseComponent, isStandalone: true, selector: "lib-coinflow-purchase", inputs: { purchaseProps: "purchaseProps" }, ngImport: i0, template: ' <lib-coinflow-iframe ng-if="iframeProps && messageHandlers" [iframeProps]="iframeProps!" [messageHandlers]="messageHandlers!"></lib-coinflow-iframe> ', isInline: true, dependencies: [{ kind: "component", type: CoinflowIFrameComponent, selector: "lib-coinflow-iframe", inputs: ["iframeProps", "messageHandlers"], outputs: ["messageEvent"] }] }); }
|
|
726
764
|
}
|
|
727
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
765
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowPurchaseComponent, decorators: [{
|
|
728
766
|
type: Component,
|
|
729
767
|
args: [{
|
|
730
768
|
selector: 'lib-coinflow-purchase',
|
|
@@ -737,10 +775,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
737
775
|
}] } });
|
|
738
776
|
|
|
739
777
|
class CoinflowPurchaseHistoryComponent {
|
|
740
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
741
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
778
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowPurchaseHistoryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
779
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: CoinflowPurchaseHistoryComponent, isStandalone: true, selector: "lib-coinflow-purchase-history", ngImport: i0, template: ' <p>coinflow-purchase-history works!</p> ', isInline: true }); }
|
|
742
780
|
}
|
|
743
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
781
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowPurchaseHistoryComponent, decorators: [{
|
|
744
782
|
type: Component,
|
|
745
783
|
args: [{
|
|
746
784
|
selector: 'lib-coinflow-purchase-history',
|
|
@@ -751,10 +789,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
751
789
|
}] });
|
|
752
790
|
|
|
753
791
|
class CoinflowPurchaseProtectionComponent {
|
|
754
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
755
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
792
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowPurchaseProtectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
793
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: CoinflowPurchaseProtectionComponent, isStandalone: true, selector: "lib-coinflow-purchase-protection", ngImport: i0, template: ' <p>coinflow-purchase-protection works!</p> ', isInline: true }); }
|
|
756
794
|
}
|
|
757
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
795
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowPurchaseProtectionComponent, decorators: [{
|
|
758
796
|
type: Component,
|
|
759
797
|
args: [{
|
|
760
798
|
selector: 'lib-coinflow-purchase-protection',
|
|
@@ -770,17 +808,19 @@ class CoinflowWithdrawComponent {
|
|
|
770
808
|
this.messageHandlers = getHandlers(this.withdrawProps);
|
|
771
809
|
this.messageHandlers.handleHeightChange =
|
|
772
810
|
this.withdrawProps.handleHeightChange;
|
|
811
|
+
const handleHeightChangeId = Math.random().toString(16).substring(2);
|
|
773
812
|
this.iframeProps = {
|
|
774
813
|
...this.withdrawProps,
|
|
775
814
|
walletPubkey,
|
|
776
815
|
route: `/withdraw/${this.withdrawProps?.merchantId}`,
|
|
777
816
|
transaction: undefined,
|
|
817
|
+
handleHeightChangeId,
|
|
778
818
|
};
|
|
779
819
|
}
|
|
780
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
781
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
820
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowWithdrawComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
821
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: CoinflowWithdrawComponent, isStandalone: true, selector: "lib-coinflow-withdraw", inputs: { withdrawProps: "withdrawProps" }, ngImport: i0, template: ' <lib-coinflow-iframe ng-if="iframeProps && messageHandlers" [iframeProps]="iframeProps!" [messageHandlers]="messageHandlers!"></lib-coinflow-iframe> ', isInline: true, dependencies: [{ kind: "component", type: CoinflowIFrameComponent, selector: "lib-coinflow-iframe", inputs: ["iframeProps", "messageHandlers"], outputs: ["messageEvent"] }] }); }
|
|
782
822
|
}
|
|
783
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
823
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowWithdrawComponent, decorators: [{
|
|
784
824
|
type: Component,
|
|
785
825
|
args: [{
|
|
786
826
|
selector: 'lib-coinflow-withdraw',
|
|
@@ -793,10 +833,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
793
833
|
}] } });
|
|
794
834
|
|
|
795
835
|
class CoinflowWithdrawHistoryComponent {
|
|
796
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
797
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
836
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowWithdrawHistoryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
837
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: CoinflowWithdrawHistoryComponent, isStandalone: true, selector: "lib-coinflow-withdraw-history", ngImport: i0, template: ' <p>coinflow-withdraw-history works!</p> ', isInline: true }); }
|
|
798
838
|
}
|
|
799
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
839
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowWithdrawHistoryComponent, decorators: [{
|
|
800
840
|
type: Component,
|
|
801
841
|
args: [{
|
|
802
842
|
selector: 'lib-coinflow-withdraw-history',
|
|
@@ -857,10 +897,10 @@ class CardFormService {
|
|
|
857
897
|
iframe.load();
|
|
858
898
|
return iframe;
|
|
859
899
|
}
|
|
860
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
861
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
900
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CardFormService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
901
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CardFormService, providedIn: 'root' }); }
|
|
862
902
|
}
|
|
863
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
903
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CardFormService, decorators: [{
|
|
864
904
|
type: Injectable,
|
|
865
905
|
args: [{
|
|
866
906
|
providedIn: 'root',
|
|
@@ -901,10 +941,10 @@ class CoinflowCardNumberInput {
|
|
|
901
941
|
tokenize() {
|
|
902
942
|
return this.iframe.tokenize();
|
|
903
943
|
}
|
|
904
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
905
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
944
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowCardNumberInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
945
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: CoinflowCardNumberInput, isStandalone: true, selector: "lib-coinflow-card-number-input", inputs: { args: "args" }, ngImport: i0, template: '<div id="{{TokenExCardNumberIframeId}}"></div>', isInline: true }); }
|
|
906
946
|
}
|
|
907
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
947
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowCardNumberInput, decorators: [{
|
|
908
948
|
type: Component,
|
|
909
949
|
args: [{
|
|
910
950
|
selector: 'lib-coinflow-card-number-input',
|
|
@@ -950,10 +990,10 @@ class CoinflowCardNumberOnlyInput {
|
|
|
950
990
|
tokenize() {
|
|
951
991
|
return this.iframe.tokenize();
|
|
952
992
|
}
|
|
953
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
954
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
993
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowCardNumberOnlyInput, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
994
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: CoinflowCardNumberOnlyInput, isStandalone: true, selector: "lib-coinflow-card-number-only-input", inputs: { args: "args" }, ngImport: i0, template: '<div id="{{TokenExCardNumberIframeId}}"></div>', isInline: true }); }
|
|
955
995
|
}
|
|
956
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
996
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowCardNumberOnlyInput, decorators: [{
|
|
957
997
|
type: Component,
|
|
958
998
|
args: [{
|
|
959
999
|
selector: 'lib-coinflow-card-number-only-input',
|
|
@@ -969,10 +1009,10 @@ class CoinflowCvvInputComponent {
|
|
|
969
1009
|
constructor() {
|
|
970
1010
|
this.TokenExCvvContainerID = TokenExCvvContainerID;
|
|
971
1011
|
}
|
|
972
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
973
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1012
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowCvvInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1013
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: CoinflowCvvInputComponent, isStandalone: true, selector: "lib-coinflow-cvv-input", ngImport: i0, template: '<div id="{{TokenExCvvContainerID}}" ></div>', isInline: true }); }
|
|
974
1014
|
}
|
|
975
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1015
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowCvvInputComponent, decorators: [{
|
|
976
1016
|
type: Component,
|
|
977
1017
|
args: [{
|
|
978
1018
|
selector: 'lib-coinflow-cvv-input',
|
|
@@ -1033,10 +1073,10 @@ class CoinflowCvvOnlyInputComponent {
|
|
|
1033
1073
|
tokenize() {
|
|
1034
1074
|
return this.iframe.tokenize();
|
|
1035
1075
|
}
|
|
1036
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1037
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1076
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowCvvOnlyInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1077
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: CoinflowCvvOnlyInputComponent, isStandalone: true, selector: "lib-coinflow-cvv-only-input", inputs: { args: "args" }, usesOnChanges: true, ngImport: i0, template: '<div id="{{TokenExCvvContainerID}}"></div>', isInline: true }); }
|
|
1038
1078
|
}
|
|
1039
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1079
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowCvvOnlyInputComponent, decorators: [{
|
|
1040
1080
|
type: Component,
|
|
1041
1081
|
args: [{
|
|
1042
1082
|
selector: 'lib-coinflow-cvv-only-input',
|
|
@@ -1075,16 +1115,18 @@ class CoinflowMobileWalletButtonComponent {
|
|
|
1075
1115
|
this.messageHandlers = getHandlers(this.purchaseProps);
|
|
1076
1116
|
this.messageHandlers.handleHeightChange =
|
|
1077
1117
|
this.purchaseProps.handleHeightChange;
|
|
1118
|
+
const handleHeightChangeId = Math.random().toString(16).substring(2);
|
|
1078
1119
|
this.iframeProps = {
|
|
1079
1120
|
...this.purchaseProps,
|
|
1080
1121
|
walletPubkey,
|
|
1081
1122
|
route: `/${this.route}/${this.purchaseProps?.merchantId}`,
|
|
1082
1123
|
routePrefix: 'form',
|
|
1083
1124
|
transaction: CoinflowUtils.getTransaction(this.purchaseProps),
|
|
1125
|
+
handleHeightChangeId,
|
|
1084
1126
|
};
|
|
1085
1127
|
}
|
|
1086
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1087
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1128
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowMobileWalletButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1129
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: CoinflowMobileWalletButtonComponent, isStandalone: true, selector: "lib-coinflow-mobile-wallet-button", inputs: { purchaseProps: "purchaseProps", route: "route", overlayDisplayOverride: "overlayDisplayOverride", alignItems: "alignItems" }, ngImport: i0, template: ` <div style="position: relative; height: 100%;">
|
|
1088
1130
|
<div
|
|
1089
1131
|
[style.background-color]="purchaseProps.color"
|
|
1090
1132
|
[style.display]="overlayDisplayOverride ?? display"
|
|
@@ -1104,7 +1146,7 @@ class CoinflowMobileWalletButtonComponent {
|
|
|
1104
1146
|
</div>
|
|
1105
1147
|
</div>`, isInline: true, dependencies: [{ kind: "component", type: CoinflowIFrameComponent, selector: "lib-coinflow-iframe", inputs: ["iframeProps", "messageHandlers"], outputs: ["messageEvent"] }] }); }
|
|
1106
1148
|
}
|
|
1107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1149
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowMobileWalletButtonComponent, decorators: [{
|
|
1108
1150
|
type: Component,
|
|
1109
1151
|
args: [{
|
|
1110
1152
|
selector: 'lib-coinflow-mobile-wallet-button',
|
|
@@ -1144,8 +1186,8 @@ class CoinflowApplePayOverlayComponent {
|
|
|
1144
1186
|
fill() {
|
|
1145
1187
|
return this.color === 'white' ? '#000' : '#FFF';
|
|
1146
1188
|
}
|
|
1147
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1148
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1189
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowApplePayOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1190
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: CoinflowApplePayOverlayComponent, isStandalone: true, selector: "coinflow-apple-pay-overlay", inputs: { color: "color" }, ngImport: i0, template: `
|
|
1149
1191
|
<svg id="svg-logo" viewBox="0 0 35 15">
|
|
1150
1192
|
<svg
|
|
1151
1193
|
id="svg-logo"
|
|
@@ -1183,7 +1225,7 @@ class CoinflowApplePayOverlayComponent {
|
|
|
1183
1225
|
</svg>
|
|
1184
1226
|
`, isInline: true }); }
|
|
1185
1227
|
}
|
|
1186
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1228
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowApplePayOverlayComponent, decorators: [{
|
|
1187
1229
|
type: Component,
|
|
1188
1230
|
args: [{
|
|
1189
1231
|
selector: 'coinflow-apple-pay-overlay',
|
|
@@ -1235,8 +1277,8 @@ class CoinflowApplePayButtonComponent {
|
|
|
1235
1277
|
fill() {
|
|
1236
1278
|
return this.purchaseProps.color === 'white' ? '#000' : '#FFF';
|
|
1237
1279
|
}
|
|
1238
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1239
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1280
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowApplePayButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1281
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: CoinflowApplePayButtonComponent, isStandalone: true, selector: "lib-coinflow-apple-pay-button", inputs: { purchaseProps: "purchaseProps" }, ngImport: i0, template: ` <lib-coinflow-mobile-wallet-button
|
|
1240
1282
|
ng-if="iframeProps && messageHandlers"
|
|
1241
1283
|
[purchaseProps]="purchaseProps"
|
|
1242
1284
|
route="apple-pay"
|
|
@@ -1278,7 +1320,7 @@ class CoinflowApplePayButtonComponent {
|
|
|
1278
1320
|
</svg>
|
|
1279
1321
|
</lib-coinflow-mobile-wallet-button>`, isInline: true, dependencies: [{ kind: "component", type: CoinflowMobileWalletButtonComponent, selector: "lib-coinflow-mobile-wallet-button", inputs: ["purchaseProps", "route", "overlayDisplayOverride", "alignItems"] }] }); }
|
|
1280
1322
|
}
|
|
1281
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1323
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowApplePayButtonComponent, decorators: [{
|
|
1282
1324
|
type: Component,
|
|
1283
1325
|
args: [{
|
|
1284
1326
|
selector: 'lib-coinflow-apple-pay-button',
|
|
@@ -1334,8 +1376,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
1334
1376
|
}] } });
|
|
1335
1377
|
|
|
1336
1378
|
class CoinflowGooglePayOverlayComponent {
|
|
1337
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1338
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1379
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowGooglePayOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1380
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.1", type: CoinflowGooglePayOverlayComponent, isStandalone: true, selector: "coinflow-google-pay-overlay", inputs: { color: "color" }, ngImport: i0, template: `
|
|
1339
1381
|
@if (color === 'white') {
|
|
1340
1382
|
<svg xmlns="http://www.w3.org/2000/svg" width="41" height="17">
|
|
1341
1383
|
<g fill="none" fill-rule="evenodd">
|
|
@@ -1390,7 +1432,7 @@ class CoinflowGooglePayOverlayComponent {
|
|
|
1390
1432
|
}
|
|
1391
1433
|
`, isInline: true }); }
|
|
1392
1434
|
}
|
|
1393
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1435
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowGooglePayOverlayComponent, decorators: [{
|
|
1394
1436
|
type: Component,
|
|
1395
1437
|
args: [{
|
|
1396
1438
|
selector: 'coinflow-google-pay-overlay',
|
|
@@ -1456,8 +1498,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
1456
1498
|
}] } });
|
|
1457
1499
|
|
|
1458
1500
|
class CoinflowGooglePayButtonComponent {
|
|
1459
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1460
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1501
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowGooglePayButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1502
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.1", type: CoinflowGooglePayButtonComponent, isStandalone: true, selector: "lib-coinflow-google-pay-button", inputs: { purchaseProps: "purchaseProps" }, ngImport: i0, template: `<lib-coinflow-mobile-wallet-button
|
|
1461
1503
|
ng-if="iframeProps && messageHandlers"
|
|
1462
1504
|
[purchaseProps]="purchaseProps"
|
|
1463
1505
|
route="google-pay"
|
|
@@ -1469,7 +1511,7 @@ class CoinflowGooglePayButtonComponent {
|
|
|
1469
1511
|
></coinflow-google-pay-overlay>
|
|
1470
1512
|
</lib-coinflow-mobile-wallet-button> `, isInline: true, dependencies: [{ kind: "component", type: CoinflowMobileWalletButtonComponent, selector: "lib-coinflow-mobile-wallet-button", inputs: ["purchaseProps", "route", "overlayDisplayOverride", "alignItems"] }, { kind: "component", type: CoinflowGooglePayOverlayComponent, selector: "coinflow-google-pay-overlay", inputs: ["color"] }] }); }
|
|
1471
1513
|
}
|
|
1472
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1514
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.1", ngImport: i0, type: CoinflowGooglePayButtonComponent, decorators: [{
|
|
1473
1515
|
type: Component,
|
|
1474
1516
|
args: [{
|
|
1475
1517
|
selector: 'lib-coinflow-google-pay-button',
|