@miden-npm/angular 0.0.37 → 2.0.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.
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 {
@@ -322,6 +324,10 @@ interface ISuccessObject {
322
324
  paymentDate: string | null;
323
325
  paymentId: string;
324
326
  paymentStatus: string;
327
+ message?: string;
328
+ }
329
+ interface IErrorObject {
330
+ errorMessage: string;
325
331
  }
326
332
 
327
333
  interface IPagination {
@@ -365,21 +371,23 @@ interface IState {
365
371
 
366
372
  declare class SuccessComponent {
367
373
  successObject: ISuccessObject;
374
+ caller: 'buzapay' | 'miden';
368
375
  amount: number;
369
376
  currency: string;
370
377
  redirectUrl: string;
371
378
  get formatAmountHandler(): string;
372
379
  goToRedirectUrl(): void;
373
380
  static ɵfac: i0.ɵɵFactoryDeclaration<SuccessComponent, never>;
374
- 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>;
381
+ 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>;
375
382
  }
376
383
 
377
384
  declare class CardComponent {
378
385
  showBackButton: boolean;
386
+ caller: 'buzapay' | 'miden';
379
387
  back: EventEmitter<void>;
380
388
  goBack(): void;
381
389
  static ɵfac: i0.ɵɵFactoryDeclaration<CardComponent, never>;
382
- static ɵcmp: i0.ɵɵComponentDeclaration<CardComponent, "base-card", never, { "showBackButton": { "alias": "showBackButton"; "required": false; }; }, { "back": "back"; }, never, ["*"], true, never>;
390
+ 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>;
383
391
  }
384
392
 
385
393
  declare class BackComponent {
@@ -401,6 +409,23 @@ declare class CurrencyAmountComponent {
401
409
  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>;
402
410
  }
403
411
 
412
+ declare class CircleCountdownComponent implements OnChanges {
413
+ value: number;
414
+ total: number;
415
+ middleText: string | number;
416
+ size: number;
417
+ stroke: number;
418
+ readonly max = 100;
419
+ radius: number;
420
+ circumference: number;
421
+ dashOffset: number;
422
+ ngOnChanges(changes: SimpleChanges): void;
423
+ private recomputeCircle;
424
+ private updateFromPercent;
425
+ static ɵfac: i0.ɵɵFactoryDeclaration<CircleCountdownComponent, never>;
426
+ 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>;
427
+ }
428
+
404
429
  declare class IconLoaderComponent {
405
430
  color: string;
406
431
  size: string;
@@ -480,36 +505,87 @@ declare class IconArrowSwapComponent {
480
505
  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>;
481
506
  }
482
507
 
483
- declare class CheckoutService {
484
- private http;
485
- constructor(http: HttpClient);
486
- billingInformation: any;
487
- setBillingInfo(info: any): void;
488
- createPaymentLink(payload: IPaymentObject, environment: string, secretKey: string): Observable<IApiResponse<any>>;
489
- generatePaymentAccount(environment: string, { merchantId, ...rest }: IGeneratePaymentAccountPayload): Observable<IApiResponse<IPaymentAccountResponse>>;
490
- authorizeCardPayment(environment: string, { merchantId, ...rest }: IAuthorizeCardPaymentPayload & {
491
- merchantId: string;
492
- }): Observable<ICheckoutApiResponse>;
493
- getPaymentReferenceDetails(environment: string, paymentReference: string): Observable<IApiResponse<IPaymentReferenceDetail>>;
494
- generateStableCoinAddress(environment: string, { merchantId, ...rest }: IGenerateStableCoinAddress): Observable<IApiResponse<IGenerateStableCoinAddressResponse>>;
495
- static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutService, never>;
496
- static ɵprov: i0.ɵɵInjectableDeclaration<CheckoutService>;
508
+ declare class IconLockComponent {
509
+ color: string;
510
+ width: string;
511
+ height: string;
512
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconLockComponent, never>;
513
+ 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>;
514
+ }
515
+
516
+ declare class IconMidenLogoComponent {
517
+ width: string;
518
+ height: string;
519
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconMidenLogoComponent, never>;
520
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconMidenLogoComponent, "icon-miden-logo", never, { "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; }, {}, never, never, true, never>;
521
+ }
522
+
523
+ declare class IconCloseComponent {
524
+ color: string;
525
+ width: string;
526
+ height: string;
527
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconCloseComponent, never>;
528
+ 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>;
529
+ }
530
+
531
+ declare class IconCourthouseComponent {
532
+ color: string;
533
+ width: string;
534
+ height: string;
535
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconCourthouseComponent, never>;
536
+ 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>;
537
+ }
538
+
539
+ declare class IconCoinComponent {
540
+ color: string;
541
+ width: string;
542
+ height: string;
543
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconCoinComponent, never>;
544
+ 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>;
545
+ }
546
+
547
+ declare class IconCardsComponent {
548
+ color: string;
549
+ width: string;
550
+ height: string;
551
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconCardsComponent, never>;
552
+ 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>;
553
+ }
554
+
555
+ declare class IconQrCodeComponent {
556
+ static ɵfac: i0.ɵɵFactoryDeclaration<IconQrCodeComponent, never>;
557
+ static ɵcmp: i0.ɵɵComponentDeclaration<IconQrCodeComponent, "icon-qr-code", never, {}, {}, never, never, true, never>;
497
558
  }
498
559
 
499
560
  declare class ResourceService {
500
561
  private http;
501
562
  constructor(http: HttpClient);
502
- getCountries(environment: string, secretKey: string): Observable<IApiResponse<ICountry[]>>;
503
- getCountryStates(countryIso3: string, environment: string, secretKey: string): Observable<IApiResponse<IState[]>>;
504
- getStableCoins(environment: string): Observable<IApiResponse<{
563
+ getCountries(environment: string, secretKey: string, caller: 'buzapay' | 'miden'): Observable<IApiResponse<ICountry[]>>;
564
+ getCountryStates(countryIso3: string, environment: string, secretKey: string, caller: 'buzapay' | 'miden'): Observable<IApiResponse<IState[]>>;
565
+ getStableCoins(environment: string, caller: 'buzapay' | 'miden'): Observable<IApiResponse<{
505
566
  name: string;
506
567
  }[]>>;
507
- getStableCoinNetworks(environment: string, stableCoin: string): Observable<IApiResponse<string[]>>;
508
- getMerchantById(merchantId: string, environment: string, secretKey: string): Observable<IApiResponse<any>>;
568
+ getStableCoinNetworks(environment: string, stableCoin: string, caller: 'buzapay' | 'miden'): Observable<IApiResponse<string[]>>;
509
569
  static ɵfac: i0.ɵɵFactoryDeclaration<ResourceService, never>;
510
570
  static ɵprov: i0.ɵɵInjectableDeclaration<ResourceService>;
511
571
  }
512
572
 
573
+ declare class CheckoutService {
574
+ private http;
575
+ constructor(http: HttpClient);
576
+ billingInformation: any;
577
+ setBillingInfo(info: any): void;
578
+ createPaymentLink(payload: IPaymentObject, environment: string, secretKey: string, caller?: 'buzapay' | 'miden'): Observable<IApiResponse<any>>;
579
+ generatePaymentAccount(environment: string, { merchantId, ...rest }: IGeneratePaymentAccountPayload, caller?: 'buzapay' | 'miden'): Observable<IApiResponse<IPaymentAccountResponse>>;
580
+ authorizeCardPayment(environment: string, { merchantId, ...rest }: IAuthorizeCardPaymentPayload & {
581
+ merchantId: string;
582
+ }, caller?: 'buzapay' | 'miden'): Observable<ICheckoutApiResponse>;
583
+ getPaymentReferenceDetails(environment: string, paymentReference: string, caller?: 'buzapay' | 'miden'): Observable<IApiResponse<IPaymentReferenceDetail>>;
584
+ generateStableCoinAddress(environment: string, { merchantId, ...rest }: IGenerateStableCoinAddress, caller?: 'buzapay' | 'miden'): Observable<IApiResponse<IGenerateStableCoinAddressResponse>>;
585
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckoutService, never>;
586
+ static ɵprov: i0.ɵɵInjectableDeclaration<CheckoutService>;
587
+ }
588
+
513
589
  declare class EncryptService {
514
590
  constructor();
515
591
  encryptPayload(merchantId: string, formData?: any): {
@@ -520,7 +596,145 @@ declare class EncryptService {
520
596
  static ɵprov: i0.ɵɵInjectableDeclaration<EncryptService>;
521
597
  }
522
598
 
523
- declare const getBaseUrl: (mode: string) => string;
599
+ declare class PayByCardComponent implements OnInit {
600
+ private resources;
601
+ private cdr;
602
+ private checkout;
603
+ private encryptService;
604
+ constructor(resources: ResourceService, cdr: ChangeDetectorRef, checkout: CheckoutService, encryptService: EncryptService);
605
+ secretKey: string;
606
+ environment: 'sandbox' | 'prod';
607
+ caller: 'buzapay' | 'miden';
608
+ paymentObject: IPaymentObject;
609
+ paymentAuthorized: EventEmitter<ISuccessObject>;
610
+ onError: EventEmitter<IErrorObject>;
611
+ loading: boolean;
612
+ loadingCountries: boolean;
613
+ loadingStates: boolean;
614
+ isMakingPayment: boolean;
615
+ cardType: string;
616
+ message: string;
617
+ transactionReference: string;
618
+ rawCountries: ICountry[];
619
+ countries: ISelectOption[];
620
+ countryStates: ISelectOption[];
621
+ formIndex: number;
622
+ setFormIndex(index: number): void;
623
+ billingForm: FormGroup<{
624
+ address1: FormControl<string | null>;
625
+ address2: FormControl<string | null>;
626
+ postalCode: FormControl<string | null>;
627
+ state: FormControl<string | null>;
628
+ city: FormControl<string | null>;
629
+ country: FormControl<string | null>;
630
+ emailAddress: FormControl<string | null>;
631
+ phoneNumber: FormControl<string | null>;
632
+ }>;
633
+ payForm: FormGroup<{
634
+ customerName: FormControl<string | null>;
635
+ cardNo: FormControl<string | null>;
636
+ expireDate: FormControl<string | null>;
637
+ cvv: FormControl<string | null>;
638
+ cardPin: FormControl<string | null>;
639
+ }>;
640
+ getError(formKey: string, controlName: string, label?: string): string | null;
641
+ get formatAmountHandler(): string;
642
+ cardNumberInputHandler(event: string): void;
643
+ updatePinValidation(): void;
644
+ getAllCountries(): Promise<void>;
645
+ getCountryStates(countryIso2: string): Promise<void>;
646
+ generatePaymentLinkHandler(): Promise<void | string>;
647
+ proceedHandler(): Promise<void>;
648
+ ngOnInit(): Promise<void>;
649
+ static ɵfac: i0.ɵɵFactoryDeclaration<PayByCardComponent, never>;
650
+ 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>;
651
+ }
652
+
653
+ declare class PayByStableCoinComponent implements OnInit {
654
+ private resource;
655
+ private checkout;
656
+ private cdr;
657
+ constructor(resource: ResourceService, checkout: CheckoutService, cdr: ChangeDetectorRef);
658
+ secretKey: string;
659
+ environment: string;
660
+ caller: 'buzapay' | 'miden';
661
+ paymentObject: IPaymentObject;
662
+ paymentAuthorized: EventEmitter<ISuccessObject>;
663
+ onError: EventEmitter<IErrorObject>;
664
+ message: string;
665
+ transactionReference: string;
666
+ paymentReferenceStatus: string;
667
+ generateAddressPayload: IGenerateStableCoinAddress | null;
668
+ addressDetails: IGenerateStableCoinAddressResponse | null;
669
+ paymentReferenceDetails: IPaymentReferenceDetail | null;
670
+ stableCoins: ISelectOption[];
671
+ networkList: ISelectOption[];
672
+ loadingStableCoins: boolean;
673
+ generatingAddress: boolean;
674
+ isConfirmingPayment: boolean;
675
+ loading: boolean;
676
+ loadingStableCoinNetworks: boolean;
677
+ formIndex: number;
678
+ setFormIndex(index: number): void;
679
+ stableCoinForm: FormGroup<{
680
+ stableCoin: FormControl<string | null>;
681
+ network: FormControl<string | null>;
682
+ }>;
683
+ getError(controlName: string, label?: string): string | null;
684
+ get formatAmountHandler(): string;
685
+ get amountPlusNetworkFee(): number;
686
+ generatePaymentLinkHandler(): Promise<void | string>;
687
+ generateAddress(): void;
688
+ payHandler(): Promise<void>;
689
+ getStableCoins(): Promise<void>;
690
+ getStableCoinNetworks(): Promise<void>;
691
+ confirmPaymentHandler(): Promise<void>;
692
+ ngOnInit(): Promise<void>;
693
+ static ɵfac: i0.ɵɵFactoryDeclaration<PayByStableCoinComponent, never>;
694
+ 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>;
695
+ }
696
+
697
+ declare class PayByTransferComponent implements OnInit, OnDestroy {
698
+ private checkout;
699
+ private cdr;
700
+ constructor(checkout: CheckoutService, cdr: ChangeDetectorRef);
701
+ secretKey: string;
702
+ environment: string;
703
+ caller: 'buzapay' | 'miden';
704
+ paymentObject: IPaymentObject;
705
+ paymentAuthorized: EventEmitter<ISuccessObject>;
706
+ onError: EventEmitter<IErrorObject>;
707
+ message: string;
708
+ generatingLink: boolean;
709
+ isMakingPayment: boolean;
710
+ isFetchingPaymentDetails: boolean;
711
+ isConfirmCall: boolean;
712
+ paymentMade: boolean;
713
+ isPaymentConfirmed: boolean;
714
+ paymentAccountDetails: IPaymentAccountResponse | null;
715
+ paymentReferenceDetails: IPaymentReferenceDetail | null;
716
+ transactionReference: string;
717
+ paymentReferenceStatus: string;
718
+ countDownTime: string;
719
+ remainingSeconds: number;
720
+ private intervalId;
721
+ private updateDisplay;
722
+ transferForm: FormGroup<{
723
+ customerName: FormControl<string | null>;
724
+ }>;
725
+ getError(controlName: string, label?: string): string | null;
726
+ get formatAmountHandler(): string;
727
+ private startTimer;
728
+ generatePaymentLinkHandler(): Promise<void | string>;
729
+ payHandler(): Promise<void>;
730
+ getReferenceDetails(): Promise<void>;
731
+ ngOnInit(): Promise<void>;
732
+ ngOnDestroy(): void;
733
+ static ɵfac: i0.ɵɵFactoryDeclaration<PayByTransferComponent, never>;
734
+ 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>;
735
+ }
736
+
737
+ declare const getBaseUrl: (mode: string, caller: "buzapay" | "miden") => string;
524
738
 
525
739
  declare const restrictToNumericKeys: (event: KeyboardEvent) => void;
526
740
 
@@ -559,5 +773,5 @@ declare enum CardSchemes {
559
773
  declare function cardType(cardNumber: string): string;
560
774
  declare function detect(cardNumber: string): CardSchemes;
561
775
 
562
- 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 };
563
- export type { BzpConfig, BzpEnvironment, IApiResponse, IAuthorizeCardPaymentPayload, IBillingDetails, ICardDetails, ICheckoutApiResponse, ICountry, IGeneratePaymentAccountPayload, IGenerateStableCoinAddress, IGenerateStableCoinAddressResponse, IPagination, IPaymentAccountResponse, IPaymentObject, IPaymentReferenceDetail, ISelectOption, IState, ISuccessObject, ThreeDsHtml };
776
+ 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, cardType, checkObjectTruthy, currencySign, detect, formatAmount, getBaseUrl, getQueryParams, getValidationErrorMessage, provideMidenPG, restrictToNumericKeys, truncateString, urlValidator };
777
+ export type { BzpConfig, BzpEnvironment, IApiResponse, IAuthorizeCardPaymentPayload, IBillingDetails, ICardDetails, ICheckoutApiResponse, ICountry, 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": "0.0.37",
7
+ "version": "2.0.0",
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}