@miden-npm/angular 1.0.0 → 2.0.1

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/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, EnvironmentProviders, EventEmitter, ElementRef, OnInit } from '@angular/core';
3
- import { ControlValueAccessor, AbstractControl, ValidatorFn } from '@angular/forms';
2
+ import { InjectionToken, EnvironmentProviders, EventEmitter, ElementRef, OnInit, OnChanges, SimpleChanges, ChangeDetectorRef, OnDestroy } from '@angular/core';
3
+ import { ControlValueAccessor, FormGroup, FormControl, AbstractControl, ValidatorFn } from '@angular/forms';
4
4
  import { HttpClient } from '@angular/common/http';
5
5
  import { Observable } from 'rxjs';
6
6
 
@@ -37,6 +37,7 @@ declare function apiBaseUrl(): string;
37
37
  declare class ButtonComponent {
38
38
  label: string;
39
39
  type: 'primary' | 'secondary' | 'danger' | 'neutral';
40
+ caller: 'buzapay' | 'miden';
40
41
  size: 'de' | 'sm' | 'md' | 'lg';
41
42
  paddingClassX: string;
42
43
  disabled: boolean;
@@ -48,7 +49,7 @@ declare class ButtonComponent {
48
49
  get getButtonSizeClass(): string;
49
50
  get getLabelSizeClass(): string;
50
51
  static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
51
- static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "base-button", never, { "label": { "alias": "label"; "required": false; }; "type": { "alias": "type"; "required": false; }; "size": { "alias": "size"; "required": false; }; "paddingClassX": { "alias": "paddingClassX"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; }, { "onClick": "onClick"; }, never, ["[slot=prefix]", "*", "[slot=suffix]"], true, never>;
52
+ static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "base-button", never, { "label": { "alias": "label"; "required": false; }; "type": { "alias": "type"; "required": false; }; "caller": { "alias": "caller"; "required": false; }; "size": { "alias": "size"; "required": false; }; "paddingClassX": { "alias": "paddingClassX"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; }, { "onClick": "onClick"; }, never, ["[slot=prefix]", "*", "[slot=suffix]"], true, never>;
52
53
  }
53
54
 
54
55
  declare class InputComponent {
@@ -157,6 +158,7 @@ declare class SelectComponent implements ControlValueAccessor {
157
158
 
158
159
  declare class RadioGroupComponent implements OnInit {
159
160
  selected: string;
161
+ caller: 'buzapay' | 'miden';
160
162
  options: {
161
163
  label: string;
162
164
  value: string;
@@ -166,7 +168,7 @@ declare class RadioGroupComponent implements OnInit {
166
168
  onSelect(value: any): void;
167
169
  ngOnInit(): void;
168
170
  static ɵfac: i0.ɵɵFactoryDeclaration<RadioGroupComponent, never>;
169
- static ɵcmp: i0.ɵɵComponentDeclaration<RadioGroupComponent, "base-radio-group", never, { "options": { "alias": "options"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, { "selectedChange": "selectedChange"; }, never, never, true, never>;
171
+ static ɵcmp: i0.ɵɵComponentDeclaration<RadioGroupComponent, "base-radio-group", never, { "caller": { "alias": "caller"; "required": false; }; "options": { "alias": "options"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, { "selectedChange": "selectedChange"; }, never, never, true, never>;
170
172
  }
171
173
 
172
174
  declare class LabelInfoComponent {
@@ -232,6 +234,33 @@ interface IAuthorizeCardPaymentPayload {
232
234
  paymentReference: string;
233
235
  isCheckout: boolean;
234
236
  }
237
+ interface IDeviceInformation {
238
+ httpBrowserLanguage: string;
239
+ httpBrowserJavaEnabled: boolean;
240
+ httpBrowserJavaScriptEnabled: boolean;
241
+ httpBrowserColorDepth: string;
242
+ httpBrowserScreenHeight: string;
243
+ httpBrowserScreenWidth: string;
244
+ httpBrowserTimeDifference: string;
245
+ userAgentBrowserValue: string;
246
+ deviceChannel: 'BROWSER' | 'MOBILE' | 'API';
247
+ deviceIpAddress: string;
248
+ httpAcceptContent: string;
249
+ }
250
+ interface IAuthorizeCardPaymentPayloadMiden {
251
+ customerId: string;
252
+ amount: string;
253
+ currency: string;
254
+ narration: string;
255
+ encryptedCardDetails: string;
256
+ billingDetails: IBillingDetails;
257
+ redirectUrl: string;
258
+ paymentReference: string;
259
+ isCheckout: boolean;
260
+ postBackUrl: string;
261
+ saveCard: boolean;
262
+ deviceInformation: IDeviceInformation;
263
+ }
235
264
  interface ThreeDsHtml {
236
265
  paReq?: string;
237
266
  termUrl?: string;
@@ -369,21 +398,23 @@ interface IState {
369
398
 
370
399
  declare class SuccessComponent {
371
400
  successObject: ISuccessObject;
401
+ caller: 'buzapay' | 'miden';
372
402
  amount: number;
373
403
  currency: string;
374
404
  redirectUrl: string;
375
405
  get formatAmountHandler(): string;
376
406
  goToRedirectUrl(): void;
377
407
  static ɵfac: i0.ɵɵFactoryDeclaration<SuccessComponent, never>;
378
- static ɵcmp: i0.ɵɵComponentDeclaration<SuccessComponent, "base-success", never, { "successObject": { "alias": "successObject"; "required": false; }; "amount": { "alias": "amount"; "required": false; }; "currency": { "alias": "currency"; "required": false; }; "redirectUrl": { "alias": "redirectUrl"; "required": false; }; }, {}, never, never, true, never>;
408
+ static ɵcmp: i0.ɵɵComponentDeclaration<SuccessComponent, "base-success", never, { "successObject": { "alias": "successObject"; "required": false; }; "caller": { "alias": "caller"; "required": false; }; "amount": { "alias": "amount"; "required": false; }; "currency": { "alias": "currency"; "required": false; }; "redirectUrl": { "alias": "redirectUrl"; "required": false; }; }, {}, never, never, true, never>;
379
409
  }
380
410
 
381
411
  declare class CardComponent {
382
412
  showBackButton: boolean;
413
+ caller: 'buzapay' | 'miden';
383
414
  back: EventEmitter<void>;
384
415
  goBack(): void;
385
416
  static ɵfac: i0.ɵɵFactoryDeclaration<CardComponent, never>;
386
- static ɵcmp: i0.ɵɵComponentDeclaration<CardComponent, "base-card", never, { "showBackButton": { "alias": "showBackButton"; "required": false; }; }, { "back": "back"; }, never, ["*"], true, never>;
417
+ static ɵcmp: i0.ɵɵComponentDeclaration<CardComponent, "base-card", never, { "showBackButton": { "alias": "showBackButton"; "required": false; }; "caller": { "alias": "caller"; "required": false; }; }, { "back": "back"; }, never, ["[buzapay]", "[miden]"], true, never>;
387
418
  }
388
419
 
389
420
  declare class BackComponent {
@@ -405,6 +436,23 @@ declare class CurrencyAmountComponent {
405
436
  static ɵcmp: i0.ɵɵComponentDeclaration<CurrencyAmountComponent, "base-currency-amount", never, { "currency": { "alias": "currency"; "required": false; }; "amount": { "alias": "amount"; "required": false; }; "textClass": { "alias": "textClass"; "required": false; }; "iconColorClass": { "alias": "iconColorClass"; "required": false; }; "iconWidth": { "alias": "iconWidth"; "required": false; }; "iconHeight": { "alias": "iconHeight"; "required": false; }; }, {}, never, never, true, never>;
406
437
  }
407
438
 
439
+ declare class CircleCountdownComponent implements OnChanges {
440
+ value: number;
441
+ total: number;
442
+ middleText: string | number;
443
+ size: number;
444
+ stroke: number;
445
+ readonly max = 100;
446
+ radius: number;
447
+ circumference: number;
448
+ dashOffset: number;
449
+ ngOnChanges(changes: SimpleChanges): void;
450
+ private recomputeCircle;
451
+ private updateFromPercent;
452
+ static ɵfac: i0.ɵɵFactoryDeclaration<CircleCountdownComponent, never>;
453
+ static ɵcmp: i0.ɵɵComponentDeclaration<CircleCountdownComponent, "base-circle-countdown", never, { "value": { "alias": "value"; "required": false; }; "total": { "alias": "total"; "required": false; }; "middleText": { "alias": "middleText"; "required": false; }; "size": { "alias": "size"; "required": false; }; "stroke": { "alias": "stroke"; "required": false; }; }, {}, never, never, true, never>;
454
+ }
455
+
408
456
  declare class IconLoaderComponent {
409
457
  color: string;
410
458
  size: string;
@@ -484,36 +532,85 @@ declare class IconArrowSwapComponent {
484
532
  static ɵcmp: i0.ɵɵComponentDeclaration<IconArrowSwapComponent, "icon-arrow-swap", never, { "color": { "alias": "color"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; }, {}, never, never, true, never>;
485
533
  }
486
534
 
487
- declare class CheckoutService {
488
- private http;
489
- constructor(http: HttpClient);
490
- billingInformation: any;
491
- setBillingInfo(info: any): void;
492
- createPaymentLink(payload: IPaymentObject, environment: string, secretKey: string): Observable<IApiResponse<any>>;
493
- generatePaymentAccount(environment: string, { merchantId, ...rest }: IGeneratePaymentAccountPayload): Observable<IApiResponse<IPaymentAccountResponse>>;
494
- authorizeCardPayment(environment: string, { merchantId, ...rest }: IAuthorizeCardPaymentPayload & {
495
- merchantId: string;
496
- }): Observable<ICheckoutApiResponse>;
497
- getPaymentReferenceDetails(environment: string, paymentReference: string): Observable<IApiResponse<IPaymentReferenceDetail>>;
498
- generateStableCoinAddress(environment: string, { merchantId, ...rest }: IGenerateStableCoinAddress): Observable<IApiResponse<IGenerateStableCoinAddressResponse>>;
499
- static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutService, never>;
500
- static ɵprov: i0.ɵɵInjectableDeclaration<CheckoutService>;
535
+ declare class IconLockComponent {
536
+ color: string;
537
+ width: string;
538
+ height: string;
539
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconLockComponent, never>;
540
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconLockComponent, "icon-lock", never, { "color": { "alias": "color"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; }, {}, never, never, true, never>;
541
+ }
542
+
543
+ declare class IconMidenLogoComponent {
544
+ width: string;
545
+ height: string;
546
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconMidenLogoComponent, never>;
547
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconMidenLogoComponent, "icon-miden-logo", never, { "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; }, {}, never, never, true, never>;
548
+ }
549
+
550
+ declare class IconCloseComponent {
551
+ color: string;
552
+ width: string;
553
+ height: string;
554
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconCloseComponent, never>;
555
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconCloseComponent, "icon-close", never, { "color": { "alias": "color"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; }, {}, never, never, true, never>;
556
+ }
557
+
558
+ declare class IconCourthouseComponent {
559
+ color: string;
560
+ width: string;
561
+ height: string;
562
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconCourthouseComponent, never>;
563
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconCourthouseComponent, "icon-courthouse", never, { "color": { "alias": "color"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; }, {}, never, never, true, never>;
564
+ }
565
+
566
+ declare class IconCoinComponent {
567
+ color: string;
568
+ width: string;
569
+ height: string;
570
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconCoinComponent, never>;
571
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconCoinComponent, "icon-coin", never, { "color": { "alias": "color"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; }, {}, never, never, true, never>;
572
+ }
573
+
574
+ declare class IconCardsComponent {
575
+ color: string;
576
+ width: string;
577
+ height: string;
578
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconCardsComponent, never>;
579
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconCardsComponent, "icon-cards", never, { "color": { "alias": "color"; "required": false; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; }, {}, never, never, true, never>;
580
+ }
581
+
582
+ declare class IconQrCodeComponent {
583
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconQrCodeComponent, never>;
584
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconQrCodeComponent, "icon-qr-code", never, {}, {}, never, never, true, never>;
501
585
  }
502
586
 
503
587
  declare class ResourceService {
504
588
  private http;
505
589
  constructor(http: HttpClient);
506
- getCountries(environment: string, secretKey: string): Observable<IApiResponse<ICountry[]>>;
507
- getCountryStates(countryIso3: string, environment: string, secretKey: string): Observable<IApiResponse<IState[]>>;
508
- getStableCoins(environment: string): Observable<IApiResponse<{
590
+ getCountries(environment: string, secretKey: string, caller: 'buzapay' | 'miden'): Observable<IApiResponse<ICountry[]>>;
591
+ getCountryStates(countryIso3: string, environment: string, secretKey: string, caller: 'buzapay' | 'miden'): Observable<IApiResponse<IState[]>>;
592
+ getStableCoins(environment: string, caller: 'buzapay' | 'miden'): Observable<IApiResponse<{
509
593
  name: string;
510
594
  }[]>>;
511
- getStableCoinNetworks(environment: string, stableCoin: string): Observable<IApiResponse<string[]>>;
512
- getMerchantById(merchantId: string, environment: string, secretKey: string): Observable<IApiResponse<any>>;
595
+ getStableCoinNetworks(environment: string, stableCoin: string, caller: 'buzapay' | 'miden'): Observable<IApiResponse<string[]>>;
513
596
  static ɵfac: i0.ɵɵFactoryDeclaration<ResourceService, never>;
514
597
  static ɵprov: i0.ɵɵInjectableDeclaration<ResourceService>;
515
598
  }
516
599
 
600
+ declare class CheckoutService {
601
+ private http;
602
+ constructor(http: HttpClient);
603
+ billingInformation: any;
604
+ setBillingInfo(info: any): void;
605
+ createPaymentLink(payload: IPaymentObject, environment: string, secretKey: string, caller?: 'buzapay' | 'miden'): Observable<IApiResponse<any>>;
606
+ generatePaymentAccount(environment: string, { merchantId, ...rest }: IGeneratePaymentAccountPayload, caller?: 'buzapay' | 'miden'): Observable<IApiResponse<IPaymentAccountResponse>>;
607
+ authorizeCardPayment(environment: string, { merchantId, ...rest }: any, caller?: 'buzapay' | 'miden'): Observable<ICheckoutApiResponse>;
608
+ getPaymentReferenceDetails(environment: string, paymentReference: string, caller?: 'buzapay' | 'miden'): Observable<IApiResponse<IPaymentReferenceDetail>>;
609
+ generateStableCoinAddress(environment: string, { merchantId, ...rest }: IGenerateStableCoinAddress, caller?: 'buzapay' | 'miden'): Observable<IApiResponse<IGenerateStableCoinAddressResponse>>;
610
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutService, never>;
611
+ static ɵprov: i0.ɵɵInjectableDeclaration<CheckoutService>;
612
+ }
613
+
517
614
  declare class EncryptService {
518
615
  constructor();
519
616
  encryptPayload(merchantId: string, formData?: any): {
@@ -524,12 +621,151 @@ declare class EncryptService {
524
621
  static ɵprov: i0.ɵɵInjectableDeclaration<EncryptService>;
525
622
  }
526
623
 
527
- declare const getBaseUrl: (mode: string) => string;
624
+ declare class PayByCardComponent implements OnInit {
625
+ private resources;
626
+ private cdr;
627
+ private checkout;
628
+ private encryptService;
629
+ constructor(resources: ResourceService, cdr: ChangeDetectorRef, checkout: CheckoutService, encryptService: EncryptService);
630
+ secretKey: string;
631
+ environment: 'sandbox' | 'prod';
632
+ caller: 'buzapay' | 'miden';
633
+ paymentObject: IPaymentObject;
634
+ paymentAuthorized: EventEmitter<ISuccessObject>;
635
+ onError: EventEmitter<IErrorObject>;
636
+ loading: boolean;
637
+ loadingCountries: boolean;
638
+ loadingStates: boolean;
639
+ isMakingPayment: boolean;
640
+ cardType: string;
641
+ message: string;
642
+ transactionReference: string;
643
+ rawCountries: ICountry[];
644
+ countries: ISelectOption[];
645
+ countryStates: ISelectOption[];
646
+ formIndex: number;
647
+ setFormIndex(index: number): void;
648
+ billingForm: FormGroup<{
649
+ address1: FormControl<string | null>;
650
+ address2: FormControl<string | null>;
651
+ postalCode: FormControl<string | null>;
652
+ state: FormControl<string | null>;
653
+ city: FormControl<string | null>;
654
+ country: FormControl<string | null>;
655
+ emailAddress: FormControl<string | null>;
656
+ phoneNumber: FormControl<string | null>;
657
+ }>;
658
+ payForm: FormGroup<{
659
+ customerName: FormControl<string | null>;
660
+ cardNo: FormControl<string | null>;
661
+ expireDate: FormControl<string | null>;
662
+ cvv: FormControl<string | null>;
663
+ cardPin: FormControl<string | null>;
664
+ }>;
665
+ getError(formKey: string, controlName: string, label?: string): string | null;
666
+ get formatAmountHandler(): string;
667
+ cardNumberInputHandler(event: string): void;
668
+ updatePinValidation(): void;
669
+ getAllCountries(): Promise<void>;
670
+ getCountryStates(countryIso2: string): Promise<void>;
671
+ generatePaymentLinkHandler(): Promise<void | string>;
672
+ proceedHandler(): Promise<void>;
673
+ ngOnInit(): Promise<void>;
674
+ static ɵfac: i0.ɵɵFactoryDeclaration<PayByCardComponent, never>;
675
+ static ɵcmp: i0.ɵɵComponentDeclaration<PayByCardComponent, "pay-by-card", never, { "secretKey": { "alias": "secretKey"; "required": false; }; "environment": { "alias": "environment"; "required": false; }; "caller": { "alias": "caller"; "required": false; }; "paymentObject": { "alias": "paymentObject"; "required": false; }; }, { "paymentAuthorized": "paymentAuthorized"; "onError": "onError"; }, never, never, true, never>;
676
+ }
677
+
678
+ declare class PayByStableCoinComponent implements OnInit {
679
+ private resource;
680
+ private checkout;
681
+ private cdr;
682
+ constructor(resource: ResourceService, checkout: CheckoutService, cdr: ChangeDetectorRef);
683
+ secretKey: string;
684
+ environment: string;
685
+ caller: 'buzapay' | 'miden';
686
+ paymentObject: IPaymentObject;
687
+ paymentAuthorized: EventEmitter<ISuccessObject>;
688
+ onError: EventEmitter<IErrorObject>;
689
+ message: string;
690
+ transactionReference: string;
691
+ paymentReferenceStatus: string;
692
+ generateAddressPayload: IGenerateStableCoinAddress | null;
693
+ addressDetails: IGenerateStableCoinAddressResponse | null;
694
+ paymentReferenceDetails: IPaymentReferenceDetail | null;
695
+ stableCoins: ISelectOption[];
696
+ networkList: ISelectOption[];
697
+ loadingStableCoins: boolean;
698
+ generatingAddress: boolean;
699
+ isConfirmingPayment: boolean;
700
+ loading: boolean;
701
+ loadingStableCoinNetworks: boolean;
702
+ formIndex: number;
703
+ setFormIndex(index: number): void;
704
+ stableCoinForm: FormGroup<{
705
+ stableCoin: FormControl<string | null>;
706
+ network: FormControl<string | null>;
707
+ }>;
708
+ getError(controlName: string, label?: string): string | null;
709
+ get formatAmountHandler(): string;
710
+ get amountPlusNetworkFee(): number;
711
+ generatePaymentLinkHandler(): Promise<void | string>;
712
+ generateAddress(): void;
713
+ payHandler(): Promise<void>;
714
+ getStableCoins(): Promise<void>;
715
+ getStableCoinNetworks(): Promise<void>;
716
+ confirmPaymentHandler(): Promise<void>;
717
+ ngOnInit(): Promise<void>;
718
+ static ɵfac: i0.ɵɵFactoryDeclaration<PayByStableCoinComponent, never>;
719
+ static ɵcmp: i0.ɵɵComponentDeclaration<PayByStableCoinComponent, "pay-by-stable-coin", never, { "secretKey": { "alias": "secretKey"; "required": false; }; "environment": { "alias": "environment"; "required": false; }; "caller": { "alias": "caller"; "required": false; }; "paymentObject": { "alias": "paymentObject"; "required": false; }; }, { "paymentAuthorized": "paymentAuthorized"; "onError": "onError"; }, never, never, true, never>;
720
+ }
721
+
722
+ declare class PayByTransferComponent implements OnInit, OnDestroy {
723
+ private checkout;
724
+ private cdr;
725
+ constructor(checkout: CheckoutService, cdr: ChangeDetectorRef);
726
+ secretKey: string;
727
+ environment: string;
728
+ caller: 'buzapay' | 'miden';
729
+ paymentObject: IPaymentObject;
730
+ paymentAuthorized: EventEmitter<ISuccessObject>;
731
+ onError: EventEmitter<IErrorObject>;
732
+ message: string;
733
+ generatingLink: boolean;
734
+ isMakingPayment: boolean;
735
+ isFetchingPaymentDetails: boolean;
736
+ isConfirmCall: boolean;
737
+ paymentMade: boolean;
738
+ isPaymentConfirmed: boolean;
739
+ paymentAccountDetails: IPaymentAccountResponse | null;
740
+ paymentReferenceDetails: IPaymentReferenceDetail | null;
741
+ transactionReference: string;
742
+ paymentReferenceStatus: string;
743
+ countDownTime: string;
744
+ remainingSeconds: number;
745
+ private intervalId;
746
+ private updateDisplay;
747
+ transferForm: FormGroup<{
748
+ customerName: FormControl<string | null>;
749
+ }>;
750
+ getError(controlName: string, label?: string): string | null;
751
+ get formatAmountHandler(): string;
752
+ private startTimer;
753
+ generatePaymentLinkHandler(): Promise<void | string>;
754
+ payHandler(): Promise<void>;
755
+ getReferenceDetails(): Promise<void>;
756
+ ngOnInit(): Promise<void>;
757
+ ngOnDestroy(): void;
758
+ static ɵfac: i0.ɵɵFactoryDeclaration<PayByTransferComponent, never>;
759
+ static ɵcmp: i0.ɵɵComponentDeclaration<PayByTransferComponent, "pay-by-transfer", never, { "secretKey": { "alias": "secretKey"; "required": false; }; "environment": { "alias": "environment"; "required": false; }; "caller": { "alias": "caller"; "required": false; }; "paymentObject": { "alias": "paymentObject"; "required": false; }; }, { "paymentAuthorized": "paymentAuthorized"; "onError": "onError"; }, never, never, true, never>;
760
+ }
761
+
762
+ declare const getBaseUrl: (mode: string, caller: "buzapay" | "miden") => string;
528
763
 
529
764
  declare const restrictToNumericKeys: (event: KeyboardEvent) => void;
530
765
 
531
766
  declare const checkObjectTruthy: <T extends object>(obj: T) => boolean;
532
767
  declare const getQueryParams: (url: string) => Record<string, string>;
768
+ declare function buildDeviceInformation(partial?: Partial<IDeviceInformation>): IDeviceInformation;
533
769
 
534
770
  declare const currencySign: (currency: string) => string;
535
771
  declare const formatAmount: (value: number | string, currency?: string) => string;
@@ -563,5 +799,5 @@ declare enum CardSchemes {
563
799
  declare function cardType(cardNumber: string): string;
564
800
  declare function detect(cardNumber: string): CardSchemes;
565
801
 
566
- export { BZP_CONFIG, BZP_CORRELATION_ID, BackComponent, ButtonComponent, CardComponent, CardSchemes, CheckoutService, CopyComponent, CurrencyAmountComponent, EncryptService, HintComponent, IconArrowSwapComponent, IconBuzapayIconComponent, IconCheckCircleComponent, IconChevronDownComponent, IconChevronLeftComponent, IconChevronUpComponent, IconCopySuccessComponent, IconLoaderComponent, IconUsdcComponent, IconUsdtComponent, ImageComponent, InputComponent, InputErrorComponent, LabelInfoComponent, MidenPGAngular, RadioGroupComponent, ResourceService, SelectComponent, SuccessComponent, apiBaseUrl, cardType, checkObjectTruthy, currencySign, detect, formatAmount, getBaseUrl, getQueryParams, getValidationErrorMessage, provideMidenPG, restrictToNumericKeys, truncateString, urlValidator };
567
- export type { BzpConfig, BzpEnvironment, IApiResponse, IAuthorizeCardPaymentPayload, IBillingDetails, ICardDetails, ICheckoutApiResponse, ICountry, IErrorObject, IGeneratePaymentAccountPayload, IGenerateStableCoinAddress, IGenerateStableCoinAddressResponse, IPagination, IPaymentAccountResponse, IPaymentObject, IPaymentReferenceDetail, ISelectOption, IState, ISuccessObject, ThreeDsHtml };
802
+ export { BZP_CONFIG, BZP_CORRELATION_ID, BackComponent, ButtonComponent, CardComponent, CardSchemes, CheckoutService, CircleCountdownComponent, CopyComponent, CurrencyAmountComponent, EncryptService, HintComponent, IconArrowSwapComponent, IconBuzapayIconComponent, IconCardsComponent, IconCheckCircleComponent, IconChevronDownComponent, IconChevronLeftComponent, IconChevronUpComponent, IconCloseComponent, IconCoinComponent, IconCopySuccessComponent, IconCourthouseComponent, IconLoaderComponent, IconLockComponent, IconMidenLogoComponent, IconQrCodeComponent, IconUsdcComponent, IconUsdtComponent, ImageComponent, InputComponent, InputErrorComponent, LabelInfoComponent, MidenPGAngular, PayByCardComponent, PayByStableCoinComponent, PayByTransferComponent, RadioGroupComponent, ResourceService, SelectComponent, SuccessComponent, apiBaseUrl, buildDeviceInformation, cardType, checkObjectTruthy, currencySign, detect, formatAmount, getBaseUrl, getQueryParams, getValidationErrorMessage, provideMidenPG, restrictToNumericKeys, truncateString, urlValidator };
803
+ export type { BzpConfig, BzpEnvironment, IApiResponse, IAuthorizeCardPaymentPayload, IAuthorizeCardPaymentPayloadMiden, IBillingDetails, ICardDetails, ICheckoutApiResponse, ICountry, IDeviceInformation, IErrorObject, IGeneratePaymentAccountPayload, IGenerateStableCoinAddress, IGenerateStableCoinAddressResponse, IPagination, IPaymentAccountResponse, IPaymentObject, IPaymentReferenceDetail, ISelectOption, IState, ISuccessObject, ThreeDsHtml };
@@ -0,0 +1,110 @@
1
+ import * as i0 from '@angular/core';
2
+ import { EventEmitter, AfterViewInit, Renderer2, ChangeDetectorRef, ElementRef } from '@angular/core';
3
+ import { IPaymentObject, ISuccessObject, IErrorObject, ISelectOption, CheckoutService } from '@miden-npm/angular';
4
+
5
+ interface CheckoutIframeStyle {
6
+ [cssProp: string]: string | number;
7
+ }
8
+ interface CheckoutCardOptions {
9
+ imageUrl?: string;
10
+ numberPlaceholder?: string;
11
+ expiryPlaceholder?: string;
12
+ cvcPlaceholder?: string;
13
+ styles?: {
14
+ base?: CheckoutIframeStyle;
15
+ invalid?: CheckoutIframeStyle;
16
+ focus?: CheckoutIframeStyle;
17
+ };
18
+ }
19
+ interface TokenizeResult {
20
+ token: string;
21
+ last4?: string;
22
+ brand?: string;
23
+ }
24
+ declare class CheckoutCardComponent {
25
+ options: CheckoutCardOptions | null;
26
+ secretKey: string;
27
+ environment: 'sandbox' | 'prod';
28
+ paymentObject: IPaymentObject;
29
+ ready: EventEmitter<void>;
30
+ validityChange: EventEmitter<{
31
+ valid: boolean;
32
+ field?: string;
33
+ }>;
34
+ tokenize: EventEmitter<TokenizeResult>;
35
+ paymentAuthorized: EventEmitter<ISuccessObject>;
36
+ onError: EventEmitter<IErrorObject>;
37
+ successObject: ISuccessObject;
38
+ checkoutState: 'SUCCESS' | 'PENDING' | 'USED';
39
+ countryOptions: ISelectOption[];
40
+ paymentTypeOptions: ISelectOption[];
41
+ paymentType: string;
42
+ get filteredPaymentTypeOptions(): ISelectOption[];
43
+ get formatAmountHandler(): string;
44
+ get formatChargeHandler(): string;
45
+ paymentTypeHandler(event: string): void;
46
+ setSuccess(event: ISuccessObject): void;
47
+ onErrorHandler(e: IErrorObject): void;
48
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutCardComponent, never>;
49
+ static ɵcmp: i0.ɵɵComponentDeclaration<CheckoutCardComponent, "miden-checkout-card", never, { "options": { "alias": "options"; "required": false; }; "secretKey": { "alias": "secretKey"; "required": false; }; "environment": { "alias": "environment"; "required": false; }; "paymentObject": { "alias": "paymentObject"; "required": false; }; }, { "ready": "ready"; "validityChange": "validityChange"; "tokenize": "tokenize"; "paymentAuthorized": "paymentAuthorized"; "onError": "onError"; }, never, never, true, never>;
50
+ }
51
+
52
+ interface IIframeStyle {
53
+ width?: string;
54
+ height?: string;
55
+ border?: string;
56
+ borderRadius?: string;
57
+ overflow?: string;
58
+ }
59
+ declare class CheckoutIframeComponent implements AfterViewInit {
60
+ private renderer;
61
+ private cdr;
62
+ private checkout;
63
+ constructor(renderer: Renderer2, cdr: ChangeDetectorRef, checkout: CheckoutService);
64
+ errorMessage: string;
65
+ loading: boolean;
66
+ launchUrl: string;
67
+ iframe: any;
68
+ secretKey: string;
69
+ url: string;
70
+ style: IIframeStyle;
71
+ environment: 'sandbox' | 'prod';
72
+ paymentObject: IPaymentObject;
73
+ container?: ElementRef<HTMLDivElement>;
74
+ onError: EventEmitter<IErrorObject>;
75
+ get blockStyle(): {
76
+ width?: string;
77
+ height?: string;
78
+ border?: string;
79
+ borderRadius?: string;
80
+ overflow?: string;
81
+ };
82
+ launchIframe(url: string): void;
83
+ generatePaymentLinkHandler(): Promise<void | string>;
84
+ ngAfterViewInit(): Promise<void>;
85
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutIframeComponent, never>;
86
+ static ɵcmp: i0.ɵɵComponentDeclaration<CheckoutIframeComponent, "miden-checkout-iframe", never, { "secretKey": { "alias": "secretKey"; "required": false; }; "url": { "alias": "url"; "required": false; }; "style": { "alias": "style"; "required": false; }; "environment": { "alias": "environment"; "required": false; }; "paymentObject": { "alias": "paymentObject"; "required": false; }; }, { "onError": "onError"; }, never, never, true, never>;
87
+ }
88
+
89
+ declare class CheckoutButtonComponent {
90
+ private checkout;
91
+ private cdr;
92
+ constructor(checkout: CheckoutService, cdr: ChangeDetectorRef);
93
+ errorMessage: string;
94
+ loading: boolean;
95
+ launchUrl: string;
96
+ urlLaunchUrl: string;
97
+ secretKey: string;
98
+ timeout: number;
99
+ environment: 'sandbox' | 'prod';
100
+ mode: 'redirect' | 'iframe';
101
+ paymentObject: IPaymentObject;
102
+ onError: EventEmitter<IErrorObject>;
103
+ get formatAmountHandler(): string;
104
+ generatePaymentLinkHandler(): Promise<void | string>;
105
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutButtonComponent, never>;
106
+ static ɵcmp: i0.ɵɵComponentDeclaration<CheckoutButtonComponent, "miden-checkout-button", never, { "secretKey": { "alias": "secretKey"; "required": false; }; "timeout": { "alias": "timeout"; "required": false; }; "environment": { "alias": "environment"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "paymentObject": { "alias": "paymentObject"; "required": false; }; }, { "onError": "onError"; }, never, never, true, never>;
107
+ }
108
+
109
+ export { CheckoutButtonComponent, CheckoutCardComponent, CheckoutIframeComponent };
110
+ export type { CheckoutCardOptions, CheckoutIframeStyle, TokenizeResult };
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "registry": "https://registry.npmjs.org",
5
5
  "access": "public"
6
6
  },
7
- "version": "1.0.0",
7
+ "version": "2.0.1",
8
8
  "main": "./fesm2022/miden-npm-angular.mjs",
9
9
  "module": "fesm2022/miden-npm-angular.mjs",
10
10
  "types": "./index.d.ts",
@@ -29,6 +29,10 @@
29
29
  },
30
30
  "./styles.css": {
31
31
  "default": "./styles.css"
32
+ },
33
+ "./miden-checkout": {
34
+ "types": "./miden-checkout/index.d.ts",
35
+ "default": "./fesm2022/miden-npm-angular-miden-checkout.mjs"
32
36
  }
33
37
  },
34
38
  "description": "Miden Payment Gateway Angular SDK",
package/styles.css CHANGED
@@ -1 +1 @@
1
- *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.\!visible,.visible{visibility:visible!important}.static{position:static!important}.fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.inset-0{inset:0!important}.top-20{top:5rem!important}.col-span-1{grid-column:span 1/span 1!important}.col-span-2{grid-column:span 2/span 2!important}.col-span-3{grid-column:span 3/span 3!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-4{margin-bottom:1rem!important}.ml-2{margin-left:.5rem!important}.mr-1{margin-right:.25rem!important}.mt-2{margin-top:.5rem!important}.block{display:block!important}.inline{display:inline!important}.flex{display:flex!important}.table{display:table!important}.grid{display:grid!important}.contents{display:contents!important}.hidden{display:none!important}.h-12{height:3rem!important}.h-2{height:.5rem!important}.h-4{height:1rem!important}.h-44{height:11rem!important}.h-full{height:100%!important}.h-screen{height:100vh!important}.w-1\/2{width:50%!important}.w-2{width:.5rem!important}.w-2\/3{width:66.666667%!important}.w-4{width:1rem!important}.w-full{width:100%!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-pointer{cursor:pointer!important}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.flex-row{flex-direction:row!important}.flex-col{flex-direction:column!important}.place-items-center{place-items:center!important}.items-end{align-items:flex-end!important}.items-center{align-items:center!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.gap-1{gap:.25rem!important}.gap-10{gap:2.5rem!important}.gap-2{gap:.5rem!important}.gap-4{gap:1rem!important}.gap-5{gap:1.25rem!important}.gap-6{gap:1.5rem!important}.gap-8{gap:2rem!important}.self-start{align-self:flex-start!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-scroll{overflow-y:scroll!important}.truncate{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.break-words{overflow-wrap:break-word!important}.rounded{border-radius:.25rem!important}.rounded-2xl{border-radius:1rem!important}.rounded-full{border-radius:9999px!important}.rounded-lg{border-radius:.5rem!important}.rounded-md{border-radius:.375rem!important}.rounded-xl{border-radius:.75rem!important}.rounded-l-xl{border-top-left-radius:.75rem!important;border-bottom-left-radius:.75rem!important}.border{border-width:1px!important}.border-b{border-bottom-width:1px!important}.border-none{border-style:none!important}.border-gray-200{--tw-border-opacity:1!important;border-color:rgb(229 231 235/var(--tw-border-opacity,1))!important}.border-grey-100{--tw-border-opacity:1!important;border-color:rgb(225 235 245/var(--tw-border-opacity,1))!important}.border-grey-border{--tw-border-opacity:1!important;border-color:rgb(231 238 255/var(--tw-border-opacity,1))!important}.border-orange-500{--tw-border-opacity:1!important;border-color:rgb(244 122 31/var(--tw-border-opacity,1))!important}.border-primary{--tw-border-opacity:1!important;border-color:rgb(18 34 50/var(--tw-border-opacity,1))!important}.border-red-300{--tw-border-opacity:1!important;border-color:rgb(252 165 165/var(--tw-border-opacity,1))!important}.border-red-500{--tw-border-opacity:1!important;border-color:rgb(239 68 68/var(--tw-border-opacity,1))!important}.bg-\[\#EFF7FF\]{--tw-bg-opacity:1!important;background-color:rgb(239 247 255/var(--tw-bg-opacity,1))!important}.bg-gray-100{background-color:rgb(243 244 246/var(--tw-bg-opacity,1))!important}.bg-gray-100,.bg-gray-200{--tw-bg-opacity:1!important}.bg-gray-200{background-color:rgb(229 231 235/var(--tw-bg-opacity,1))!important}.bg-grey-100{background-color:rgb(225 235 245/var(--tw-bg-opacity,1))!important}.bg-grey-100,.bg-grey-50{--tw-bg-opacity:1!important}.bg-grey-50{background-color:rgb(245 249 252/var(--tw-bg-opacity,1))!important}.bg-heading-text{--tw-bg-opacity:1!important;background-color:rgb(24 45 65/var(--tw-bg-opacity,1))!important}.bg-light-white-50{--tw-bg-opacity:1!important;background-color:rgb(254 255 255/var(--tw-bg-opacity,1))!important}.bg-off-white{--tw-bg-opacity:1!important;background-color:rgb(248 253 255/var(--tw-bg-opacity,1))!important}.bg-orange-500{--tw-bg-opacity:1!important;background-color:rgb(244 122 31/var(--tw-bg-opacity,1))!important}.bg-primary{background-color:rgb(18 34 50/var(--tw-bg-opacity,1))!important}.bg-primary,.bg-red-50{--tw-bg-opacity:1!important}.bg-red-50{background-color:rgb(254 242 242/var(--tw-bg-opacity,1))!important}.bg-red-500{--tw-bg-opacity:1!important;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))!important}.bg-transparent{background-color:transparent!important}.bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.bg-white\/60{background-color:hsla(0,0%,100%,.6)!important}.p-16{padding:4rem!important}.p-4{padding:1rem!important}.px-10{padding-left:2.5rem!important;padding-right:2.5rem!important}.px-12{padding-left:3rem!important;padding-right:3rem!important}.px-3{padding-left:.75rem!important;padding-right:.75rem!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-8{padding-left:2rem!important;padding-right:2rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.py-4{padding-top:1rem!important;padding-bottom:1rem!important}.py-8{padding-top:2rem!important;padding-bottom:2rem!important}.pb-1{padding-bottom:.25rem!important}.pb-10{padding-bottom:2.5rem!important}.pb-2{padding-bottom:.5rem!important}.pb-4{padding-bottom:1rem!important}.pt-2{padding-top:.5rem!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-body-2xs{font-size:14px!important}.text-body-2xs,.text-body-3xs{line-height:150%!important;letter-spacing:0!important}.text-body-3xs{font-size:12px!important}.text-body-4xs{font-size:10px!important;line-height:132%!important;letter-spacing:0!important}.text-body-lg{font-size:22px!important}.text-body-lg,.text-body-xs{line-height:120%!important;letter-spacing:0!important}.text-body-xs{font-size:16px!important}.text-header-2xl{font-size:40px!important;line-height:150%!important;letter-spacing:0!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.font-extrabold{font-weight:800!important}.font-medium{font-weight:500!important}.font-normal{font-weight:400!important}.font-semibold{font-weight:600!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.text-blue-600{--tw-text-opacity:1!important;color:rgb(37 99 235/var(--tw-text-opacity,1))!important}.text-gray-400{--tw-text-opacity:1!important;color:rgb(156 163 175/var(--tw-text-opacity,1))!important}.text-grey-500{--tw-text-opacity:1!important;color:rgb(157 191 222/var(--tw-text-opacity,1))!important}.text-heading-text{--tw-text-opacity:1!important;color:rgb(24 45 65/var(--tw-text-opacity,1))!important}.text-input-grey{--tw-text-opacity:1!important;color:rgb(62 73 84/var(--tw-text-opacity,1))!important}.text-light-copy{--tw-text-opacity:1!important;color:rgb(85 117 145/var(--tw-text-opacity,1))!important}.text-light-white-100{--tw-text-opacity:1!important;color:rgb(250 253 255/var(--tw-text-opacity,1))!important}.text-orange-500{--tw-text-opacity:1!important;color:rgb(244 122 31/var(--tw-text-opacity,1))!important}.text-orange-required{--tw-text-opacity:1!important;color:rgb(246 149 76/var(--tw-text-opacity,1))!important}.text-primary-black{--tw-text-opacity:1!important;color:rgb(35 31 32/var(--tw-text-opacity,1))!important}.text-red-500{--tw-text-opacity:1!important;color:rgb(239 68 68/var(--tw-text-opacity,1))!important}.text-sub-copy{color:rgb(39 75 107/var(--tw-text-opacity,1))!important}.text-sub-copy,.text-white{--tw-text-opacity:1!important}.text-white{color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.opacity-25{opacity:.25!important}.opacity-75{opacity:.75!important}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.outline-none{outline:2px solid transparent!important;outline-offset:2px!important}.blur{--tw-blur:blur(8px)!important}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important}.transition-opacity{transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important}.duration-200{transition-duration:.2s!important}.duration-300{transition-duration:.3s!important}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.\[k\:string\]{k:string!important}body{font-family:Euclid Circular A,sans-serif;margin:0;padding:0;box-sizing:border-box}.border-c{border:1px solid}.checkout-card{background-color:rgba(15,38,59,.898)}.checkout-card .close-icon{background-color:rgba(250,253,255,.051);padding:0 10px 2px;border-radius:4px}.h-68px{height:68px}.h-42px{height:42px}.h-32px{height:32px}.first\:pt-0:first-child{padding-top:0!important}.hover\:border-primary-black:hover{--tw-border-opacity:1!important;border-color:rgb(35 31 32/var(--tw-border-opacity,1))!important}.hover\:bg-gray-100:hover{--tw-bg-opacity:1!important;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))!important}.hover\:bg-gray-300:hover{--tw-bg-opacity:1!important;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))!important}.hover\:bg-gray-500:hover{--tw-bg-opacity:1!important;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))!important}.hover\:bg-primary-black:hover{--tw-bg-opacity:1!important;background-color:rgb(35 31 32/var(--tw-bg-opacity,1))!important}.hover\:bg-red-600:hover{--tw-bg-opacity:1!important;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))!important}.hover\:opacity-70:hover{opacity:.7!important}.focus\:outline-none:focus{outline:2px solid transparent!important;outline-offset:2px!important}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.\!visible,.visible{visibility:visible!important}.static{position:static!important}.fixed{position:fixed!important}.absolute{position:absolute!important}.relative{position:relative!important}.inset-0{inset:0!important}.top-20{top:5rem!important}.col-span-1{grid-column:span 1/span 1!important}.col-span-2{grid-column:span 2/span 2!important}.col-span-3{grid-column:span 3/span 3!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-4{margin-bottom:1rem!important}.ml-2{margin-left:.5rem!important}.mr-1{margin-right:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-4{margin-top:1rem!important}.mt-6{margin-top:1.5rem!important}.block{display:block!important}.inline{display:inline!important}.flex{display:flex!important}.table{display:table!important}.grid{display:grid!important}.contents{display:contents!important}.hidden{display:none!important}.h-12{height:3rem!important}.h-2{height:.5rem!important}.h-4{height:1rem!important}.h-44{height:11rem!important}.h-full{height:100%!important}.h-screen{height:100vh!important}.max-h-\[32rem\]{max-height:32rem!important}.w-1\/2{width:50%!important}.w-2{width:.5rem!important}.w-2\/3{width:66.666667%!important}.w-24{width:6rem!important}.w-4{width:1rem!important}.w-full{width:100%!important}.max-w-\[18rem\]{max-width:18rem!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite!important}.cursor-not-allowed{cursor:not-allowed!important}.cursor-pointer{cursor:pointer!important}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))!important}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}.flex-row{flex-direction:row!important}.flex-col{flex-direction:column!important}.place-items-center{place-items:center!important}.items-end{align-items:flex-end!important}.items-center{align-items:center!important}.justify-center{justify-content:center!important}.justify-between{justify-content:space-between!important}.gap-1{gap:.25rem!important}.gap-10{gap:2.5rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:.75rem!important}.gap-4{gap:1rem!important}.gap-5{gap:1.25rem!important}.gap-6{gap:1.5rem!important}.gap-8{gap:2rem!important}.self-start{align-self:flex-start!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-scroll{overflow-y:scroll!important}.truncate{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.break-words{overflow-wrap:break-word!important}.rounded{border-radius:.25rem!important}.rounded-2xl{border-radius:1rem!important}.rounded-full{border-radius:9999px!important}.rounded-lg{border-radius:.5rem!important}.rounded-md{border-radius:.375rem!important}.rounded-xl{border-radius:.75rem!important}.rounded-l-xl{border-top-left-radius:.75rem!important;border-bottom-left-radius:.75rem!important}.border{border-width:1px!important}.border-b{border-bottom-width:1px!important}.border-r-4{border-right-width:4px!important}.border-none{border-style:none!important}.border-\[\#DAE4E8\]{--tw-border-opacity:1!important;border-color:rgb(218 228 232/var(--tw-border-opacity,1))!important}.border-\[\#E1EBF5\]{--tw-border-opacity:1!important;border-color:rgb(225 235 245/var(--tw-border-opacity,1))!important}.border-\[\#F0FAFF\]{--tw-border-opacity:1!important;border-color:rgb(240 250 255/var(--tw-border-opacity,1))!important}.border-gray-200{--tw-border-opacity:1!important;border-color:rgb(229 231 235/var(--tw-border-opacity,1))!important}.border-grey-100{--tw-border-opacity:1!important;border-color:rgb(225 235 245/var(--tw-border-opacity,1))!important}.border-grey-border{--tw-border-opacity:1!important;border-color:rgb(231 238 255/var(--tw-border-opacity,1))!important}.border-orange-500{--tw-border-opacity:1!important;border-color:rgb(244 122 31/var(--tw-border-opacity,1))!important}.border-primary{--tw-border-opacity:1!important;border-color:rgb(18 34 50/var(--tw-border-opacity,1))!important}.border-red-300{--tw-border-opacity:1!important;border-color:rgb(252 165 165/var(--tw-border-opacity,1))!important}.border-red-500{border-color:rgb(239 68 68/var(--tw-border-opacity,1))!important}.border-red-500,.border-white{--tw-border-opacity:1!important}.border-white{border-color:rgb(255 255 255/var(--tw-border-opacity,1))!important}.bg-\[\#0A0032\]{--tw-bg-opacity:1!important;background-color:rgb(10 0 50/var(--tw-bg-opacity,1))!important}.bg-\[\#EFF7FF\]{--tw-bg-opacity:1!important;background-color:rgb(239 247 255/var(--tw-bg-opacity,1))!important}.bg-\[\#F8FDFF\]{--tw-bg-opacity:1!important;background-color:rgb(248 253 255/var(--tw-bg-opacity,1))!important}.bg-\[\#FAFDFF\]{--tw-bg-opacity:1!important;background-color:rgb(250 253 255/var(--tw-bg-opacity,1))!important}.bg-gray-100{background-color:rgb(243 244 246/var(--tw-bg-opacity,1))!important}.bg-gray-100,.bg-gray-200{--tw-bg-opacity:1!important}.bg-gray-200{background-color:rgb(229 231 235/var(--tw-bg-opacity,1))!important}.bg-grey-100{background-color:rgb(225 235 245/var(--tw-bg-opacity,1))!important}.bg-grey-100,.bg-grey-50{--tw-bg-opacity:1!important}.bg-grey-50{background-color:rgb(245 249 252/var(--tw-bg-opacity,1))!important}.bg-heading-text{--tw-bg-opacity:1!important;background-color:rgb(24 45 65/var(--tw-bg-opacity,1))!important}.bg-light-white-50{--tw-bg-opacity:1!important;background-color:rgb(254 255 255/var(--tw-bg-opacity,1))!important}.bg-off-white{--tw-bg-opacity:1!important;background-color:rgb(248 253 255/var(--tw-bg-opacity,1))!important}.bg-orange-500{--tw-bg-opacity:1!important;background-color:rgb(244 122 31/var(--tw-bg-opacity,1))!important}.bg-primary{--tw-bg-opacity:1!important;background-color:rgb(18 34 50/var(--tw-bg-opacity,1))!important}.bg-primary-miden{--tw-bg-opacity:1!important;background-color:rgb(10 0 50/var(--tw-bg-opacity,1))!important}.bg-red-50{background-color:rgb(254 242 242/var(--tw-bg-opacity,1))!important}.bg-red-50,.bg-red-500{--tw-bg-opacity:1!important}.bg-red-500{background-color:rgb(239 68 68/var(--tw-bg-opacity,1))!important}.bg-transparent{background-color:transparent!important}.bg-white{--tw-bg-opacity:1!important;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))!important}.bg-white\/60{background-color:hsla(0,0%,100%,.6)!important}.p-16{padding:4rem!important}.p-4{padding:1rem!important}.p-6{padding:1.5rem!important}.px-10{padding-left:2.5rem!important;padding-right:2.5rem!important}.px-12{padding-left:3rem!important;padding-right:3rem!important}.px-14{padding-left:3.5rem!important;padding-right:3.5rem!important}.px-3{padding-left:.75rem!important;padding-right:.75rem!important}.px-4{padding-left:1rem!important;padding-right:1rem!important}.px-6{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-8{padding-left:2rem!important;padding-right:2rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:.75rem!important;padding-bottom:.75rem!important}.py-4{padding-top:1rem!important;padding-bottom:1rem!important}.py-6{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-8{padding-top:2rem!important;padding-bottom:2rem!important}.pb-1{padding-bottom:.25rem!important}.pb-10{padding-bottom:2.5rem!important}.pb-2{padding-bottom:.5rem!important}.pb-4{padding-bottom:1rem!important}.pb-8{padding-bottom:2rem!important}.pt-2{padding-top:.5rem!important}.pt-4{padding-top:1rem!important}.text-center{text-align:center!important}.text-right{text-align:right!important}.text-body-2xs{font-size:14px!important}.text-body-2xs,.text-body-3xs{line-height:150%!important;letter-spacing:0!important}.text-body-3xs{font-size:12px!important}.text-body-4xs{font-size:10px!important;line-height:132%!important;letter-spacing:0!important}.text-body-lg{font-size:22px!important}.text-body-lg,.text-body-xs{line-height:120%!important;letter-spacing:0!important}.text-body-xs{font-size:16px!important}.text-header-2xl{font-size:40px!important;line-height:150%!important;letter-spacing:0!important}.text-sm{font-size:.875rem!important;line-height:1.25rem!important}.font-extrabold{font-weight:800!important}.font-medium{font-weight:500!important}.font-normal{font-weight:400!important}.font-semibold{font-weight:600!important}.uppercase{text-transform:uppercase!important}.lowercase{text-transform:lowercase!important}.text-\[\#1383E8\]{--tw-text-opacity:1!important;color:rgb(19 131 232/var(--tw-text-opacity,1))!important}.text-\[\#5F738C\]{--tw-text-opacity:1!important;color:rgb(95 115 140/var(--tw-text-opacity,1))!important}.text-\[\#8FAECA\]{--tw-text-opacity:1!important;color:rgb(143 174 202/var(--tw-text-opacity,1))!important}.text-blue-600{--tw-text-opacity:1!important;color:rgb(37 99 235/var(--tw-text-opacity,1))!important}.text-gray-400{--tw-text-opacity:1!important;color:rgb(156 163 175/var(--tw-text-opacity,1))!important}.text-grey-500{--tw-text-opacity:1!important;color:rgb(157 191 222/var(--tw-text-opacity,1))!important}.text-heading-text{--tw-text-opacity:1!important;color:rgb(24 45 65/var(--tw-text-opacity,1))!important}.text-input-grey{--tw-text-opacity:1!important;color:rgb(62 73 84/var(--tw-text-opacity,1))!important}.text-light-copy{--tw-text-opacity:1!important;color:rgb(85 117 145/var(--tw-text-opacity,1))!important}.text-light-white-100{--tw-text-opacity:1!important;color:rgb(250 253 255/var(--tw-text-opacity,1))!important}.text-orange-500{--tw-text-opacity:1!important;color:rgb(244 122 31/var(--tw-text-opacity,1))!important}.text-orange-required{--tw-text-opacity:1!important;color:rgb(246 149 76/var(--tw-text-opacity,1))!important}.text-primary{--tw-text-opacity:1!important;color:rgb(18 34 50/var(--tw-text-opacity,1))!important}.text-primary-black{--tw-text-opacity:1!important;color:rgb(35 31 32/var(--tw-text-opacity,1))!important}.text-red-500{--tw-text-opacity:1!important;color:rgb(239 68 68/var(--tw-text-opacity,1))!important}.text-sub-copy{color:rgb(39 75 107/var(--tw-text-opacity,1))!important}.text-sub-copy,.text-white{--tw-text-opacity:1!important}.text-white{color:rgb(255 255 255/var(--tw-text-opacity,1))!important}.opacity-25{opacity:.25!important}.opacity-75{opacity:.75!important}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)!important;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.outline-none{outline:2px solid transparent!important;outline-offset:2px!important}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.blur{--tw-blur:blur(8px)!important}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important}.transition-opacity{transition-property:opacity!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important}.duration-200{transition-duration:.2s!important}.duration-300{transition-duration:.3s!important}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)!important}.\[k\:string\]{k:string!important}@font-face{font-family:Euclid Circular A;src:url(fonts/EuclidCircularARegular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}body{font-family:Euclid Circular A,sans-serif;margin:0;padding:0;box-sizing:border-box}.border-c{border:1px solid}.checkout-card{background-color:rgba(15,38,59,.898)}.checkout-card-miden{background-color:rgba(0,0,0,.8)}.checkout-card .close-icon{background-color:rgba(250,253,255,.051);padding:0 10px 2px;border-radius:4px}.h-68px{height:68px}.h-42px{height:42px}.h-32px{height:32px}.first\:pt-0:first-child{padding-top:0!important}.hover\:border-primary-black:hover{--tw-border-opacity:1!important;border-color:rgb(35 31 32/var(--tw-border-opacity,1))!important}.hover\:bg-gray-100:hover{--tw-bg-opacity:1!important;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))!important}.hover\:bg-gray-300:hover{--tw-bg-opacity:1!important;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))!important}.hover\:bg-gray-500:hover{--tw-bg-opacity:1!important;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))!important}.hover\:bg-primary-black:hover{--tw-bg-opacity:1!important;background-color:rgb(35 31 32/var(--tw-bg-opacity,1))!important}.hover\:bg-red-600:hover{--tw-bg-opacity:1!important;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))!important}.hover\:opacity-70:hover{opacity:.7!important}.focus\:outline-none:focus{outline:2px solid transparent!important;outline-offset:2px!important}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}