@coinflowlabs/angular 0.2.1 → 0.3.0

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 (26) hide show
  1. package/README.md +8 -1
  2. package/esm2022/lib/coinflow-iframe.component.mjs +7 -3
  3. package/esm2022/lib/coinflow-purchase.component.mjs +3 -3
  4. package/esm2022/lib/coinflow-withdraw.component.mjs +1 -1
  5. package/esm2022/lib/common/CoinflowLibMessageHandlers.mjs +37 -10
  6. package/esm2022/lib/common/CoinflowTypes.mjs +1 -1
  7. package/esm2022/lib/common/CoinflowUtils.mjs +15 -3
  8. package/esm2022/lib/mobile-wallet/apple-pay-overlay.component.mjs +93 -0
  9. package/esm2022/lib/mobile-wallet/coinflow-apple-pay-button.component.mjs +106 -0
  10. package/esm2022/lib/mobile-wallet/coinflow-google-pay-button.component.mjs +43 -0
  11. package/esm2022/lib/mobile-wallet/coinflow-mobile-wallet-button.component.mjs +96 -0
  12. package/esm2022/lib/mobile-wallet/google-pay-overlay.component.mjs +124 -0
  13. package/esm2022/public-api.mjs +3 -1
  14. package/fesm2022/coinflowlabs-angular.mjs +506 -17
  15. package/fesm2022/coinflowlabs-angular.mjs.map +1 -1
  16. package/lib/coinflow-iframe.component.d.ts +3 -2
  17. package/lib/common/CoinflowLibMessageHandlers.d.ts +4 -3
  18. package/lib/common/CoinflowTypes.d.ts +14 -4
  19. package/lib/common/CoinflowUtils.d.ts +2 -1
  20. package/lib/mobile-wallet/apple-pay-overlay.component.d.ts +7 -0
  21. package/lib/mobile-wallet/coinflow-apple-pay-button.component.d.ts +11 -0
  22. package/lib/mobile-wallet/coinflow-google-pay-button.component.d.ts +10 -0
  23. package/lib/mobile-wallet/coinflow-mobile-wallet-button.component.d.ts +21 -0
  24. package/lib/mobile-wallet/google-pay-overlay.component.d.ts +6 -0
  25. package/package.json +2 -2
  26. package/public-api.d.ts +2 -0
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, Input, ViewChild, HostListener, Injectable, inject } from '@angular/core';
2
+ import { EventEmitter, Component, Input, Output, ViewChild, HostListener, Injectable, inject } from '@angular/core';
3
3
  import * as SolanaWeb3Js from '@solana/web3.js';
4
4
  import { Keypair, Transaction } from '@solana/web3.js';
5
5
  import base58Imported from 'bs58';
@@ -91,12 +91,15 @@ class CoinflowUtils {
91
91
  return 'http://localhost:5000';
92
92
  return `https://api-${env}.coinflow.cash`;
93
93
  }
94
- static getCoinflowUrl({ walletPubkey, route, routePrefix, env, amount, transaction, blockchain, webhookInfo, email, loaderBackground, handleHeightChange, bankAccountLinkRedirect, additionalWallets, nearDeposit, chargebackProtectionData, merchantCss, color, rent, lockDefaultToken, token, tokens, planCode, disableApplePay, disableGooglePay, customerInfo, settlementType, lockAmount, nativeSolToConvert, theme, usePermit, transactionSigner, authOnly, deviceId, jwtToken, origins, threeDsChallengePreference, }) {
94
+ static getCoinflowUrl({ walletPubkey, sessionKey, route, routePrefix, env, amount, transaction, blockchain = 'solana', webhookInfo, email, loaderBackground, handleHeightChange, bankAccountLinkRedirect, additionalWallets, nearDeposit, chargebackProtectionData, merchantCss, color, rent, lockDefaultToken, token, tokens, planCode, disableApplePay, disableGooglePay, customerInfo, settlementType, lockAmount, nativeSolToConvert, theme, usePermit, transactionSigner, authOnly, deviceId, jwtToken, origins, threeDsChallengePreference, supportEmail, }) {
95
95
  const prefix = routePrefix
96
96
  ? `/${routePrefix}/${blockchain}`
97
97
  : `/${blockchain}`;
98
98
  const url = new URL(prefix + route, CoinflowUtils.getCoinflowBaseUrl(env));
99
- url.searchParams.append('pubkey', walletPubkey);
99
+ if (walletPubkey)
100
+ url.searchParams.append('pubkey', walletPubkey);
101
+ if (sessionKey)
102
+ url.searchParams.append('sessionKey', sessionKey);
100
103
  if (transaction) {
101
104
  url.searchParams.append('transaction', transaction);
102
105
  }
@@ -115,6 +118,8 @@ class CoinflowUtils {
115
118
  if (email) {
116
119
  url.searchParams.append('email', email);
117
120
  }
121
+ if (supportEmail)
122
+ url.searchParams.append('supportEmail', supportEmail);
118
123
  if (token) {
119
124
  url.searchParams.append('token', token.toString());
120
125
  }
@@ -183,6 +188,8 @@ class CoinflowUtils {
183
188
  return url.toString();
184
189
  }
185
190
  static getTransaction(props) {
191
+ if (!props.blockchain)
192
+ return undefined;
186
193
  return this.byBlockchain(props.blockchain, {
187
194
  solana: () => {
188
195
  if (!('transaction' in props))
@@ -229,6 +236,9 @@ class CoinflowUtils {
229
236
  const { action } = props;
230
237
  return LZString.compressToEncodedURIComponent(JSON.stringify(action));
231
238
  },
239
+ user: () => {
240
+ return undefined;
241
+ },
232
242
  })();
233
243
  }
234
244
  static byBlockchain(blockchain, args) {
@@ -245,6 +255,8 @@ class CoinflowUtils {
245
255
  return args.base;
246
256
  case 'arbitrum':
247
257
  return args.arbitrum;
258
+ case 'user':
259
+ return args.user;
248
260
  default:
249
261
  throw new Error('blockchain not supported!');
250
262
  }
@@ -309,16 +321,20 @@ var IFrameMessageMethods;
309
321
  IFrameMessageMethods["SendTransaction"] = "sendTransaction";
310
322
  IFrameMessageMethods["HeightChange"] = "heightChange";
311
323
  IFrameMessageMethods["Success"] = "success";
324
+ IFrameMessageMethods["Load"] = "load";
312
325
  })(IFrameMessageMethods || (IFrameMessageMethods = {}));
313
- function getWalletPubkey({ wallet, }) {
314
- if ('publicKey' in wallet) {
315
- return wallet.publicKey.toString();
316
- }
317
- if ('address' in wallet) {
318
- return wallet.address;
319
- }
320
- if ('accountId' in wallet) {
321
- return wallet.accountId;
326
+ function getWalletPubkey(input) {
327
+ if ('wallet' in input && input.wallet) {
328
+ const { wallet } = input;
329
+ if ('publicKey' in wallet) {
330
+ return wallet.publicKey.toString();
331
+ }
332
+ if ('address' in wallet) {
333
+ return wallet.address;
334
+ }
335
+ if ('accountId' in wallet) {
336
+ return wallet.accountId;
337
+ }
322
338
  }
323
339
  return null;
324
340
  }
@@ -358,6 +374,20 @@ function handleIFrameMessage(rawMessage, handlers) {
358
374
  console.warn(`Didn't expect to get here, handleIFrameMessage method:${method} is not one of ${Object.values(IFrameMessageMethods)}`);
359
375
  }
360
376
  function getHandlers(props) {
377
+ if (!props.blockchain) {
378
+ return {
379
+ handleSendTransaction: () => {
380
+ throw new Error('handleSendTransaction Not Implemented for sessionKey');
381
+ },
382
+ handleSignMessage: () => {
383
+ throw new Error('handleSendTransaction Not Implemented for sessionKey');
384
+ },
385
+ handleSignTransaction: () => {
386
+ throw new Error('handleSendTransaction Not Implemented for sessionKey');
387
+ },
388
+ onSuccess: props.onSuccess,
389
+ };
390
+ }
361
391
  return CoinflowUtils.byBlockchain(props.blockchain, {
362
392
  solana: () => getSolanaWalletHandlers(props),
363
393
  near: () => getNearWalletHandlers(props),
@@ -365,6 +395,7 @@ function getHandlers(props) {
365
395
  polygon: () => getEvmWalletHandlers(props),
366
396
  base: () => getEvmWalletHandlers(props),
367
397
  arbitrum: () => getEvmWalletHandlers(props),
398
+ user: () => getIdWalletHandlers(props),
368
399
  })();
369
400
  }
370
401
  function getSolanaWalletHandlers({ wallet, onSuccess, }) {
@@ -439,6 +470,14 @@ function getEvmWalletHandlers({ wallet, onSuccess, }) {
439
470
  onSuccess,
440
471
  };
441
472
  }
473
+ function getIdWalletHandlers({ onSuccess, }) {
474
+ return {
475
+ handleSendTransaction: async () => {
476
+ return Promise.resolve('');
477
+ },
478
+ onSuccess,
479
+ };
480
+ }
442
481
 
443
482
  // Type definitions for TokenEx iframe integration
444
483
  const TokenExCardNumberIframeId = 'tokenExCardNumber';
@@ -604,6 +643,7 @@ function CSSPropertiesToComponent(dict) {
604
643
  class CoinflowIFrameComponent {
605
644
  constructor(sanitizer) {
606
645
  this.sanitizer = sanitizer;
646
+ this.messageEvent = new EventEmitter();
607
647
  }
608
648
  ngOnInit() {
609
649
  const coinflowUrl = CoinflowUtils.getCoinflowUrl(this.iframeProps);
@@ -613,6 +653,7 @@ class CoinflowIFrameComponent {
613
653
  onPostMessage(event) {
614
654
  if (!event.origin.includes(CoinflowUtils.getCoinflowBaseUrl(this.iframeProps.env)))
615
655
  return;
656
+ this.messageEvent.emit(event);
616
657
  const promise = handleIFrameMessage(event.data, this.messageHandlers);
617
658
  if (!promise)
618
659
  return;
@@ -626,7 +667,7 @@ class CoinflowIFrameComponent {
626
667
  this.iframe.nativeElement.contentWindow.postMessage(message, '*');
627
668
  }
628
669
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CoinflowIFrameComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); }
629
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: CoinflowIFrameComponent, isStandalone: true, selector: "lib-coinflow-iframe", inputs: { iframeProps: "iframeProps", messageHandlers: "messageHandlers" }, host: { listeners: { "window:message": "onPostMessage($event)" } }, viewQueries: [{ propertyName: "iframe", first: true, predicate: ["iframe"], descendants: true }], ngImport: i0, template: ` <iframe
670
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", 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
630
671
  width="100%"
631
672
  height="100%"
632
673
  #iframe
@@ -658,6 +699,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
658
699
  type: Input
659
700
  }], messageHandlers: [{
660
701
  type: Input
702
+ }], messageEvent: [{
703
+ type: Output
661
704
  }], iframe: [{
662
705
  type: ViewChild,
663
706
  args: ['iframe']
@@ -675,12 +718,12 @@ class CoinflowPurchaseComponent {
675
718
  this.iframeProps = {
676
719
  ...this.purchaseProps,
677
720
  walletPubkey,
678
- route: `/purchase/${this.purchaseProps?.merchantId}`,
721
+ route: `/purchase-v2/${this.purchaseProps?.merchantId}`,
679
722
  transaction: CoinflowUtils.getTransaction(this.purchaseProps),
680
723
  };
681
724
  }
682
725
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CoinflowPurchaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
683
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", 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"] }] }); }
726
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", 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"] }] }); }
684
727
  }
685
728
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CoinflowPurchaseComponent, decorators: [{
686
729
  type: Component,
@@ -736,7 +779,7 @@ class CoinflowWithdrawComponent {
736
779
  };
737
780
  }
738
781
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CoinflowWithdrawComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
739
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", 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"] }] }); }
782
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", 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"] }] }); }
740
783
  }
741
784
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CoinflowWithdrawComponent, decorators: [{
742
785
  type: Component,
@@ -972,6 +1015,452 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
972
1015
  type: Input
973
1016
  }] } });
974
1017
 
1018
+ class CoinflowMobileWalletButtonComponent {
1019
+ constructor() {
1020
+ this.opacity = 0.8;
1021
+ this.display = 'flex';
1022
+ }
1023
+ handleMessage({ data }) {
1024
+ try {
1025
+ const res = JSON.parse(data);
1026
+ console.log({ data });
1027
+ if ('method' in res && res.data.startsWith('ERROR')) {
1028
+ this.purchaseProps.onError?.(res.info);
1029
+ return;
1030
+ }
1031
+ if ('method' in res && res.method === 'loaded') {
1032
+ this.opacity = 1;
1033
+ setTimeout(() => {
1034
+ this.display = 'none';
1035
+ }, 2000);
1036
+ }
1037
+ }
1038
+ catch (e) { }
1039
+ }
1040
+ ngOnInit() {
1041
+ const walletPubkey = getWalletPubkey(this.purchaseProps);
1042
+ this.messageHandlers = getHandlers(this.purchaseProps);
1043
+ this.messageHandlers.handleHeightChange =
1044
+ this.purchaseProps.handleHeightChange;
1045
+ this.iframeProps = {
1046
+ ...this.purchaseProps,
1047
+ walletPubkey,
1048
+ route: `/${this.route}/${this.purchaseProps?.merchantId}`,
1049
+ routePrefix: 'form',
1050
+ transaction: CoinflowUtils.getTransaction(this.purchaseProps),
1051
+ };
1052
+ }
1053
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CoinflowMobileWalletButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1054
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", 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%;">
1055
+ <div
1056
+ [style.background-color]="purchaseProps.color"
1057
+ [style.display]="overlayDisplayOverride ?? display"
1058
+ [style.opacity]="opacity"
1059
+ [style.align-items]="alignItems"
1060
+ style="width: 100%; height: 40px; position: absolute; top: 0; bottom: 0; left: 0; z-index: 20; justify-content: center; pointer-events: none;"
1061
+ >
1062
+ <ng-content></ng-content>
1063
+ </div>
1064
+ <div style="position: relative; z-index: 10; height: 100%;">
1065
+ <lib-coinflow-iframe
1066
+ (messageEvent)="handleMessage($event)"
1067
+ ng-if="iframeProps && messageHandlers"
1068
+ [iframeProps]="iframeProps!"
1069
+ [messageHandlers]="messageHandlers!"
1070
+ ></lib-coinflow-iframe>
1071
+ </div>
1072
+ </div>`, isInline: true, dependencies: [{ kind: "component", type: CoinflowIFrameComponent, selector: "lib-coinflow-iframe", inputs: ["iframeProps", "messageHandlers"], outputs: ["messageEvent"] }] }); }
1073
+ }
1074
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CoinflowMobileWalletButtonComponent, decorators: [{
1075
+ type: Component,
1076
+ args: [{
1077
+ selector: 'lib-coinflow-mobile-wallet-button',
1078
+ standalone: true,
1079
+ imports: [CoinflowIFrameComponent],
1080
+ template: ` <div style="position: relative; height: 100%;">
1081
+ <div
1082
+ [style.background-color]="purchaseProps.color"
1083
+ [style.display]="overlayDisplayOverride ?? display"
1084
+ [style.opacity]="opacity"
1085
+ [style.align-items]="alignItems"
1086
+ style="width: 100%; height: 40px; position: absolute; top: 0; bottom: 0; left: 0; z-index: 20; justify-content: center; pointer-events: none;"
1087
+ >
1088
+ <ng-content></ng-content>
1089
+ </div>
1090
+ <div style="position: relative; z-index: 10; height: 100%;">
1091
+ <lib-coinflow-iframe
1092
+ (messageEvent)="handleMessage($event)"
1093
+ ng-if="iframeProps && messageHandlers"
1094
+ [iframeProps]="iframeProps!"
1095
+ [messageHandlers]="messageHandlers!"
1096
+ ></lib-coinflow-iframe>
1097
+ </div>
1098
+ </div>`,
1099
+ }]
1100
+ }], propDecorators: { purchaseProps: [{
1101
+ type: Input
1102
+ }], route: [{
1103
+ type: Input
1104
+ }], overlayDisplayOverride: [{
1105
+ type: Input
1106
+ }], alignItems: [{
1107
+ type: Input
1108
+ }] } });
1109
+
1110
+ class CoinflowApplePayOverlayComponent {
1111
+ fill() {
1112
+ return this.color === 'white' ? '#000' : '#FFF';
1113
+ }
1114
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CoinflowApplePayOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1115
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: CoinflowApplePayOverlayComponent, isStandalone: true, selector: "coinflow-apple-pay-overlay", inputs: { color: "color" }, ngImport: i0, template: `
1116
+ <svg id="svg-logo" viewBox="0 0 35 15">
1117
+ <svg
1118
+ id="svg-logo"
1119
+ x="0"
1120
+ y="3.85"
1121
+ height="7.3"
1122
+ width="35"
1123
+ className="logo"
1124
+ viewBox="0 0 105 43"
1125
+ version="1.1"
1126
+ xmlns="http://www.w3.org/2000/svg"
1127
+ xmlnsXlink="http://www.w3.org/1999/xlink"
1128
+ >
1129
+ <title>Apple Logo</title>
1130
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
1131
+ <g fill="#000">
1132
+ <path
1133
+ d="M19.4028,5.5674 C20.6008,4.0684 21.4138,2.0564 21.1998,0.0004 C19.4458,0.0874 17.3058,1.1574 16.0668,2.6564 C14.9538,3.9414 13.9688,6.0374 14.2258,8.0074 C16.1948,8.1784 18.1618,7.0244 19.4028,5.5674"
1134
+ ></path>
1135
+ <path
1136
+ d="M21.1772,8.3926 C18.3182,8.2226 15.8872,10.0156 14.5212,10.0156 C13.1552,10.0156 11.0642,8.4786 8.8022,8.5196 C5.8592,8.5626 3.1282,10.2276 1.6342,12.8746 C-1.4378,18.1696 0.8232,26.0246 3.8112,30.3376 C5.2622,32.4716 7.0102,34.8206 9.3142,34.7366 C11.4912,34.6506 12.3442,33.3266 14.9902,33.3266 C17.6352,33.3266 18.4042,34.7366 20.7082,34.6936 C23.0972,34.6506 24.5922,32.5586 26.0422,30.4226 C27.7072,27.9906 28.3882,25.6426 28.4312,25.5126 C28.3882,25.4706 23.8232,23.7186 23.7812,18.4676 C23.7382,14.0706 27.3652,11.9786 27.5362,11.8496 C25.4882,8.8196 22.2872,8.4786 21.1772,8.3926"
1137
+ ></path>
1138
+ <path
1139
+ d="M85.5508,43.0381 L85.5508,39.1991 C85.8628,39.2421 86.6158,39.2871 87.0158,39.2871 C89.2138,39.2871 90.4558,38.3551 91.2108,35.9581 L91.6548,34.5371 L83.2428,11.2321 L88.4368,11.2321 L94.2958,30.1421 L94.4068,30.1421 L100.2668,11.2321 L105.3278,11.2321 L96.6048,35.7141 C94.6078,41.3291 92.3208,43.1721 87.4828,43.1721 C87.1048,43.1721 85.8838,43.1271 85.5508,43.0381"
1140
+ ></path>
1141
+ <path
1142
+ d="M42.6499,19.3555 L48.3549,19.3555 C52.6829,19.3555 55.1469,17.0255 55.1469,12.9855 C55.1469,8.9455 52.6829,6.6375 48.3769,6.6375 L42.6499,6.6375 L42.6499,19.3555 Z M49.6869,2.4425 C55.9009,2.4425 60.2289,6.7265 60.2289,12.9625 C60.2289,19.2225 55.8129,23.5285 49.5309,23.5285 L42.6499,23.5285 L42.6499,34.4705 L37.6779,34.4705 L37.6779,2.4425 L49.6869,2.4425 Z"
1143
+ ></path>
1144
+ <path
1145
+ d="M76.5547,25.7705 L76.5547,23.9715 L71.0287,24.3275 C67.9207,24.5275 66.3007,25.6815 66.3007,27.7015 C66.3007,29.6545 67.9887,30.9195 70.6287,30.9195 C74.0027,30.9195 76.5547,28.7665 76.5547,25.7705 M61.4617,27.8345 C61.4617,23.7285 64.5917,21.3755 70.3627,21.0205 L76.5547,20.6425 L76.5547,18.8675 C76.5547,16.2705 74.8457,14.8495 71.8057,14.8495 C69.2967,14.8495 67.4777,16.1375 67.0997,18.1125 L62.6167,18.1125 C62.7497,13.9615 66.6567,10.9435 71.9387,10.9435 C77.6207,10.9435 81.3267,13.9175 81.3267,18.5345 L81.3267,34.4705 L76.7327,34.4705 L76.7327,30.6305 L76.6217,30.6305 C75.3127,33.1395 72.4267,34.7145 69.2967,34.7145 C64.6807,34.7145 61.4617,31.9625 61.4617,27.8345"
1146
+ ></path>
1147
+ </g>
1148
+ </g>
1149
+ </svg>
1150
+ </svg>
1151
+ `, isInline: true }); }
1152
+ }
1153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CoinflowApplePayOverlayComponent, decorators: [{
1154
+ type: Component,
1155
+ args: [{
1156
+ selector: 'coinflow-apple-pay-overlay',
1157
+ standalone: true,
1158
+ imports: [],
1159
+ template: `
1160
+ <svg id="svg-logo" viewBox="0 0 35 15">
1161
+ <svg
1162
+ id="svg-logo"
1163
+ x="0"
1164
+ y="3.85"
1165
+ height="7.3"
1166
+ width="35"
1167
+ className="logo"
1168
+ viewBox="0 0 105 43"
1169
+ version="1.1"
1170
+ xmlns="http://www.w3.org/2000/svg"
1171
+ xmlnsXlink="http://www.w3.org/1999/xlink"
1172
+ >
1173
+ <title>Apple Logo</title>
1174
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
1175
+ <g fill="#000">
1176
+ <path
1177
+ d="M19.4028,5.5674 C20.6008,4.0684 21.4138,2.0564 21.1998,0.0004 C19.4458,0.0874 17.3058,1.1574 16.0668,2.6564 C14.9538,3.9414 13.9688,6.0374 14.2258,8.0074 C16.1948,8.1784 18.1618,7.0244 19.4028,5.5674"
1178
+ ></path>
1179
+ <path
1180
+ d="M21.1772,8.3926 C18.3182,8.2226 15.8872,10.0156 14.5212,10.0156 C13.1552,10.0156 11.0642,8.4786 8.8022,8.5196 C5.8592,8.5626 3.1282,10.2276 1.6342,12.8746 C-1.4378,18.1696 0.8232,26.0246 3.8112,30.3376 C5.2622,32.4716 7.0102,34.8206 9.3142,34.7366 C11.4912,34.6506 12.3442,33.3266 14.9902,33.3266 C17.6352,33.3266 18.4042,34.7366 20.7082,34.6936 C23.0972,34.6506 24.5922,32.5586 26.0422,30.4226 C27.7072,27.9906 28.3882,25.6426 28.4312,25.5126 C28.3882,25.4706 23.8232,23.7186 23.7812,18.4676 C23.7382,14.0706 27.3652,11.9786 27.5362,11.8496 C25.4882,8.8196 22.2872,8.4786 21.1772,8.3926"
1181
+ ></path>
1182
+ <path
1183
+ d="M85.5508,43.0381 L85.5508,39.1991 C85.8628,39.2421 86.6158,39.2871 87.0158,39.2871 C89.2138,39.2871 90.4558,38.3551 91.2108,35.9581 L91.6548,34.5371 L83.2428,11.2321 L88.4368,11.2321 L94.2958,30.1421 L94.4068,30.1421 L100.2668,11.2321 L105.3278,11.2321 L96.6048,35.7141 C94.6078,41.3291 92.3208,43.1721 87.4828,43.1721 C87.1048,43.1721 85.8838,43.1271 85.5508,43.0381"
1184
+ ></path>
1185
+ <path
1186
+ d="M42.6499,19.3555 L48.3549,19.3555 C52.6829,19.3555 55.1469,17.0255 55.1469,12.9855 C55.1469,8.9455 52.6829,6.6375 48.3769,6.6375 L42.6499,6.6375 L42.6499,19.3555 Z M49.6869,2.4425 C55.9009,2.4425 60.2289,6.7265 60.2289,12.9625 C60.2289,19.2225 55.8129,23.5285 49.5309,23.5285 L42.6499,23.5285 L42.6499,34.4705 L37.6779,34.4705 L37.6779,2.4425 L49.6869,2.4425 Z"
1187
+ ></path>
1188
+ <path
1189
+ d="M76.5547,25.7705 L76.5547,23.9715 L71.0287,24.3275 C67.9207,24.5275 66.3007,25.6815 66.3007,27.7015 C66.3007,29.6545 67.9887,30.9195 70.6287,30.9195 C74.0027,30.9195 76.5547,28.7665 76.5547,25.7705 M61.4617,27.8345 C61.4617,23.7285 64.5917,21.3755 70.3627,21.0205 L76.5547,20.6425 L76.5547,18.8675 C76.5547,16.2705 74.8457,14.8495 71.8057,14.8495 C69.2967,14.8495 67.4777,16.1375 67.0997,18.1125 L62.6167,18.1125 C62.7497,13.9615 66.6567,10.9435 71.9387,10.9435 C77.6207,10.9435 81.3267,13.9175 81.3267,18.5345 L81.3267,34.4705 L76.7327,34.4705 L76.7327,30.6305 L76.6217,30.6305 C75.3127,33.1395 72.4267,34.7145 69.2967,34.7145 C64.6807,34.7145 61.4617,31.9625 61.4617,27.8345"
1190
+ ></path>
1191
+ </g>
1192
+ </g>
1193
+ </svg>
1194
+ </svg>
1195
+ `,
1196
+ }]
1197
+ }], propDecorators: { color: [{
1198
+ type: Input
1199
+ }] } });
1200
+
1201
+ class CoinflowApplePayButtonComponent {
1202
+ fill() {
1203
+ return this.purchaseProps.color === 'white' ? '#000' : '#FFF';
1204
+ }
1205
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CoinflowApplePayButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1206
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: CoinflowApplePayButtonComponent, isStandalone: true, selector: "lib-coinflow-apple-pay-button", inputs: { purchaseProps: "purchaseProps" }, ngImport: i0, template: ` <lib-coinflow-mobile-wallet-button
1207
+ ng-if="iframeProps && messageHandlers"
1208
+ [purchaseProps]="purchaseProps"
1209
+ route="apple-pay"
1210
+ >
1211
+ <svg id="svg-logo" viewBox="0 0 35 15">
1212
+ <svg
1213
+ id="svg-logo"
1214
+ x="0"
1215
+ y="3.85"
1216
+ height="7.3"
1217
+ width="35"
1218
+ className="logo"
1219
+ viewBox="0 0 105 43"
1220
+ version="1.1"
1221
+ xmlns="http://www.w3.org/2000/svg"
1222
+ xmlnsXlink="http://www.w3.org/1999/xlink"
1223
+ >
1224
+ <title>Apple Logo</title>
1225
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
1226
+ <g [attr.fill]="fill()">
1227
+ <path
1228
+ d="M19.4028,5.5674 C20.6008,4.0684 21.4138,2.0564 21.1998,0.0004 C19.4458,0.0874 17.3058,1.1574 16.0668,2.6564 C14.9538,3.9414 13.9688,6.0374 14.2258,8.0074 C16.1948,8.1784 18.1618,7.0244 19.4028,5.5674"
1229
+ ></path>
1230
+ <path
1231
+ d="M21.1772,8.3926 C18.3182,8.2226 15.8872,10.0156 14.5212,10.0156 C13.1552,10.0156 11.0642,8.4786 8.8022,8.5196 C5.8592,8.5626 3.1282,10.2276 1.6342,12.8746 C-1.4378,18.1696 0.8232,26.0246 3.8112,30.3376 C5.2622,32.4716 7.0102,34.8206 9.3142,34.7366 C11.4912,34.6506 12.3442,33.3266 14.9902,33.3266 C17.6352,33.3266 18.4042,34.7366 20.7082,34.6936 C23.0972,34.6506 24.5922,32.5586 26.0422,30.4226 C27.7072,27.9906 28.3882,25.6426 28.4312,25.5126 C28.3882,25.4706 23.8232,23.7186 23.7812,18.4676 C23.7382,14.0706 27.3652,11.9786 27.5362,11.8496 C25.4882,8.8196 22.2872,8.4786 21.1772,8.3926"
1232
+ ></path>
1233
+ <path
1234
+ d="M85.5508,43.0381 L85.5508,39.1991 C85.8628,39.2421 86.6158,39.2871 87.0158,39.2871 C89.2138,39.2871 90.4558,38.3551 91.2108,35.9581 L91.6548,34.5371 L83.2428,11.2321 L88.4368,11.2321 L94.2958,30.1421 L94.4068,30.1421 L100.2668,11.2321 L105.3278,11.2321 L96.6048,35.7141 C94.6078,41.3291 92.3208,43.1721 87.4828,43.1721 C87.1048,43.1721 85.8838,43.1271 85.5508,43.0381"
1235
+ ></path>
1236
+ <path
1237
+ d="M42.6499,19.3555 L48.3549,19.3555 C52.6829,19.3555 55.1469,17.0255 55.1469,12.9855 C55.1469,8.9455 52.6829,6.6375 48.3769,6.6375 L42.6499,6.6375 L42.6499,19.3555 Z M49.6869,2.4425 C55.9009,2.4425 60.2289,6.7265 60.2289,12.9625 C60.2289,19.2225 55.8129,23.5285 49.5309,23.5285 L42.6499,23.5285 L42.6499,34.4705 L37.6779,34.4705 L37.6779,2.4425 L49.6869,2.4425 Z"
1238
+ ></path>
1239
+ <path
1240
+ d="M76.5547,25.7705 L76.5547,23.9715 L71.0287,24.3275 C67.9207,24.5275 66.3007,25.6815 66.3007,27.7015 C66.3007,29.6545 67.9887,30.9195 70.6287,30.9195 C74.0027,30.9195 76.5547,28.7665 76.5547,25.7705 M61.4617,27.8345 C61.4617,23.7285 64.5917,21.3755 70.3627,21.0205 L76.5547,20.6425 L76.5547,18.8675 C76.5547,16.2705 74.8457,14.8495 71.8057,14.8495 C69.2967,14.8495 67.4777,16.1375 67.0997,18.1125 L62.6167,18.1125 C62.7497,13.9615 66.6567,10.9435 71.9387,10.9435 C77.6207,10.9435 81.3267,13.9175 81.3267,18.5345 L81.3267,34.4705 L76.7327,34.4705 L76.7327,30.6305 L76.6217,30.6305 C75.3127,33.1395 72.4267,34.7145 69.2967,34.7145 C64.6807,34.7145 61.4617,31.9625 61.4617,27.8345"
1241
+ ></path>
1242
+ </g>
1243
+ </g>
1244
+ </svg>
1245
+ </svg>
1246
+ </lib-coinflow-mobile-wallet-button>`, isInline: true, dependencies: [{ kind: "component", type: CoinflowMobileWalletButtonComponent, selector: "lib-coinflow-mobile-wallet-button", inputs: ["purchaseProps", "route", "overlayDisplayOverride", "alignItems"] }] }); }
1247
+ }
1248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CoinflowApplePayButtonComponent, decorators: [{
1249
+ type: Component,
1250
+ args: [{
1251
+ selector: 'lib-coinflow-apple-pay-button',
1252
+ standalone: true,
1253
+ imports: [
1254
+ CoinflowMobileWalletButtonComponent,
1255
+ CoinflowApplePayOverlayComponent,
1256
+ ],
1257
+ template: ` <lib-coinflow-mobile-wallet-button
1258
+ ng-if="iframeProps && messageHandlers"
1259
+ [purchaseProps]="purchaseProps"
1260
+ route="apple-pay"
1261
+ >
1262
+ <svg id="svg-logo" viewBox="0 0 35 15">
1263
+ <svg
1264
+ id="svg-logo"
1265
+ x="0"
1266
+ y="3.85"
1267
+ height="7.3"
1268
+ width="35"
1269
+ className="logo"
1270
+ viewBox="0 0 105 43"
1271
+ version="1.1"
1272
+ xmlns="http://www.w3.org/2000/svg"
1273
+ xmlnsXlink="http://www.w3.org/1999/xlink"
1274
+ >
1275
+ <title>Apple Logo</title>
1276
+ <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
1277
+ <g [attr.fill]="fill()">
1278
+ <path
1279
+ d="M19.4028,5.5674 C20.6008,4.0684 21.4138,2.0564 21.1998,0.0004 C19.4458,0.0874 17.3058,1.1574 16.0668,2.6564 C14.9538,3.9414 13.9688,6.0374 14.2258,8.0074 C16.1948,8.1784 18.1618,7.0244 19.4028,5.5674"
1280
+ ></path>
1281
+ <path
1282
+ d="M21.1772,8.3926 C18.3182,8.2226 15.8872,10.0156 14.5212,10.0156 C13.1552,10.0156 11.0642,8.4786 8.8022,8.5196 C5.8592,8.5626 3.1282,10.2276 1.6342,12.8746 C-1.4378,18.1696 0.8232,26.0246 3.8112,30.3376 C5.2622,32.4716 7.0102,34.8206 9.3142,34.7366 C11.4912,34.6506 12.3442,33.3266 14.9902,33.3266 C17.6352,33.3266 18.4042,34.7366 20.7082,34.6936 C23.0972,34.6506 24.5922,32.5586 26.0422,30.4226 C27.7072,27.9906 28.3882,25.6426 28.4312,25.5126 C28.3882,25.4706 23.8232,23.7186 23.7812,18.4676 C23.7382,14.0706 27.3652,11.9786 27.5362,11.8496 C25.4882,8.8196 22.2872,8.4786 21.1772,8.3926"
1283
+ ></path>
1284
+ <path
1285
+ d="M85.5508,43.0381 L85.5508,39.1991 C85.8628,39.2421 86.6158,39.2871 87.0158,39.2871 C89.2138,39.2871 90.4558,38.3551 91.2108,35.9581 L91.6548,34.5371 L83.2428,11.2321 L88.4368,11.2321 L94.2958,30.1421 L94.4068,30.1421 L100.2668,11.2321 L105.3278,11.2321 L96.6048,35.7141 C94.6078,41.3291 92.3208,43.1721 87.4828,43.1721 C87.1048,43.1721 85.8838,43.1271 85.5508,43.0381"
1286
+ ></path>
1287
+ <path
1288
+ d="M42.6499,19.3555 L48.3549,19.3555 C52.6829,19.3555 55.1469,17.0255 55.1469,12.9855 C55.1469,8.9455 52.6829,6.6375 48.3769,6.6375 L42.6499,6.6375 L42.6499,19.3555 Z M49.6869,2.4425 C55.9009,2.4425 60.2289,6.7265 60.2289,12.9625 C60.2289,19.2225 55.8129,23.5285 49.5309,23.5285 L42.6499,23.5285 L42.6499,34.4705 L37.6779,34.4705 L37.6779,2.4425 L49.6869,2.4425 Z"
1289
+ ></path>
1290
+ <path
1291
+ d="M76.5547,25.7705 L76.5547,23.9715 L71.0287,24.3275 C67.9207,24.5275 66.3007,25.6815 66.3007,27.7015 C66.3007,29.6545 67.9887,30.9195 70.6287,30.9195 C74.0027,30.9195 76.5547,28.7665 76.5547,25.7705 M61.4617,27.8345 C61.4617,23.7285 64.5917,21.3755 70.3627,21.0205 L76.5547,20.6425 L76.5547,18.8675 C76.5547,16.2705 74.8457,14.8495 71.8057,14.8495 C69.2967,14.8495 67.4777,16.1375 67.0997,18.1125 L62.6167,18.1125 C62.7497,13.9615 66.6567,10.9435 71.9387,10.9435 C77.6207,10.9435 81.3267,13.9175 81.3267,18.5345 L81.3267,34.4705 L76.7327,34.4705 L76.7327,30.6305 L76.6217,30.6305 C75.3127,33.1395 72.4267,34.7145 69.2967,34.7145 C64.6807,34.7145 61.4617,31.9625 61.4617,27.8345"
1292
+ ></path>
1293
+ </g>
1294
+ </g>
1295
+ </svg>
1296
+ </svg>
1297
+ </lib-coinflow-mobile-wallet-button>`,
1298
+ }]
1299
+ }], propDecorators: { purchaseProps: [{
1300
+ type: Input
1301
+ }] } });
1302
+
1303
+ class CoinflowGooglePayOverlayComponent {
1304
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CoinflowGooglePayOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1305
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: CoinflowGooglePayOverlayComponent, isStandalone: true, selector: "coinflow-google-pay-overlay", inputs: { color: "color" }, ngImport: i0, template: `
1306
+ @if (color === 'white') {
1307
+ <svg xmlns="http://www.w3.org/2000/svg" width="41" height="17">
1308
+ <g fill="none" fill-rule="evenodd">
1309
+ <path
1310
+ d="M19.526 2.635v4.083h2.518c.6 0 1.096-.202 1.488-.605.403-.402.605-.882.605-1.437 0-.544-.202-1.018-.605-1.422-.392-.413-.888-.62-1.488-.62h-2.518zm0 5.52v4.736h-1.504V1.198h3.99c1.013 0 1.873.337 2.582 1.012.72.675 1.08 1.497 1.08 2.466 0 .991-.36 1.819-1.08 2.482-.697.665-1.559.996-2.583.996h-2.485v.001zm7.668 2.287c0 .392.166.718.499.98.332.26.722.391 1.168.391.633 0 1.196-.234 1.692-.701.497-.469.744-1.019.744-1.65-.469-.37-1.123-.555-1.962-.555-.61 0-1.12.148-1.528.442-.409.294-.613.657-.613 1.093m1.946-5.815c1.112 0 1.989.297 2.633.89.642.594.964 1.408.964 2.442v4.932h-1.439v-1.11h-.065c-.622.914-1.45 1.372-2.486 1.372-.882 0-1.621-.262-2.215-.784-.594-.523-.891-1.176-.891-1.96 0-.828.313-1.486.94-1.976s1.463-.735 2.51-.735c.892 0 1.629.163 2.206.49v-.344c0-.522-.207-.966-.621-1.33a2.132 2.132 0 0 0-1.455-.547c-.84 0-1.504.353-1.995 1.062l-1.324-.834c.73-1.045 1.81-1.568 3.238-1.568m11.853.262l-5.02 11.53H34.42l1.864-4.034-3.302-7.496h1.635l2.387 5.749h.032l2.322-5.75z"
1311
+ fill="#5F6368"
1312
+ />
1313
+ <path
1314
+ d="M13.448 7.134c0-.473-.04-.93-.116-1.366H6.988v2.588h3.634a3.11 3.11 0 0 1-1.344 2.042v1.68h2.169c1.27-1.17 2.001-2.9 2.001-4.944"
1315
+ fill="#4285F4"
1316
+ />
1317
+ <path
1318
+ d="M6.988 13.7c1.816 0 3.344-.595 4.459-1.621l-2.169-1.681c-.603.406-1.38.643-2.29.643-1.754 0-3.244-1.182-3.776-2.774H.978v1.731a6.728 6.728 0 0 0 6.01 3.703"
1319
+ fill="#34A853"
1320
+ />
1321
+ <path
1322
+ d="M3.212 8.267a4.034 4.034 0 0 1 0-2.572V3.964H.978A6.678 6.678 0 0 0 .261 6.98c0 1.085.26 2.11.717 3.017l2.234-1.731z"
1323
+ fill="#FABB05"
1324
+ />
1325
+ <path
1326
+ d="M6.988 2.921c.992 0 1.88.34 2.58 1.008v.001l1.92-1.918C10.324.928 8.804.262 6.989.262a6.728 6.728 0 0 0-6.01 3.702l2.234 1.731c.532-1.592 2.022-2.774 3.776-2.774"
1327
+ fill="#E94235"
1328
+ />
1329
+ <path d="M0 0h41.285v18H0z" />
1330
+ </g>
1331
+ </svg>
1332
+ } @else {
1333
+ <svg xmlns="http://www.w3.org/2000/svg" width="41" height="17">
1334
+ <g fill="none" fill-rule="evenodd">
1335
+ <path
1336
+ d="M19.526 2.635v4.083h2.518c.6 0 1.096-.202 1.488-.605.403-.402.605-.882.605-1.437 0-.544-.202-1.018-.605-1.422-.392-.413-.888-.62-1.488-.62h-2.518zm0 5.52v4.736h-1.504V1.198h3.99c1.013 0 1.873.337 2.582 1.012.72.675 1.08 1.497 1.08 2.466 0 .991-.36 1.819-1.08 2.482-.697.665-1.559.996-2.583.996h-2.485v.001zm7.668 2.287c0 .392.166.718.499.98.332.26.722.391 1.168.391.633 0 1.196-.234 1.692-.701.497-.469.744-1.019.744-1.65-.469-.37-1.123-.555-1.962-.555-.61 0-1.12.148-1.528.442-.409.294-.613.657-.613 1.093m1.946-5.815c1.112 0 1.989.297 2.633.89.642.594.964 1.408.964 2.442v4.932h-1.439v-1.11h-.065c-.622.914-1.45 1.372-2.486 1.372-.882 0-1.621-.262-2.215-.784-.594-.523-.891-1.176-.891-1.96 0-.828.313-1.486.94-1.976s1.463-.735 2.51-.735c.892 0 1.629.163 2.206.49v-.344c0-.522-.207-.966-.621-1.33a2.132 2.132 0 0 0-1.455-.547c-.84 0-1.504.353-1.995 1.062l-1.324-.834c.73-1.045 1.81-1.568 3.238-1.568m11.853.262l-5.02 11.53H34.42l1.864-4.034-3.302-7.496h1.635l2.387 5.749h.032l2.322-5.75z"
1337
+ fill="#FFF"
1338
+ />
1339
+ <path
1340
+ d="M13.448 7.134c0-.473-.04-.93-.116-1.366H6.988v2.588h3.634a3.11 3.11 0 0 1-1.344 2.042v1.68h2.169c1.27-1.17 2.001-2.9 2.001-4.944"
1341
+ fill="#4285F4"
1342
+ />
1343
+ <path
1344
+ d="M6.988 13.7c1.816 0 3.344-.595 4.459-1.621l-2.169-1.681c-.603.406-1.38.643-2.29.643-1.754 0-3.244-1.182-3.776-2.774H.978v1.731a6.728 6.728 0 0 0 6.01 3.703"
1345
+ fill="#34A853"
1346
+ />
1347
+ <path
1348
+ d="M3.212 8.267a4.034 4.034 0 0 1 0-2.572V3.964H.978A6.678 6.678 0 0 0 .261 6.98c0 1.085.26 2.11.717 3.017l2.234-1.731z"
1349
+ fill="#FABB05"
1350
+ />
1351
+ <path
1352
+ d="M6.988 2.921c.992 0 1.88.34 2.58 1.008v.001l1.92-1.918C10.324.928 8.804.262 6.989.262a6.728 6.728 0 0 0-6.01 3.702l2.234 1.731c.532-1.592 2.022-2.774 3.776-2.774"
1353
+ fill="#E94235"
1354
+ />
1355
+ </g>
1356
+ </svg>
1357
+ }
1358
+ `, isInline: true }); }
1359
+ }
1360
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CoinflowGooglePayOverlayComponent, decorators: [{
1361
+ type: Component,
1362
+ args: [{
1363
+ selector: 'coinflow-google-pay-overlay',
1364
+ standalone: true,
1365
+ imports: [],
1366
+ template: `
1367
+ @if (color === 'white') {
1368
+ <svg xmlns="http://www.w3.org/2000/svg" width="41" height="17">
1369
+ <g fill="none" fill-rule="evenodd">
1370
+ <path
1371
+ d="M19.526 2.635v4.083h2.518c.6 0 1.096-.202 1.488-.605.403-.402.605-.882.605-1.437 0-.544-.202-1.018-.605-1.422-.392-.413-.888-.62-1.488-.62h-2.518zm0 5.52v4.736h-1.504V1.198h3.99c1.013 0 1.873.337 2.582 1.012.72.675 1.08 1.497 1.08 2.466 0 .991-.36 1.819-1.08 2.482-.697.665-1.559.996-2.583.996h-2.485v.001zm7.668 2.287c0 .392.166.718.499.98.332.26.722.391 1.168.391.633 0 1.196-.234 1.692-.701.497-.469.744-1.019.744-1.65-.469-.37-1.123-.555-1.962-.555-.61 0-1.12.148-1.528.442-.409.294-.613.657-.613 1.093m1.946-5.815c1.112 0 1.989.297 2.633.89.642.594.964 1.408.964 2.442v4.932h-1.439v-1.11h-.065c-.622.914-1.45 1.372-2.486 1.372-.882 0-1.621-.262-2.215-.784-.594-.523-.891-1.176-.891-1.96 0-.828.313-1.486.94-1.976s1.463-.735 2.51-.735c.892 0 1.629.163 2.206.49v-.344c0-.522-.207-.966-.621-1.33a2.132 2.132 0 0 0-1.455-.547c-.84 0-1.504.353-1.995 1.062l-1.324-.834c.73-1.045 1.81-1.568 3.238-1.568m11.853.262l-5.02 11.53H34.42l1.864-4.034-3.302-7.496h1.635l2.387 5.749h.032l2.322-5.75z"
1372
+ fill="#5F6368"
1373
+ />
1374
+ <path
1375
+ d="M13.448 7.134c0-.473-.04-.93-.116-1.366H6.988v2.588h3.634a3.11 3.11 0 0 1-1.344 2.042v1.68h2.169c1.27-1.17 2.001-2.9 2.001-4.944"
1376
+ fill="#4285F4"
1377
+ />
1378
+ <path
1379
+ d="M6.988 13.7c1.816 0 3.344-.595 4.459-1.621l-2.169-1.681c-.603.406-1.38.643-2.29.643-1.754 0-3.244-1.182-3.776-2.774H.978v1.731a6.728 6.728 0 0 0 6.01 3.703"
1380
+ fill="#34A853"
1381
+ />
1382
+ <path
1383
+ d="M3.212 8.267a4.034 4.034 0 0 1 0-2.572V3.964H.978A6.678 6.678 0 0 0 .261 6.98c0 1.085.26 2.11.717 3.017l2.234-1.731z"
1384
+ fill="#FABB05"
1385
+ />
1386
+ <path
1387
+ d="M6.988 2.921c.992 0 1.88.34 2.58 1.008v.001l1.92-1.918C10.324.928 8.804.262 6.989.262a6.728 6.728 0 0 0-6.01 3.702l2.234 1.731c.532-1.592 2.022-2.774 3.776-2.774"
1388
+ fill="#E94235"
1389
+ />
1390
+ <path d="M0 0h41.285v18H0z" />
1391
+ </g>
1392
+ </svg>
1393
+ } @else {
1394
+ <svg xmlns="http://www.w3.org/2000/svg" width="41" height="17">
1395
+ <g fill="none" fill-rule="evenodd">
1396
+ <path
1397
+ d="M19.526 2.635v4.083h2.518c.6 0 1.096-.202 1.488-.605.403-.402.605-.882.605-1.437 0-.544-.202-1.018-.605-1.422-.392-.413-.888-.62-1.488-.62h-2.518zm0 5.52v4.736h-1.504V1.198h3.99c1.013 0 1.873.337 2.582 1.012.72.675 1.08 1.497 1.08 2.466 0 .991-.36 1.819-1.08 2.482-.697.665-1.559.996-2.583.996h-2.485v.001zm7.668 2.287c0 .392.166.718.499.98.332.26.722.391 1.168.391.633 0 1.196-.234 1.692-.701.497-.469.744-1.019.744-1.65-.469-.37-1.123-.555-1.962-.555-.61 0-1.12.148-1.528.442-.409.294-.613.657-.613 1.093m1.946-5.815c1.112 0 1.989.297 2.633.89.642.594.964 1.408.964 2.442v4.932h-1.439v-1.11h-.065c-.622.914-1.45 1.372-2.486 1.372-.882 0-1.621-.262-2.215-.784-.594-.523-.891-1.176-.891-1.96 0-.828.313-1.486.94-1.976s1.463-.735 2.51-.735c.892 0 1.629.163 2.206.49v-.344c0-.522-.207-.966-.621-1.33a2.132 2.132 0 0 0-1.455-.547c-.84 0-1.504.353-1.995 1.062l-1.324-.834c.73-1.045 1.81-1.568 3.238-1.568m11.853.262l-5.02 11.53H34.42l1.864-4.034-3.302-7.496h1.635l2.387 5.749h.032l2.322-5.75z"
1398
+ fill="#FFF"
1399
+ />
1400
+ <path
1401
+ d="M13.448 7.134c0-.473-.04-.93-.116-1.366H6.988v2.588h3.634a3.11 3.11 0 0 1-1.344 2.042v1.68h2.169c1.27-1.17 2.001-2.9 2.001-4.944"
1402
+ fill="#4285F4"
1403
+ />
1404
+ <path
1405
+ d="M6.988 13.7c1.816 0 3.344-.595 4.459-1.621l-2.169-1.681c-.603.406-1.38.643-2.29.643-1.754 0-3.244-1.182-3.776-2.774H.978v1.731a6.728 6.728 0 0 0 6.01 3.703"
1406
+ fill="#34A853"
1407
+ />
1408
+ <path
1409
+ d="M3.212 8.267a4.034 4.034 0 0 1 0-2.572V3.964H.978A6.678 6.678 0 0 0 .261 6.98c0 1.085.26 2.11.717 3.017l2.234-1.731z"
1410
+ fill="#FABB05"
1411
+ />
1412
+ <path
1413
+ d="M6.988 2.921c.992 0 1.88.34 2.58 1.008v.001l1.92-1.918C10.324.928 8.804.262 6.989.262a6.728 6.728 0 0 0-6.01 3.702l2.234 1.731c.532-1.592 2.022-2.774 3.776-2.774"
1414
+ fill="#E94235"
1415
+ />
1416
+ </g>
1417
+ </svg>
1418
+ }
1419
+ `,
1420
+ }]
1421
+ }], propDecorators: { color: [{
1422
+ type: Input
1423
+ }] } });
1424
+
1425
+ class CoinflowGooglePayButtonComponent {
1426
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CoinflowGooglePayButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1427
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: CoinflowGooglePayButtonComponent, isStandalone: true, selector: "lib-coinflow-google-pay-button", inputs: { purchaseProps: "purchaseProps" }, ngImport: i0, template: `<lib-coinflow-mobile-wallet-button
1428
+ ng-if="iframeProps && messageHandlers"
1429
+ [purchaseProps]="purchaseProps"
1430
+ route="google-pay"
1431
+ alignItems="center"
1432
+ overlayDisplayOverride="flex"
1433
+ >
1434
+ <coinflow-google-pay-overlay
1435
+ [color]="purchaseProps.color"
1436
+ ></coinflow-google-pay-overlay>
1437
+ </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"] }] }); }
1438
+ }
1439
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CoinflowGooglePayButtonComponent, decorators: [{
1440
+ type: Component,
1441
+ args: [{
1442
+ selector: 'lib-coinflow-google-pay-button',
1443
+ standalone: true,
1444
+ imports: [
1445
+ CoinflowMobileWalletButtonComponent,
1446
+ CoinflowGooglePayOverlayComponent,
1447
+ ],
1448
+ template: `<lib-coinflow-mobile-wallet-button
1449
+ ng-if="iframeProps && messageHandlers"
1450
+ [purchaseProps]="purchaseProps"
1451
+ route="google-pay"
1452
+ alignItems="center"
1453
+ overlayDisplayOverride="flex"
1454
+ >
1455
+ <coinflow-google-pay-overlay
1456
+ [color]="purchaseProps.color"
1457
+ ></coinflow-google-pay-overlay>
1458
+ </lib-coinflow-mobile-wallet-button> `,
1459
+ }]
1460
+ }], propDecorators: { purchaseProps: [{
1461
+ type: Input
1462
+ }] } });
1463
+
975
1464
  /*
976
1465
  * Public API Surface of coinflowlabs
977
1466
  */
@@ -980,5 +1469,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
980
1469
  * Generated bundle index. Do not edit.
981
1470
  */
982
1471
 
983
- export { CoinflowCardNumberInput, CoinflowCardNumberOnlyInput, CoinflowCvvInputComponent, CoinflowCvvOnlyInputComponent, CoinflowIFrameComponent, CoinflowPurchaseComponent, CoinflowPurchaseHistoryComponent, CoinflowPurchaseProtectionComponent, CoinflowWithdrawComponent, CoinflowWithdrawHistoryComponent };
1472
+ export { CoinflowApplePayButtonComponent, CoinflowCardNumberInput, CoinflowCardNumberOnlyInput, CoinflowCvvInputComponent, CoinflowCvvOnlyInputComponent, CoinflowGooglePayButtonComponent, CoinflowIFrameComponent, CoinflowPurchaseComponent, CoinflowPurchaseHistoryComponent, CoinflowPurchaseProtectionComponent, CoinflowWithdrawComponent, CoinflowWithdrawHistoryComponent };
984
1473
  //# sourceMappingURL=coinflowlabs-angular.mjs.map