@pelcro/react-pelcro-js 3.24.0 → 3.25.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.esm.js CHANGED
@@ -3223,7 +3223,7 @@ var validation$3 = {
3223
3223
  enterLastName: "Last name is required.",
3224
3224
  enterPhone: "Phone number is required."
3225
3225
  };
3226
- var buttons$j = {
3226
+ var buttons$n = {
3227
3227
  account: "My account",
3228
3228
  login: "Login",
3229
3229
  subscribe: "Subscribe"
@@ -3301,7 +3301,7 @@ var confirm$b = {
3301
3301
  };
3302
3302
  var common_en = {
3303
3303
  validation: validation$3,
3304
- buttons: buttons$j,
3304
+ buttons: buttons$n,
3305
3305
  dashboard: dashboard$4,
3306
3306
  select: select$7,
3307
3307
  confirm: confirm$b
@@ -3332,7 +3332,7 @@ var paymentMethod_en = {
3332
3332
  var title$z = "Enter your email to subscribe to our newsletter";
3333
3333
  var updateTitle$3 = "Update newsletter selections";
3334
3334
  var subtitle$f = "We may use your email for other marketing communication";
3335
- var labels$12 = {
3335
+ var labels$16 = {
3336
3336
  submit: "Submit",
3337
3337
  firstName: "First name",
3338
3338
  lastName: "Last name",
@@ -3340,7 +3340,7 @@ var labels$12 = {
3340
3340
  postalCode: "Postal code",
3341
3341
  required: "required"
3342
3342
  };
3343
- var messages$17 = {
3343
+ var messages$1b = {
3344
3344
  alreadyHaveAccount: "Already have an account?",
3345
3345
  success: "Newsletters were successfully updated",
3346
3346
  loginHere: "Login here.",
@@ -3351,14 +3351,14 @@ var newsletter_en = {
3351
3351
  title: title$z,
3352
3352
  updateTitle: updateTitle$3,
3353
3353
  subtitle: subtitle$f,
3354
- labels: labels$12,
3355
- messages: messages$17
3354
+ labels: labels$16,
3355
+ messages: messages$1b
3356
3356
  };
3357
3357
 
3358
- var labels$11 = {
3358
+ var labels$15 = {
3359
3359
  "continue": "Continue to content"
3360
3360
  };
3361
- var messages$16 = {
3361
+ var messages$1a = {
3362
3362
  yourFreeTrial: "Subscription successful!",
3363
3363
  youHaveAccess: "Hope you enjoy the subscription. Please contact us if you have any questions or concerns.",
3364
3364
  clickToLearn: {
@@ -3384,12 +3384,12 @@ var errors$j = {
3384
3384
  "": ""
3385
3385
  };
3386
3386
  var success_en = {
3387
- labels: labels$11,
3388
- messages: messages$16,
3387
+ labels: labels$15,
3388
+ messages: messages$1a,
3389
3389
  errors: errors$j
3390
3390
  };
3391
3391
 
3392
- var messages$15 = {
3392
+ var messages$19 = {
3393
3393
  freeVisits: "Free visits left:",
3394
3394
  subscribeNow: "Subscribe",
3395
3395
  alreadyHaveAccount: "Already have an account?",
@@ -3399,16 +3399,16 @@ var errors$i = {
3399
3399
  "": ""
3400
3400
  };
3401
3401
  var meter_en = {
3402
- messages: messages$15,
3402
+ messages: messages$19,
3403
3403
  errors: errors$i
3404
3404
  };
3405
3405
 
3406
- var messages$14 = {
3406
+ var messages$18 = {
3407
3407
  youAreSafe: "You're safe - PCI compliant 128 SSL by",
3408
3408
  bankRedirection: "Please hold, redirecting you to your bank.",
3409
3409
  bankAuthenticationSuccess: "Please wait while we process your request."
3410
3410
  };
3411
- var labels$10 = {
3411
+ var labels$14 = {
3412
3412
  card: "Enter card number",
3413
3413
  date: "Expiration date",
3414
3414
  CVC: "CVC",
@@ -3428,11 +3428,13 @@ var labels$10 = {
3428
3428
  firstName: "First name",
3429
3429
  lastName: "Last name",
3430
3430
  phone: "Phone",
3431
- freeItems: "Free Items"
3431
+ freeItems: "Free Items",
3432
+ email: "Email",
3433
+ password: "Password"
3432
3434
  };
3433
3435
  var checkoutForm_en = {
3434
- messages: messages$14,
3435
- labels: labels$10
3436
+ messages: messages$18,
3437
+ labels: labels$14
3436
3438
  };
3437
3439
 
3438
3440
  var youAreSafe$3 = "You're safe - PCI compliant 128 SSL by";
@@ -3456,7 +3458,7 @@ var messages_en = {
3456
3458
  zeroTotalInvoice: zeroTotalInvoice$3
3457
3459
  };
3458
3460
 
3459
- var labels$$ = {
3461
+ var labels$13 = {
3460
3462
  email: "Enter email",
3461
3463
  username: "Enter username",
3462
3464
  password: "Enter password",
@@ -3465,7 +3467,7 @@ var labels$$ = {
3465
3467
  passwordPlaceholder: "Password",
3466
3468
  login: "Login"
3467
3469
  };
3468
- var messages$13 = {
3470
+ var messages$17 = {
3469
3471
  loginTo: "Login to your account",
3470
3472
  welcome: "Welcome back, sign in with your existing account.",
3471
3473
  dontHaveAccount: "Don't have an account yet?",
@@ -3484,28 +3486,28 @@ var errors$h = {
3484
3486
  "": ""
3485
3487
  };
3486
3488
  var login_en = {
3487
- labels: labels$$,
3488
- messages: messages$13,
3489
+ labels: labels$13,
3490
+ messages: messages$17,
3489
3491
  errors: errors$h
3490
3492
  };
3491
3493
 
3492
- var labels$_ = {
3494
+ var labels$12 = {
3493
3495
  title: "Verifying Passwordless Link",
3494
3496
  instructions: "You're on your way!\nLet's confirm your email address.\nClick on the verification link we've sent to your email:",
3495
3497
  resend: "Resend email"
3496
3498
  };
3497
- var messages$12 = {
3499
+ var messages$16 = {
3498
3500
  resent: "Resent successfully",
3499
3501
  success: "You have logged in successfully"
3500
3502
  };
3501
3503
  var verifyLinkToken_en = {
3502
- labels: labels$_,
3503
- messages: messages$12
3504
+ labels: labels$12,
3505
+ messages: messages$16
3504
3506
  };
3505
3507
 
3506
3508
  var title$y = "Create an account";
3507
3509
  var subtitle$e = "Enter your email and password below";
3508
- var labels$Z = {
3510
+ var labels$11 = {
3509
3511
  signUpFacebook: "Sign up with Facebook",
3510
3512
  signUpGoogle: "Sign up with Google",
3511
3513
  signUpEmail: "Sign up with Email",
@@ -3518,7 +3520,7 @@ var labels$Z = {
3518
3520
  lastName: "Last name",
3519
3521
  phone: "Phone"
3520
3522
  };
3521
- var messages$11 = {
3523
+ var messages$15 = {
3522
3524
  alreadyHaveAccount: "Already have an account?",
3523
3525
  createAccount: "Create account",
3524
3526
  loginHere: "login here. ",
@@ -3564,7 +3566,8 @@ var gift$3 = {
3564
3566
  enterEmail: "Please enter the gift recipient's email.",
3565
3567
  invalidDate: "The gift date needs to be between today and a year from now.",
3566
3568
  giftDateInfo: "The recipient will receive a gift email notification with your message on the date you select in order to redeem the gift.",
3567
- giftMessageInfo: "Leave a message to the recipient and don't forget to sign your name."
3569
+ giftMessageInfo: "Leave a message to the recipient and don't forget to sign your name.",
3570
+ giftMessageAllowedCharacters: "Special characters and emojis are not allowed."
3568
3571
  }
3569
3572
  };
3570
3573
  var redeem$3 = {
@@ -3592,14 +3595,14 @@ var redeem$3 = {
3592
3595
  var register_en = {
3593
3596
  title: title$y,
3594
3597
  subtitle: subtitle$e,
3595
- labels: labels$Z,
3596
- messages: messages$11,
3598
+ labels: labels$11,
3599
+ messages: messages$15,
3597
3600
  errors: errors$g,
3598
3601
  gift: gift$3,
3599
3602
  redeem: redeem$3
3600
3603
  };
3601
3604
 
3602
- var labels$Y = {
3605
+ var labels$10 = {
3603
3606
  title: "Want to update your profile?",
3604
3607
  subtitle: "Enter your information below to update your profile",
3605
3608
  email: "Email",
@@ -3618,21 +3621,21 @@ var labels$Y = {
3618
3621
  zoom: "Zoom",
3619
3622
  tin: "Tax Identification Number"
3620
3623
  };
3621
- var messages$10 = {
3624
+ var messages$14 = {
3622
3625
  userUpdated: "Thanks! Your profile was updated successfully.",
3623
3626
  pictureRemoved: "Your profile picture was removed successfully.",
3624
3627
  pictureUpdated: "Your profile picture was updated successfully."
3625
3628
  };
3626
3629
  var userEdit_en = {
3627
- labels: labels$Y,
3628
- messages: messages$10
3630
+ labels: labels$10,
3631
+ messages: messages$14
3629
3632
  };
3630
3633
 
3631
3634
  var title$x = "Enter your shipping address";
3632
3635
  var titleGifting$3 = "Enter your address";
3633
3636
  var selectAddressTitle$3 = "Please select an address";
3634
3637
  var selectAddressSubtitle$3 = "Select one of your saved addresses, or add a new one";
3635
- var labels$X = {
3638
+ var labels$$ = {
3636
3639
  address: "Address",
3637
3640
  code: "Postal Code/Zip",
3638
3641
  city: "City",
@@ -3643,12 +3646,12 @@ var labels$X = {
3643
3646
  required: "required",
3644
3647
  isDefault: "Set as default"
3645
3648
  };
3646
- var buttons$i = {
3649
+ var buttons$m = {
3647
3650
  submit: "Submit",
3648
3651
  selectAddress: "Select address",
3649
3652
  addAddress: "Add new address"
3650
3653
  };
3651
- var messages$$ = {
3654
+ var messages$13 = {
3652
3655
  addressUpdated: "The address was successfully updated!",
3653
3656
  subRedeemed: "Your subscription has been redeemed."
3654
3657
  };
@@ -3657,9 +3660,9 @@ var address_en = {
3657
3660
  titleGifting: titleGifting$3,
3658
3661
  selectAddressTitle: selectAddressTitle$3,
3659
3662
  selectAddressSubtitle: selectAddressSubtitle$3,
3660
- labels: labels$X,
3661
- buttons: buttons$i,
3662
- messages: messages$$
3663
+ labels: labels$$,
3664
+ buttons: buttons$m,
3665
+ messages: messages$13
3663
3666
  };
3664
3667
 
3665
3668
  var title$w = "Reset your password";
@@ -3687,7 +3690,7 @@ var password$6 = "Password";
3687
3690
  var submit$e = "Submit";
3688
3691
  var required$e = "Required";
3689
3692
  var passwordResetEmailSent$3 = "Password reset instructions have been sent to your email";
3690
- var messages$_ = {
3693
+ var messages$12 = {
3691
3694
  alreadyHaveAccount: "Already have an account?",
3692
3695
  loginHere: "login here."
3693
3696
  };
@@ -3698,7 +3701,7 @@ var passwordForgot_en = {
3698
3701
  submit: submit$e,
3699
3702
  required: required$e,
3700
3703
  passwordResetEmailSent: passwordResetEmailSent$3,
3701
- messages: messages$_
3704
+ messages: messages$12
3702
3705
  };
3703
3706
 
3704
3707
  var title$u = "Change your password";
@@ -3726,7 +3729,7 @@ var title$t = "Passwordless Login";
3726
3729
  var email$9 = "Enter email";
3727
3730
  var submit$c = "Submit";
3728
3731
  var required$c = "Required";
3729
- var messages$Z = {
3732
+ var messages$11 = {
3730
3733
  PasswordlessLoginSuccess: "Please check your email and follow the instructions there"
3731
3734
  };
3732
3735
  var passwordlessRequest_en = {
@@ -3734,7 +3737,7 @@ var passwordlessRequest_en = {
3734
3737
  email: email$9,
3735
3738
  submit: submit$c,
3736
3739
  required: required$c,
3737
- messages: messages$Z
3740
+ messages: messages$11
3738
3741
  };
3739
3742
 
3740
3743
  var title$s = "Your shopping cart";
@@ -3762,13 +3765,13 @@ var cart_en = {
3762
3765
  removeAll: removeAll$3
3763
3766
  };
3764
3767
 
3765
- var buttons$h = {
3768
+ var buttons$l = {
3766
3769
  select: "Select",
3767
3770
  added: "Added to cart",
3768
3771
  purchase: "Purchase",
3769
3772
  "continue": "Continue"
3770
3773
  };
3771
- var messages$Y = {
3774
+ var messages$10 = {
3772
3775
  orderConfirmed: {
3773
3776
  title: "Order confirmed!",
3774
3777
  body: "Your order has been confirmed and will be shipped within the next few days. You'll shortly receive an email confirmation of this order."
@@ -3777,17 +3780,17 @@ var messages$Y = {
3777
3780
  multipleCurrencies: "Your cart currently contains items which are available in different currencies. In order to proceed with the checkout, please make sure that all items have the same currency.",
3778
3781
  currencyMismatch: "The selected item(s) do not match your current default currency ({{currency}}). Please choose item(s) only matching this currency."
3779
3782
  };
3780
- var labels$W = {
3783
+ var labels$_ = {
3781
3784
  summary: "Order summary",
3782
3785
  total: "total"
3783
3786
  };
3784
3787
  var shop_en = {
3785
- buttons: buttons$h,
3786
- messages: messages$Y,
3787
- labels: labels$W
3788
+ buttons: buttons$l,
3789
+ messages: messages$10,
3790
+ labels: labels$_
3788
3791
  };
3789
3792
 
3790
- var labels$V = {
3793
+ var labels$Z = {
3791
3794
  cardNumber: "Card number",
3792
3795
  securityCode: "Security Code",
3793
3796
  submit: "Submit",
@@ -3809,7 +3812,7 @@ var labels$V = {
3809
3812
  title: "Payment Information"
3810
3813
  }
3811
3814
  };
3812
- var messages$X = {
3815
+ var messages$$ = {
3813
3816
  youAreSafe: "You're safe - PCI compliant 128 SSL by",
3814
3817
  cancel: "Cancel your subscription online at anytime.",
3815
3818
  giftSent: "Subscription gift has been sent to",
@@ -3823,12 +3826,12 @@ var errors$f = {
3823
3826
  "": ""
3824
3827
  };
3825
3828
  var payment_en = {
3826
- labels: labels$V,
3827
- messages: messages$X,
3829
+ labels: labels$Z,
3830
+ messages: messages$$,
3828
3831
  errors: errors$f
3829
3832
  };
3830
3833
 
3831
- var labels$U = {
3834
+ var labels$Y = {
3832
3835
  menu: "Pelcro Menu",
3833
3836
  name: "Name",
3834
3837
  email: "Email",
@@ -3914,9 +3917,12 @@ var labels$U = {
3914
3917
  },
3915
3918
  subCancellation: {
3916
3919
  goBack: "Go back"
3920
+ },
3921
+ donationCancellation: {
3922
+ goBack: "Go back"
3917
3923
  }
3918
3924
  };
3919
- var messages$W = {
3925
+ var messages$_ = {
3920
3926
  noCard: "You don't have a card",
3921
3927
  subCancellation: {
3922
3928
  isSureToCancel: "Are you sure you want to cancel your subscription?",
@@ -3933,19 +3939,35 @@ var messages$W = {
3933
3939
  loading: "Unsuspending your subscription",
3934
3940
  success: "Subscription is successfully unsuspended",
3935
3941
  error: "Error while unsuspending your subscription"
3942
+ },
3943
+ donationCancellation: {
3944
+ isSureToCancel: "Are you sure you want to cancel your donation?",
3945
+ loading: "Cancelling your donation",
3946
+ success: "Donation is successfully cancelled",
3947
+ error: "Error while cancelling your donation"
3948
+ },
3949
+ donationReactivation: {
3950
+ success: "Donation is successfully reactivated",
3951
+ error: "Error while reactivating your donation"
3952
+ },
3953
+ donationUnSuspend: {
3954
+ isSureToUnSuspend: "Are you sure you want to unsuspend your donation?",
3955
+ loading: "Unsuspending your donation",
3956
+ success: "Donation is successfully unsuspended",
3957
+ error: "Error while unsuspending your donation"
3936
3958
  }
3937
3959
  };
3938
3960
  var dashboard_en = {
3939
- labels: labels$U,
3940
- messages: messages$W
3961
+ labels: labels$Y,
3962
+ messages: messages$_
3941
3963
  };
3942
3964
 
3943
- var messages$V = {
3965
+ var messages$Z = {
3944
3966
  alreadyHaveAccount: "Already have an account?",
3945
3967
  loginHere: "Login here",
3946
3968
  checkbox: "Check this box to gift this subscription"
3947
3969
  };
3948
- var labels$T = {
3970
+ var labels$X = {
3949
3971
  plan: {
3950
3972
  title: "Subscribe to a plan",
3951
3973
  subtitle: "Select one of the plans below and click on next."
@@ -3962,15 +3984,49 @@ var labels$T = {
3962
3984
  or: "Or take a look at some of our other options below"
3963
3985
  }
3964
3986
  };
3965
- var buttons$g = {
3987
+ var buttons$k = {
3966
3988
  next: "Next",
3967
3989
  select: "Select",
3968
3990
  back: "Back"
3969
3991
  };
3970
3992
  var select_en = {
3971
- messages: messages$V,
3972
- labels: labels$T,
3973
- buttons: buttons$g
3993
+ messages: messages$Z,
3994
+ labels: labels$X,
3995
+ buttons: buttons$k
3996
+ };
3997
+
3998
+ var messages$Y = {
3999
+ alreadyHaveAccount: "Already have an account?",
4000
+ loginHere: "Login here",
4001
+ checkbox: "Check this box to gift this subscription"
4002
+ };
4003
+ var labels$W = {
4004
+ plan: {
4005
+ title: "Subscribe to a plan",
4006
+ subtitle: "Select one of the plans below and click on next."
4007
+ },
4008
+ product: {
4009
+ title: "Subscribe to a product",
4010
+ subtitle: "Select one of the products below and click on next."
4011
+ },
4012
+ selectProduct: "Select a product",
4013
+ selectPlan: "Select a plan",
4014
+ startingAt: "Starting at",
4015
+ restrictiveArticles: {
4016
+ subscribeTo: "Subscribe to one of the following options to get access to this page",
4017
+ or: "Or take a look at some of our other options below"
4018
+ }
4019
+ };
4020
+ var buttons$j = {
4021
+ signupAndDonate: "Sign up & donate",
4022
+ donate: "Donate",
4023
+ select: "Select",
4024
+ back: "Back"
4025
+ };
4026
+ var donation_en = {
4027
+ messages: messages$Y,
4028
+ labels: labels$W,
4029
+ buttons: buttons$j
3974
4030
  };
3975
4031
 
3976
4032
  var confirm$9 = {
@@ -3983,46 +4039,46 @@ var notification_en = {
3983
4039
  confirm: confirm$9
3984
4040
  };
3985
4041
 
3986
- var labels$S = {
4042
+ var labels$V = {
3987
4043
  title: "Verify your email",
3988
4044
  instructions: "You're on your way!\nLet's confirm your email address.\nClick on the verification link we've sent to your email:",
3989
4045
  resend: "Resend email"
3990
4046
  };
3991
- var messages$U = {
4047
+ var messages$X = {
3992
4048
  resent: "Resent successfully",
3993
4049
  success: "Email verified successfully!"
3994
4050
  };
3995
4051
  var verifyEmail_en = {
3996
- labels: labels$S,
3997
- messages: messages$U
4052
+ labels: labels$V,
4053
+ messages: messages$X
3998
4054
  };
3999
4055
 
4000
4056
  var title$r = "Invoice details";
4001
- var labels$R = {
4057
+ var labels$U = {
4002
4058
  summary: "Summary",
4003
4059
  total: "Total",
4004
4060
  amountPaid: "Amount paid",
4005
4061
  amountDue: "Amount due",
4006
4062
  creationDate: "Created on:"
4007
4063
  };
4008
- var buttons$f = {
4064
+ var buttons$i = {
4009
4065
  download: "Download",
4010
4066
  pay: "Pay now"
4011
4067
  };
4012
4068
  var invoiceDetails_en = {
4013
4069
  title: title$r,
4014
- labels: labels$R,
4015
- buttons: buttons$f
4070
+ labels: labels$U,
4071
+ buttons: buttons$i
4016
4072
  };
4017
4073
 
4018
- var labels$Q = {
4074
+ var labels$T = {
4019
4075
  title: "Cancel subscription",
4020
4076
  cancelReason: "Cancellation reason",
4021
4077
  subCancellation: {
4022
4078
  goBack: "Go back"
4023
4079
  }
4024
4080
  };
4025
- var messages$T = {
4081
+ var messages$W = {
4026
4082
  subscriptionEnd: "This subscription is set to expire on",
4027
4083
  cancelNow: "Cancel Subscription Now",
4028
4084
  cancelLater: "Cancel at Period End",
@@ -4035,18 +4091,18 @@ var messages$T = {
4035
4091
  }
4036
4092
  };
4037
4093
  var subscriptionCancel_en = {
4038
- labels: labels$Q,
4039
- messages: messages$T
4094
+ labels: labels$T,
4095
+ messages: messages$W
4040
4096
  };
4041
4097
 
4042
- var labels$P = {
4098
+ var labels$S = {
4043
4099
  title: "Annuler l'abonnement",
4044
4100
  cancelReason: "Motif d'annulation",
4045
4101
  subCancellation: {
4046
4102
  goBack: "Retourner"
4047
4103
  }
4048
4104
  };
4049
- var messages$S = {
4105
+ var messages$V = {
4050
4106
  subscriptionEnd: "Cet abonnement doit expirer le",
4051
4107
  cancelNow: "Cancel Subscription Now",
4052
4108
  cancelLater: "Annuler l'abonnement maintenant",
@@ -4059,18 +4115,18 @@ var messages$S = {
4059
4115
  }
4060
4116
  };
4061
4117
  var subscriptionCancel_fr = {
4062
- labels: labels$P,
4063
- messages: messages$S
4118
+ labels: labels$S,
4119
+ messages: messages$V
4064
4120
  };
4065
4121
 
4066
- var labels$O = {
4122
+ var labels$R = {
4067
4123
  title: "구독 취소",
4068
4124
  cancelReason: "취소 사유",
4069
4125
  subCancellation: {
4070
4126
  goBack: "돌아가기"
4071
4127
  }
4072
4128
  };
4073
- var messages$R = {
4129
+ var messages$U = {
4074
4130
  subscriptionEnd: "이 구독은 다음 날짜에 만료되도록 설정되었습니다.",
4075
4131
  cancelNow: "지금 구독 취소",
4076
4132
  cancelLater: "기간 종료 시 취소",
@@ -4083,11 +4139,11 @@ var messages$R = {
4083
4139
  }
4084
4140
  };
4085
4141
  var subscriptionCancel_ko = {
4086
- labels: labels$O,
4087
- messages: messages$R
4142
+ labels: labels$R,
4143
+ messages: messages$U
4088
4144
  };
4089
4145
 
4090
- var labels$N = {
4146
+ var labels$Q = {
4091
4147
  inviteMembers: "Invite Members",
4092
4148
  listOfMembers: "List of members",
4093
4149
  invite: "Invite",
@@ -4098,10 +4154,10 @@ var labels$N = {
4098
4154
  email: "Email"
4099
4155
  };
4100
4156
  var subscriptionManageMembers_en = {
4101
- labels: labels$N
4157
+ labels: labels$Q
4102
4158
  };
4103
4159
 
4104
- var labels$M = {
4160
+ var labels$P = {
4105
4161
  inviteMembers: "Inviter des membres",
4106
4162
  listOfMembers: "Liste des membres",
4107
4163
  invite: "Inviter",
@@ -4112,10 +4168,10 @@ var labels$M = {
4112
4168
  email: "E-mail"
4113
4169
  };
4114
4170
  var subscriptionManageMembers_fr = {
4115
- labels: labels$M
4171
+ labels: labels$P
4116
4172
  };
4117
4173
 
4118
- var labels$L = {
4174
+ var labels$O = {
4119
4175
  inviteMembers: "회원 초대",
4120
4176
  listOfMembers: "구성원 목록",
4121
4177
  invite: "초대",
@@ -4126,17 +4182,17 @@ var labels$L = {
4126
4182
  email: "이메일"
4127
4183
  };
4128
4184
  var subscriptionManageMembers_ko = {
4129
- labels: labels$L
4185
+ labels: labels$O
4130
4186
  };
4131
4187
 
4132
- var labels$K = {
4188
+ var labels$N = {
4133
4189
  title: "Suspend subscription",
4134
4190
  suspensionDate: "Suspension date",
4135
4191
  subCancellation: {
4136
4192
  goBack: "Go back"
4137
4193
  }
4138
4194
  };
4139
- var messages$Q = {
4195
+ var messages$T = {
4140
4196
  suspensionEnd: "The suspension is set to expire on",
4141
4197
  suspendNow: "Suspend Subscription Now",
4142
4198
  suspendLater: "Suspend at Period End",
@@ -4149,8 +4205,8 @@ var messages$Q = {
4149
4205
  }
4150
4206
  };
4151
4207
  var subscriptionSuspend_en = {
4152
- labels: labels$K,
4153
- messages: messages$Q
4208
+ labels: labels$N,
4209
+ messages: messages$T
4154
4210
  };
4155
4211
 
4156
4212
  var validation$2 = {
@@ -4165,7 +4221,7 @@ var validation$2 = {
4165
4221
  enterLastName: "Le nom de famille est requis.",
4166
4222
  enterPhone: "Le numéro de téléphone est requis."
4167
4223
  };
4168
- var buttons$e = {
4224
+ var buttons$h = {
4169
4225
  account: "Accès abonné(e)s",
4170
4226
  login: "Se connecter",
4171
4227
  subscribe: "S'abonner"
@@ -4243,7 +4299,7 @@ var confirm$8 = {
4243
4299
  };
4244
4300
  var common_fr = {
4245
4301
  validation: validation$2,
4246
- buttons: buttons$e,
4302
+ buttons: buttons$h,
4247
4303
  dashboard: dashboard$3,
4248
4304
  select: select$5,
4249
4305
  confirm: confirm$8
@@ -4274,7 +4330,7 @@ var paymentMethod_fr = {
4274
4330
  var title$q = "Entrez votre adresse courriel pour vous abonner à notre infolettre";
4275
4331
  var updateTitle$2 = "Mettre à jour son choix d'infolettres";
4276
4332
  var subtitle$b = "Nous pouvons utiliser votre adresse courriel pour d’autres communications marketing";
4277
- var labels$J = {
4333
+ var labels$M = {
4278
4334
  submit: "Lire l’article !",
4279
4335
  firstName: "Prénom",
4280
4336
  lastName: "Nom de famille",
@@ -4282,7 +4338,7 @@ var labels$J = {
4282
4338
  postalCode: "Code postal",
4283
4339
  required: "Champs obligatoires"
4284
4340
  };
4285
- var messages$P = {
4341
+ var messages$S = {
4286
4342
  alreadyHaveAccount: "Vous avez déjà un compte ?",
4287
4343
  success: "Votre choix d'infolettres à été mis à jour",
4288
4344
  loginHere: "Connectez-vous ici",
@@ -4293,14 +4349,14 @@ var newsletter_fr = {
4293
4349
  title: title$q,
4294
4350
  updateTitle: updateTitle$2,
4295
4351
  subtitle: subtitle$b,
4296
- labels: labels$J,
4297
- messages: messages$P
4352
+ labels: labels$M,
4353
+ messages: messages$S
4298
4354
  };
4299
4355
 
4300
- var labels$I = {
4356
+ var labels$L = {
4301
4357
  "continue": "Abonnement réussi !"
4302
4358
  };
4303
- var messages$O = {
4359
+ var messages$R = {
4304
4360
  yourFreeTrial: "Votre essai gratuit vient de débuter",
4305
4361
  youHaveAccess: "Nous espérons que vous allez apprécier votre abonnement. Veuillez nous contacter si vous avez des questions ou des préoccupations.",
4306
4362
  clickToLearn: {
@@ -4326,12 +4382,12 @@ var errors$e = {
4326
4382
  "": ""
4327
4383
  };
4328
4384
  var success_fr = {
4329
- labels: labels$I,
4330
- messages: messages$O,
4385
+ labels: labels$L,
4386
+ messages: messages$R,
4331
4387
  errors: errors$e
4332
4388
  };
4333
4389
 
4334
- var messages$N = {
4390
+ var messages$Q = {
4335
4391
  freeVisits: "Visites gratuites restantes:",
4336
4392
  subscribeNow: "Abonnez-vous maintenant !",
4337
4393
  alreadyHaveAccount: "Vous avez déjà un compte ?",
@@ -4341,16 +4397,16 @@ var errors$d = {
4341
4397
  "": ""
4342
4398
  };
4343
4399
  var meter_fr = {
4344
- messages: messages$N,
4400
+ messages: messages$Q,
4345
4401
  errors: errors$d
4346
4402
  };
4347
4403
 
4348
- var messages$M = {
4404
+ var messages$P = {
4349
4405
  youAreSafe: "Vous êtes en sécurité - PCI conforme 128 SSL par",
4350
4406
  bankRedirection: "Veuillez patienter, nous vous redirigeons vers votre banque.",
4351
4407
  bankAuthenticationSuccess: "Veuillez patienter pendant que nous accédons à votre requête."
4352
4408
  };
4353
- var labels$H = {
4409
+ var labels$K = {
4354
4410
  card: "Entrez le numéro de carte",
4355
4411
  date: "Date d’expiration",
4356
4412
  CVC: "CVC",
@@ -4370,11 +4426,13 @@ var labels$H = {
4370
4426
  firstName: "Prénom",
4371
4427
  lastName: "Nom de famille",
4372
4428
  phone: "Téléphoner",
4373
- freeItems: "Articles gratuits"
4429
+ freeItems: "Articles gratuits",
4430
+ email: "Courriel",
4431
+ password: "Créer un mot de passe"
4374
4432
  };
4375
4433
  var checkoutForm_fr = {
4376
- messages: messages$M,
4377
- labels: labels$H
4434
+ messages: messages$P,
4435
+ labels: labels$K
4378
4436
  };
4379
4437
 
4380
4438
  var youAreSafe$2 = "Vous êtes en sécurité - PCI conforme 128 SSL par";
@@ -4398,7 +4456,7 @@ var messages_fr = {
4398
4456
  zeroTotalInvoice: zeroTotalInvoice$2
4399
4457
  };
4400
4458
 
4401
- var labels$G = {
4459
+ var labels$J = {
4402
4460
  email: "Entrez votre adresse courriel",
4403
4461
  username: "Saisissez votre nom d'utilisateur",
4404
4462
  password: "Entrez votre mot de passe",
@@ -4407,7 +4465,7 @@ var labels$G = {
4407
4465
  passwordPlaceholder: "Mot de passe",
4408
4466
  login: "Connexion"
4409
4467
  };
4410
- var messages$L = {
4468
+ var messages$O = {
4411
4469
  loginTo: "Connectez-vous à votre compte",
4412
4470
  welcome: "Bienvenue, connectez-vous avec votre compte existant.",
4413
4471
  dontHaveAccount: "Vous n’avez pas encore de compte ?",
@@ -4426,28 +4484,28 @@ var errors$c = {
4426
4484
  "": ""
4427
4485
  };
4428
4486
  var login_fr = {
4429
- labels: labels$G,
4430
- messages: messages$L,
4487
+ labels: labels$J,
4488
+ messages: messages$O,
4431
4489
  errors: errors$c
4432
4490
  };
4433
4491
 
4434
- var labels$F = {
4492
+ var labels$I = {
4435
4493
  title: "Confirmez votre courriel",
4436
4494
  instructions: "Confirmez votre courriel.\nVeuillez cliquer sur le lien de vérification, qui vous a été envoyé à:",
4437
4495
  resend: "Renvoyer le courriel"
4438
4496
  };
4439
- var messages$K = {
4497
+ var messages$N = {
4440
4498
  resent: "Renvoyé avec succès",
4441
4499
  success: "Vous vous êtes connecté avec succès"
4442
4500
  };
4443
4501
  var verifyLinkToken_fr = {
4444
- labels: labels$F,
4445
- messages: messages$K
4502
+ labels: labels$I,
4503
+ messages: messages$N
4446
4504
  };
4447
4505
 
4448
4506
  var title$p = "Créer un compte";
4449
4507
  var subtitle$a = "Entrez votre courriel et votre mot de passe ci-dessous";
4450
- var labels$E = {
4508
+ var labels$H = {
4451
4509
  signUpFacebook: "Inscrivez-vous avec Facebook",
4452
4510
  signUpGoogle: "Inscrivez-vous avec Google",
4453
4511
  signUpEmail: "Inscrivez-vous avec votre courriel",
@@ -4460,7 +4518,7 @@ var labels$E = {
4460
4518
  lastName: "Nom de famille",
4461
4519
  phone: "Téléphoner"
4462
4520
  };
4463
- var messages$J = {
4521
+ var messages$M = {
4464
4522
  alreadyHaveAccount: "Vous avez déjà un compte?",
4465
4523
  createAccount: "Créer un compte",
4466
4524
  loginHere: "Connectez-vous ici",
@@ -4507,7 +4565,8 @@ var gift$2 = {
4507
4565
  enterEmail: "Veuillez entrer l’adresse courriel du destinataire du cadeau.",
4508
4566
  invalidDate: "La date du cadeau doit être comprise entre aujourd'hui et un an.",
4509
4567
  giftDateInfo: "Le destinataire recevra un courriel à la date déterminée afin d'activer leur abonnement cadeau.",
4510
- giftMessageInfo: "Laissez un message au destinataire sans oublier de signer votre nom."
4568
+ giftMessageInfo: "Laissez un message au destinataire sans oublier de signer votre nom.",
4569
+ giftMessageAllowedCharacters: "Les caractères spéciaux et les emojis ne sont pas autorisés."
4511
4570
  }
4512
4571
  };
4513
4572
  var redeem$2 = {
@@ -4535,14 +4594,14 @@ var redeem$2 = {
4535
4594
  var register_fr = {
4536
4595
  title: title$p,
4537
4596
  subtitle: subtitle$a,
4538
- labels: labels$E,
4539
- messages: messages$J,
4597
+ labels: labels$H,
4598
+ messages: messages$M,
4540
4599
  errors: errors$b,
4541
4600
  gift: gift$2,
4542
4601
  redeem: redeem$2
4543
4602
  };
4544
4603
 
4545
- var labels$D = {
4604
+ var labels$G = {
4546
4605
  title: "Voulez-vous mettre à jour votre profil ?",
4547
4606
  subtitle: "Entrez vos informations ci-dessous pour mettre à jour votre profil",
4548
4607
  email: "Address courriel",
@@ -4561,21 +4620,21 @@ var labels$D = {
4561
4620
  zoom: "Zoom",
4562
4621
  tin: "Numéro d'identification fiscale"
4563
4622
  };
4564
- var messages$I = {
4623
+ var messages$L = {
4565
4624
  userUpdated: "Votre profil a été mis à jour avec succès.",
4566
4625
  pictureRemoved: "Votre photo de profil a été supprimée avec succès.",
4567
4626
  pictureUpdated: "Votre photo de profil a été mise à jour avec succès."
4568
4627
  };
4569
4628
  var userEdit_fr = {
4570
- labels: labels$D,
4571
- messages: messages$I
4629
+ labels: labels$G,
4630
+ messages: messages$L
4572
4631
  };
4573
4632
 
4574
4633
  var title$o = "Entrez votre adresse de livraison";
4575
4634
  var titleGifting$2 = "Entrez votre adresse";
4576
4635
  var selectAddressTitle$2 = "Veuillez sélectionner une adresse";
4577
4636
  var selectAddressSubtitle$2 = "Choisissez l'une de vos adresses ou créez-en une nouvelle";
4578
- var labels$C = {
4637
+ var labels$F = {
4579
4638
  address: "Adresse",
4580
4639
  code: "Code postal / Zip",
4581
4640
  city: "Ville",
@@ -4586,12 +4645,12 @@ var labels$C = {
4586
4645
  required: "Champs obligatoires",
4587
4646
  isDefault: "Définir par défaut"
4588
4647
  };
4589
- var buttons$d = {
4648
+ var buttons$g = {
4590
4649
  submit: "Valider",
4591
4650
  selectAddress: "Choisir cette adresse",
4592
4651
  addAddress: "Ajouter une nouvelle adresse"
4593
4652
  };
4594
- var messages$H = {
4653
+ var messages$K = {
4595
4654
  addressUpdated: "Votre adresse a été mise à jour avec succès",
4596
4655
  subRedeemed: "Votre abonnement a bien été activé."
4597
4656
  };
@@ -4600,9 +4659,9 @@ var address_fr = {
4600
4659
  titleGifting: titleGifting$2,
4601
4660
  selectAddressTitle: selectAddressTitle$2,
4602
4661
  selectAddressSubtitle: selectAddressSubtitle$2,
4603
- labels: labels$C,
4604
- buttons: buttons$d,
4605
- messages: messages$H
4662
+ labels: labels$F,
4663
+ buttons: buttons$g,
4664
+ messages: messages$K
4606
4665
  };
4607
4666
 
4608
4667
  var title$n = "Réinitialiser votre mot de passe";
@@ -4630,7 +4689,7 @@ var password$4 = "Mot de passe";
4630
4689
  var submit$a = "Soumettre";
4631
4690
  var required$a = "Champs obligatoires";
4632
4691
  var passwordResetEmailSent$2 = "Un lien pour réinitialiser votre mot de passe vous a été envoyé. Si vous ne le recevez pas, vérifier votre courrier indésirable.";
4633
- var messages$G = {
4692
+ var messages$J = {
4634
4693
  alreadyHaveAccount: "Vous avez déjà un compte ?",
4635
4694
  loginHere: "Connectez-vous ici"
4636
4695
  };
@@ -4641,7 +4700,7 @@ var passwordForgot_fr = {
4641
4700
  submit: submit$a,
4642
4701
  required: required$a,
4643
4702
  passwordResetEmailSent: passwordResetEmailSent$2,
4644
- messages: messages$G
4703
+ messages: messages$J
4645
4704
  };
4646
4705
 
4647
4706
  var title$l = "Changez votre mot de passe";
@@ -4669,7 +4728,7 @@ var title$k = "Connexion sans mot de passe";
4669
4728
  var email$6 = "Entrez votre adresse courriel";
4670
4729
  var submit$8 = "Soumettre";
4671
4730
  var required$8 = "Champs obligatoires";
4672
- var messages$F = {
4731
+ var messages$I = {
4673
4732
  PasswordlessLoginSuccess: "Vous avez été authentifié avec succès avec la connexion sans mot de passe"
4674
4733
  };
4675
4734
  var passwordlessRequest_fr = {
@@ -4677,7 +4736,7 @@ var passwordlessRequest_fr = {
4677
4736
  email: email$6,
4678
4737
  submit: submit$8,
4679
4738
  required: required$8,
4680
- messages: messages$F
4739
+ messages: messages$I
4681
4740
  };
4682
4741
 
4683
4742
  var title$j = "Votre panier";
@@ -4705,13 +4764,13 @@ var cart_fr = {
4705
4764
  removeAll: removeAll$2
4706
4765
  };
4707
4766
 
4708
- var buttons$c = {
4767
+ var buttons$f = {
4709
4768
  select: "Choisir",
4710
4769
  added: "Ajouté au panier",
4711
4770
  purchase: "Acheter",
4712
4771
  "continue": "Continuer au contenu"
4713
4772
  };
4714
- var messages$E = {
4773
+ var messages$H = {
4715
4774
  orderConfirmed: {
4716
4775
  title: "Votre commande est confirmée !",
4717
4776
  body: "Votre commande a été confirmée et vous sera expédiée dans les prochains jours. Vous recevrez un courriel de confirmation sous peu."
@@ -4720,17 +4779,17 @@ var messages$E = {
4720
4779
  multipleCurrencies: "Votre panier contient des articles disponibles dans différentes devises. Avant de passer à la caisse, veuillez vous assurer que tous les articles ont la même devise.",
4721
4780
  currencyMismatch: "Les articles sélectionnés ne sont pas compatibles avec la devise associée à votre compte ({{currency}}). Veuillez choisir des articles uniquement offerts dans cette devise."
4722
4781
  };
4723
- var labels$B = {
4782
+ var labels$E = {
4724
4783
  summary: "récapitulatif de commande",
4725
4784
  total: "total"
4726
4785
  };
4727
4786
  var shop_fr = {
4728
- buttons: buttons$c,
4729
- messages: messages$E,
4730
- labels: labels$B
4787
+ buttons: buttons$f,
4788
+ messages: messages$H,
4789
+ labels: labels$E
4731
4790
  };
4732
4791
 
4733
- var labels$A = {
4792
+ var labels$D = {
4734
4793
  cardNumber: "Numéro de carte",
4735
4794
  securityCode: "Code de sécurité",
4736
4795
  submit: "Soumettre",
@@ -4752,7 +4811,7 @@ var labels$A = {
4752
4811
  title: "Informations de paiement"
4753
4812
  }
4754
4813
  };
4755
- var messages$D = {
4814
+ var messages$G = {
4756
4815
  youAreSafe: "Vous êtes en sécurité - PCI conforme 128 SSL par",
4757
4816
  cancel: "Annuler votre abonnement en ligne à tout moment.",
4758
4817
  giftSent: "Le cadeau d’abonnement a été envoyé à",
@@ -4766,12 +4825,12 @@ var errors$a = {
4766
4825
  "": ""
4767
4826
  };
4768
4827
  var payment_fr = {
4769
- labels: labels$A,
4770
- messages: messages$D,
4828
+ labels: labels$D,
4829
+ messages: messages$G,
4771
4830
  errors: errors$a
4772
4831
  };
4773
4832
 
4774
- var labels$z = {
4833
+ var labels$C = {
4775
4834
  menu: "Menu Pelcro",
4776
4835
  name: "Nom",
4777
4836
  email: "Courriel",
@@ -4857,9 +4916,12 @@ var labels$z = {
4857
4916
  },
4858
4917
  subCancellation: {
4859
4918
  goBack: "Retourner"
4919
+ },
4920
+ donationCancellation: {
4921
+ goBack: "Go back"
4860
4922
  }
4861
4923
  };
4862
- var messages$C = {
4924
+ var messages$F = {
4863
4925
  noCard: "Vous n’avez pas une carte",
4864
4926
  subCancellation: {
4865
4927
  isSureToCancel: "Êtes-vous certain de vouloir annuler votre abonnement?",
@@ -4876,19 +4938,35 @@ var messages$C = {
4876
4938
  loading: "Annulation de la suspension de votre abonnement",
4877
4939
  success: "L'abonnement a été suspendu avec succès",
4878
4940
  error: "Erreur lors de l'annulation de la suspension de votre abonnement"
4941
+ },
4942
+ donationCancellation: {
4943
+ isSureToCancel: "Êtes-vous certain de vouloir annuler votre don?",
4944
+ loading: "Annulation de l'don",
4945
+ success: "L'don a été annulé avec succès",
4946
+ error: "Une erreur s'est produite lors de l'annulation de l'don"
4947
+ },
4948
+ donationReactivation: {
4949
+ success: "L'don a été réactivé avec succès",
4950
+ error: "Erreur lors de la réactivation de votre don"
4951
+ },
4952
+ donationUnSuspend: {
4953
+ isSureToUnSuspend: "Êtes-vous sûr de vouloir annuler la suspension de votre don ?",
4954
+ loading: "Annulation de la suspension de votre don",
4955
+ success: "L'don a été suspendu avec succès",
4956
+ error: "Erreur lors de l'annulation de la suspension de votre don"
4879
4957
  }
4880
4958
  };
4881
4959
  var dashboard_fr = {
4882
- labels: labels$z,
4883
- messages: messages$C
4960
+ labels: labels$C,
4961
+ messages: messages$F
4884
4962
  };
4885
4963
 
4886
- var messages$B = {
4964
+ var messages$E = {
4887
4965
  alreadyHaveAccount: "Vous avez déjà un compte ?",
4888
4966
  loginHere: "Connectez-vous ici",
4889
4967
  checkbox: "Cochez cette case pour offrir cet abonnement"
4890
4968
  };
4891
- var labels$y = {
4969
+ var labels$B = {
4892
4970
  plan: {
4893
4971
  title: "Abonnez-vous à un plan",
4894
4972
  subtitle: "Sélectionnez l’un des plans ci-dessous et cliquez sur suivant."
@@ -4905,67 +4983,100 @@ var labels$y = {
4905
4983
  or: "Sinon, jetez un coup d'oeil à d'autres offres ci-dessous"
4906
4984
  }
4907
4985
  };
4908
- var buttons$b = {
4986
+ var buttons$e = {
4909
4987
  next: "Prochain",
4910
4988
  select: "Choisir",
4911
4989
  back: "Retour"
4912
4990
  };
4913
4991
  var select_fr = {
4914
- messages: messages$B,
4915
- labels: labels$y,
4916
- buttons: buttons$b
4992
+ messages: messages$E,
4993
+ labels: labels$B,
4994
+ buttons: buttons$e
4917
4995
  };
4918
4996
 
4919
- var confirm$6 = {
4920
- labels: {
4921
- confirm: "Confirmer",
4922
- close: "Fermer"
4923
- }
4997
+ var messages$D = {
4998
+ alreadyHaveAccount: "Vous avez déjà un compte ?",
4999
+ loginHere: "Connectez-vous ici",
5000
+ checkbox: "Cochez cette case pour offrir cet abonnement"
5001
+ };
5002
+ var labels$A = {
5003
+ plan: {
5004
+ title: "Abonnez-vous à un plan",
5005
+ subtitle: "Sélectionnez l’un des plans ci-dessous et cliquez sur suivant."
5006
+ },
5007
+ product: {
5008
+ title: "Abonnez-vous à un produit",
5009
+ subtitle: "Sélectionnez l’un des produits ci-dessous et cliquez sur suivant."
5010
+ },
5011
+ selectProduct: "Sélectionnez un produit",
5012
+ selectPlan: "Sélectionnez un plan",
5013
+ starningAt: "À partir de",
5014
+ restrictiveArticles: {
5015
+ subscribeTo: "Abonnez-vous à une des options suivantes pour accéder au contenu de cette page",
5016
+ or: "Sinon, jetez un coup d'oeil à d'autres offres ci-dessous"
5017
+ }
5018
+ };
5019
+ var buttons$d = {
5020
+ next: "Prochain",
5021
+ select: "Choisir",
5022
+ back: "Retour"
5023
+ };
5024
+ var donation_fr = {
5025
+ messages: messages$D,
5026
+ labels: labels$A,
5027
+ buttons: buttons$d
5028
+ };
5029
+
5030
+ var confirm$6 = {
5031
+ labels: {
5032
+ confirm: "Confirmer",
5033
+ close: "Fermer"
5034
+ }
4924
5035
  };
4925
5036
  var notification_fr = {
4926
5037
  confirm: confirm$6
4927
5038
  };
4928
5039
 
4929
- var labels$x = {
5040
+ var labels$z = {
4930
5041
  title: "Confirmez votre courriel",
4931
5042
  instructions: "Confirmez votre courriel.\nVeuillez cliquer sur le lien de vérification, qui vous a été envoyé à:",
4932
5043
  resend: "Renvoyer le courriel"
4933
5044
  };
4934
- var messages$A = {
5045
+ var messages$C = {
4935
5046
  resent: "Renvoyé avec succès",
4936
5047
  success: "Adresse courriel vérifiée avec succès"
4937
5048
  };
4938
5049
  var verifyEmail_fr = {
4939
- labels: labels$x,
4940
- messages: messages$A
5050
+ labels: labels$z,
5051
+ messages: messages$C
4941
5052
  };
4942
5053
 
4943
5054
  var title$i = "Détails de la facture";
4944
- var labels$w = {
5055
+ var labels$y = {
4945
5056
  summary: "Résumé",
4946
5057
  total: "Total",
4947
5058
  amountPaid: "Montant payé",
4948
5059
  amountDue: "Montant dû",
4949
5060
  creationDate: "Créé le:"
4950
5061
  };
4951
- var buttons$a = {
5062
+ var buttons$c = {
4952
5063
  download: "Télécharger",
4953
5064
  pay: "Payer"
4954
5065
  };
4955
5066
  var invoiceDetails_fr = {
4956
5067
  title: title$i,
4957
- labels: labels$w,
4958
- buttons: buttons$a
5068
+ labels: labels$y,
5069
+ buttons: buttons$c
4959
5070
  };
4960
5071
 
4961
- var labels$v = {
5072
+ var labels$x = {
4962
5073
  title: "Suspendre l'abonnement",
4963
5074
  suspensionDate: "Date de suspension",
4964
5075
  subCancellation: {
4965
5076
  goBack: "Revenir en arrière"
4966
5077
  }
4967
5078
  };
4968
- var messages$z = {
5079
+ var messages$B = {
4969
5080
  suspensionEnd: "La suspension doit expirer le",
4970
5081
  suspendNow: "Suspendre l'abonnement maintenant",
4971
5082
  suspendLater: "Suspendre à la fin de la période",
@@ -4978,8 +5089,8 @@ var messages$z = {
4978
5089
  }
4979
5090
  };
4980
5091
  var subscriptionSuspend_fr = {
4981
- labels: labels$v,
4982
- messages: messages$z
5092
+ labels: labels$x,
5093
+ messages: messages$B
4983
5094
  };
4984
5095
 
4985
5096
  var validation$1 = {
@@ -4993,7 +5104,7 @@ var validation$1 = {
4993
5104
  enterLastName: "성은 필수 항목입니다.",
4994
5105
  enterPhone: "전화번호는 필수 항목입니다."
4995
5106
  };
4996
- var buttons$9 = {
5107
+ var buttons$b = {
4997
5108
  account: "내 계정",
4998
5109
  login: "로그인",
4999
5110
  subscribe: "구독하다"
@@ -5071,7 +5182,7 @@ var confirm$5 = {
5071
5182
  };
5072
5183
  var common_ko = {
5073
5184
  validation: validation$1,
5074
- buttons: buttons$9,
5185
+ buttons: buttons$b,
5075
5186
  dashboard: dashboard$2,
5076
5187
  select: select$3,
5077
5188
  confirm: confirm$5
@@ -5102,7 +5213,7 @@ var paymentMethod_ko = {
5102
5213
  var title$h = "Frieze 뉴스레터를 구독하려면 이메일을 입력하세요.";
5103
5214
  var updateTitle$1 = "뉴스레터 선택 업데이트";
5104
5215
  var subtitle$7 = "귀하의 이메일은 다른 마케팅 용도로도 사용됩니다.";
5105
- var labels$u = {
5216
+ var labels$w = {
5106
5217
  submit: "제출",
5107
5218
  firstName: "이름",
5108
5219
  lastName: "성",
@@ -5110,7 +5221,7 @@ var labels$u = {
5110
5221
  postalCode: "우편번호",
5111
5222
  required: "필수 항목"
5112
5223
  };
5113
- var messages$y = {
5224
+ var messages$A = {
5114
5225
  alreadyHaveAccount: "이미 계정이 있습니까?",
5115
5226
  success: "뉴스레터가 성공적으로 업데이트되었습니다.",
5116
5227
  loginHere: "여기에서 로그인하세요.",
@@ -5121,14 +5232,14 @@ var newsletter_ko = {
5121
5232
  title: title$h,
5122
5233
  updateTitle: updateTitle$1,
5123
5234
  subtitle: subtitle$7,
5124
- labels: labels$u,
5125
- messages: messages$y
5235
+ labels: labels$w,
5236
+ messages: messages$A
5126
5237
  };
5127
5238
 
5128
- var labels$t = {
5239
+ var labels$v = {
5129
5240
  "continue": "콘텐츠로 돌아가기"
5130
5241
  };
5131
- var messages$x = {
5242
+ var messages$z = {
5132
5243
  yourFreeTrial: "유료 멤버십에 가입하셨습니다!",
5133
5244
  youHaveAccess: "멤버십 혜택을 즐기시기를 바라며, 질문이나 문의 사항이 있으면 저희에게 연락주십시오.",
5134
5245
  clickToLearn: {
@@ -5154,12 +5265,12 @@ var errors$9 = {
5154
5265
  "": ""
5155
5266
  };
5156
5267
  var success_ko = {
5157
- labels: labels$t,
5158
- messages: messages$x,
5268
+ labels: labels$v,
5269
+ messages: messages$z,
5159
5270
  errors: errors$9
5160
5271
  };
5161
5272
 
5162
- var messages$w = {
5273
+ var messages$y = {
5163
5274
  freeVisits: "남은 무료 방문 기간:",
5164
5275
  subscribeNow: "멤버십 가입",
5165
5276
  alreadyHaveAccount: "이미 계정이 있습니까?",
@@ -5169,16 +5280,16 @@ var errors$8 = {
5169
5280
  "": ""
5170
5281
  };
5171
5282
  var meter_ko = {
5172
- messages: messages$w,
5283
+ messages: messages$y,
5173
5284
  errors: errors$8
5174
5285
  };
5175
5286
 
5176
- var messages$v = {
5287
+ var messages$x = {
5177
5288
  youAreSafe: "PCI 준수 128비트 SSL 인증서로 보호됩니다. 제공: ",
5178
5289
  bankRedirection: "잠시만 기다려 주십시오. 결제 은행으로 연결 중입니다.",
5179
5290
  bankAuthenticationSuccess: "요청을 처리하는 동안 기다려 주십시오."
5180
5291
  };
5181
- var labels$s = {
5292
+ var labels$u = {
5182
5293
  card: "카드 번호 입력",
5183
5294
  date: "만료일",
5184
5295
  CVC: "CVC",
@@ -5198,11 +5309,13 @@ var labels$s = {
5198
5309
  firstName: "이름",
5199
5310
  lastName: "성",
5200
5311
  phone: "핸드폰",
5201
- freeItems: "무료 아이템"
5312
+ freeItems: "무료 아이템",
5313
+ email: "이메일",
5314
+ password: "비밀번호"
5202
5315
  };
5203
5316
  var checkoutForm_ko = {
5204
- messages: messages$v,
5205
- labels: labels$s
5317
+ messages: messages$x,
5318
+ labels: labels$u
5206
5319
  };
5207
5320
 
5208
5321
  var youAreSafe$1 = "PCI 준수 128비트 SSL 인증서로 보호됩니다. 제공: ";
@@ -5226,7 +5339,7 @@ var messages_ko = {
5226
5339
  zeroTotalInvoice: zeroTotalInvoice$1
5227
5340
  };
5228
5341
 
5229
- var labels$r = {
5342
+ var labels$t = {
5230
5343
  email: "이메일 입력",
5231
5344
  username: "사용자 이름 입력",
5232
5345
  password: "비밀번호 입력",
@@ -5235,7 +5348,7 @@ var labels$r = {
5235
5348
  passwordPlaceholder: "비밀번호",
5236
5349
  login: "로그인"
5237
5350
  };
5238
- var messages$u = {
5351
+ var messages$w = {
5239
5352
  loginTo: "귀하의 계정에 로그인",
5240
5353
  welcome: "반갑습니다. 귀하의 기존 계정으로 로그인하세요.",
5241
5354
  dontHaveAccount: "아직 계정이 없으신가요?",
@@ -5254,28 +5367,28 @@ var errors$7 = {
5254
5367
  "": ""
5255
5368
  };
5256
5369
  var login_ko = {
5257
- labels: labels$r,
5258
- messages: messages$u,
5370
+ labels: labels$t,
5371
+ messages: messages$w,
5259
5372
  errors: errors$7
5260
5373
  };
5261
5374
 
5262
- var labels$q = {
5375
+ var labels$s = {
5263
5376
  title: "비밀번호 없는 링크 확인",
5264
5377
  instructions: "가는 중입니다!\n이메일 주소를 확인하겠습니다.\n이메일로 전송된 확인 링크를 클릭하세요.",
5265
5378
  resend: "이메일 재전송"
5266
5379
  };
5267
- var messages$t = {
5380
+ var messages$v = {
5268
5381
  resent: "성공적으로 재전송",
5269
5382
  success: "성공적으로 로그인했습니다"
5270
5383
  };
5271
5384
  var verifyLinkToken_ko = {
5272
- labels: labels$q,
5273
- messages: messages$t
5385
+ labels: labels$s,
5386
+ messages: messages$v
5274
5387
  };
5275
5388
 
5276
5389
  var title$g = "계정 만들기";
5277
5390
  var subtitle$6 = "아래에 이메일과 비밀번호를 입력하세요.";
5278
- var labels$p = {
5391
+ var labels$r = {
5279
5392
  signUpFacebook: "Facebook으로 가입하기",
5280
5393
  signUpGoogle: "Google로 가입하기",
5281
5394
  signUpEmail: "이메일로 가입하기",
@@ -5288,7 +5401,7 @@ var labels$p = {
5288
5401
  lastName: "성",
5289
5402
  phone: "핸드폰"
5290
5403
  };
5291
- var messages$s = {
5404
+ var messages$u = {
5292
5405
  alreadyHaveAccount: "이미 계정이 있습니까?",
5293
5406
  createAccount: "계정 만들기",
5294
5407
  loginHere: "여기에서 로그인하세요.",
@@ -5334,7 +5447,8 @@ var gift$1 = {
5334
5447
  enterEmail: "선물을 받을 분의 이메일을 입력해주세요.",
5335
5448
  invalidDate: "선물 날짜는 오늘로부터 1년 이내여야 합니다.",
5336
5449
  giftDateInfo: "받는 분이 선물을 사용하실 수 있도록, 선택된 날짜에 귀하의 선물 메시지가 담겨 있는 이메일 알림이 전송됩니다.",
5337
- giftMessageInfo: "받는 분을 위한 선물 메시지와 서명을 남기는 것을 잊지 마시기 바랍니다."
5450
+ giftMessageInfo: "받는 분을 위한 선물 메시지와 서명을 남기는 것을 잊지 마시기 바랍니다.",
5451
+ giftMessageAllowedCharacters: "특수문자 및 이모티콘 사용 불가."
5338
5452
  }
5339
5453
  };
5340
5454
  var redeem$1 = {
@@ -5362,14 +5476,14 @@ var redeem$1 = {
5362
5476
  var register_ko = {
5363
5477
  title: title$g,
5364
5478
  subtitle: subtitle$6,
5365
- labels: labels$p,
5366
- messages: messages$s,
5479
+ labels: labels$r,
5480
+ messages: messages$u,
5367
5481
  errors: errors$6,
5368
5482
  gift: gift$1,
5369
5483
  redeem: redeem$1
5370
5484
  };
5371
5485
 
5372
- var labels$o = {
5486
+ var labels$q = {
5373
5487
  title: "프로파일을 업데이트하시겠습니까?",
5374
5488
  subtitle: "프로필을 업데이트하려면 아래 정보를 입력하세요.",
5375
5489
  email: "이메일",
@@ -5388,21 +5502,21 @@ var labels$o = {
5388
5502
  zoom: "확대",
5389
5503
  tin: "세금 식별 번호"
5390
5504
  };
5391
- var messages$r = {
5505
+ var messages$t = {
5392
5506
  userUpdated: "감사합니다! 프로필이 성공적으로 업데이트되었습니다.",
5393
5507
  pictureRemoved: "귀하의 프로필 사진이 제거되었습니다.",
5394
5508
  pictureUpdated: "귀하의 프로필 사진이 업데이트되었습니다."
5395
5509
  };
5396
5510
  var userEdit_ko = {
5397
- labels: labels$o,
5398
- messages: messages$r
5511
+ labels: labels$q,
5512
+ messages: messages$t
5399
5513
  };
5400
5514
 
5401
5515
  var title$f = "배송 주소를 입력하십시오.";
5402
5516
  var titleGifting$1 = "주소를 입력하세요";
5403
5517
  var selectAddressTitle$1 = "주소를 선택하십시오.";
5404
5518
  var selectAddressSubtitle$1 = "저장된 주소에서 선택하거나 새 주소를 추가하십시오.";
5405
- var labels$n = {
5519
+ var labels$p = {
5406
5520
  address: "주소",
5407
5521
  code: "우편번호",
5408
5522
  city: "도시",
@@ -5413,12 +5527,12 @@ var labels$n = {
5413
5527
  required: "필수 항목",
5414
5528
  isDefault: "기본값으로 설정"
5415
5529
  };
5416
- var buttons$8 = {
5530
+ var buttons$a = {
5417
5531
  submit: "제출",
5418
5532
  selectAddress: "주소 선택",
5419
5533
  addAddress: "새 주소 추가"
5420
5534
  };
5421
- var messages$q = {
5535
+ var messages$s = {
5422
5536
  addressUpdated: "주소가 성공적으로 업데이트되었습니다!",
5423
5537
  subRedeemed: "귀하의 유료 멤버십이 사용되었습니다."
5424
5538
  };
@@ -5427,9 +5541,9 @@ var address_ko = {
5427
5541
  titleGifting: titleGifting$1,
5428
5542
  selectAddressTitle: selectAddressTitle$1,
5429
5543
  selectAddressSubtitle: selectAddressSubtitle$1,
5430
- labels: labels$n,
5431
- buttons: buttons$8,
5432
- messages: messages$q
5544
+ labels: labels$p,
5545
+ buttons: buttons$a,
5546
+ messages: messages$s
5433
5547
  };
5434
5548
 
5435
5549
  var title$e = "비밀번호 재설정";
@@ -5457,7 +5571,7 @@ var password$2 = "비밀번호";
5457
5571
  var submit$6 = "제출";
5458
5572
  var required$6 = "필수 항목";
5459
5573
  var passwordResetEmailSent$1 = "비밀번호 재설정 안내가 귀하의 이메일로 발송되었습니다.";
5460
- var messages$p = {
5574
+ var messages$r = {
5461
5575
  alreadyHaveAccount: "이미 계정이 있습니까?",
5462
5576
  loginHere: "여기에서 로그인하세요."
5463
5577
  };
@@ -5468,7 +5582,7 @@ var passwordForgot_ko = {
5468
5582
  submit: submit$6,
5469
5583
  required: required$6,
5470
5584
  passwordResetEmailSent: passwordResetEmailSent$1,
5471
- messages: messages$p
5585
+ messages: messages$r
5472
5586
  };
5473
5587
 
5474
5588
  var title$c = "비밀번호를 변경합니다.";
@@ -5496,7 +5610,7 @@ var title$b = "비밀번호 없는 로그인";
5496
5610
  var email$3 = "이메일 입력";
5497
5611
  var submit$4 = "제출";
5498
5612
  var required$4 = "필수 항목";
5499
- var messages$o = {
5613
+ var messages$q = {
5500
5614
  PasswordlessLoginSuccess: "비밀번호 없는 로그인으로 성공적으로 인증되었습니다."
5501
5615
  };
5502
5616
  var passwordlessRequest_ko = {
@@ -5504,7 +5618,7 @@ var passwordlessRequest_ko = {
5504
5618
  email: email$3,
5505
5619
  submit: submit$4,
5506
5620
  required: required$4,
5507
- messages: messages$o
5621
+ messages: messages$q
5508
5622
  };
5509
5623
 
5510
5624
  var title$a = "귀하의 장바구니";
@@ -5532,13 +5646,13 @@ var cart_ko = {
5532
5646
  removeAll: removeAll$1
5533
5647
  };
5534
5648
 
5535
- var buttons$7 = {
5649
+ var buttons$9 = {
5536
5650
  select: "선택",
5537
5651
  added: "장바구니에 추가",
5538
5652
  purchase: "구매",
5539
5653
  "continue": "계속"
5540
5654
  };
5541
- var messages$n = {
5655
+ var messages$p = {
5542
5656
  orderConfirmed: {
5543
5657
  title: "주문이 확인되었습니다!",
5544
5658
  body: "귀하의 주문이 확인되었으며 며칠 안에 배송될 예정입니다. 이 주문의 확인 이메일이 귀하에게 전송됩니다."
@@ -5547,17 +5661,17 @@ var messages$n = {
5547
5661
  multipleCurrencies: "장바구니에 다른 통화로만 결제가 가능한 아이템이 있습니다. 결제를 계속 진행하려면 모든 아이템의 결제 통화가 동일한지 확인하십시오.",
5548
5662
  currencyMismatch: "선택하신 아이템(들)이 귀하가 설정한 기본 통화({{currency}})와 일치하지 않습니다. 기본 통화와 일치하는 아이템(들)만 선택하십시오."
5549
5663
  };
5550
- var labels$m = {
5664
+ var labels$o = {
5551
5665
  summary: "주문 요약",
5552
5666
  total: "총계"
5553
5667
  };
5554
5668
  var shop_ko = {
5555
- buttons: buttons$7,
5556
- messages: messages$n,
5557
- labels: labels$m
5669
+ buttons: buttons$9,
5670
+ messages: messages$p,
5671
+ labels: labels$o
5558
5672
  };
5559
5673
 
5560
- var labels$l = {
5674
+ var labels$n = {
5561
5675
  cardNumber: "카드 번호",
5562
5676
  securityCode: "보안 코드",
5563
5677
  submit: "제출",
@@ -5579,7 +5693,7 @@ var labels$l = {
5579
5693
  title: "결제 정보"
5580
5694
  }
5581
5695
  };
5582
- var messages$m = {
5696
+ var messages$o = {
5583
5697
  youAreSafe: "PCI 준수 128비트 SSL 인증서로 보호됩니다. 제공: ",
5584
5698
  cancel: "유료 멤버십은 언제든 온라인으로 취소가 가능합니다.",
5585
5699
  giftSent: "유료 멤버십 선물이 ",
@@ -5593,12 +5707,12 @@ var errors$5 = {
5593
5707
  "": ""
5594
5708
  };
5595
5709
  var payment_ko = {
5596
- labels: labels$l,
5597
- messages: messages$m,
5710
+ labels: labels$n,
5711
+ messages: messages$o,
5598
5712
  errors: errors$5
5599
5713
  };
5600
5714
 
5601
- var labels$k = {
5715
+ var labels$m = {
5602
5716
  menu: "Pelcro 메뉴",
5603
5717
  name: "이름",
5604
5718
  email: "이메일",
@@ -5746,7 +5860,10 @@ var savedItems = {
5746
5860
  var subCancellation = {
5747
5861
  goBack: "뒤로 가기"
5748
5862
  };
5749
- var messages$l = {
5863
+ var donationCancellation = {
5864
+ goBack: "뒤로 가기"
5865
+ };
5866
+ var messages$n = {
5750
5867
  noCard: "등록된 카드가 없습니다.",
5751
5868
  subCancellation: {
5752
5869
  isSureToCancel: "정말로 유료 멤버십을 취소하시겠습니까?",
@@ -5763,10 +5880,26 @@ var messages$l = {
5763
5880
  loading: "구독 일시 중단 해제",
5764
5881
  success: "구독이 성공적으로 일시 중단 해제되었습니다",
5765
5882
  error: "구독 일시 중단을 해제하는 동안 오류가 발생했습니다."
5883
+ },
5884
+ donationCancellation: {
5885
+ isSureToCancel: "정말로 유료 멤버십을 취소하시겠습니까?",
5886
+ loading: "귀하의 유료 멤버십을 취소합니다.",
5887
+ success: "유료 멤버십이 성공적으로 취소되었습니다.",
5888
+ error: "유료 멤버십 취소 과정에서 오류가 발생했습니다."
5889
+ },
5890
+ donationReactivation: {
5891
+ success: "구독이 성공적으로 재활성화되었습니다.",
5892
+ error: "구독을 재활성화하는 동안 오류가 발생했습니다."
5893
+ },
5894
+ donationUnSuspend: {
5895
+ isSureToUnSuspend: "구독 일시 중단을 해제하시겠습니까?",
5896
+ loading: "구독 일시 중단 해제",
5897
+ success: "구독이 성공적으로 일시 중단 해제되었습니다",
5898
+ error: "구독 일시 중단을 해제하는 동안 오류가 발생했습니다."
5766
5899
  }
5767
5900
  };
5768
5901
  var dashboard_ko = {
5769
- labels: labels$k,
5902
+ labels: labels$m,
5770
5903
  shipments: shipments,
5771
5904
  logout: logout,
5772
5905
  dashboard: dashboard$1,
@@ -5815,15 +5948,16 @@ var dashboard_ko = {
5815
5948
  orders: orders,
5816
5949
  savedItems: savedItems,
5817
5950
  subCancellation: subCancellation,
5818
- messages: messages$l
5951
+ donationCancellation: donationCancellation,
5952
+ messages: messages$n
5819
5953
  };
5820
5954
 
5821
- var messages$k = {
5955
+ var messages$m = {
5822
5956
  alreadyHaveAccount: "이미 계정이 있습니까?",
5823
5957
  loginHere: "여기에서 로그인하세요.",
5824
5958
  checkbox: "이 유료 멤버십을 선물하려면 체크하세요."
5825
5959
  };
5826
- var labels$j = {
5960
+ var labels$l = {
5827
5961
  plan: {
5828
5962
  title: "요금제 가입하기",
5829
5963
  subtitle: "아래 요금제 중 하나를 선택하고 다음을 클릭하세요."
@@ -5840,15 +5974,48 @@ var labels$j = {
5840
5974
  or: "아래에서 다른 상품을 선택해주시기 바랍니다."
5841
5975
  }
5842
5976
  };
5843
- var buttons$6 = {
5977
+ var buttons$8 = {
5844
5978
  next: "다음",
5845
5979
  select: "선택",
5846
5980
  back: "뒤로"
5847
5981
  };
5848
5982
  var select_ko = {
5849
- messages: messages$k,
5850
- labels: labels$j,
5851
- buttons: buttons$6
5983
+ messages: messages$m,
5984
+ labels: labels$l,
5985
+ buttons: buttons$8
5986
+ };
5987
+
5988
+ var messages$l = {
5989
+ alreadyHaveAccount: "이미 계정이 있습니까?",
5990
+ loginHere: "여기에서 로그인하세요.",
5991
+ checkbox: "이 유료 멤버십을 선물하려면 체크하세요."
5992
+ };
5993
+ var labels$k = {
5994
+ plan: {
5995
+ title: "요금제 가입하기",
5996
+ subtitle: "아래 요금제 중 하나를 선택하고 다음을 클릭하세요."
5997
+ },
5998
+ product: {
5999
+ title: "상품 가입하기",
6000
+ subtitle: "아래 상품 중 하나를 선택하고 다음을 클릭하세요."
6001
+ },
6002
+ selectProduct: "상품 선택",
6003
+ selectPlan: "요금제 선택",
6004
+ startingAt: "시작일:",
6005
+ restrictiveArticles: {
6006
+ subscribeTo: "이 페이지에 액세스하려면 다음 요금제 중 하나에 가입하거나",
6007
+ or: "아래에서 다른 상품을 선택해주시기 바랍니다."
6008
+ }
6009
+ };
6010
+ var buttons$7 = {
6011
+ next: "다음",
6012
+ select: "선택",
6013
+ back: "뒤로"
6014
+ };
6015
+ var donation_ko = {
6016
+ messages: messages$l,
6017
+ labels: labels$k,
6018
+ buttons: buttons$7
5852
6019
  };
5853
6020
 
5854
6021
  var confirm$3 = {
@@ -5861,46 +6028,46 @@ var notification_ko = {
5861
6028
  confirm: confirm$3
5862
6029
  };
5863
6030
 
5864
- var labels$i = {
6031
+ var labels$j = {
5865
6032
  title: "이메일 주소를 인증하세요.",
5866
6033
  instructions: "거의 완료되었습니다!\n이메일 주소만 인증하면 됩니다.\n다음 이메일 주소로 전송된 인증 링크를 클릭해 주십시오:",
5867
6034
  resend: "이메일 재전송"
5868
6035
  };
5869
- var messages$j = {
6036
+ var messages$k = {
5870
6037
  resent: "재전송 완료",
5871
6038
  success: "이메일 주소가 인증되었습니다!"
5872
6039
  };
5873
6040
  var verifyEmail_ko = {
5874
- labels: labels$i,
5875
- messages: messages$j
6041
+ labels: labels$j,
6042
+ messages: messages$k
5876
6043
  };
5877
6044
 
5878
6045
  var title$9 = "인보이스 세부 정보";
5879
- var labels$h = {
6046
+ var labels$i = {
5880
6047
  summary: "요약",
5881
6048
  total: "총계",
5882
6049
  amountPaid: "지불된 금액",
5883
6050
  amountDue: "지불액",
5884
6051
  creationDate: "생성일:"
5885
6052
  };
5886
- var buttons$5 = {
6053
+ var buttons$6 = {
5887
6054
  download: "다운로드",
5888
6055
  pay: "지금 지불"
5889
6056
  };
5890
6057
  var invoiceDetails_ko = {
5891
6058
  title: title$9,
5892
- labels: labels$h,
5893
- buttons: buttons$5
6059
+ labels: labels$i,
6060
+ buttons: buttons$6
5894
6061
  };
5895
6062
 
5896
- var labels$g = {
6063
+ var labels$h = {
5897
6064
  title: "구독 중단",
5898
6065
  suspensionDate: "중단 날짜",
5899
6066
  subCancellation: {
5900
6067
  goBack: "돌아가기"
5901
6068
  }
5902
6069
  };
5903
- var messages$i = {
6070
+ var messages$j = {
5904
6071
  suspensionEnd: "일시 중지가 만료되도록 설정되었습니다.",
5905
6072
  suspendNow: "지금 구독 일시 중단",
5906
6073
  suspendLater: "기간 종료 시 일시 중단",
@@ -5913,8 +6080,8 @@ var messages$i = {
5913
6080
  }
5914
6081
  };
5915
6082
  var subscriptionSuspend_ko = {
5916
- labels: labels$g,
5917
- messages: messages$i
6083
+ labels: labels$h,
6084
+ messages: messages$j
5918
6085
  };
5919
6086
 
5920
6087
  var validation = {
@@ -5926,7 +6093,7 @@ var validation = {
5926
6093
  enterLastName: "El apellido es obligatorio.",
5927
6094
  enterPhone: "El número de teléfono es obligatorio."
5928
6095
  };
5929
- var buttons$4 = {
6096
+ var buttons$5 = {
5930
6097
  account: "Mi cuenta",
5931
6098
  login: "Iniciar Sesión"
5932
6099
  };
@@ -6003,7 +6170,7 @@ var confirm$2 = {
6003
6170
  };
6004
6171
  var common_es = {
6005
6172
  validation: validation,
6006
- buttons: buttons$4,
6173
+ buttons: buttons$5,
6007
6174
  dashboard: dashboard,
6008
6175
  select: select$1,
6009
6176
  confirm: confirm$2
@@ -6034,7 +6201,7 @@ var paymentMethod_es = {
6034
6201
  var title$8 = "Ingresa tu correo para suscribirte a nuestro boletín";
6035
6202
  var updateTitle = "Actualizar selecciones del boletín";
6036
6203
  var subtitle$3 = "Podríamos usar tu dirección de correo para otras comunicaciones de marketing";
6037
- var labels$f = {
6204
+ var labels$g = {
6038
6205
  submit: "Enviar",
6039
6206
  firstName: "Nombre",
6040
6207
  lastName: "Apellido",
@@ -6042,7 +6209,7 @@ var labels$f = {
6042
6209
  postalCode: "Código postal",
6043
6210
  required: "obligatorio"
6044
6211
  };
6045
- var messages$h = {
6212
+ var messages$i = {
6046
6213
  alreadyHaveAccount: "¿Ya tienes una cuenta?",
6047
6214
  success: "El boletín se actualizó con éxito",
6048
6215
  loginHere: "Inicia sesión aquí.",
@@ -6053,14 +6220,14 @@ var newsletter_es = {
6053
6220
  title: title$8,
6054
6221
  updateTitle: updateTitle,
6055
6222
  subtitle: subtitle$3,
6056
- labels: labels$f,
6057
- messages: messages$h
6223
+ labels: labels$g,
6224
+ messages: messages$i
6058
6225
  };
6059
6226
 
6060
- var labels$e = {
6227
+ var labels$f = {
6061
6228
  "continue": "Continuar al contenido"
6062
6229
  };
6063
- var messages$g = {
6230
+ var messages$h = {
6064
6231
  yourFreeTrial: "¡Suscripción exitosa!",
6065
6232
  youHaveAccess: "Esperamos que disfrutes de tu suscripción. Por favor, contáctanos si tienes alguna pregunta o inquietud.",
6066
6233
  clickToLearn: {
@@ -6086,12 +6253,12 @@ var errors$4 = {
6086
6253
  "": ""
6087
6254
  };
6088
6255
  var success_es = {
6089
- labels: labels$e,
6090
- messages: messages$g,
6256
+ labels: labels$f,
6257
+ messages: messages$h,
6091
6258
  errors: errors$4
6092
6259
  };
6093
6260
 
6094
- var messages$f = {
6261
+ var messages$g = {
6095
6262
  freeVisits: "Visitas gratuitas restantes:",
6096
6263
  subscribeNow: "Suscribir",
6097
6264
  alreadyHaveAccount: "¿Ya tienes una cuenta?",
@@ -6101,16 +6268,16 @@ var errors$3 = {
6101
6268
  "": ""
6102
6269
  };
6103
6270
  var meter_es = {
6104
- messages: messages$f,
6271
+ messages: messages$g,
6105
6272
  errors: errors$3
6106
6273
  };
6107
6274
 
6108
- var messages$e = {
6275
+ var messages$f = {
6109
6276
  youAreSafe: "Estás seguro - PCI compliance 128 SSL por",
6110
6277
  bankRedirection: "Por favor, espera, estamos redireccionando a tu banco.",
6111
6278
  bankAuthenticationSuccess: "Por favor, espera un momento mientras procesamos tu solicitud."
6112
6279
  };
6113
- var labels$d = {
6280
+ var labels$e = {
6114
6281
  card: "Ingresar número de tarjeta",
6115
6282
  date: "Vencimiento",
6116
6283
  CVC: "CVC",
@@ -6130,11 +6297,13 @@ var labels$d = {
6130
6297
  firstName: "Nombre",
6131
6298
  lastName: "Apellido",
6132
6299
  phone: "Teléfono",
6133
- freeItems: "Artículos gratis"
6300
+ freeItems: "Artículos gratis",
6301
+ email: "Correo",
6302
+ password: "Contraseña"
6134
6303
  };
6135
6304
  var checkoutForm_es = {
6136
- messages: messages$e,
6137
- labels: labels$d
6305
+ messages: messages$f,
6306
+ labels: labels$e
6138
6307
  };
6139
6308
 
6140
6309
  var youAreSafe = "Estás seguro - PCI compliance 128 SSL por";
@@ -6156,7 +6325,7 @@ var messages_es = {
6156
6325
  zeroTotalInvoice: zeroTotalInvoice
6157
6326
  };
6158
6327
 
6159
- var labels$c = {
6328
+ var labels$d = {
6160
6329
  email: "Ingresar correo",
6161
6330
  password: "Ingresar contraseña",
6162
6331
  required: "obligatorio",
@@ -6164,7 +6333,7 @@ var labels$c = {
6164
6333
  passwordPlaceholder: "Contraseña",
6165
6334
  login: "Iniciar Sesión"
6166
6335
  };
6167
- var messages$d = {
6336
+ var messages$e = {
6168
6337
  loginTo: "Inicia sesión en tu cuenta",
6169
6338
  welcome: "Bienvenido de vuelta, inicia sesión con tu cuenta existente.",
6170
6339
  dontHaveAccount: "¿Aún no tienes una cuenta?",
@@ -6183,28 +6352,28 @@ var errors$2 = {
6183
6352
  "": ""
6184
6353
  };
6185
6354
  var login_es = {
6186
- labels: labels$c,
6187
- messages: messages$d,
6355
+ labels: labels$d,
6356
+ messages: messages$e,
6188
6357
  errors: errors$2
6189
6358
  };
6190
6359
 
6191
- var labels$b = {
6360
+ var labels$c = {
6192
6361
  title: "Verificando Enlace Sin Contraseña",
6193
6362
  instructions: "¡Ya casi terminas!\nVamos a confirmar tu dirección de correo.\nPulsa el enlace de verificación que hemos enviado a tu correo:",
6194
6363
  resend: "Reenviar correo"
6195
6364
  };
6196
- var messages$c = {
6365
+ var messages$d = {
6197
6366
  resent: "Reenvío exitoso",
6198
6367
  success: "Inicio de sesión exitoso"
6199
6368
  };
6200
6369
  var verifyLinkToken_es = {
6201
- labels: labels$b,
6202
- messages: messages$c
6370
+ labels: labels$c,
6371
+ messages: messages$d
6203
6372
  };
6204
6373
 
6205
6374
  var title$7 = "Crear una cuenta";
6206
6375
  var subtitle$2 = "Ingresa tu correo y contraseña a continuación";
6207
- var labels$a = {
6376
+ var labels$b = {
6208
6377
  signUpFacebook: "Regístrate con Facebook",
6209
6378
  signUpGoogle: "Regístrate con Google",
6210
6379
  signUpEmail: "Regístrate con Correo",
@@ -6217,7 +6386,7 @@ var labels$a = {
6217
6386
  lastName: "Apellido",
6218
6387
  phone: "Teléfono"
6219
6388
  };
6220
- var messages$b = {
6389
+ var messages$c = {
6221
6390
  alreadyHaveAccount: " ¿Ya tienes una cuenta?",
6222
6391
  createAccount: "Crear cuenta",
6223
6392
  loginHere: "inicia sesión aquí",
@@ -6263,7 +6432,8 @@ var gift = {
6263
6432
  enterEmail: "Por favor, ingresa el correo del destinatario del regalo",
6264
6433
  invalidDate: "La fecha del regalo debe ser entre hoy y un año a partir de ahora.",
6265
6434
  giftDateInfo: "El destinatario recibirá un correo de notificación del regalo con tu mensaje en la fecha que seleccionaste en la orden para redimir el regalo.",
6266
- giftMessageInfo: "Deja un mensaje para el destinatario y no olvides firmar con tu nombre."
6435
+ giftMessageInfo: "Deja un mensaje para el destinatario y no olvides firmar con tu nombre.",
6436
+ giftMessageAllowedCharacters: "No se permiten caracteres especiales ni emojis."
6267
6437
  }
6268
6438
  };
6269
6439
  var redeem = {
@@ -6291,14 +6461,14 @@ var redeem = {
6291
6461
  var register_es = {
6292
6462
  title: title$7,
6293
6463
  subtitle: subtitle$2,
6294
- labels: labels$a,
6295
- messages: messages$b,
6464
+ labels: labels$b,
6465
+ messages: messages$c,
6296
6466
  errors: errors$1,
6297
6467
  gift: gift,
6298
6468
  redeem: redeem
6299
6469
  };
6300
6470
 
6301
- var labels$9 = {
6471
+ var labels$a = {
6302
6472
  title: "¿Quieres actualizar tu perfil?",
6303
6473
  subtitle: "Ingresa tu información a continuación para actualizar tu perfil",
6304
6474
  email: "Correo",
@@ -6317,21 +6487,21 @@ var labels$9 = {
6317
6487
  zoom: "Acercar",
6318
6488
  tin: "Número de Identificación Fiscal"
6319
6489
  };
6320
- var messages$a = {
6490
+ var messages$b = {
6321
6491
  userUpdated: "¡Gracias! Tu perfil se actualizó con éxito.",
6322
6492
  pictureRemoved: "Tu foto de perfil se eliminó con éxito.",
6323
6493
  pictureUpdated: "Tu foto de perfil se actualizó con éxito."
6324
6494
  };
6325
6495
  var userEdit_es = {
6326
- labels: labels$9,
6327
- messages: messages$a
6496
+ labels: labels$a,
6497
+ messages: messages$b
6328
6498
  };
6329
6499
 
6330
6500
  var title$6 = "Ingresa tu dirección de envío";
6331
6501
  var titleGifting = "Introduce tu dirección";
6332
6502
  var selectAddressTitle = "Por favor, selecciona una dirección";
6333
6503
  var selectAddressSubtitle = "Selecciona una de tus direcciones guardadas o añade una nueva";
6334
- var labels$8 = {
6504
+ var labels$9 = {
6335
6505
  address: "Dirección",
6336
6506
  code: "Código Postal/Área",
6337
6507
  city: "Ciudad",
@@ -6342,12 +6512,12 @@ var labels$8 = {
6342
6512
  required: "obligatorio",
6343
6513
  isDefault: "Configurar como dirección Principal"
6344
6514
  };
6345
- var buttons$3 = {
6515
+ var buttons$4 = {
6346
6516
  submit: "Enviar",
6347
6517
  selectAddress: "Seleccionar dirección",
6348
6518
  addAddress: "Añadir nueva dirección"
6349
6519
  };
6350
- var messages$9 = {
6520
+ var messages$a = {
6351
6521
  addressUpdated: "¡La dirección se actualizó con éxito!",
6352
6522
  subRedeemed: "Tu suscripción ha sido redimida."
6353
6523
  };
@@ -6356,9 +6526,9 @@ var address_es = {
6356
6526
  titleGifting: titleGifting,
6357
6527
  selectAddressTitle: selectAddressTitle,
6358
6528
  selectAddressSubtitle: selectAddressSubtitle,
6359
- labels: labels$8,
6360
- buttons: buttons$3,
6361
- messages: messages$9
6529
+ labels: labels$9,
6530
+ buttons: buttons$4,
6531
+ messages: messages$a
6362
6532
  };
6363
6533
 
6364
6534
  var title$5 = "Restablecer tu contraseña";
@@ -6386,7 +6556,7 @@ var password = "Contraseña";
6386
6556
  var submit$2 = "Enviar";
6387
6557
  var required$2 = "Obligatorio";
6388
6558
  var passwordResetEmailSent = "Las instrucciones de restablecimiento de la contraseña se han enviado a tu correo";
6389
- var messages$8 = {
6559
+ var messages$9 = {
6390
6560
  alreadyHaveAccount: "¿Ya tienes una cuenta?",
6391
6561
  loginHere: "Inicia sesión aquí."
6392
6562
  };
@@ -6397,7 +6567,7 @@ var passwordForgot_es = {
6397
6567
  submit: submit$2,
6398
6568
  required: required$2,
6399
6569
  passwordResetEmailSent: passwordResetEmailSent,
6400
- messages: messages$8
6570
+ messages: messages$9
6401
6571
  };
6402
6572
 
6403
6573
  var title$3 = "Cambiar tu contraseña";
@@ -6425,7 +6595,7 @@ var title$2 = "Acceso sin contraseña";
6425
6595
  var email = "Ingresar correo";
6426
6596
  var submit = "Enviar";
6427
6597
  var required = "obligatorio";
6428
- var messages$7 = {
6598
+ var messages$8 = {
6429
6599
  PasswordlessLoginSuccess: "Por favor, revisa tu correo y sigue las instrucciones que se indican"
6430
6600
  };
6431
6601
  var passwordlessRequest_es = {
@@ -6433,7 +6603,7 @@ var passwordlessRequest_es = {
6433
6603
  email: email,
6434
6604
  submit: submit,
6435
6605
  required: required,
6436
- messages: messages$7
6606
+ messages: messages$8
6437
6607
  };
6438
6608
 
6439
6609
  var title$1 = "Tu carrito de compras";
@@ -6461,13 +6631,13 @@ var cart_es = {
6461
6631
  removeAll: removeAll
6462
6632
  };
6463
6633
 
6464
- var buttons$2 = {
6634
+ var buttons$3 = {
6465
6635
  select: "Seleccionar",
6466
6636
  added: "Añadido al carrito",
6467
6637
  purchase: "Compra",
6468
6638
  "continue": "Continuar"
6469
6639
  };
6470
- var messages$6 = {
6640
+ var messages$7 = {
6471
6641
  orderConfirmed: {
6472
6642
  title: "¡Orden confirmada!",
6473
6643
  body: "Tu orden ha sido confirmada y será enviada en los próximos días. En breve recibirás un correo electrónico de confirmación de esta orden."
@@ -6476,17 +6646,17 @@ var messages$6 = {
6476
6646
  multipleCurrencies: "Tu carrito actualmente contiene artículos que están disponibles en diferentes divisas. Para proceder a la compra, asegúrate de que todos los artículos tengan la misma divisa.",
6477
6647
  currencyMismatch: "El siguiente artículo(s) no coincide con tu divisa predeterminada actual ({{currency}}). Por favor, solo elige artículos que coincidan con esta divisa."
6478
6648
  };
6479
- var labels$7 = {
6649
+ var labels$8 = {
6480
6650
  summary: "Resumen de la orden",
6481
6651
  total: "total"
6482
6652
  };
6483
6653
  var shop_es = {
6484
- buttons: buttons$2,
6485
- messages: messages$6,
6486
- labels: labels$7
6654
+ buttons: buttons$3,
6655
+ messages: messages$7,
6656
+ labels: labels$8
6487
6657
  };
6488
6658
 
6489
- var labels$6 = {
6659
+ var labels$7 = {
6490
6660
  cardNumber: "Número de Tarjeta",
6491
6661
  securityCode: "Código de Seguridad",
6492
6662
  submit: "Enviar",
@@ -6508,7 +6678,7 @@ var labels$6 = {
6508
6678
  title: "Información de Pago"
6509
6679
  }
6510
6680
  };
6511
- var messages$5 = {
6681
+ var messages$6 = {
6512
6682
  youAreSafe: "Estás seguro - PCI compliance 128 SSL por",
6513
6683
  cancel: "Cancela tu suscripción en línea en cualquier momento.",
6514
6684
  giftSent: "La suscripción de regalo se ha enviado a",
@@ -6522,12 +6692,12 @@ var errors = {
6522
6692
  "": ""
6523
6693
  };
6524
6694
  var payment_es = {
6525
- labels: labels$6,
6526
- messages: messages$5,
6695
+ labels: labels$7,
6696
+ messages: messages$6,
6527
6697
  errors: errors
6528
6698
  };
6529
6699
 
6530
- var labels$5 = {
6700
+ var labels$6 = {
6531
6701
  menu: "Menú de Pelcro",
6532
6702
  name: "Nombre",
6533
6703
  email: "Correo",
@@ -6612,9 +6782,12 @@ var labels$5 = {
6612
6782
  },
6613
6783
  subCancellation: {
6614
6784
  goBack: "Volver"
6785
+ },
6786
+ donationCancellation: {
6787
+ goBack: "Go back"
6615
6788
  }
6616
6789
  };
6617
- var messages$4 = {
6790
+ var messages$5 = {
6618
6791
  noCard: "No tienes una tarjeta",
6619
6792
  subCancellation: {
6620
6793
  isSureToCancel: "¿Estás seguro de que quieres cancelar tu suscripción?",
@@ -6631,11 +6804,60 @@ var messages$4 = {
6631
6804
  loading: "Reanudando tu suscripción",
6632
6805
  success: "La suscripción se reanudó con éxito",
6633
6806
  error: "Error al reanudar tu suscripción"
6807
+ },
6808
+ donationCancellation: {
6809
+ isSureToCancel: "¿Estás seguro de que quieres cancelar tu donación?",
6810
+ loading: "Cancelando tu donación",
6811
+ success: "La donación se canceló con éxito",
6812
+ error: "Error al cancelar tu donación"
6813
+ },
6814
+ donationReactivation: {
6815
+ success: "La donación se reactivó con éxito",
6816
+ error: "Error al reactivar su donación"
6817
+ },
6818
+ donationUnSuspend: {
6819
+ isSureToUnSuspend: "¿Estás seguro de que quieres reanudar tu donación?",
6820
+ loading: "Reanudando tu donación",
6821
+ success: "La donación se reanudó con éxito",
6822
+ error: "Error al reanudar tu donación"
6634
6823
  }
6635
6824
  };
6636
6825
  var dashboard_es = {
6826
+ labels: labels$6,
6827
+ messages: messages$5
6828
+ };
6829
+
6830
+ var messages$4 = {
6831
+ alreadyHaveAccount: "¿Ya tienes una cuenta?",
6832
+ loginHere: "Inicia sesión aquí",
6833
+ checkbox: "Marca esta casilla para regalar esta suscripción"
6834
+ };
6835
+ var labels$5 = {
6836
+ plan: {
6837
+ title: "Suscribirse a un plan",
6838
+ subtitle: "Selecciona uno de los planes a continuación y pulsa en siguiente."
6839
+ },
6840
+ product: {
6841
+ title: "Suscribirse a un producto",
6842
+ subtitle: "Selecciona uno de los productos a continuación y pulsa en siguiente."
6843
+ },
6844
+ selectProduct: "Selecciona un producto",
6845
+ selectPlan: "Selecciona un plan",
6846
+ startingAt: "Inicia el",
6847
+ restrictiveArticles: {
6848
+ subscribeTo: "Suscríbete a una de las siguientes opciones para obtener acceso a esta página",
6849
+ or: "O revisa algunas de nuestras otras opciones a continuación"
6850
+ }
6851
+ };
6852
+ var buttons$2 = {
6853
+ next: "Siguiente",
6854
+ select: "Seleccionar",
6855
+ back: "Volver"
6856
+ };
6857
+ var select_es = {
6858
+ messages: messages$4,
6637
6859
  labels: labels$5,
6638
- messages: messages$4
6860
+ buttons: buttons$2
6639
6861
  };
6640
6862
 
6641
6863
  var messages$3 = {
@@ -6665,7 +6887,7 @@ var buttons$1 = {
6665
6887
  select: "Seleccionar",
6666
6888
  back: "Volver"
6667
6889
  };
6668
- var select_es = {
6890
+ var donation_es = {
6669
6891
  messages: messages$3,
6670
6892
  labels: labels$4,
6671
6893
  buttons: buttons$1
@@ -9046,6 +9268,9 @@ const initialState$n = {
9046
9268
  giftCode: "",
9047
9269
  subscriptionIdToRenew: null,
9048
9270
  subscriptionToManageMembers: null,
9271
+ isDonation: false,
9272
+ selectedDonationAmount: null,
9273
+ customDonationAmount: null,
9049
9274
  // E-commerce
9050
9275
  cartItems: [],
9051
9276
  order: null,
@@ -9119,16 +9344,19 @@ const ZERO_DECIMAL_CURRENCIES = ["BIF", "CLP", "DJF", "GNF", "JPY", "KMF", "KRW"
9119
9344
  const isCurrencyZeroDecimal = currency => ZERO_DECIMAL_CURRENCIES.includes(currency.toUpperCase());
9120
9345
  const sortCountries = countries => {
9121
9346
  const sortable = [];
9122
- delete countries.CA;
9123
- delete countries.US;
9124
- for (const abbr in countries) {
9125
- sortable.push([abbr, countries[abbr]]);
9347
+ const {
9348
+ CA,
9349
+ US,
9350
+ ...rest
9351
+ } = countries;
9352
+ for (const abbr in rest) {
9353
+ sortable.push([abbr, rest[abbr]]);
9126
9354
  }
9127
9355
  sortable.sort((a, b) => {
9128
9356
  if (a[1] > b[1]) return 1;
9129
9357
  return -1;
9130
9358
  });
9131
- sortable.unshift(["US", "United States"], ["CA", "Canada"]);
9359
+ sortable.unshift(["US", US], ["CA", CA]);
9132
9360
  return sortable;
9133
9361
  };
9134
9362
 
@@ -9232,7 +9460,7 @@ const calcAndFormatItemsTotal = (items, currency) => {
9232
9460
  * @return {boolean}
9233
9461
  */
9234
9462
  const isValidViewFromURL = viewID => {
9235
- if (["login", "register", "plan-select", "gift-redeem", "password-forgot", "password-reset", "password-change", "passwordless-request", "passwordless-login", "payment-method-update", "user-edit", "newsletter", "address-create", "order-create", "cart", "email-verify", "invoice-details", "manage-members"].includes(viewID) || hasValidNewsletterUpdateUrl()) {
9463
+ if (["login", "register", "plan-select", "donation-select", "gift-redeem", "password-forgot", "password-reset", "password-change", "passwordless-request", "passwordless-login", "payment-method-update", "user-edit", "newsletter", "address-create", "order-create", "cart", "email-verify", "invoice-details", "manage-members"].includes(viewID) || hasValidNewsletterUpdateUrl()) {
9236
9464
  return true;
9237
9465
  }
9238
9466
  return false;
@@ -9439,6 +9667,24 @@ function notifyBugsnag(callback, startOptions) {
9439
9667
  callback();
9440
9668
  }
9441
9669
 
9670
+ //create a safe and strong password string with special characters
9671
+ function generatePassword() {
9672
+ const length = 16;
9673
+ const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+{}|:<>?`~";
9674
+ let retVal = "";
9675
+ for (let i = 0, n = charset.length; i < length; ++i) {
9676
+ retVal += charset.charAt(Math.floor(Math.random() * n));
9677
+ }
9678
+ return retVal;
9679
+ }
9680
+ function isStringValid(str) {
9681
+ // Define the regular expression to match only letters, numbers and spaces
9682
+ var regex = /^(?:[\p{L}\p{N}\p{Pc}\p{Zs}\n]+$|^[\\\p{Script=Hangul}\p{Pc}\p{Zs}\n]+)$/mu;
9683
+
9684
+ // Test the string against the regular expression
9685
+ return regex.test(str);
9686
+ }
9687
+
9442
9688
  const resources = {
9443
9689
  en: {
9444
9690
  common: common_en,
@@ -9463,6 +9709,7 @@ const resources = {
9463
9709
  payment: payment_en,
9464
9710
  dashboard: dashboard_en,
9465
9711
  select: select_en,
9712
+ donation: donation_en,
9466
9713
  notification: notification_en,
9467
9714
  invoiceDetails: invoiceDetails_en,
9468
9715
  subscriptionCancel: subscriptionCancel_en,
@@ -9492,6 +9739,7 @@ const resources = {
9492
9739
  payment: payment_fr,
9493
9740
  dashboard: dashboard_fr,
9494
9741
  select: select_fr,
9742
+ donation: donation_fr,
9495
9743
  notification: notification_fr,
9496
9744
  invoiceDetails: invoiceDetails_fr,
9497
9745
  subscriptionCancel: subscriptionCancel_fr,
@@ -9521,6 +9769,7 @@ const resources = {
9521
9769
  payment: payment_ko,
9522
9770
  dashboard: dashboard_ko,
9523
9771
  select: select_ko,
9772
+ donation: donation_ko,
9524
9773
  notification: notification_ko,
9525
9774
  invoiceDetails: invoiceDetails_ko,
9526
9775
  subscriptionCancel: subscriptionCancel_ko,
@@ -9550,6 +9799,7 @@ const resources = {
9550
9799
  payment: payment_es,
9551
9800
  dashboard: dashboard_es,
9552
9801
  select: select_es,
9802
+ donation: donation_es,
9553
9803
  notification: notification_es,
9554
9804
  invoiceDetails: invoiceDetails_es,
9555
9805
  subscriptionCancel: subscriptionCancel_es,
@@ -9585,84 +9835,253 @@ pageLanguageObserver.observe(document.documentElement, {
9585
9835
  attributes: true
9586
9836
  });
9587
9837
 
9588
- function _classPrivateFieldGet(receiver, privateMap) {
9589
- var descriptor = privateMap.get(receiver);
9838
+ var pure$1 = createCommonjsModule(function (module, exports) {
9590
9839
 
9591
- if (!descriptor) {
9592
- throw new TypeError("attempted to get private field on non-instance");
9593
- }
9840
+ Object.defineProperty(exports, '__esModule', { value: true });
9594
9841
 
9595
- if (descriptor.get) {
9596
- return descriptor.get.call(receiver);
9842
+ function _typeof(obj) {
9843
+ "@babel/helpers - typeof";
9844
+
9845
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
9846
+ _typeof = function (obj) {
9847
+ return typeof obj;
9848
+ };
9849
+ } else {
9850
+ _typeof = function (obj) {
9851
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
9852
+ };
9597
9853
  }
9598
9854
 
9599
- return descriptor.value;
9855
+ return _typeof(obj);
9600
9856
  }
9601
9857
 
9602
- var _window$b, _window$Pelcro$b, _window$Pelcro$uiSett$b;
9603
- function _classPrivateFieldInitSpec$2(obj, privateMap, value) { _checkPrivateRedeclaration$2(obj, privateMap); privateMap.set(obj, value); }
9604
- function _checkPrivateRedeclaration$2(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
9605
- const ReactGA$b = (_window$b = window) !== null && _window$b !== void 0 && (_window$Pelcro$b = _window$b.Pelcro) !== null && _window$Pelcro$b !== void 0 && (_window$Pelcro$uiSett$b = _window$Pelcro$b.uiSettings) !== null && _window$Pelcro$uiSett$b !== void 0 && _window$Pelcro$uiSett$b.enableReactGA4 ? ReactGA4 : ReactGA1;
9606
- var _isAlreadySaved = /*#__PURE__*/new WeakMap();
9607
- var _markButtonAsLoading = /*#__PURE__*/new WeakMap();
9608
- var _removeLoadingState = /*#__PURE__*/new WeakMap();
9609
- var _markButtonAsSaved = /*#__PURE__*/new WeakMap();
9610
- var _unmarkSavedButton = /*#__PURE__*/new WeakMap();
9611
- var _markAllSavedButtons = /*#__PURE__*/new WeakMap();
9612
- var _unmarkAllSavedButtons = /*#__PURE__*/new WeakMap();
9613
- var _saveToMetadata = /*#__PURE__*/new WeakMap();
9614
- var _removeMetaData = /*#__PURE__*/new WeakMap();
9615
- var _onClick = /*#__PURE__*/new WeakMap();
9616
- class SaveToMetadataButtonClass {
9617
- constructor() {
9618
- _defineProperty$3(this, "authenticated", () => {
9619
- _classPrivateFieldGet(this, _onClick).call(this, _classPrivateFieldGet(this, _saveToMetadata));
9620
- _classPrivateFieldGet(this, _markAllSavedButtons).call(this);
9621
- });
9622
- _defineProperty$3(this, "unauthenticated", () => {
9623
- const {
9624
- switchView
9625
- } = usePelcro.getStore();
9626
- _classPrivateFieldGet(this, _onClick).call(this, () => switchView("login"));
9627
- _classPrivateFieldGet(this, _unmarkAllSavedButtons).call(this);
9628
- });
9629
- _classPrivateFieldInitSpec$2(this, _isAlreadySaved, {
9630
- writable: true,
9631
- value: button => {
9632
- return button.classList.contains("pelcro-is-active");
9633
- }
9634
- });
9635
- _classPrivateFieldInitSpec$2(this, _markButtonAsLoading, {
9636
- writable: true,
9637
- value: button => {
9638
- button.classList.add("pelcro-is-loading");
9639
- button.disabled = true;
9640
- }
9641
- });
9642
- _classPrivateFieldInitSpec$2(this, _removeLoadingState, {
9643
- writable: true,
9644
- value: button => {
9645
- button.classList.remove("pelcro-is-loading");
9646
- button.disabled = false;
9647
- }
9648
- });
9649
- _classPrivateFieldInitSpec$2(this, _markButtonAsSaved, {
9650
- writable: true,
9651
- value: button => {
9652
- button.classList.add("pelcro-is-active");
9653
- _classPrivateFieldGet(this, _removeLoadingState).call(this, button);
9654
- }
9655
- });
9656
- _classPrivateFieldInitSpec$2(this, _unmarkSavedButton, {
9657
- writable: true,
9658
- value: button => {
9659
- button.classList.remove("pelcro-is-active");
9660
- _classPrivateFieldGet(this, _removeLoadingState).call(this, button);
9858
+ var V3_URL = 'https://js.stripe.com/v3';
9859
+ var V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
9860
+ var EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';
9861
+ var findScript = function findScript() {
9862
+ var scripts = document.querySelectorAll("script[src^=\"".concat(V3_URL, "\"]"));
9863
+
9864
+ for (var i = 0; i < scripts.length; i++) {
9865
+ var script = scripts[i];
9866
+
9867
+ if (!V3_URL_REGEX.test(script.src)) {
9868
+ continue;
9869
+ }
9870
+
9871
+ return script;
9872
+ }
9873
+
9874
+ return null;
9875
+ };
9876
+
9877
+ var injectScript = function injectScript(params) {
9878
+ var queryString = params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';
9879
+ var script = document.createElement('script');
9880
+ script.src = "".concat(V3_URL).concat(queryString);
9881
+ var headOrBody = document.head || document.body;
9882
+
9883
+ if (!headOrBody) {
9884
+ throw new Error('Expected document.body not to be null. Stripe.js requires a <body> element.');
9885
+ }
9886
+
9887
+ headOrBody.appendChild(script);
9888
+ return script;
9889
+ };
9890
+
9891
+ var registerWrapper = function registerWrapper(stripe, startTime) {
9892
+ if (!stripe || !stripe._registerWrapper) {
9893
+ return;
9894
+ }
9895
+
9896
+ stripe._registerWrapper({
9897
+ name: 'stripe-js',
9898
+ version: "1.21.1",
9899
+ startTime: startTime
9900
+ });
9901
+ };
9902
+
9903
+ var stripePromise = null;
9904
+ var loadScript = function loadScript(params) {
9905
+ // Ensure that we only attempt to load Stripe.js at most once
9906
+ if (stripePromise !== null) {
9907
+ return stripePromise;
9908
+ }
9909
+
9910
+ stripePromise = new Promise(function (resolve, reject) {
9911
+ if (typeof window === 'undefined') {
9912
+ // Resolve to null when imported server side. This makes the module
9913
+ // safe to import in an isomorphic code base.
9914
+ resolve(null);
9915
+ return;
9916
+ }
9917
+
9918
+ if (window.Stripe && params) {
9919
+ console.warn(EXISTING_SCRIPT_MESSAGE);
9920
+ }
9921
+
9922
+ if (window.Stripe) {
9923
+ resolve(window.Stripe);
9924
+ return;
9925
+ }
9926
+
9927
+ try {
9928
+ var script = findScript();
9929
+
9930
+ if (script && params) {
9931
+ console.warn(EXISTING_SCRIPT_MESSAGE);
9932
+ } else if (!script) {
9933
+ script = injectScript(params);
9661
9934
  }
9662
- });
9663
- _classPrivateFieldInitSpec$2(this, _markAllSavedButtons, {
9664
- writable: true,
9665
- value: () => {
9935
+
9936
+ script.addEventListener('load', function () {
9937
+ if (window.Stripe) {
9938
+ resolve(window.Stripe);
9939
+ } else {
9940
+ reject(new Error('Stripe.js not available'));
9941
+ }
9942
+ });
9943
+ script.addEventListener('error', function () {
9944
+ reject(new Error('Failed to load Stripe.js'));
9945
+ });
9946
+ } catch (error) {
9947
+ reject(error);
9948
+ return;
9949
+ }
9950
+ });
9951
+ return stripePromise;
9952
+ };
9953
+ var initStripe = function initStripe(maybeStripe, args, startTime) {
9954
+ if (maybeStripe === null) {
9955
+ return null;
9956
+ }
9957
+
9958
+ var stripe = maybeStripe.apply(undefined, args);
9959
+ registerWrapper(stripe, startTime);
9960
+ return stripe;
9961
+ };
9962
+ var validateLoadParams = function validateLoadParams(params) {
9963
+ var errorMessage = "invalid load parameters; expected object of shape\n\n {advancedFraudSignals: boolean}\n\nbut received\n\n ".concat(JSON.stringify(params), "\n");
9964
+
9965
+ if (params === null || _typeof(params) !== 'object') {
9966
+ throw new Error(errorMessage);
9967
+ }
9968
+
9969
+ if (Object.keys(params).length === 1 && typeof params.advancedFraudSignals === 'boolean') {
9970
+ return params;
9971
+ }
9972
+
9973
+ throw new Error(errorMessage);
9974
+ };
9975
+
9976
+ var loadParams;
9977
+ var loadStripeCalled = false;
9978
+ var loadStripe = function loadStripe() {
9979
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
9980
+ args[_key] = arguments[_key];
9981
+ }
9982
+
9983
+ loadStripeCalled = true;
9984
+ var startTime = Date.now();
9985
+ return loadScript(loadParams).then(function (maybeStripe) {
9986
+ return initStripe(maybeStripe, args, startTime);
9987
+ });
9988
+ };
9989
+
9990
+ loadStripe.setLoadParameters = function (params) {
9991
+ if (loadStripeCalled) {
9992
+ throw new Error('You cannot change load parameters after calling loadStripe');
9993
+ }
9994
+
9995
+ loadParams = validateLoadParams(params);
9996
+ };
9997
+
9998
+ exports.loadStripe = loadStripe;
9999
+ });
10000
+
10001
+ unwrapExports(pure$1);
10002
+ pure$1.loadStripe;
10003
+
10004
+ var pure = pure$1;
10005
+ var pure_1 = pure.loadStripe;
10006
+
10007
+ function _classPrivateFieldGet(receiver, privateMap) {
10008
+ var descriptor = privateMap.get(receiver);
10009
+
10010
+ if (!descriptor) {
10011
+ throw new TypeError("attempted to get private field on non-instance");
10012
+ }
10013
+
10014
+ if (descriptor.get) {
10015
+ return descriptor.get.call(receiver);
10016
+ }
10017
+
10018
+ return descriptor.value;
10019
+ }
10020
+
10021
+ var _window$b, _window$Pelcro$b, _window$Pelcro$uiSett$b;
10022
+ function _classPrivateFieldInitSpec$2(obj, privateMap, value) { _checkPrivateRedeclaration$2(obj, privateMap); privateMap.set(obj, value); }
10023
+ function _checkPrivateRedeclaration$2(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
10024
+ const ReactGA$b = (_window$b = window) !== null && _window$b !== void 0 && (_window$Pelcro$b = _window$b.Pelcro) !== null && _window$Pelcro$b !== void 0 && (_window$Pelcro$uiSett$b = _window$Pelcro$b.uiSettings) !== null && _window$Pelcro$uiSett$b !== void 0 && _window$Pelcro$uiSett$b.enableReactGA4 ? ReactGA4 : ReactGA1;
10025
+ var _isAlreadySaved = /*#__PURE__*/new WeakMap();
10026
+ var _markButtonAsLoading = /*#__PURE__*/new WeakMap();
10027
+ var _removeLoadingState = /*#__PURE__*/new WeakMap();
10028
+ var _markButtonAsSaved = /*#__PURE__*/new WeakMap();
10029
+ var _unmarkSavedButton = /*#__PURE__*/new WeakMap();
10030
+ var _markAllSavedButtons = /*#__PURE__*/new WeakMap();
10031
+ var _unmarkAllSavedButtons = /*#__PURE__*/new WeakMap();
10032
+ var _saveToMetadata = /*#__PURE__*/new WeakMap();
10033
+ var _removeMetaData = /*#__PURE__*/new WeakMap();
10034
+ var _onClick = /*#__PURE__*/new WeakMap();
10035
+ class SaveToMetadataButtonClass {
10036
+ constructor() {
10037
+ _defineProperty$3(this, "authenticated", () => {
10038
+ _classPrivateFieldGet(this, _onClick).call(this, _classPrivateFieldGet(this, _saveToMetadata));
10039
+ _classPrivateFieldGet(this, _markAllSavedButtons).call(this);
10040
+ });
10041
+ _defineProperty$3(this, "unauthenticated", () => {
10042
+ const {
10043
+ switchView
10044
+ } = usePelcro.getStore();
10045
+ _classPrivateFieldGet(this, _onClick).call(this, () => switchView("login"));
10046
+ _classPrivateFieldGet(this, _unmarkAllSavedButtons).call(this);
10047
+ });
10048
+ _classPrivateFieldInitSpec$2(this, _isAlreadySaved, {
10049
+ writable: true,
10050
+ value: button => {
10051
+ return button.classList.contains("pelcro-is-active");
10052
+ }
10053
+ });
10054
+ _classPrivateFieldInitSpec$2(this, _markButtonAsLoading, {
10055
+ writable: true,
10056
+ value: button => {
10057
+ button.classList.add("pelcro-is-loading");
10058
+ button.disabled = true;
10059
+ }
10060
+ });
10061
+ _classPrivateFieldInitSpec$2(this, _removeLoadingState, {
10062
+ writable: true,
10063
+ value: button => {
10064
+ button.classList.remove("pelcro-is-loading");
10065
+ button.disabled = false;
10066
+ }
10067
+ });
10068
+ _classPrivateFieldInitSpec$2(this, _markButtonAsSaved, {
10069
+ writable: true,
10070
+ value: button => {
10071
+ button.classList.add("pelcro-is-active");
10072
+ _classPrivateFieldGet(this, _removeLoadingState).call(this, button);
10073
+ }
10074
+ });
10075
+ _classPrivateFieldInitSpec$2(this, _unmarkSavedButton, {
10076
+ writable: true,
10077
+ value: button => {
10078
+ button.classList.remove("pelcro-is-active");
10079
+ _classPrivateFieldGet(this, _removeLoadingState).call(this, button);
10080
+ }
10081
+ });
10082
+ _classPrivateFieldInitSpec$2(this, _markAllSavedButtons, {
10083
+ writable: true,
10084
+ value: () => {
9666
10085
  var _Object$values, _window$Pelcro$user$r;
9667
10086
  const userMetadataArray = (_Object$values = Object.values((_window$Pelcro$user$r = window.Pelcro.user.read().metadata) !== null && _window$Pelcro$user$r !== void 0 ? _window$Pelcro$user$r : {})) === null || _Object$values === void 0 ? void 0 : _Object$values.flat();
9668
10087
  this.saveButtons.forEach(button => {
@@ -10762,7 +11181,7 @@ toast.confirm = function (onConfirm, _ref3) {
10762
11181
  ...options
10763
11182
  });
10764
11183
  setTimeout(() => {
10765
- notify$1.dismiss(id);
11184
+ notify.dismiss(id);
10766
11185
  }, 3000);
10767
11186
  };
10768
11187
  const onFailure = errorValue => {
@@ -10771,11 +11190,11 @@ toast.confirm = function (onConfirm, _ref3) {
10771
11190
  ...options
10772
11191
  });
10773
11192
  setTimeout(() => {
10774
- notify$1.dismiss(id);
11193
+ notify.dismiss(id);
10775
11194
  }, 3000);
10776
11195
  };
10777
11196
  };
10778
- const notify$1 = toast;
11197
+ const notify = toast;
10779
11198
 
10780
11199
  const translations = i18next.t("common:buttons", {
10781
11200
  returnObjects: true
@@ -10836,7 +11255,7 @@ const init$1 = () => {
10836
11255
  const errorMessage = i18next.t("messages:invalidSubscription", {
10837
11256
  returnObjects: true
10838
11257
  });
10839
- return notify$1.error(errorMessage);
11258
+ return notify.error(errorMessage);
10840
11259
  }
10841
11260
  switchView("manage-members");
10842
11261
  });
@@ -10844,7 +11263,7 @@ const init$1 = () => {
10844
11263
  const errorMessage = i18next.t("messages:invalidSubscription", {
10845
11264
  returnObjects: true
10846
11265
  });
10847
- return notify$1.error(errorMessage);
11266
+ return notify.error(errorMessage);
10848
11267
  }
10849
11268
  }
10850
11269
  }
@@ -10902,6 +11321,57 @@ const init$1 = () => {
10902
11321
  }
10903
11322
  }
10904
11323
  }
11324
+ const pelcroDonateButtonsByClass = document.getElementsByClassName("pelcro-donate-button");
11325
+ if (pelcroDonateButtonsByClass.length !== 0) {
11326
+ for (let j = 0; j < pelcroDonateButtonsByClass.length; j++) {
11327
+ if (pelcroDonateButtonsByClass[j].dataset && "productId" in pelcroDonateButtonsByClass[j].dataset) {
11328
+ pelcroDonateButtonsByClass[j].addEventListener("click", e => {
11329
+ var _selectedProduct$plan2;
11330
+ set({
11331
+ isDonation: true
11332
+ });
11333
+ const productsList = window.Pelcro.product.list();
11334
+ if (!(productsList !== null && productsList !== void 0 && productsList.length)) return;
11335
+ const [productId, planId, isGift] = [e.target.dataset.productId, e.target.dataset.planId, e.target.dataset.isGift];
11336
+ const selectedProduct = productsList.find(product => product.id === Number(productId));
11337
+ const selectedPlan = selectedProduct === null || selectedProduct === void 0 ? void 0 : (_selectedProduct$plan2 = selectedProduct.plans) === null || _selectedProduct$plan2 === void 0 ? void 0 : _selectedProduct$plan2.find(plan => plan.id === Number(planId));
11338
+ set({
11339
+ product: selectedProduct,
11340
+ plan: selectedPlan,
11341
+ isGift: Boolean(isGift)
11342
+ });
11343
+ if (!selectedProduct || !selectedPlan) {
11344
+ return switchView("plan-select");
11345
+ }
11346
+
11347
+ // if (!isAuthenticated()) {
11348
+ // return switchView("register");
11349
+ // }
11350
+
11351
+ if (isGift) {
11352
+ return switchView("gift-create");
11353
+ }
11354
+
11355
+ // const requiresAddress = Boolean(
11356
+ // selectedProduct.address_required
11357
+ // );
11358
+
11359
+ // if (requiresAddress) {
11360
+ // return switchToAddressView();
11361
+ // }
11362
+
11363
+ return switchToPaymentView();
11364
+ });
11365
+ } else {
11366
+ pelcroDonateButtonsByClass[j].addEventListener("click", () => {
11367
+ set({
11368
+ isDonation: true
11369
+ });
11370
+ switchView("donation-select");
11371
+ });
11372
+ }
11373
+ }
11374
+ }
10905
11375
  const pelcroOfflineSubButtonsByClass = document.getElementsByClassName("pelcro-offline-subscribe-button");
10906
11376
  if (pelcroOfflineSubButtonsByClass.length !== 0) {
10907
11377
  for (let j = 0; j < pelcroOfflineSubButtonsByClass.length; j++) {
@@ -10981,7 +11451,7 @@ const init$1 = () => {
10981
11451
  const errorMsg = i18next.t("shop:messages.currencyMismatch", {
10982
11452
  currency: userCurrency
10983
11453
  });
10984
- notify$1.error(errorMsg);
11454
+ notify.error(errorMsg);
10985
11455
  }
10986
11456
  });
10987
11457
  }
@@ -11074,7 +11544,7 @@ const init = () => {
11074
11544
  unblurElemWhenUserLogsIn(elemDeepClone, entitlements);
11075
11545
  unblurElemWhenUserLogsOut(elemDeepClone, entitlements);
11076
11546
  const NOTIFICATION_ID = "entitlement";
11077
- notify$1( /*#__PURE__*/React__default.createElement("p", null, /*#__PURE__*/React__default.createElement(Trans, {
11547
+ notify( /*#__PURE__*/React__default.createElement("p", null, /*#__PURE__*/React__default.createElement(Trans, {
11078
11548
  i18nKey: "messages:entitlement"
11079
11549
  }, "Some of the content on this page is available with one or more of our plans.", /*#__PURE__*/React__default.createElement(Link, {
11080
11550
  onClick: () => {
@@ -11089,7 +11559,7 @@ const init = () => {
11089
11559
  plan: selectedPlan
11090
11560
  });
11091
11561
  }
11092
- notify$1.dismiss(NOTIFICATION_ID);
11562
+ notify.dismiss(NOTIFICATION_ID);
11093
11563
  switchView("_plan-select-entitlements");
11094
11564
  }
11095
11565
  }, "Subscribe"), "now to get full page access.")), {
@@ -11154,208 +11624,39 @@ function shouldBlurContent(entitlements) {
11154
11624
  return entitlements.every(entitlement => !window.Pelcro.user.isEntitledTo(entitlement));
11155
11625
  }
11156
11626
 
11157
- var pure$1 = createCommonjsModule(function (module, exports) {
11158
-
11159
- Object.defineProperty(exports, '__esModule', { value: true });
11160
-
11161
- function _typeof(obj) {
11162
- "@babel/helpers - typeof";
11163
-
11164
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
11165
- _typeof = function (obj) {
11166
- return typeof obj;
11167
- };
11168
- } else {
11169
- _typeof = function (obj) {
11170
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
11171
- };
11627
+ /**
11628
+ * Extracts error message from the response error object
11629
+ * @param {Object} error Error object
11630
+ * @return {string}
11631
+ */
11632
+ const getErrorMessages = error => {
11633
+ var _error$error, _error$response, _error$response$data, _error$response3, _error$response3$data, _error$response3$data2, _error$response5, _error$response5$data;
11634
+ if (error !== null && error !== void 0 && (_error$error = error.error) !== null && _error$error !== void 0 && _error$error.message) {
11635
+ return error.error.message;
11172
11636
  }
11173
-
11174
- return _typeof(obj);
11175
- }
11176
-
11177
- var V3_URL = 'https://js.stripe.com/v3';
11178
- var V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
11179
- var EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';
11180
- var findScript = function findScript() {
11181
- var scripts = document.querySelectorAll("script[src^=\"".concat(V3_URL, "\"]"));
11182
-
11183
- for (var i = 0; i < scripts.length; i++) {
11184
- var script = scripts[i];
11185
-
11186
- if (!V3_URL_REGEX.test(script.src)) {
11187
- continue;
11188
- }
11189
-
11190
- return script;
11637
+ if (error !== null && error !== void 0 && (_error$response = error.response) !== null && _error$response !== void 0 && (_error$response$data = _error$response.data) !== null && _error$response$data !== void 0 && _error$response$data.message) {
11638
+ var _error$response2, _error$response2$data;
11639
+ return error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.message;
11191
11640
  }
11641
+ if (error !== null && error !== void 0 && (_error$response3 = error.response) !== null && _error$response3 !== void 0 && (_error$response3$data = _error$response3.data) !== null && _error$response3$data !== void 0 && (_error$response3$data2 = _error$response3$data.error) !== null && _error$response3$data2 !== void 0 && _error$response3$data2.message) {
11642
+ var _error$response4, _error$response4$data, _error$response4$data2;
11643
+ return error === null || error === void 0 ? void 0 : (_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : (_error$response4$data = _error$response4.data) === null || _error$response4$data === void 0 ? void 0 : (_error$response4$data2 = _error$response4$data.error) === null || _error$response4$data2 === void 0 ? void 0 : _error$response4$data2.message;
11644
+ }
11645
+ if (error !== null && error !== void 0 && (_error$response5 = error.response) !== null && _error$response5 !== void 0 && (_error$response5$data = _error$response5.data) !== null && _error$response5$data !== void 0 && _error$response5$data.errors) {
11646
+ var _error$response6, _error$response6$data;
11647
+ const errorMessages = [];
11192
11648
 
11193
- return null;
11194
- };
11195
-
11196
- var injectScript = function injectScript(params) {
11197
- var queryString = params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';
11198
- var script = document.createElement('script');
11199
- script.src = "".concat(V3_URL).concat(queryString);
11200
- var headOrBody = document.head || document.body;
11649
+ // enumerable error (ex: validation errors)
11650
+ Object.values(error === null || error === void 0 ? void 0 : (_error$response6 = error.response) === null || _error$response6 === void 0 ? void 0 : (_error$response6$data = _error$response6.data) === null || _error$response6$data === void 0 ? void 0 : _error$response6$data.errors).forEach(_ref => {
11651
+ let [errorMessage] = _ref;
11652
+ errorMessages.push(errorMessage);
11653
+ });
11201
11654
 
11202
- if (!headOrBody) {
11203
- throw new Error('Expected document.body not to be null. Stripe.js requires a <body> element.');
11204
- }
11205
-
11206
- headOrBody.appendChild(script);
11207
- return script;
11208
- };
11209
-
11210
- var registerWrapper = function registerWrapper(stripe, startTime) {
11211
- if (!stripe || !stripe._registerWrapper) {
11212
- return;
11213
- }
11214
-
11215
- stripe._registerWrapper({
11216
- name: 'stripe-js',
11217
- version: "1.21.1",
11218
- startTime: startTime
11219
- });
11220
- };
11221
-
11222
- var stripePromise = null;
11223
- var loadScript = function loadScript(params) {
11224
- // Ensure that we only attempt to load Stripe.js at most once
11225
- if (stripePromise !== null) {
11226
- return stripePromise;
11227
- }
11228
-
11229
- stripePromise = new Promise(function (resolve, reject) {
11230
- if (typeof window === 'undefined') {
11231
- // Resolve to null when imported server side. This makes the module
11232
- // safe to import in an isomorphic code base.
11233
- resolve(null);
11234
- return;
11235
- }
11236
-
11237
- if (window.Stripe && params) {
11238
- console.warn(EXISTING_SCRIPT_MESSAGE);
11239
- }
11240
-
11241
- if (window.Stripe) {
11242
- resolve(window.Stripe);
11243
- return;
11244
- }
11245
-
11246
- try {
11247
- var script = findScript();
11248
-
11249
- if (script && params) {
11250
- console.warn(EXISTING_SCRIPT_MESSAGE);
11251
- } else if (!script) {
11252
- script = injectScript(params);
11253
- }
11254
-
11255
- script.addEventListener('load', function () {
11256
- if (window.Stripe) {
11257
- resolve(window.Stripe);
11258
- } else {
11259
- reject(new Error('Stripe.js not available'));
11260
- }
11261
- });
11262
- script.addEventListener('error', function () {
11263
- reject(new Error('Failed to load Stripe.js'));
11264
- });
11265
- } catch (error) {
11266
- reject(error);
11267
- return;
11268
- }
11269
- });
11270
- return stripePromise;
11271
- };
11272
- var initStripe = function initStripe(maybeStripe, args, startTime) {
11273
- if (maybeStripe === null) {
11274
- return null;
11275
- }
11276
-
11277
- var stripe = maybeStripe.apply(undefined, args);
11278
- registerWrapper(stripe, startTime);
11279
- return stripe;
11280
- };
11281
- var validateLoadParams = function validateLoadParams(params) {
11282
- var errorMessage = "invalid load parameters; expected object of shape\n\n {advancedFraudSignals: boolean}\n\nbut received\n\n ".concat(JSON.stringify(params), "\n");
11283
-
11284
- if (params === null || _typeof(params) !== 'object') {
11285
- throw new Error(errorMessage);
11286
- }
11287
-
11288
- if (Object.keys(params).length === 1 && typeof params.advancedFraudSignals === 'boolean') {
11289
- return params;
11290
- }
11291
-
11292
- throw new Error(errorMessage);
11293
- };
11294
-
11295
- var loadParams;
11296
- var loadStripeCalled = false;
11297
- var loadStripe = function loadStripe() {
11298
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
11299
- args[_key] = arguments[_key];
11300
- }
11301
-
11302
- loadStripeCalled = true;
11303
- var startTime = Date.now();
11304
- return loadScript(loadParams).then(function (maybeStripe) {
11305
- return initStripe(maybeStripe, args, startTime);
11306
- });
11307
- };
11308
-
11309
- loadStripe.setLoadParameters = function (params) {
11310
- if (loadStripeCalled) {
11311
- throw new Error('You cannot change load parameters after calling loadStripe');
11312
- }
11313
-
11314
- loadParams = validateLoadParams(params);
11315
- };
11316
-
11317
- exports.loadStripe = loadStripe;
11318
- });
11319
-
11320
- unwrapExports(pure$1);
11321
- pure$1.loadStripe;
11322
-
11323
- var pure = pure$1;
11324
- var pure_1 = pure.loadStripe;
11325
-
11326
- /**
11327
- * Extracts error message from the response error object
11328
- * @param {Object} error Error object
11329
- * @return {string}
11330
- */
11331
- const getErrorMessages = error => {
11332
- var _error$error, _error$response, _error$response$data, _error$response3, _error$response3$data, _error$response3$data2, _error$response5, _error$response5$data;
11333
- if (error !== null && error !== void 0 && (_error$error = error.error) !== null && _error$error !== void 0 && _error$error.message) {
11334
- return error.error.message;
11335
- }
11336
- if (error !== null && error !== void 0 && (_error$response = error.response) !== null && _error$response !== void 0 && (_error$response$data = _error$response.data) !== null && _error$response$data !== void 0 && _error$response$data.message) {
11337
- var _error$response2, _error$response2$data;
11338
- return error === null || error === void 0 ? void 0 : (_error$response2 = error.response) === null || _error$response2 === void 0 ? void 0 : (_error$response2$data = _error$response2.data) === null || _error$response2$data === void 0 ? void 0 : _error$response2$data.message;
11339
- }
11340
- if (error !== null && error !== void 0 && (_error$response3 = error.response) !== null && _error$response3 !== void 0 && (_error$response3$data = _error$response3.data) !== null && _error$response3$data !== void 0 && (_error$response3$data2 = _error$response3$data.error) !== null && _error$response3$data2 !== void 0 && _error$response3$data2.message) {
11341
- var _error$response4, _error$response4$data, _error$response4$data2;
11342
- return error === null || error === void 0 ? void 0 : (_error$response4 = error.response) === null || _error$response4 === void 0 ? void 0 : (_error$response4$data = _error$response4.data) === null || _error$response4$data === void 0 ? void 0 : (_error$response4$data2 = _error$response4$data.error) === null || _error$response4$data2 === void 0 ? void 0 : _error$response4$data2.message;
11343
- }
11344
- if (error !== null && error !== void 0 && (_error$response5 = error.response) !== null && _error$response5 !== void 0 && (_error$response5$data = _error$response5.data) !== null && _error$response5$data !== void 0 && _error$response5$data.errors) {
11345
- var _error$response6, _error$response6$data;
11346
- const errorMessages = [];
11347
-
11348
- // enumerable error (ex: validation errors)
11349
- Object.values(error === null || error === void 0 ? void 0 : (_error$response6 = error.response) === null || _error$response6 === void 0 ? void 0 : (_error$response6$data = _error$response6.data) === null || _error$response6$data === void 0 ? void 0 : _error$response6$data.errors).forEach(_ref => {
11350
- let [errorMessage] = _ref;
11351
- errorMessages.push(errorMessage);
11352
- });
11353
-
11354
- // convert to multiline string
11355
- return errorMessages.join("\n");
11356
- }
11357
- if (error !== null && error !== void 0 && error.message) {
11358
- return error.message;
11655
+ // convert to multiline string
11656
+ return errorMessages.join("\n");
11657
+ }
11658
+ if (error !== null && error !== void 0 && error.message) {
11659
+ return error.message;
11359
11660
  }
11360
11661
  };
11361
11662
 
@@ -11476,16 +11777,12 @@ const initPaywalls = () => {
11476
11777
  };
11477
11778
  const loadPaymentSDKs = () => {
11478
11779
  // Lazy load stripe's SDK
11479
- const {
11480
- whenUserReady
11481
- } = usePelcro.getStore();
11780
+ usePelcro.getStore();
11482
11781
  const supportsVantiv = Boolean(window.Pelcro.site.read().vantiv_gateway_settings);
11483
11782
  const supportsTap = Boolean(window.Pelcro.site.read().tap_gateway_settings);
11484
- whenUserReady(() => {
11485
- if (!window.Stripe && !supportsVantiv && !supportsTap) {
11486
- pure_1(window.Pelcro.environment.stripe);
11487
- }
11488
- });
11783
+ if (!window.Stripe && !supportsVantiv && !supportsTap) {
11784
+ pure_1(window.Pelcro.environment.stripe);
11785
+ }
11489
11786
 
11490
11787
  // Load PayPal SDKs
11491
11788
  const supportsPaypal = Boolean(window.Pelcro.site.read().braintree_tokenization);
@@ -11636,6 +11933,9 @@ const initViewFromURL = () => {
11636
11933
  if (view === "plan-select") {
11637
11934
  return initSubscriptionFromURL();
11638
11935
  }
11936
+ if (view === "donation-select") {
11937
+ return initDonationFromURL();
11938
+ }
11639
11939
  if (view === "register") {
11640
11940
  const offlinePlanId = window.Pelcro.helpers.getURLParameter("plan_id");
11641
11941
  if (offlinePlanId) {
@@ -11718,6 +12018,61 @@ const initSubscriptionFromURL = () => {
11718
12018
  });
11719
12019
  };
11720
12020
 
12021
+ /**
12022
+ * Initializes the donation flow if 'product_id' & 'plan_id' params exist
12023
+ * with valid IDs. Otherwise, switches to the donation selection flow
12024
+ */
12025
+ const initDonationFromURL = () => {
12026
+ const {
12027
+ switchView,
12028
+ whenSiteReady,
12029
+ set
12030
+ } = usePelcro.getStore();
12031
+ whenSiteReady(() => {
12032
+ var _selectedProduct$plan2;
12033
+ const productsList = window.Pelcro.product.list();
12034
+ if (!(productsList !== null && productsList !== void 0 && productsList.length)) {
12035
+ return;
12036
+ }
12037
+ const [productId, planId, isGiftParam] = [window.Pelcro.helpers.getURLParameter("product_id"), window.Pelcro.helpers.getURLParameter("plan_id"), window.Pelcro.helpers.getURLParameter("is_gift")];
12038
+ const isGift = (isGiftParam === null || isGiftParam === void 0 ? void 0 : isGiftParam.toLowerCase()) === "true";
12039
+ const selectedProduct = productsList.find(product => product.id === Number(productId));
12040
+ const selectedPlan = selectedProduct === null || selectedProduct === void 0 ? void 0 : (_selectedProduct$plan2 = selectedProduct.plans) === null || _selectedProduct$plan2 === void 0 ? void 0 : _selectedProduct$plan2.find(plan => plan.id === Number(planId));
12041
+ set({
12042
+ product: selectedProduct,
12043
+ plan: selectedPlan,
12044
+ isGift
12045
+ });
12046
+ if (!selectedProduct || !selectedPlan) {
12047
+ set({
12048
+ isDonation: true
12049
+ });
12050
+ return switchView("donation-select");
12051
+ }
12052
+ const {
12053
+ isAuthenticated,
12054
+ switchToAddressView,
12055
+ switchToPaymentView
12056
+ } = usePelcro.getStore();
12057
+
12058
+ // if (!isAuthenticated()) {
12059
+ // return switchView("register");
12060
+ // }
12061
+
12062
+ // if (isGift) {
12063
+ // return switchView("gift-create");
12064
+ // }
12065
+
12066
+ // const requiresAddress = Boolean(selectedProduct.address_required);
12067
+ //
12068
+ // if (requiresAddress) {
12069
+ // return switchToAddressView();
12070
+ // }
12071
+
12072
+ return switchToPaymentView();
12073
+ });
12074
+ };
12075
+
11721
12076
  /**
11722
12077
  * Initializes offline subscription flow if 'plan_id' params exist
11723
12078
  * with valid IDs, Otherwise, ignore the param
@@ -11817,9 +12172,9 @@ const verifyEmailTokenFromUrl = () => {
11817
12172
  token: emailToken
11818
12173
  }, (err, res) => {
11819
12174
  if (err) {
11820
- return notify$1.error(getErrorMessages(err));
12175
+ return notify.error(getErrorMessages(err));
11821
12176
  }
11822
- return notify$1.success(translations.success);
12177
+ return notify.success(translations.success);
11823
12178
  });
11824
12179
  }, {
11825
12180
  once: true
@@ -11843,7 +12198,7 @@ const verifyLinkTokenFromUrl = () => {
11843
12198
  token: loginToken
11844
12199
  }, (err, res) => {
11845
12200
  if (err) {
11846
- return notify$1.error(getErrorMessages(err));
12201
+ return notify.error(getErrorMessages(err));
11847
12202
  }
11848
12203
  const {
11849
12204
  auth_token
@@ -11852,10 +12207,10 @@ const verifyLinkTokenFromUrl = () => {
11852
12207
  auth_token
11853
12208
  }, (err, res) => {
11854
12209
  if (err) {
11855
- return notify$1.error(getErrorMessages(err));
12210
+ return notify.error(getErrorMessages(err));
11856
12211
  }
11857
12212
  resetView();
11858
- return notify$1.success(translations.success);
12213
+ return notify.success(translations.success);
11859
12214
  });
11860
12215
  });
11861
12216
  }, {
@@ -11930,7 +12285,7 @@ const showInvoiceDetailsFromUrl = () => {
11930
12285
  const errorMessage = i18next.t("messages:invalidInvoice", {
11931
12286
  returnObjects: true
11932
12287
  });
11933
- return notify$1.error(errorMessage);
12288
+ return notify.error(errorMessage);
11934
12289
  }
11935
12290
  const {
11936
12291
  invoice
@@ -11939,7 +12294,7 @@ const showInvoiceDetailsFromUrl = () => {
11939
12294
  const errorMessage = i18next.t("messages:zeroTotalInvoice", {
11940
12295
  returnObjects: true
11941
12296
  });
11942
- return notify$1.error(errorMessage);
12297
+ return notify.error(errorMessage);
11943
12298
  }
11944
12299
  return switchView("invoice-details");
11945
12300
  });
@@ -11964,7 +12319,7 @@ const showSubscriptionManageMembersFromUrl = () => {
11964
12319
  const errorMessage = i18next.t("messages:invalidSubscription", {
11965
12320
  returnObjects: true
11966
12321
  });
11967
- return notify$1.error(errorMessage);
12322
+ return notify.error(errorMessage);
11968
12323
  }
11969
12324
  return switchView("manage-members");
11970
12325
  });
@@ -11989,8 +12344,18 @@ const PelcroModalController = _ref => {
11989
12344
  const {
11990
12345
  view,
11991
12346
  isAuthenticated,
11992
- whenSiteReady
12347
+ whenSiteReady,
12348
+ isDonation
11993
12349
  } = usePelcro();
12350
+ const supportsVantiv = Boolean(window.Pelcro.site.read().vantiv_gateway_settings);
12351
+ const supportsTap = Boolean(window.Pelcro.site.read().tap_gateway_settings);
12352
+ React__default.useEffect(() => {
12353
+ if (isDonation) {
12354
+ if (!window.Stripe && !supportsVantiv && !supportsTap) {
12355
+ pure_1(window.Pelcro.environment.stripe);
12356
+ }
12357
+ }
12358
+ }, [isDonation]);
11994
12359
  React__default.useEffect(() => {
11995
12360
  init$1();
11996
12361
  renderShopView(React__default.Children.map(children, child => child).find(_ref2 => {
@@ -12346,6 +12711,7 @@ const HANDLE_REMOVE_MEMBER = "HANDLE_REMOVE_MEMBER";
12346
12711
  const UPDATE_INVITE_BUTTON = "UPDATE_INVITE_BUTTON";
12347
12712
  const UPDATE_MEMBERS = "UPDATE_MEMBERS";
12348
12713
  const UPDATE_REMOVE_MEMBER_ID = "UPDATE_REMOVE_MEMBER_ID";
12714
+ const UPDATE_CYBERSOURCE_SESSION_ID = "UPDATE_CYBERSOURCE_SESSION_ID";
12349
12715
 
12350
12716
  const initialState$m = {
12351
12717
  email: "",
@@ -14522,7 +14888,7 @@ function SelectModalWithHook(props) {
14522
14888
  matchingEntitlements: view === "_plan-select-entitlements" ? entitlements : null
14523
14889
  });
14524
14890
  }
14525
- function productsWithMatchedTaggedFirst() {
14891
+ function productsWithMatchedTaggedFirst$1() {
14526
14892
  var _window$Pelcro$produc;
14527
14893
  const allProducts = (_window$Pelcro$produc = window.Pelcro.product.list()) !== null && _window$Pelcro$produc !== void 0 ? _window$Pelcro$produc : [];
14528
14894
  const productsThatMatchArticleTag = window.Pelcro.product.getByMatchingPageTags();
@@ -14576,48 +14942,419 @@ class SelectModal extends Component {
14576
14942
  }
14577
14943
  document.addEventListener("keydown", this.handleSubmit);
14578
14944
  if (!document.querySelector("#pelcro-selection-view") || !document.querySelector(".pelcro-select-product-wrapper")) {
14579
- var _window$Pelcro2, _window$Pelcro2$user, _window$Pelcro3, _window$Pelcro3$user, _window$Pelcro4, _window$Pelcro4$user, _window$Pelcro5, _window$Pelcro5$site;
14580
- const userCurrency = (_window$Pelcro2 = window.Pelcro) === null || _window$Pelcro2 === void 0 ? void 0 : (_window$Pelcro2$user = _window$Pelcro2.user) === null || _window$Pelcro2$user === void 0 ? void 0 : _window$Pelcro2$user.read().currency;
14581
- const userCountry = (_window$Pelcro3 = window.Pelcro) === null || _window$Pelcro3 === void 0 ? void 0 : (_window$Pelcro3$user = _window$Pelcro3.user) === null || _window$Pelcro3$user === void 0 ? void 0 : _window$Pelcro3$user.location.countryCode;
14582
- const userLanguage = (_window$Pelcro4 = window.Pelcro) === null || _window$Pelcro4 === void 0 ? void 0 : (_window$Pelcro4$user = _window$Pelcro4.user) === null || _window$Pelcro4$user === void 0 ? void 0 : _window$Pelcro4$user.read().language;
14583
- const productsMatchingUserCurrency = (_window$Pelcro5 = window.Pelcro) === null || _window$Pelcro5 === void 0 ? void 0 : (_window$Pelcro5$site = _window$Pelcro5.site) === null || _window$Pelcro5$site === void 0 ? void 0 : _window$Pelcro5$site.read().products.filter(product => {
14945
+ var _window$Pelcro2, _window$Pelcro2$user, _window$Pelcro3, _window$Pelcro3$user, _window$Pelcro4, _window$Pelcro4$user, _window$Pelcro5, _window$Pelcro5$site;
14946
+ const userCurrency = (_window$Pelcro2 = window.Pelcro) === null || _window$Pelcro2 === void 0 ? void 0 : (_window$Pelcro2$user = _window$Pelcro2.user) === null || _window$Pelcro2$user === void 0 ? void 0 : _window$Pelcro2$user.read().currency;
14947
+ const userCountry = (_window$Pelcro3 = window.Pelcro) === null || _window$Pelcro3 === void 0 ? void 0 : (_window$Pelcro3$user = _window$Pelcro3.user) === null || _window$Pelcro3$user === void 0 ? void 0 : _window$Pelcro3$user.location.countryCode;
14948
+ const userLanguage = (_window$Pelcro4 = window.Pelcro) === null || _window$Pelcro4 === void 0 ? void 0 : (_window$Pelcro4$user = _window$Pelcro4.user) === null || _window$Pelcro4$user === void 0 ? void 0 : _window$Pelcro4$user.read().language;
14949
+ const productsMatchingUserCurrency = (_window$Pelcro5 = window.Pelcro) === null || _window$Pelcro5 === void 0 ? void 0 : (_window$Pelcro5$site = _window$Pelcro5.site) === null || _window$Pelcro5$site === void 0 ? void 0 : _window$Pelcro5$site.read().products.filter(product => {
14950
+ const filteredPlans = product.plans.filter(plan => plan.currency === userCurrency || !userCurrency);
14951
+ if (filteredPlans.length) return filteredPlans;
14952
+ });
14953
+ const productsMatchingUserCountry = productsMatchingUserCurrency.filter(product => {
14954
+ const filteredPlans = product.plans.filter(plan => {
14955
+ var _plan$countries;
14956
+ return plan.countries && ((_plan$countries = plan.countries) === null || _plan$countries === void 0 ? void 0 : _plan$countries.includes(userCountry)) || !plan.countries || !plan.countries.length;
14957
+ });
14958
+ if (filteredPlans.length) return filteredPlans;
14959
+ });
14960
+ notifyBugsnag(() => {
14961
+ Bugsnag.notify("SelectModal - No data viewed", event => {
14962
+ var _window$Pelcro6, _window$Pelcro6$site, _window$Pelcro7, _window$Pelcro7$user, _window$Pelcro8, _window$Pelcro8$uiSet, _window$Pelcro9, _this$props, _window$Pelcro10, _window$Pelcro10$help, _window$Pelcro11, _window$Pelcro11$site;
14963
+ event.addMetadata("MetaData", {
14964
+ site: (_window$Pelcro6 = window.Pelcro) === null || _window$Pelcro6 === void 0 ? void 0 : (_window$Pelcro6$site = _window$Pelcro6.site) === null || _window$Pelcro6$site === void 0 ? void 0 : _window$Pelcro6$site.read(),
14965
+ user: (_window$Pelcro7 = window.Pelcro) === null || _window$Pelcro7 === void 0 ? void 0 : (_window$Pelcro7$user = _window$Pelcro7.user) === null || _window$Pelcro7$user === void 0 ? void 0 : _window$Pelcro7$user.read(),
14966
+ uiVersion: (_window$Pelcro8 = window.Pelcro) === null || _window$Pelcro8 === void 0 ? void 0 : (_window$Pelcro8$uiSet = _window$Pelcro8.uiSettings) === null || _window$Pelcro8$uiSet === void 0 ? void 0 : _window$Pelcro8$uiSet.uiVersion,
14967
+ environment: (_window$Pelcro9 = window.Pelcro) === null || _window$Pelcro9 === void 0 ? void 0 : _window$Pelcro9.environment,
14968
+ matchingEntitlementsProps: (_this$props = this.props) === null || _this$props === void 0 ? void 0 : _this$props.matchingEntitlements,
14969
+ productListState: this.state.productList,
14970
+ methods: {
14971
+ productsWithMatchedTaggedFirst: productsWithMatchedTaggedFirst$1(),
14972
+ pelcroSDKProductsListMethod: window.Pelcro.product.list(),
14973
+ pelcroSDKGetByEntitlements: this.props.matchingEntitlements ? window.Pelcro.product.getByEntitlements(this.props.matchingEntitlements) : null
14974
+ },
14975
+ userCurrency: userCurrency,
14976
+ userCountry: userCountry,
14977
+ userLanguage: userLanguage,
14978
+ siteLanguage: (_window$Pelcro10 = window.Pelcro) === null || _window$Pelcro10 === void 0 ? void 0 : (_window$Pelcro10$help = _window$Pelcro10.helpers) === null || _window$Pelcro10$help === void 0 ? void 0 : _window$Pelcro10$help.getHtmlLanguageAttribute(),
14979
+ products: (_window$Pelcro11 = window.Pelcro) === null || _window$Pelcro11 === void 0 ? void 0 : (_window$Pelcro11$site = _window$Pelcro11.site) === null || _window$Pelcro11$site === void 0 ? void 0 : _window$Pelcro11$site.read().products.length,
14980
+ currency_matching_filter: `${productsMatchingUserCurrency.length} Products Passed`,
14981
+ country_matching_filter: `${productsMatchingUserCountry.length} Products Passed`,
14982
+ language_matching_filter: `${productsMatchingUserCountry.filter(productMatchPageLanguage).length} Products Passed`
14983
+ });
14984
+ });
14985
+ });
14986
+ }
14987
+ });
14988
+ _defineProperty$3(this, "componentWillUnmount", () => {
14989
+ document.removeEventListener("keydown", this.handleSubmit);
14990
+ });
14991
+ _defineProperty$3(this, "handleSubmit", e => {
14992
+ if (e.key === "Enter" && !this.state.disabled) this.submitOption();
14993
+ });
14994
+ _defineProperty$3(this, "onProductChange", e => {
14995
+ const product = window.Pelcro.product.list()[e.target.selectedIndex];
14996
+ this.setState({
14997
+ product: product,
14998
+ plan: product.plans[0]
14999
+ });
15000
+ });
15001
+ _defineProperty$3(this, "onPlanChange", e => {
15002
+ this.setState({
15003
+ plan: this.state.product.plans[e.target.selectedIndex]
15004
+ });
15005
+ });
15006
+ _defineProperty$3(this, "onIsGiftChange", e => {
15007
+ this.setState({
15008
+ isGift: e.target.checked
15009
+ });
15010
+ });
15011
+ _defineProperty$3(this, "countStartPrice", arr => {
15012
+ let startingPlan = arr[0];
15013
+ for (const plan of arr) {
15014
+ if (plan.amount < startingPlan.amount) {
15015
+ startingPlan = plan;
15016
+ }
15017
+ }
15018
+ return `${startingPlan.amount_formatted}/${startingPlan.interval_count > 1 ? `${startingPlan.interval_count} ${startingPlan.interval}s` : `${startingPlan.interval}`}`;
15019
+ });
15020
+ _defineProperty$3(this, "renderOneProduct", (product, index, options) => {
15021
+ const isPlanMode = Boolean(this.state.mode === "plan");
15022
+ const productButtonLabel = isPlanMode ? this.locale("buttons.back") : this.locale("buttons.select");
15023
+ const productButtonCallback = isPlanMode ? this.goBack : this.selectProduct;
15024
+ return /*#__PURE__*/React__default.createElement("div", {
15025
+ key: product.id,
15026
+ className: `plc-flex plc-items-start plc-p-2 plc-mt-4 plc-space-x-3 plc-text-gray-900 plc-border-solid plc-rounded plc-border-primary-500 pelcro-select-product-wrapper ${options !== null && options !== void 0 && options.emphasize ? "plc-border-2" : "plc-border"}`
15027
+ }, product.image && /*#__PURE__*/React__default.createElement("img", {
15028
+ alt: `image of ${product.name}`,
15029
+ src: product.image,
15030
+ className: "plc-object-contain plc-w-1/4 pelcro-select-product-image"
15031
+ }), /*#__PURE__*/React__default.createElement("div", {
15032
+ className: `plc-flex plc-flex-wrap ${product.image ? "plc-w-3/4" : "plc-w-full"}`
15033
+ }, /*#__PURE__*/React__default.createElement("div", {
15034
+ className: "plc-w-full pelcro-select-product-header"
15035
+ }, /*#__PURE__*/React__default.createElement("p", {
15036
+ className: "plc-font-bold pelcro-select-product-title"
15037
+ }, product.name), /*#__PURE__*/React__default.createElement("p", {
15038
+ className: "plc-text-xs pelcro-select-product-description"
15039
+ }, product.description)), /*#__PURE__*/React__default.createElement("div", {
15040
+ className: "plc-flex plc-items-end plc-w-full plc-mt-3"
15041
+ }, product.plans && /*#__PURE__*/React__default.createElement("p", {
15042
+ className: "plc-w-1/2 plc-text-xs pelcro-select-product-cost"
15043
+ }, this.locale("labels.startingAt"), " ", this.countStartPrice(product.plans)), /*#__PURE__*/React__default.createElement(Button, Object.assign({
15044
+ onClick: productButtonCallback,
15045
+ "data-key": product.id,
15046
+ id: "pelcro-select-product-back-button",
15047
+ className: `plc-ml-auto plc-text-xs ${options !== null && options !== void 0 && options.emphasize ? "plc-bg-primary-700" : ""}`
15048
+ }, index === 0 && {
15049
+ autoFocus: true
15050
+ }), productButtonLabel))));
15051
+ });
15052
+ _defineProperty$3(this, "renderProducts", () => {
15053
+ const userDidSelectProduct = Boolean(this.state.mode === "plan");
15054
+ const productsToShow = userDidSelectProduct ? [this.state.product] : this.state.productList;
15055
+ return productsToShow.map((product, index) => {
15056
+ if (product.plans.filter(plan => plan.type === "regular").length > 0) {
15057
+ return this.renderOneProduct(product, index);
15058
+ }
15059
+ });
15060
+ });
15061
+ _defineProperty$3(this, "renderMatchingProductsFirst", () => {
15062
+ const isPlanMode = Boolean(this.state.mode === "plan");
15063
+ if (isPlanMode) {
15064
+ return this.renderOneProduct(this.state.product);
15065
+ }
15066
+ const [productsThatMatchArticleTag, allProductsMinusMatched] = productsWithMatchedTaggedFirst$1();
15067
+
15068
+ // Render normal products if there are no available matching products
15069
+ if (!(productsThatMatchArticleTag !== null && productsThatMatchArticleTag !== void 0 && productsThatMatchArticleTag.length)) {
15070
+ return this.renderProducts();
15071
+ }
15072
+ return /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("h3", {
15073
+ className: "plc-text-sm plc-font-semibold"
15074
+ }, this.locale("labels.restrictiveArticles.subscribeTo")), productsThatMatchArticleTag.map((product, index) => this.renderOneProduct(product, index, {
15075
+ emphasize: true
15076
+ })), (allProductsMinusMatched === null || allProductsMinusMatched === void 0 ? void 0 : allProductsMinusMatched.length) > 0 && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("hr", {
15077
+ className: "plc-my-4"
15078
+ }), /*#__PURE__*/React__default.createElement("h3", {
15079
+ className: "plc-text-sm plc-font-semibold"
15080
+ }, this.locale("labels.restrictiveArticles.or")), allProductsMinusMatched.map((product, index) => this.renderOneProduct(product, index))));
15081
+ });
15082
+ _defineProperty$3(this, "renderPlans", () => {
15083
+ return this.state.planList.map(plan => {
15084
+ const isChecked = this.state.plan.id === plan.id ? true : false;
15085
+ return /*#__PURE__*/React__default.createElement("div", {
15086
+ key: plan.id,
15087
+ className: "plc-p-2 plc-mx-3 plc-mt-2 plc-text-gray-900 plc-border plc-border-gray-400 plc-border-solid plc-rounded pelcro-select-plan-wrapper"
15088
+ }, /*#__PURE__*/React__default.createElement(Radio, {
15089
+ className: "plc-self-start pelcro-select-plan-radio",
15090
+ labelClassName: "plc-cursor-pointer plc-w-full",
15091
+ id: `pelcro-select-plan-${plan.id}`,
15092
+ name: "plan",
15093
+ checked: isChecked,
15094
+ "data-key": plan.id,
15095
+ onChange: this.selectPlan
15096
+ }, /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("p", {
15097
+ className: "plc-font-bold pelcro-select-plan-title"
15098
+ }, plan.nickname), /*#__PURE__*/React__default.createElement("p", {
15099
+ className: "plc-text-xs pelcro-select-plan-description"
15100
+ }, plan.description)), /*#__PURE__*/React__default.createElement("p", {
15101
+ className: "plc-mt-3 plc-font-bold pelcro-select-plan-price"
15102
+ }, plan.amount_formatted)));
15103
+ });
15104
+ });
15105
+ _defineProperty$3(this, "selectProduct", e => {
15106
+ const id = e.target.dataset.key;
15107
+ for (const product of this.state.productList) {
15108
+ if (+product.id === +id) {
15109
+ var _this$state$plan;
15110
+ this.setState({
15111
+ product: product
15112
+ });
15113
+ this.setState({
15114
+ planList: product.plans.filter(plan => plan.type === "regular")
15115
+ });
15116
+ this.setState({
15117
+ mode: "plan"
15118
+ });
15119
+ const isSelectedPlanPartOfThisProduct = ((_this$state$plan = this.state.plan) === null || _this$state$plan === void 0 ? void 0 : _this$state$plan.product_id) === Number(product.id);
15120
+ if (isSelectedPlanPartOfThisProduct) {
15121
+ this.setState({
15122
+ disabled: false
15123
+ });
15124
+ }
15125
+ }
15126
+ }
15127
+ });
15128
+ _defineProperty$3(this, "selectPlan", e => {
15129
+ const id = e.target.dataset.key;
15130
+ for (const plan of this.state.planList) {
15131
+ if (+plan.id === +id) {
15132
+ plan.isCheked = true;
15133
+ this.setState({
15134
+ plan: plan
15135
+ });
15136
+ this.setState({
15137
+ disabled: false
15138
+ });
15139
+ } else {
15140
+ plan.isCheked = false;
15141
+ }
15142
+ }
15143
+ });
15144
+ _defineProperty$3(this, "goBack", () => {
15145
+ this.setState({
15146
+ disabled: true
15147
+ });
15148
+ this.setState({
15149
+ mode: "product"
15150
+ });
15151
+ });
15152
+ _defineProperty$3(this, "submitOption", () => {
15153
+ this.props.setProductAndPlan(this.state.product, this.state.plan, this.state.isGift);
15154
+ const {
15155
+ product,
15156
+ isGift
15157
+ } = this.state;
15158
+ const {
15159
+ setView
15160
+ } = this.props;
15161
+ const isAuthenticated = window.Pelcro.user.isAuthenticated();
15162
+ const {
15163
+ switchToAddressView,
15164
+ switchToPaymentView
15165
+ } = usePelcro.getStore();
15166
+ if (!isAuthenticated) {
15167
+ return setView("register");
15168
+ }
15169
+ if (isGift) {
15170
+ return setView("gift-create");
15171
+ }
15172
+ if (product.address_required) {
15173
+ return switchToAddressView();
15174
+ }
15175
+ return switchToPaymentView();
15176
+ });
15177
+ _defineProperty$3(this, "displayLoginView", () => {
15178
+ this.props.setView("login");
15179
+ });
15180
+ this.state = {
15181
+ product: {},
15182
+ plan: {},
15183
+ isGift: props.isGift,
15184
+ disabled: true,
15185
+ mode: "product",
15186
+ productList: props.matchingEntitlements ? window.Pelcro.product.getByEntitlements(props.matchingEntitlements) : window.Pelcro.product.list()
15187
+ };
15188
+ this.product = this.props.product || window.Pelcro.paywall.getProduct();
15189
+ this.locale = this.props.t;
15190
+ this.closeButton = window.Pelcro.paywall.displayCloseButton();
15191
+ }
15192
+ render() {
15193
+ var _window$Pelcro$produc2, _window$Pelcro$produc3, _window$Pelcro$site$r;
15194
+ const {
15195
+ disableGifting
15196
+ } = this.props;
15197
+ if (this.state.mode === "product") {
15198
+ var _ReactGA$event;
15199
+ ReactGA$7 === null || ReactGA$7 === void 0 ? void 0 : (_ReactGA$event = ReactGA$7.event) === null || _ReactGA$event === void 0 ? void 0 : _ReactGA$event.call(ReactGA$7, {
15200
+ category: "VIEWS",
15201
+ action: "Product Modal Viewed",
15202
+ nonInteraction: true
15203
+ });
15204
+ } else if (this.state.mode === "plan") {
15205
+ var _ReactGA$event2;
15206
+ ReactGA$7 === null || ReactGA$7 === void 0 ? void 0 : (_ReactGA$event2 = ReactGA$7.event) === null || _ReactGA$event2 === void 0 ? void 0 : _ReactGA$event2.call(ReactGA$7, {
15207
+ category: "VIEWS",
15208
+ action: "Plan Modal Viewed",
15209
+ nonInteraction: true
15210
+ });
15211
+ }
15212
+ return /*#__PURE__*/React__default.createElement(Modal, {
15213
+ hideCloseButton: !this.closeButton,
15214
+ onClose: this.props.onClose,
15215
+ id: "pelcro-selection-modal"
15216
+ }, /*#__PURE__*/React__default.createElement(ModalBody, null, /*#__PURE__*/React__default.createElement("div", {
15217
+ id: "pelcro-selection-view"
15218
+ }, /*#__PURE__*/React__default.createElement("div", {
15219
+ className: "plc-mb-6 plc-text-center plc-text-gray-900 pelcro-title-wrapper"
15220
+ }, /*#__PURE__*/React__default.createElement("h4", {
15221
+ className: "plc-text-2xl plc-font-semibold"
15222
+ }, this.product && this.product.paywall.select_title || ((_window$Pelcro$produc2 = window.Pelcro.product.list()[0]) === null || _window$Pelcro$produc2 === void 0 ? void 0 : _window$Pelcro$produc2.paywall.select_title)), /*#__PURE__*/React__default.createElement("p", null, this.product && this.product.paywall.select_subtitle || ((_window$Pelcro$produc3 = window.Pelcro.product.list()[0]) === null || _window$Pelcro$produc3 === void 0 ? void 0 : _window$Pelcro$produc3.paywall.select_subtitle))), /*#__PURE__*/React__default.createElement("div", {
15223
+ className: "pelcro-select-products-wrapper"
15224
+ }, (_window$Pelcro$site$r = window.Pelcro.site.read()) !== null && _window$Pelcro$site$r !== void 0 && _window$Pelcro$site$r.restrictive_paywall_metatags_enabled ? this.renderMatchingProductsFirst() : this.renderProducts()), this.state.mode === "plan" && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
15225
+ className: "plc-overflow-y-scroll plc-max-h-72 pelcro-select-plans-wrapper"
15226
+ }, this.renderPlans()), !disableGifting && /*#__PURE__*/React__default.createElement("div", {
15227
+ className: "plc-flex plc-justify-center plc-mt-2"
15228
+ }, /*#__PURE__*/React__default.createElement(Checkbox, {
15229
+ onChange: this.onIsGiftChange,
15230
+ checked: this.state.isGift,
15231
+ id: "pelcro-input-is-gift"
15232
+ }, this.locale("messages.checkbox"))), /*#__PURE__*/React__default.createElement(Button, {
15233
+ disabled: this.state.disabled,
15234
+ onClick: this.submitOption,
15235
+ id: "pelcro-submit",
15236
+ className: "plc-w-full plc-mt-2"
15237
+ }, this.locale("buttons.next"))))), /*#__PURE__*/React__default.createElement(ModalFooter, null, !window.Pelcro.user.isAuthenticated() && /*#__PURE__*/React__default.createElement("p", null, this.locale("messages.alreadyHaveAccount") + " ", /*#__PURE__*/React__default.createElement(Link, {
15238
+ id: "pelcro-link-login",
15239
+ onClick: this.displayLoginView
15240
+ }, this.locale("messages.loginHere"))), /*#__PURE__*/React__default.createElement(Authorship, null)));
15241
+ }
15242
+ }
15243
+ const SelectModalWithTrans = withTranslation("select")(SelectModal);
15244
+
15245
+ /**
15246
+ *
15247
+ */
15248
+ function DonationModalWithHook(props) {
15249
+ React__default.useEffect(() => {
15250
+ var _props$onDisplay;
15251
+ (_props$onDisplay = props.onDisplay) === null || _props$onDisplay === void 0 ? void 0 : _props$onDisplay.call(props);
15252
+ }, []);
15253
+ const {
15254
+ isGift,
15255
+ plan,
15256
+ product,
15257
+ isRenewingGift,
15258
+ switchView,
15259
+ resetView,
15260
+ view,
15261
+ set
15262
+ } = usePelcro();
15263
+ const entitlementsProtectedElements = document.querySelectorAll("[data-pelcro-entitlements]");
15264
+ const entitlements = entitlementsProtectedElements.length > 0 ? getEntitlementsFromElem(entitlementsProtectedElements[0]) : null;
15265
+ return /*#__PURE__*/React__default.createElement(DonationModalWithTrans, {
15266
+ isGift: isGift,
15267
+ disableGifting: isRenewingGift,
15268
+ plan: plan,
15269
+ product: product,
15270
+ onClose: () => {
15271
+ var _props$onClose;
15272
+ (_props$onClose = props.onClose) === null || _props$onClose === void 0 ? void 0 : _props$onClose.call(props);
15273
+ resetView();
15274
+ },
15275
+ setProductAndPlan: (product, plan, isGift, selectedDonationAmount, customDonationAmount) => set({
15276
+ product,
15277
+ plan,
15278
+ isGift,
15279
+ selectedDonationAmount,
15280
+ customDonationAmount
15281
+ }),
15282
+ setView: switchView,
15283
+ matchingEntitlements: view === "_plan-select-entitlements" ? entitlements : null
15284
+ });
15285
+ }
15286
+ function productsWithMatchedTaggedFirst() {
15287
+ var _window$Pelcro$produc;
15288
+ const allProducts = (_window$Pelcro$produc = window.Pelcro.product.list()) !== null && _window$Pelcro$produc !== void 0 ? _window$Pelcro$produc : [];
15289
+ const productsThatMatchArticleTag = window.Pelcro.product.getByMatchingPageTags();
15290
+ const allProductsMinusMatched = allProducts.filter(product => !productsThatMatchArticleTag.some(matchedProduct => matchedProduct.id === product.id));
15291
+ return [productsThatMatchArticleTag, allProductsMinusMatched];
15292
+ }
15293
+ DonationModalWithHook.viewId = "donation-select";
15294
+ class DonationModal extends Component {
15295
+ constructor(props) {
15296
+ super(props);
15297
+ _defineProperty$3(this, "componentDidMount", () => {
15298
+ if (this.props.product) {
15299
+ const {
15300
+ product
15301
+ } = this.props;
15302
+ const planList = product.plans;
15303
+ this.setState({
15304
+ product,
15305
+ planList,
15306
+ mode: "plan"
15307
+ });
15308
+ }
15309
+ if (this.props.plan) {
15310
+ const {
15311
+ plan
15312
+ } = this.props;
15313
+ this.setState({
15314
+ plan,
15315
+ disabled: false
15316
+ });
15317
+ }
15318
+ if (this.state.productList.length === 1) {
15319
+ this.setState({
15320
+ product: this.state.productList[0],
15321
+ planList: this.state.productList[0].plans,
15322
+ mode: "plan"
15323
+ });
15324
+ }
15325
+
15326
+ // if (
15327
+ // this.state.productList.length === 0 &&
15328
+ // !window.Pelcro.user.isAuthenticated()
15329
+ // ) {
15330
+ // this.props.setView("register");
15331
+ // }
15332
+
15333
+ document.addEventListener("keydown", this.handleSubmit);
15334
+ if (!document.querySelector("#pelcro-selection-view") || !document.querySelector(".pelcro-select-product-wrapper")) {
15335
+ var _window$Pelcro, _window$Pelcro$user, _window$Pelcro2, _window$Pelcro2$user, _window$Pelcro3, _window$Pelcro3$user, _window$Pelcro4, _window$Pelcro4$site;
15336
+ const userCurrency = (_window$Pelcro = window.Pelcro) === null || _window$Pelcro === void 0 ? void 0 : (_window$Pelcro$user = _window$Pelcro.user) === null || _window$Pelcro$user === void 0 ? void 0 : _window$Pelcro$user.read().currency;
15337
+ const userCountry = (_window$Pelcro2 = window.Pelcro) === null || _window$Pelcro2 === void 0 ? void 0 : (_window$Pelcro2$user = _window$Pelcro2.user) === null || _window$Pelcro2$user === void 0 ? void 0 : _window$Pelcro2$user.location.countryCode;
15338
+ (_window$Pelcro3 = window.Pelcro) === null || _window$Pelcro3 === void 0 ? void 0 : (_window$Pelcro3$user = _window$Pelcro3.user) === null || _window$Pelcro3$user === void 0 ? void 0 : _window$Pelcro3$user.read().language;
15339
+ const productsMatchingUserCurrency = (_window$Pelcro4 = window.Pelcro) === null || _window$Pelcro4 === void 0 ? void 0 : (_window$Pelcro4$site = _window$Pelcro4.site) === null || _window$Pelcro4$site === void 0 ? void 0 : _window$Pelcro4$site.read().products.filter(product => {
14584
15340
  const filteredPlans = product.plans.filter(plan => plan.currency === userCurrency || !userCurrency);
14585
15341
  if (filteredPlans.length) return filteredPlans;
14586
15342
  });
14587
- const productsMatchingUserCountry = productsMatchingUserCurrency.filter(product => {
15343
+ productsMatchingUserCurrency.filter(product => {
14588
15344
  const filteredPlans = product.plans.filter(plan => {
14589
15345
  var _plan$countries;
14590
15346
  return plan.countries && ((_plan$countries = plan.countries) === null || _plan$countries === void 0 ? void 0 : _plan$countries.includes(userCountry)) || !plan.countries || !plan.countries.length;
14591
15347
  });
14592
15348
  if (filteredPlans.length) return filteredPlans;
14593
15349
  });
14594
- notifyBugsnag(() => {
14595
- Bugsnag.notify("SelectModal - No data viewed", event => {
14596
- var _window$Pelcro6, _window$Pelcro6$site, _window$Pelcro7, _window$Pelcro7$user, _window$Pelcro8, _window$Pelcro8$uiSet, _window$Pelcro9, _this$props, _window$Pelcro10, _window$Pelcro10$help, _window$Pelcro11, _window$Pelcro11$site;
14597
- event.addMetadata("MetaData", {
14598
- site: (_window$Pelcro6 = window.Pelcro) === null || _window$Pelcro6 === void 0 ? void 0 : (_window$Pelcro6$site = _window$Pelcro6.site) === null || _window$Pelcro6$site === void 0 ? void 0 : _window$Pelcro6$site.read(),
14599
- user: (_window$Pelcro7 = window.Pelcro) === null || _window$Pelcro7 === void 0 ? void 0 : (_window$Pelcro7$user = _window$Pelcro7.user) === null || _window$Pelcro7$user === void 0 ? void 0 : _window$Pelcro7$user.read(),
14600
- uiVersion: (_window$Pelcro8 = window.Pelcro) === null || _window$Pelcro8 === void 0 ? void 0 : (_window$Pelcro8$uiSet = _window$Pelcro8.uiSettings) === null || _window$Pelcro8$uiSet === void 0 ? void 0 : _window$Pelcro8$uiSet.uiVersion,
14601
- environment: (_window$Pelcro9 = window.Pelcro) === null || _window$Pelcro9 === void 0 ? void 0 : _window$Pelcro9.environment,
14602
- matchingEntitlementsProps: (_this$props = this.props) === null || _this$props === void 0 ? void 0 : _this$props.matchingEntitlements,
14603
- productListState: this.state.productList,
14604
- methods: {
14605
- productsWithMatchedTaggedFirst: productsWithMatchedTaggedFirst(),
14606
- pelcroSDKProductsListMethod: window.Pelcro.product.list(),
14607
- pelcroSDKGetByEntitlements: this.props.matchingEntitlements ? window.Pelcro.product.getByEntitlements(this.props.matchingEntitlements) : null
14608
- },
14609
- userCurrency: userCurrency,
14610
- userCountry: userCountry,
14611
- userLanguage: userLanguage,
14612
- siteLanguage: (_window$Pelcro10 = window.Pelcro) === null || _window$Pelcro10 === void 0 ? void 0 : (_window$Pelcro10$help = _window$Pelcro10.helpers) === null || _window$Pelcro10$help === void 0 ? void 0 : _window$Pelcro10$help.getHtmlLanguageAttribute(),
14613
- products: (_window$Pelcro11 = window.Pelcro) === null || _window$Pelcro11 === void 0 ? void 0 : (_window$Pelcro11$site = _window$Pelcro11.site) === null || _window$Pelcro11$site === void 0 ? void 0 : _window$Pelcro11$site.read().products.length,
14614
- currency_matching_filter: `${productsMatchingUserCurrency.length} Products Passed`,
14615
- country_matching_filter: `${productsMatchingUserCountry.length} Products Passed`,
14616
- language_matching_filter: `${productsMatchingUserCountry.filter(productMatchPageLanguage).length} Products Passed`
14617
- });
14618
- });
15350
+ }
15351
+ });
15352
+ _defineProperty$3(this, "componentDidUpdate", (prevProps, prevState) => {
15353
+ var _this$state$planList;
15354
+ if (((_this$state$planList = this.state.planList) === null || _this$state$planList === void 0 ? void 0 : _this$state$planList.length) === 1 && this.state.plan !== this.state.planList[0]) {
15355
+ this.setState({
15356
+ plan: this.state.planList[0]
14619
15357
  });
14620
- console.log("bugsnag Triggered");
14621
15358
  }
14622
15359
  });
14623
15360
  _defineProperty$3(this, "componentWillUnmount", () => {
@@ -14673,9 +15410,7 @@ class SelectModal extends Component {
14673
15410
  className: "plc-text-xs pelcro-select-product-description"
14674
15411
  }, product.description)), /*#__PURE__*/React__default.createElement("div", {
14675
15412
  className: "plc-flex plc-items-end plc-w-full plc-mt-3"
14676
- }, product.plans && /*#__PURE__*/React__default.createElement("p", {
14677
- className: "plc-w-1/2 plc-text-xs pelcro-select-product-cost"
14678
- }, this.locale("labels.startingAt"), " ", this.countStartPrice(product.plans)), /*#__PURE__*/React__default.createElement(Button, Object.assign({
15413
+ }, /*#__PURE__*/React__default.createElement(Button, Object.assign({
14679
15414
  onClick: productButtonCallback,
14680
15415
  "data-key": product.id,
14681
15416
  id: "pelcro-select-product-back-button",
@@ -14715,24 +15450,90 @@ class SelectModal extends Component {
14715
15450
  _defineProperty$3(this, "renderPlans", () => {
14716
15451
  return this.state.planList.map(plan => {
14717
15452
  const isChecked = this.state.plan.id === plan.id ? true : false;
15453
+ let planDetails = /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("div", {
15454
+ className: "plc-bg-gray-100 plc-rounded-md plc-p-3 plc-mt-3 plc-text-sm plc-flex plc-items-center"
15455
+ }, /*#__PURE__*/React__default.createElement("div", {
15456
+ className: "plc-flex plc-items-center plc-flex-1"
15457
+ }, "Auto renew:", " ", /*#__PURE__*/React__default.createElement("span", {
15458
+ className: "plc-inline-flex plc-w-6 plc-ml-1"
15459
+ }, plan.auto_renew ? /*#__PURE__*/React__default.createElement(SvgCheck, {
15460
+ className: "plc-text-green-500"
15461
+ }) : /*#__PURE__*/React__default.createElement(SvgXIcon, {
15462
+ className: "plc-text-red-500"
15463
+ })), " "), /*#__PURE__*/React__default.createElement("div", {
15464
+ className: "plc-flex plc-items-center plc-flex-1"
15465
+ }, "Renewed every:", " ", /*#__PURE__*/React__default.createElement("span", {
15466
+ className: "plc-inline-flex plc-w-6 plc-ml-1 plc-font-bold plc-capitalize"
15467
+ }, plan.interval || "-"))), plan.preset_donation_values && /*#__PURE__*/React__default.createElement("div", {
15468
+ className: "plc-mt-3 plc-pt-3 plc-border-t plc-border-gray-200"
15469
+ }, /*#__PURE__*/React__default.createElement("h5", {
15470
+ className: "plc-mb-4 plc-font-medium plc-text-center"
15471
+ }, "Select amount"), /*#__PURE__*/React__default.createElement("ul", {
15472
+ className: "plc-grid plc-grid-cols-2 plc-gap-3"
15473
+ }, plan.preset_donation_values.map(value => /*#__PURE__*/React__default.createElement("li", {
15474
+ key: value
15475
+ }, /*#__PURE__*/React__default.createElement("button", {
15476
+ className: `plc-bg-white plc-rounded-md plc-flex plc-items-center plc-justify-center plc-text-lg plc-w-full plc-min-h-16 focus:plc-outline-none ${isChecked && +this.state.selectedDonationAmount === +value ? "plc-border-primary-500 plc-text-primary-900 plc-border-2" : "plc-border-gray-200 plc-text-gray-900 plc-border"}`,
15477
+ onClick: () => {
15478
+ this.setState({
15479
+ selectedDonationAmount: +value,
15480
+ customDonationAmount: "",
15481
+ disabled: false
15482
+ });
15483
+ }
15484
+ }, /*#__PURE__*/React__default.createElement("span", {
15485
+ className: "plc-font-bold plc-mr-1"
15486
+ }, value), /*#__PURE__*/React__default.createElement("span", {
15487
+ className: "plc-uppercase"
15488
+ }, plan === null || plan === void 0 ? void 0 : plan.currency))))), /*#__PURE__*/React__default.createElement("div", {
15489
+ className: "plc-relative plc-py-3 plc-mt-3"
15490
+ }, /*#__PURE__*/React__default.createElement("hr", null), " ", /*#__PURE__*/React__default.createElement("span", {
15491
+ className: "plc-absolute plc-top-1/2 plc-left-1/2 plc-transform plc--translate-x-1/2 plc--translate-y-1/2 plc-leading-none plc-bg-white plc-px-2"
15492
+ }, "or"))), /*#__PURE__*/React__default.createElement("div", {
15493
+ className: "plc-relative plc-mt-3"
15494
+ }, /*#__PURE__*/React__default.createElement(Input, {
15495
+ type: "number",
15496
+ value: this.state.customDonationAmount,
15497
+ onChange: e => {
15498
+ if (+e.target.value > 0) {
15499
+ this.setState({
15500
+ customDonationAmount: +e.target.value,
15501
+ selectedDonationAmount: null,
15502
+ disabled: false
15503
+ });
15504
+ } else {
15505
+ this.setState({
15506
+ customDonationAmount: ""
15507
+ });
15508
+ this.setState({
15509
+ disabled: true
15510
+ });
15511
+ }
15512
+ },
15513
+ placeholder: "Donate a custom amount ...",
15514
+ className: "plc-pr-14",
15515
+ wrapperClassName: "plc-mb-0"
15516
+ }), /*#__PURE__*/React__default.createElement("span", {
15517
+ className: "plc-absolute plc-top-1/2 plc-transform plc--translate-y-1/2 plc-right-3 plc-pl-3 plc-border-l plc-border-gray-200 plc-uppercase plc-text-sm"
15518
+ }, plan.currency)));
14718
15519
  return /*#__PURE__*/React__default.createElement("div", {
14719
15520
  key: plan.id,
14720
- className: "plc-p-2 plc-mx-3 plc-mt-2 plc-text-gray-900 plc-border plc-border-gray-400 plc-border-solid plc-rounded pelcro-select-plan-wrapper"
15521
+ className: `plc-p-2 plc-mx-3 plc-mt-2 plc-text-gray-900 plc-border-solid plc-rounded pelcro-select-plan-wrapper ${isChecked ? "plc-border-primary-500 plc-border-2" : "plc-border-gray-400 plc-border "}`
14721
15522
  }, /*#__PURE__*/React__default.createElement(Radio, {
14722
- className: "plc-self-start pelcro-select-plan-radio",
14723
- labelClassName: "plc-cursor-pointer plc-w-full",
15523
+ className: "plc-self-start pelcro-select-plan-radio plc-hidden",
15524
+ labelClassName: "plc-cursor-pointer plc-w-full plc-ml-0",
14724
15525
  id: `pelcro-select-plan-${plan.id}`,
14725
15526
  name: "plan",
14726
15527
  checked: isChecked,
14727
15528
  "data-key": plan.id,
14728
15529
  onChange: this.selectPlan
14729
- }, /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement("p", {
15530
+ }, /*#__PURE__*/React__default.createElement("div", {
15531
+ className: "plc-text-center"
15532
+ }, /*#__PURE__*/React__default.createElement("p", {
14730
15533
  className: "plc-font-bold pelcro-select-plan-title"
14731
15534
  }, plan.nickname), /*#__PURE__*/React__default.createElement("p", {
14732
15535
  className: "plc-text-xs pelcro-select-plan-description"
14733
- }, plan.description)), /*#__PURE__*/React__default.createElement("p", {
14734
- className: "plc-mt-3 plc-font-bold pelcro-select-plan-price"
14735
- }, plan.amount_formatted)));
15536
+ }, plan.description))), isChecked && planDetails);
14736
15537
  });
14737
15538
  });
14738
15539
  _defineProperty$3(this, "selectProduct", e => {
@@ -14740,13 +15541,15 @@ class SelectModal extends Component {
14740
15541
  for (const product of this.state.productList) {
14741
15542
  if (+product.id === +id) {
14742
15543
  var _this$state$plan;
15544
+ const planList = product.plans.filter(plan => plan.type === "donation");
15545
+ if (planList.length === 1) {
15546
+ this.setState({
15547
+ plan: planList[0]
15548
+ });
15549
+ }
14743
15550
  this.setState({
14744
- product: product
14745
- });
14746
- this.setState({
14747
- planList: product.plans
14748
- });
14749
- this.setState({
15551
+ product: product,
15552
+ planList: planList,
14750
15553
  mode: "plan"
14751
15554
  });
14752
15555
  const isSelectedPlanPartOfThisProduct = ((_this$state$plan = this.state.plan) === null || _this$state$plan === void 0 ? void 0 : _this$state$plan.product_id) === Number(product.id);
@@ -14759,6 +15562,12 @@ class SelectModal extends Component {
14759
15562
  }
14760
15563
  });
14761
15564
  _defineProperty$3(this, "selectPlan", e => {
15565
+ this.setState({
15566
+ selectedDonationAmount: null
15567
+ });
15568
+ this.setState({
15569
+ disabled: true
15570
+ });
14762
15571
  const id = e.target.dataset.key;
14763
15572
  for (const plan of this.state.planList) {
14764
15573
  if (+plan.id === +id) {
@@ -14766,9 +15575,6 @@ class SelectModal extends Component {
14766
15575
  this.setState({
14767
15576
  plan: plan
14768
15577
  });
14769
- this.setState({
14770
- disabled: false
14771
- });
14772
15578
  } else {
14773
15579
  plan.isCheked = false;
14774
15580
  }
@@ -14783,7 +15589,7 @@ class SelectModal extends Component {
14783
15589
  });
14784
15590
  });
14785
15591
  _defineProperty$3(this, "submitOption", () => {
14786
- this.props.setProductAndPlan(this.state.product, this.state.plan, this.state.isGift);
15592
+ this.props.setProductAndPlan(this.state.product, this.state.plan, this.state.isGift, this.state.selectedDonationAmount, this.state.customDonationAmount);
14787
15593
  const {
14788
15594
  product,
14789
15595
  isGift
@@ -14796,12 +15602,14 @@ class SelectModal extends Component {
14796
15602
  switchToAddressView,
14797
15603
  switchToPaymentView
14798
15604
  } = usePelcro.getStore();
14799
- if (!isAuthenticated) {
15605
+ if (!isAuthenticated && product.address_required) {
14800
15606
  return setView("register");
14801
15607
  }
14802
- if (isGift) {
14803
- return setView("gift-create");
14804
- }
15608
+
15609
+ // if (isGift) {
15610
+ // return setView("gift-create");
15611
+ // }
15612
+
14805
15613
  if (product.address_required) {
14806
15614
  return switchToAddressView();
14807
15615
  }
@@ -14810,13 +15618,16 @@ class SelectModal extends Component {
14810
15618
  _defineProperty$3(this, "displayLoginView", () => {
14811
15619
  this.props.setView("login");
14812
15620
  });
15621
+ const productList = props.matchingEntitlements ? window.Pelcro.product.getByEntitlements(props.matchingEntitlements).filter(product => product.has_donation_plans === true) : window.Pelcro.product.list().filter(product => product.has_donation_plans === true);
14813
15622
  this.state = {
14814
15623
  product: {},
14815
15624
  plan: {},
14816
15625
  isGift: props.isGift,
14817
15626
  disabled: true,
14818
15627
  mode: "product",
14819
- productList: props.matchingEntitlements ? window.Pelcro.product.getByEntitlements(props.matchingEntitlements) : window.Pelcro.product.list()
15628
+ productList: productList,
15629
+ selectedDonationAmount: null,
15630
+ customDonationAmount: ""
14820
15631
  };
14821
15632
  this.product = this.props.product || window.Pelcro.paywall.getProduct();
14822
15633
  this.locale = this.props.t;
@@ -14824,19 +15635,17 @@ class SelectModal extends Component {
14824
15635
  }
14825
15636
  render() {
14826
15637
  var _window$Pelcro$produc2, _window$Pelcro$produc3, _window$Pelcro$site$r;
14827
- const {
14828
- disableGifting
14829
- } = this.props;
15638
+ this.props;
14830
15639
  if (this.state.mode === "product") {
14831
15640
  var _ReactGA$event;
14832
- ReactGA$7 === null || ReactGA$7 === void 0 ? void 0 : (_ReactGA$event = ReactGA$7.event) === null || _ReactGA$event === void 0 ? void 0 : _ReactGA$event.call(ReactGA$7, {
15641
+ ReactGA1 === null || ReactGA1 === void 0 ? void 0 : (_ReactGA$event = ReactGA1.event) === null || _ReactGA$event === void 0 ? void 0 : _ReactGA$event.call(ReactGA1, {
14833
15642
  category: "VIEWS",
14834
15643
  action: "Product Modal Viewed",
14835
15644
  nonInteraction: true
14836
15645
  });
14837
15646
  } else if (this.state.mode === "plan") {
14838
15647
  var _ReactGA$event2;
14839
- ReactGA$7 === null || ReactGA$7 === void 0 ? void 0 : (_ReactGA$event2 = ReactGA$7.event) === null || _ReactGA$event2 === void 0 ? void 0 : _ReactGA$event2.call(ReactGA$7, {
15648
+ ReactGA1 === null || ReactGA1 === void 0 ? void 0 : (_ReactGA$event2 = ReactGA1.event) === null || _ReactGA$event2 === void 0 ? void 0 : _ReactGA$event2.call(ReactGA1, {
14840
15649
  category: "VIEWS",
14841
15650
  action: "Plan Modal Viewed",
14842
15651
  nonInteraction: true
@@ -14855,25 +15664,16 @@ class SelectModal extends Component {
14855
15664
  }, this.product && this.product.paywall.select_title || ((_window$Pelcro$produc2 = window.Pelcro.product.list()[0]) === null || _window$Pelcro$produc2 === void 0 ? void 0 : _window$Pelcro$produc2.paywall.select_title)), /*#__PURE__*/React__default.createElement("p", null, this.product && this.product.paywall.select_subtitle || ((_window$Pelcro$produc3 = window.Pelcro.product.list()[0]) === null || _window$Pelcro$produc3 === void 0 ? void 0 : _window$Pelcro$produc3.paywall.select_subtitle))), /*#__PURE__*/React__default.createElement("div", {
14856
15665
  className: "pelcro-select-products-wrapper"
14857
15666
  }, (_window$Pelcro$site$r = window.Pelcro.site.read()) !== null && _window$Pelcro$site$r !== void 0 && _window$Pelcro$site$r.restrictive_paywall_metatags_enabled ? this.renderMatchingProductsFirst() : this.renderProducts()), this.state.mode === "plan" && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
14858
- className: "plc-overflow-y-scroll plc-max-h-72 pelcro-select-plans-wrapper"
14859
- }, this.renderPlans()), !disableGifting && /*#__PURE__*/React__default.createElement("div", {
14860
- className: "plc-flex plc-justify-center plc-mt-2"
14861
- }, /*#__PURE__*/React__default.createElement(Checkbox, {
14862
- onChange: this.onIsGiftChange,
14863
- checked: this.state.isGift,
14864
- id: "pelcro-input-is-gift"
14865
- }, this.locale("messages.checkbox"))), /*#__PURE__*/React__default.createElement(Button, {
15667
+ className: "plc-overflow-y-scroll pelcro-select-plans-wrapper"
15668
+ }, this.renderPlans()), /*#__PURE__*/React__default.createElement(Button, {
14866
15669
  disabled: this.state.disabled,
14867
- onClick: this.submitOption,
15670
+ onClick: () => this.submitOption(),
14868
15671
  id: "pelcro-submit",
14869
15672
  className: "plc-w-full plc-mt-2"
14870
- }, this.locale("buttons.next"))))), /*#__PURE__*/React__default.createElement(ModalFooter, null, !window.Pelcro.user.isAuthenticated() && /*#__PURE__*/React__default.createElement("p", null, this.locale("messages.alreadyHaveAccount") + " ", /*#__PURE__*/React__default.createElement(Link, {
14871
- id: "pelcro-link-login",
14872
- onClick: this.displayLoginView
14873
- }, this.locale("messages.loginHere"))), /*#__PURE__*/React__default.createElement(Authorship, null)));
15673
+ }, this.locale("buttons.donate"))))), /*#__PURE__*/React__default.createElement(ModalFooter, null, /*#__PURE__*/React__default.createElement(Authorship, null)));
14874
15674
  }
14875
15675
  }
14876
- const SelectModalWithTrans = withTranslation("select")(SelectModal);
15676
+ const DonationModalWithTrans = withTranslation("donation")(DonationModal);
14877
15677
 
14878
15678
  var Provider_1 = createCommonjsModule(function (module, exports) {
14879
15679
 
@@ -16878,7 +17678,8 @@ class CybersourceGateway {
16878
17678
  product,
16879
17679
  quantity = 1,
16880
17680
  addressId,
16881
- isExistingSource
17681
+ isExistingSource,
17682
+ fingerprint_session_id
16882
17683
  } = options;
16883
17684
  const params = isExistingSource ? {
16884
17685
  source_id: token
@@ -16893,6 +17694,7 @@ class CybersourceGateway {
16893
17694
  campaign_key: window.Pelcro.helpers.getURLParameter("campaign_key"),
16894
17695
  coupon_code: couponCode,
16895
17696
  address_id: product.address_required ? addressId : null,
17697
+ fingerprint_session_id: fingerprint_session_id,
16896
17698
  ...params
16897
17699
  }, (err, res) => {
16898
17700
  callback(err, res);
@@ -17085,11 +17887,16 @@ const initialState$k = {
17085
17887
  firstName: "",
17086
17888
  lastName: "",
17087
17889
  phone: "",
17890
+ email: "",
17891
+ password: "",
17088
17892
  firstNameError: null,
17089
17893
  lastNameError: null,
17090
17894
  phoneError: null,
17895
+ emailError: null,
17091
17896
  month: "",
17092
17897
  year: "",
17898
+ passwordError: null,
17899
+ cyberSourceSessionId: null,
17093
17900
  alert: {
17094
17901
  type: "error",
17095
17902
  content: ""
@@ -17122,7 +17929,11 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17122
17929
  set,
17123
17930
  order,
17124
17931
  selectedPaymentMethodId,
17125
- couponCode
17932
+ couponCode,
17933
+ selectedDonationAmount,
17934
+ customDonationAmount,
17935
+ isAuthenticated,
17936
+ switchView
17126
17937
  } = usePelcro();
17127
17938
  const {
17128
17939
  whenUserReady
@@ -17154,6 +17965,22 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17154
17965
  });
17155
17966
  updateTotalAmountWithTax();
17156
17967
  }, []);
17968
+ const fireBugSnag = _ref2 => {
17969
+ let {
17970
+ error,
17971
+ title
17972
+ } = _ref2;
17973
+ notifyBugsnag(() => {
17974
+ Bugsnag.notify(title !== null && title !== void 0 ? title : "ERROR", event => {
17975
+ var _document$getElementB, _document$querySelect;
17976
+ event.addMetadata("MetaData", {
17977
+ error: error !== null && error !== void 0 ? error : "ERROR",
17978
+ paymentModalViewed: (_document$getElementB = !!document.getElementById("pelcro-subscription-create-modal")) !== null && _document$getElementB !== void 0 ? _document$getElementB : false,
17979
+ errorAppeared: (_document$querySelect = !!document.querySelector(".pelcro-alert-error")) !== null && _document$querySelect !== void 0 ? _document$querySelect : false
17980
+ });
17981
+ });
17982
+ });
17983
+ };
17157
17984
 
17158
17985
  /*====== Start Cybersource integration ========*/
17159
17986
  const cybersourceErrorHandle = err => {
@@ -17163,10 +17990,10 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17163
17990
  const errorMessages = [];
17164
17991
 
17165
17992
  // enumerable error (ex: validation errors)
17166
- Object.values(err === null || err === void 0 ? void 0 : (_err$details2 = err.details) === null || _err$details2 === void 0 ? void 0 : (_err$details2$respons = _err$details2.responseStatus) === null || _err$details2$respons === void 0 ? void 0 : _err$details2$respons.details).forEach(_ref2 => {
17993
+ Object.values(err === null || err === void 0 ? void 0 : (_err$details2 = err.details) === null || _err$details2 === void 0 ? void 0 : (_err$details2$respons = _err$details2.responseStatus) === null || _err$details2$respons === void 0 ? void 0 : _err$details2$respons.details).forEach(_ref3 => {
17167
17994
  let {
17168
17995
  message
17169
- } = _ref2;
17996
+ } = _ref3;
17170
17997
  errorMessages.push(message);
17171
17998
  });
17172
17999
 
@@ -17179,8 +18006,10 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17179
18006
  };
17180
18007
  const submitUsingCybersource = (state, dispatch) => {
17181
18008
  var _cybersourceInstanceR;
18009
+ console.log("State", state);
17182
18010
  const isUsingExistingPaymentMethod = Boolean(selectedPaymentMethodId);
17183
18011
  if (isUsingExistingPaymentMethod) {
18012
+ appendCybersourceFingerprintScripts();
17184
18013
  // no need to create a new source using cybersrce
17185
18014
  return handleCybersourcePayment(null, state);
17186
18015
  }
@@ -17328,7 +18157,8 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17328
18157
  couponCode,
17329
18158
  product,
17330
18159
  isExistingSource: isUsingExistingPaymentMethod,
17331
- addressId: selectedAddressId
18160
+ addressId: selectedAddressId,
18161
+ fingerprint_session_id: state.cyberSourceSessionId
17332
18162
  }, (err, res) => {
17333
18163
  if (err) {
17334
18164
  return handlePaymentError(err);
@@ -17344,6 +18174,28 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17344
18174
  }
17345
18175
  cybersourceInstanceRef.current = microformInstance;
17346
18176
  };
18177
+ const appendCybersourceFingerprintScripts = () => {
18178
+ var _window$Pelcro$site$r, _window$Pelcro$site$r2, _window$Pelcro$site$r3, _window$Pelcro$site$r4;
18179
+ const uniqueId = crypto.randomUUID();
18180
+ const sessionID = ((_window$Pelcro$site$r = window.Pelcro.site.read()) === null || _window$Pelcro$site$r === void 0 ? void 0 : (_window$Pelcro$site$r2 = _window$Pelcro$site$r.cybersource_gateway_settings) === null || _window$Pelcro$site$r2 === void 0 ? void 0 : _window$Pelcro$site$r2.merchant_id) + uniqueId;
18181
+ const orgID = (_window$Pelcro$site$r3 = window.Pelcro.site.read()) === null || _window$Pelcro$site$r3 === void 0 ? void 0 : (_window$Pelcro$site$r4 = _window$Pelcro$site$r3.cybersource_gateway_settings) === null || _window$Pelcro$site$r4 === void 0 ? void 0 : _window$Pelcro$site$r4.org_id;
18182
+ const fingerPrintScript = document.querySelector(`script[src="https://h.online-metrix.net/fp/tags.js?org_id=${orgID}&session_id=${sessionID}"]`);
18183
+ const fingerPringIframe = document.querySelector(`iframe[src="https://h.online-metrix.net/fp/tags?org_id=${orgID}&session_id=${sessionID}"]`);
18184
+ if (!fingerPrintScript && !fingerPringIframe) {
18185
+ window.Pelcro.helpers.loadSDK(`https://h.online-metrix.net/fp/tags.js?org_id=${orgID}&session_id=${sessionID}`, "cybersource-fingerprint-script");
18186
+ const body = document.getElementsByTagName("body")[0];
18187
+ const noscript = document.createElement("noscript");
18188
+ const iframe = document.createElement("iframe");
18189
+ iframe.style.cssText = "width: 100px; height: 100px; border: 0; position:absolute; top: -5000px;";
18190
+ iframe.src = `https://h.online-metrix.net/fp/tags?org_id=${orgID}&session_id=${sessionID}`;
18191
+ noscript.appendChild(iframe);
18192
+ body.insertBefore(noscript, body.firstChild);
18193
+ dispatch({
18194
+ type: UPDATE_CYBERSOURCE_SESSION_ID,
18195
+ payload: uniqueId
18196
+ });
18197
+ }
18198
+ };
17347
18199
  const initCybersourceScript = () => {
17348
18200
  // jwk api call
17349
18201
  window.Pelcro.payment.getJWK({
@@ -17368,6 +18220,7 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17368
18220
  }
17369
18221
  });
17370
18222
  }
18223
+ appendCybersourceFingerprintScripts();
17371
18224
  const {
17372
18225
  key: jwk
17373
18226
  } = res;
@@ -17404,7 +18257,7 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17404
18257
 
17405
18258
  /*====== Start Tap integration ========*/
17406
18259
  const submitUsingTap = state => {
17407
- var _ref3, _ref4, _ref5, _state$updatedPrice;
18260
+ var _ref4, _ref5, _getPlanAmount;
17408
18261
  const isUsingExistingPaymentMethod = Boolean(selectedPaymentMethodId);
17409
18262
  if (isUsingExistingPaymentMethod) {
17410
18263
  // no need to create a new source using tap
@@ -17428,7 +18281,15 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17428
18281
  return total + item.price * item.quantity;
17429
18282
  }, 0);
17430
18283
  };
17431
- const totalAmount = (_ref3 = (_ref4 = (_ref5 = (_state$updatedPrice = state === null || state === void 0 ? void 0 : state.updatedPrice) !== null && _state$updatedPrice !== void 0 ? _state$updatedPrice : plan === null || plan === void 0 ? void 0 : plan.amount) !== null && _ref5 !== void 0 ? _ref5 : invoice === null || invoice === void 0 ? void 0 : invoice.amount_remaining) !== null && _ref4 !== void 0 ? _ref4 : getOrderItemsTotal()) !== null && _ref3 !== void 0 ? _ref3 : 10;
18284
+ function getPlanAmount() {
18285
+ if (state.updatedPrice) return state.updatedPrice;
18286
+ if (plan.type === "donation" && (selectedDonationAmount || customDonationAmount)) {
18287
+ return selectedDonationAmount ? selectedDonationAmount * plan.amount : customDonationAmount * plan.amount;
18288
+ } else {
18289
+ return plan.amount;
18290
+ }
18291
+ }
18292
+ const totalAmount = (_ref4 = (_ref5 = (_getPlanAmount = getPlanAmount()) !== null && _getPlanAmount !== void 0 ? _getPlanAmount : invoice === null || invoice === void 0 ? void 0 : invoice.amount_remaining) !== null && _ref5 !== void 0 ? _ref5 : getOrderItemsTotal()) !== null && _ref4 !== void 0 ? _ref4 : 10;
17432
18293
  tapInstanceRef.current.createToken(tapInstanceCard.current).then(function (result) {
17433
18294
  if (result.error) {
17434
18295
  // Inform the user if there was an error
@@ -17638,8 +18499,8 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17638
18499
  }
17639
18500
  }
17640
18501
  const initTapScript = () => {
17641
- var _window$Pelcro$site$r;
17642
- const tapKey = window.Tapjsli((_window$Pelcro$site$r = window.Pelcro.site.read()) === null || _window$Pelcro$site$r === void 0 ? void 0 : _window$Pelcro$site$r.tap_gateway_settings.publishable_key);
18502
+ var _window$Pelcro$site$r5;
18503
+ const tapKey = window.Tapjsli((_window$Pelcro$site$r5 = window.Pelcro.site.read()) === null || _window$Pelcro$site$r5 === void 0 ? void 0 : _window$Pelcro$site$r5.tap_gateway_settings.publishable_key);
17643
18504
  let elements = tapKey.elements({});
17644
18505
  let style = {
17645
18506
  base: {
@@ -17849,9 +18710,9 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17849
18710
  useEffect(() => {
17850
18711
  if (skipPayment && ((plan === null || plan === void 0 ? void 0 : plan.amount) === 0 || props !== null && props !== void 0 && props.freeOrders)) return;
17851
18712
  if (cardProcessor === "vantiv" && !selectedPaymentMethodId) {
17852
- var _window$Pelcro$site$r2, _window$Pelcro$site$r3;
17853
- const payPageId = (_window$Pelcro$site$r2 = window.Pelcro.site.read()) === null || _window$Pelcro$site$r2 === void 0 ? void 0 : _window$Pelcro$site$r2.vantiv_gateway_settings.pay_page_id;
17854
- const reportGroup = (_window$Pelcro$site$r3 = window.Pelcro.site.read()) === null || _window$Pelcro$site$r3 === void 0 ? void 0 : _window$Pelcro$site$r3.vantiv_gateway_settings.report_group;
18713
+ var _window$Pelcro$site$r6, _window$Pelcro$site$r7;
18714
+ const payPageId = (_window$Pelcro$site$r6 = window.Pelcro.site.read()) === null || _window$Pelcro$site$r6 === void 0 ? void 0 : _window$Pelcro$site$r6.vantiv_gateway_settings.pay_page_id;
18715
+ const reportGroup = (_window$Pelcro$site$r7 = window.Pelcro.site.read()) === null || _window$Pelcro$site$r7 === void 0 ? void 0 : _window$Pelcro$site$r7.vantiv_gateway_settings.report_group;
17855
18716
  vantivInstanceRef.current = new window.EprotectIframeClient({
17856
18717
  paypageId: payPageId,
17857
18718
  reportGroup: reportGroup,
@@ -17907,13 +18768,21 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17907
18768
  }, [selectedPaymentMethodId]);
17908
18769
  const initPaymentRequest = (state, dispatch) => {
17909
18770
  if (skipPayment && ((plan === null || plan === void 0 ? void 0 : plan.amount) === 0 || props !== null && props !== void 0 && props.freeOrders)) return;
18771
+ function getPlanAmount() {
18772
+ if (state.updatedPrice) return state.updatedPrice;
18773
+ if (plan.type === "donation" && (selectedDonationAmount || customDonationAmount)) {
18774
+ return selectedDonationAmount ? selectedDonationAmount * plan.amount : customDonationAmount * plan.amount;
18775
+ } else {
18776
+ return plan.amount;
18777
+ }
18778
+ }
17910
18779
  try {
17911
18780
  const paymentRequest = stripe.paymentRequest({
17912
18781
  country: window.Pelcro.user.location.countryCode || "US",
17913
18782
  currency: plan.currency,
17914
18783
  total: {
17915
18784
  label: plan.nickname || plan.description,
17916
- amount: state.updatedPrice || plan.amount
18785
+ amount: getPlanAmount()
17917
18786
  }
17918
18787
  });
17919
18788
 
@@ -17945,7 +18814,12 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17945
18814
  error
17946
18815
  } = _ref7;
17947
18816
  if (error) {
17948
- return handlePaymentError(error);
18817
+ handlePaymentError(error);
18818
+ fireBugSnag({
18819
+ error,
18820
+ title: "generate3DSecureSource - ERROR"
18821
+ });
18822
+ return;
17949
18823
  }
17950
18824
  toggleAuthenticationPendingView(true, source);
17951
18825
  });
@@ -17974,9 +18848,9 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17974
18848
  * Updates the total amount after adding taxes only if site taxes are enabled
17975
18849
  */
17976
18850
  const updateTotalAmountWithTax = () => {
17977
- var _window$Pelcro$site$r4;
18851
+ var _window$Pelcro$site$r8;
17978
18852
  if (skipPayment && ((plan === null || plan === void 0 ? void 0 : plan.amount) === 0 || props !== null && props !== void 0 && props.freeOrders)) return;
17979
- const taxesEnabled = (_window$Pelcro$site$r4 = window.Pelcro.site.read()) === null || _window$Pelcro$site$r4 === void 0 ? void 0 : _window$Pelcro$site$r4.taxes_enabled;
18853
+ const taxesEnabled = (_window$Pelcro$site$r8 = window.Pelcro.site.read()) === null || _window$Pelcro$site$r8 === void 0 ? void 0 : _window$Pelcro$site$r8.taxes_enabled;
17980
18854
  if (taxesEnabled && type === "createPayment") {
17981
18855
  dispatch({
17982
18856
  type: DISABLE_SUBMIT,
@@ -18229,13 +19103,18 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18229
19103
  });
18230
19104
  if (res.error) {
18231
19105
  onFailure(res.error);
18232
- return dispatch({
19106
+ dispatch({
18233
19107
  type: SHOW_ALERT,
18234
19108
  payload: {
18235
19109
  type: "error",
18236
19110
  content: isSubCreate ? t("messages.tryAgainFromInvoice") : getErrorMessages(res.error)
18237
19111
  }
18238
19112
  });
19113
+ fireBugSnag({
19114
+ error: getErrorMessages(res.error),
19115
+ title: "StripeConfirmCardPayment - ERROR"
19116
+ });
19117
+ return;
18239
19118
  }
18240
19119
  onSuccess(res);
18241
19120
  });
@@ -18251,13 +19130,18 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18251
19130
  payload: false
18252
19131
  });
18253
19132
  onFailure(error);
18254
- return dispatch({
19133
+ dispatch({
18255
19134
  type: SHOW_ALERT,
18256
19135
  payload: {
18257
19136
  type: "error",
18258
19137
  content: isSubCreate ? t("messages.tryAgainFromInvoice") : t("messages.cardAuthFailed")
18259
19138
  }
18260
19139
  });
19140
+ fireBugSnag({
19141
+ error: getErrorMessages(error),
19142
+ title: "StripeConfirmCardPayment - ERROR"
19143
+ });
19144
+ return;
18261
19145
  } else {
18262
19146
  onSuccess(response);
18263
19147
  }
@@ -18272,13 +19156,18 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18272
19156
  });
18273
19157
  if (error) {
18274
19158
  onFailure(error);
18275
- return dispatch({
19159
+ dispatch({
18276
19160
  type: SHOW_ALERT,
18277
19161
  payload: {
18278
19162
  type: "error",
18279
19163
  content: getErrorMessages(error)
18280
19164
  }
18281
19165
  });
19166
+ fireBugSnag({
19167
+ error: getErrorMessages(error),
19168
+ title: "StripeConfirmCardPayment - ERROR"
19169
+ });
19170
+ return;
18282
19171
  }
18283
19172
  onSuccess(response);
18284
19173
  }
@@ -18604,6 +19493,50 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18604
19493
  }
18605
19494
  });
18606
19495
  };
19496
+ const sendRegisterRequest = (state, callback) => {
19497
+ window.Pelcro.user.register({
19498
+ email: state.email,
19499
+ password: generatePassword()
19500
+ }, (err, res) => {
19501
+ if (err) {
19502
+ var _err$response, _err$response$data;
19503
+ let {
19504
+ registered_on_other_sites,
19505
+ ...errors
19506
+ } = err === null || err === void 0 ? void 0 : (_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.errors;
19507
+ err.response.data.errors = {
19508
+ ...errors
19509
+ };
19510
+ let errorContent;
19511
+ if (getErrorMessages(err) === "This email is already in use.") {
19512
+ errorContent = /*#__PURE__*/React__default.createElement("p", null, "This email is already in use.", " ", /*#__PURE__*/React__default.createElement("button", {
19513
+ className: "plc-font-bold plc-underline hover:plc-no-underline",
19514
+ onClick: () => switchView("login")
19515
+ }, "Login to continue"));
19516
+ } else {
19517
+ errorContent = getErrorMessages(err);
19518
+ }
19519
+ dispatch({
19520
+ type: SHOW_ALERT,
19521
+ payload: {
19522
+ type: "error",
19523
+ content: errorContent
19524
+ }
19525
+ });
19526
+ dispatch({
19527
+ type: DISABLE_SUBMIT,
19528
+ payload: false
19529
+ });
19530
+ dispatch({
19531
+ type: LOADING,
19532
+ payload: false
19533
+ });
19534
+ onFailure(err);
19535
+ } else {
19536
+ callback();
19537
+ }
19538
+ });
19539
+ };
18607
19540
  const submitPayment = (state, dispatch) => {
18608
19541
  if (skipPayment && props !== null && props !== void 0 && props.freeOrders) {
18609
19542
  const isQuickPurchase = !Array.isArray(order);
@@ -18631,7 +19564,7 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18631
19564
  stripe.createSource({
18632
19565
  type: "card"
18633
19566
  }).then(_ref9 => {
18634
- var _ref10, _ref11, _state$updatedPrice2;
19567
+ var _ref10, _ref11, _state$updatedPrice;
18635
19568
  let {
18636
19569
  source,
18637
19570
  error
@@ -18654,7 +19587,7 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18654
19587
  return total + item.price * item.quantity;
18655
19588
  }, 0);
18656
19589
  };
18657
- (_ref10 = (_ref11 = (_state$updatedPrice2 = state === null || state === void 0 ? void 0 : state.updatedPrice) !== null && _state$updatedPrice2 !== void 0 ? _state$updatedPrice2 : plan === null || plan === void 0 ? void 0 : plan.amount) !== null && _ref11 !== void 0 ? _ref11 : invoice === null || invoice === void 0 ? void 0 : invoice.amount_remaining) !== null && _ref10 !== void 0 ? _ref10 : getOrderItemsTotal();
19590
+ (_ref10 = (_ref11 = (_state$updatedPrice = state === null || state === void 0 ? void 0 : state.updatedPrice) !== null && _state$updatedPrice !== void 0 ? _state$updatedPrice : plan === null || plan === void 0 ? void 0 : plan.amount) !== null && _ref11 !== void 0 ? _ref11 : invoice === null || invoice === void 0 ? void 0 : invoice.amount_remaining) !== null && _ref10 !== void 0 ? _ref10 : getOrderItemsTotal();
18658
19591
  return handlePayment(source);
18659
19592
  }).catch(error => {
18660
19593
  return handlePaymentError(error);
@@ -18666,11 +19599,11 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18666
19599
  * @return {Promise}
18667
19600
  */
18668
19601
  const resolveTaxCalculation = () => {
18669
- var _window$Pelcro$site$r5;
19602
+ var _window$Pelcro$site$r9;
18670
19603
  if (type === "invoicePayment") {
18671
19604
  return new Promise(resolve => resolve());
18672
19605
  }
18673
- const taxesEnabled = (_window$Pelcro$site$r5 = window.Pelcro.site.read()) === null || _window$Pelcro$site$r5 === void 0 ? void 0 : _window$Pelcro$site$r5.taxes_enabled;
19606
+ const taxesEnabled = (_window$Pelcro$site$r9 = window.Pelcro.site.read()) === null || _window$Pelcro$site$r9 === void 0 ? void 0 : _window$Pelcro$site$r9.taxes_enabled;
18674
19607
  return new Promise((resolve, reject) => {
18675
19608
  // resolve early if taxes isn't enabled
18676
19609
  if (!taxesEnabled) {
@@ -18865,25 +19798,47 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18865
19798
  return submitPayment(state);
18866
19799
  }
18867
19800
  if (getSiteCardProcessor() === "vantiv") {
18868
- return submitUsingVantiv(state);
19801
+ if (!isAuthenticated() && plan.type === "donation") {
19802
+ return sendRegisterRequest(state, () => submitUsingVantiv(state));
19803
+ } else {
19804
+ return submitUsingVantiv(state);
19805
+ }
18869
19806
  }
18870
19807
  if (getSiteCardProcessor() === "tap") {
18871
- return submitUsingTap(state);
19808
+ if (!isAuthenticated() && plan.type === "donation") {
19809
+ return sendRegisterRequest(state, () => submitUsingTap(state));
19810
+ } else {
19811
+ return submitUsingTap(state);
19812
+ }
19813
+ }
19814
+ if (getSiteCardProcessor() === "cybersource") {
19815
+ return submitUsingCybersource(state, dispatch);
18872
19816
  }
18873
19817
  if (getSiteCardProcessor() === "cybersource") {
18874
19818
  return submitUsingCybersource(state, dispatch);
18875
19819
  }
18876
19820
  if (selectedPaymentMethodId) {
18877
- // pay with selected method (source) if exists already
18878
- return handlePayment({
18879
- id: selectedPaymentMethodId,
18880
- isExistingSource: true
18881
- });
19821
+ if (!isAuthenticated() && plan.type === "donation") {
19822
+ return sendRegisterRequest(state, () => handlePayment({
19823
+ id: selectedPaymentMethodId,
19824
+ isExistingSource: true
19825
+ }));
19826
+ } else {
19827
+ // pay with selected method (source) if exists already
19828
+ return handlePayment({
19829
+ id: selectedPaymentMethodId,
19830
+ isExistingSource: true
19831
+ });
19832
+ }
18882
19833
  }
18883
19834
  if (type === "updatePaymentSource") {
18884
19835
  return updatePaymentSource(state, dispatch);
18885
19836
  }
18886
- submitPayment(state);
19837
+ if (!isAuthenticated() && plan.type === "donation") {
19838
+ return sendRegisterRequest(state, () => submitPayment(state));
19839
+ } else {
19840
+ return submitPayment(state);
19841
+ }
18887
19842
  });
18888
19843
  case HANDLE_PAYPAL_SUBSCRIPTION:
18889
19844
  return lib_5(state, (state, dispatch) => {
@@ -18968,6 +19923,18 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18968
19923
  phone: action.payload,
18969
19924
  phoneError: null
18970
19925
  });
19926
+ case SET_EMAIL:
19927
+ return lib_7({
19928
+ ...state,
19929
+ email: action.payload,
19930
+ emailError: null
19931
+ });
19932
+ case SET_PASSWORD:
19933
+ return lib_7({
19934
+ ...state,
19935
+ password: action.payload,
19936
+ passwordError: null
19937
+ });
18971
19938
  case SET_FIRST_NAME_ERROR:
18972
19939
  return lib_7({
18973
19940
  ...state,
@@ -18986,11 +19953,28 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18986
19953
  phoneError: action.payload,
18987
19954
  phone: null
18988
19955
  });
19956
+ case SET_EMAIL_ERROR:
19957
+ return lib_7({
19958
+ ...state,
19959
+ emailError: action.payload,
19960
+ email: ""
19961
+ });
19962
+ case SET_PASSWORD_ERROR:
19963
+ return lib_7({
19964
+ ...state,
19965
+ passwordError: action.payload,
19966
+ password: ""
19967
+ });
18989
19968
  case SHOW_ALERT:
18990
19969
  return lib_7({
18991
19970
  ...state,
18992
19971
  alert: action.payload
18993
19972
  });
19973
+ case UPDATE_CYBERSOURCE_SESSION_ID:
19974
+ return lib_7({
19975
+ ...state,
19976
+ cyberSourceSessionId: action.payload
19977
+ });
18994
19978
  default:
18995
19979
  return state;
18996
19980
  }
@@ -19019,18 +20003,14 @@ const PaymentMethodContainerWithoutStripe = _ref => {
19019
20003
  const UnwrappedForm = es_12(PaymentMethodContainerWithoutStripe);
19020
20004
  const PaymentMethodContainer = props => {
19021
20005
  const [isStripeLoaded, setIsStripeLoaded] = useState(Boolean(window.Stripe));
19022
- const {
19023
- whenUserReady
19024
- } = usePelcro.getStore();
20006
+ usePelcro.getStore();
19025
20007
  const cardProcessor = getSiteCardProcessor();
19026
20008
  useEffect(() => {
19027
- whenUserReady(() => {
19028
- if (!window.Stripe && cardProcessor === "stripe") {
19029
- document.querySelector('script[src="https://js.stripe.com/v3"]').addEventListener("load", () => {
19030
- setIsStripeLoaded(true);
19031
- });
19032
- }
19033
- });
20009
+ if (!window.Stripe && cardProcessor === "stripe") {
20010
+ document.querySelector('script[src="https://js.stripe.com/v3"]').addEventListener("load", () => {
20011
+ setIsStripeLoaded(true);
20012
+ });
20013
+ }
19034
20014
  }, []);
19035
20015
  if (isStripeLoaded) {
19036
20016
  return /*#__PURE__*/React__default.createElement(es_13, {
@@ -19323,13 +20303,15 @@ const DiscountedPrice = props => {
19323
20303
  };
19324
20304
 
19325
20305
  const SubmitPaymentMethod = _ref => {
19326
- var _plan$quantity, _window$Pelcro$site$r, _window$Pelcro$site$r2;
20306
+ var _plan$quantity, _plan$quantity2, _plan$quantity3, _window$Pelcro$site$r, _window$Pelcro$site$r2;
19327
20307
  let {
19328
20308
  onClick,
19329
20309
  ...otherProps
19330
20310
  } = _ref;
19331
20311
  const {
19332
20312
  plan,
20313
+ selectedDonationAmount,
20314
+ customDonationAmount,
19333
20315
  selectedPaymentMethodId
19334
20316
  } = usePelcro();
19335
20317
  const {
@@ -19341,6 +20323,8 @@ const SubmitPaymentMethod = _ref => {
19341
20323
  firstNameError,
19342
20324
  lastNameError,
19343
20325
  phoneError,
20326
+ emailError,
20327
+ passwordError,
19344
20328
  firstName,
19345
20329
  lastName,
19346
20330
  phone,
@@ -19353,7 +20337,7 @@ const SubmitPaymentMethod = _ref => {
19353
20337
  } = useContext(store$k);
19354
20338
  const planQuantity = (_plan$quantity = plan === null || plan === void 0 ? void 0 : plan.quantity) !== null && _plan$quantity !== void 0 ? _plan$quantity : 1;
19355
20339
  const price = updatedPrice !== null && updatedPrice !== void 0 ? updatedPrice : plan === null || plan === void 0 ? void 0 : plan.amount;
19356
- const priceFormatted = getFormattedPriceByLocal(price * planQuantity, plan === null || plan === void 0 ? void 0 : plan.currency, getPageOrDefaultLanguage());
20340
+ const priceFormatted = (plan === null || plan === void 0 ? void 0 : plan.type) === "donation" && (selectedDonationAmount || customDonationAmount) ? getFormattedPriceByLocal(selectedDonationAmount ? selectedDonationAmount * (plan === null || plan === void 0 ? void 0 : plan.amount) * ((_plan$quantity2 = plan === null || plan === void 0 ? void 0 : plan.quantity) !== null && _plan$quantity2 !== void 0 ? _plan$quantity2 : 1) : customDonationAmount * (plan === null || plan === void 0 ? void 0 : plan.amount) * ((_plan$quantity3 = plan === null || plan === void 0 ? void 0 : plan.quantity) !== null && _plan$quantity3 !== void 0 ? _plan$quantity3 : 1), plan === null || plan === void 0 ? void 0 : plan.currency, getPageOrDefaultLanguage()) : getFormattedPriceByLocal(price * planQuantity, plan === null || plan === void 0 ? void 0 : plan.currency, getPageOrDefaultLanguage());
19357
20341
  const supportsTap = Boolean((_window$Pelcro$site$r = window.Pelcro.site.read()) === null || _window$Pelcro$site$r === void 0 ? void 0 : _window$Pelcro$site$r.tap_gateway_settings);
19358
20342
  const supportsCybersource = Boolean((_window$Pelcro$site$r2 = window.Pelcro.site.read()) === null || _window$Pelcro$site$r2 === void 0 ? void 0 : _window$Pelcro$site$r2.cybersource_gateway_settings);
19359
20343
  const isUserFirstName = Boolean(window.Pelcro.user.read().first_name);
@@ -19364,9 +20348,9 @@ const SubmitPaymentMethod = _ref => {
19364
20348
  if (supportsTap && isUserFirstName && isUserLastName && isUserPhone) {
19365
20349
  setDisabled(disableSubmit);
19366
20350
  } else {
19367
- setDisabled(disableSubmit || supportsTap && firstNameError || supportsTap && lastNameError || supportsTap && phoneError || supportsTap && !(firstName !== null && firstName !== void 0 && firstName.length) || supportsTap && !(lastName !== null && lastName !== void 0 && lastName.length) || supportsTap && !(phone !== null && phone !== void 0 && phone.length) || supportsCybersource && !selectedPaymentMethodId && !(month !== null && month !== void 0 && month.length) || supportsCybersource && !selectedPaymentMethodId && !(year !== null && year !== void 0 && year.length));
20351
+ setDisabled(disableSubmit || supportsTap && firstNameError || supportsTap && lastNameError || supportsTap && phoneError || supportsTap && !(firstName !== null && firstName !== void 0 && firstName.length) || supportsTap && !(lastName !== null && lastName !== void 0 && lastName.length) || supportsTap && !(phone !== null && phone !== void 0 && phone.length) || emailError || passwordError || supportsCybersource && !selectedPaymentMethodId && !(month !== null && month !== void 0 && month.length) || supportsCybersource && !selectedPaymentMethodId && !(year !== null && year !== void 0 && year.length));
19368
20352
  }
19369
- }, [disableSubmit, firstNameError, lastNameError, phoneError, firstName, lastName, phone, month, year]);
20353
+ }, [disableSubmit, firstNameError, lastNameError, phoneError, firstName, lastName, phone, emailError, passwordError, month, year]);
19370
20354
  return /*#__PURE__*/React__default.createElement(Button, Object.assign({
19371
20355
  role: "submit",
19372
20356
  className: "plc-w-full plc-py-3",
@@ -20001,6 +20985,10 @@ const OrderCreateFreeButton = _ref => {
20001
20985
  }, otherProps), t("labels.submit"));
20002
20986
  };
20003
20987
 
20988
+ const DonationEmail = props => /*#__PURE__*/React__default.createElement(Email, Object.assign({
20989
+ store: store$k
20990
+ }, props));
20991
+
20004
20992
  /**
20005
20993
  *
20006
20994
  */
@@ -20020,6 +21008,10 @@ function PaymentMethodView(_ref) {
20020
21008
  const {
20021
21009
  t
20022
21010
  } = useTranslation("checkoutForm");
21011
+ const {
21012
+ plan,
21013
+ isAuthenticated
21014
+ } = usePelcro();
20023
21015
  const cardProcessor = getSiteCardProcessor();
20024
21016
  const supportsVantiv = Boolean((_window$Pelcro$site$r = window.Pelcro.site.read()) === null || _window$Pelcro$site$r === void 0 ? void 0 : _window$Pelcro$site$r.vantiv_gateway_settings);
20025
21017
  const supportsTap = Boolean((_window$Pelcro$site$r2 = window.Pelcro.site.read()) === null || _window$Pelcro$site$r2 === void 0 ? void 0 : _window$Pelcro$site$r2.tap_gateway_settings);
@@ -20077,6 +21069,12 @@ function PaymentMethodView(_ref) {
20077
21069
  errorId: "pelcro-input-phone-error",
20078
21070
  label: t("labels.phone"),
20079
21071
  required: true
21072
+ })), !isAuthenticated() && (plan === null || plan === void 0 ? void 0 : plan.type) === "donation" && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(DonationEmail, {
21073
+ id: "pelcro-input-email",
21074
+ errorId: "pelcro-input-email-error",
21075
+ label: t("labels.email"),
21076
+ required: true,
21077
+ autoFocus: true
20080
21078
  })), /*#__PURE__*/React__default.createElement(CheckoutForm, null), showCoupon && /*#__PURE__*/React__default.createElement("div", {
20081
21079
  className: "plc-mb-2"
20082
21080
  }, /*#__PURE__*/React__default.createElement(CouponCode, null), /*#__PURE__*/React__default.createElement(DiscountedPrice, null)), /*#__PURE__*/React__default.createElement(TaxAmount, null), /*#__PURE__*/React__default.createElement("div", {
@@ -20396,7 +21394,7 @@ const SubscriptionCancelNowButton = _ref => {
20396
21394
  switchView(null);
20397
21395
 
20398
21396
  //Show confirmation alert after closing the modal
20399
- notify$1.confirm((onSuccess, onFailure) => {
21397
+ notify.confirm((onSuccess, onFailure) => {
20400
21398
  cancelSubscription(payload, onSuccess, onFailure);
20401
21399
  }, {
20402
21400
  confirmMessage: t("messages.subCancellation.isSureToCancelNow"),
@@ -20468,7 +21466,7 @@ const SubscriptionCancelLaterButton = _ref => {
20468
21466
  switchView(null);
20469
21467
 
20470
21468
  //Show confirmation alert after closing the modal
20471
- notify$1.confirm((onSuccess, onFailure) => {
21469
+ notify.confirm((onSuccess, onFailure) => {
20472
21470
  cancelSubscription(payload, onSuccess, onFailure);
20473
21471
  }, {
20474
21472
  confirmMessage: t("messages.subCancellation.isSureToCancel"),
@@ -20705,7 +21703,7 @@ const SubscriptionSuspendButton = _ref => {
20705
21703
  switchView(null);
20706
21704
 
20707
21705
  //Show confirmation alert after closing the modal
20708
- notify$1.confirm((onSuccess, onFailure) => {
21706
+ notify.confirm((onSuccess, onFailure) => {
20709
21707
  suspendSubscription(payload, onSuccess, onFailure);
20710
21708
  }, {
20711
21709
  confirmMessage: t("messages.subCancellation.isSureToSuspendNow"),
@@ -21425,12 +22423,14 @@ const SubscriptionCreateView = _ref => {
21425
22423
  } = useTranslation("checkoutForm");
21426
22424
  const {
21427
22425
  product,
21428
- plan
22426
+ plan,
22427
+ selectedDonationAmount,
22428
+ customDonationAmount
21429
22429
  } = usePelcro();
21430
22430
  const skipPayment = (_window$Pelcro = window.Pelcro) === null || _window$Pelcro === void 0 ? void 0 : (_window$Pelcro$uiSett = _window$Pelcro.uiSettings) === null || _window$Pelcro$uiSett === void 0 ? void 0 : _window$Pelcro$uiSett.skipPaymentForFreePlans;
21431
22431
  const showSubscriptionButton = skipPayment && (plan === null || plan === void 0 ? void 0 : plan.amount) === 0;
21432
22432
  const getPricingText = plan => {
21433
- var _plan$quantity;
22433
+ var _plan$quantity, _plan$quantity2, _plan$quantity3;
21434
22434
  const autoRenewed = plan.auto_renew;
21435
22435
  const {
21436
22436
  interval,
@@ -21440,7 +22440,7 @@ const SubscriptionCreateView = _ref => {
21440
22440
  interval,
21441
22441
  count: interval_count
21442
22442
  });
21443
- const priceFormatted = getFormattedPriceByLocal((plan === null || plan === void 0 ? void 0 : plan.amount) * ((_plan$quantity = plan === null || plan === void 0 ? void 0 : plan.quantity) !== null && _plan$quantity !== void 0 ? _plan$quantity : 1), plan === null || plan === void 0 ? void 0 : plan.currency, getPageOrDefaultLanguage());
22443
+ const priceFormatted = plan.type === "donation" && (selectedDonationAmount || customDonationAmount) ? getFormattedPriceByLocal(selectedDonationAmount ? selectedDonationAmount * (plan === null || plan === void 0 ? void 0 : plan.amount) * ((_plan$quantity = plan === null || plan === void 0 ? void 0 : plan.quantity) !== null && _plan$quantity !== void 0 ? _plan$quantity : 1) : customDonationAmount * (plan === null || plan === void 0 ? void 0 : plan.amount) * ((_plan$quantity2 = plan === null || plan === void 0 ? void 0 : plan.quantity) !== null && _plan$quantity2 !== void 0 ? _plan$quantity2 : 1), plan === null || plan === void 0 ? void 0 : plan.currency, getPageOrDefaultLanguage()) : getFormattedPriceByLocal((plan === null || plan === void 0 ? void 0 : plan.amount) * ((_plan$quantity3 = plan === null || plan === void 0 ? void 0 : plan.quantity) !== null && _plan$quantity3 !== void 0 ? _plan$quantity3 : 1), plan === null || plan === void 0 ? void 0 : plan.currency, getPageOrDefaultLanguage());
21444
22444
  return /*#__PURE__*/React__default.createElement("p", {
21445
22445
  className: "plc-text-gray-600"
21446
22446
  }, /*#__PURE__*/React__default.createElement("span", {
@@ -22763,7 +23763,7 @@ const AddressCreateContainer = _ref => {
22763
23763
  });
22764
23764
  return onFailure(err);
22765
23765
  }
22766
- notify$1.success(t("messages.addressUpdated"));
23766
+ notify.success(t("messages.addressUpdated"));
22767
23767
  return onMembershipAdressUpdateSuccess(res);
22768
23768
  });
22769
23769
  }
@@ -23162,6 +24162,7 @@ function CountrySelect(_ref) {
23162
24162
  return /*#__PURE__*/React__default.createElement(Loader, null);
23163
24163
  }
23164
24164
  return /*#__PURE__*/React__default.createElement(Select, Object.assign({
24165
+ className: "plc-pr-8",
23165
24166
  value: country,
23166
24167
  error: countryError,
23167
24168
  onChange: e => handleInputChange(e.target.value),
@@ -23244,6 +24245,7 @@ function StateSelect(_ref) {
23244
24245
  return /*#__PURE__*/React__default.createElement(Loader, null);
23245
24246
  }
23246
24247
  return /*#__PURE__*/React__default.createElement(Select, Object.assign({
24248
+ className: "plc-pr-8",
23247
24249
  value: state,
23248
24250
  error: stateError,
23249
24251
  onChange: e => handleInputChange(e.target.value),
@@ -25644,6 +26646,16 @@ const GiftCreateContainer = _ref => {
25644
26646
  return onFailure();
25645
26647
  }
25646
26648
  }
26649
+ if (giftRecipient.giftMessage && !isStringValid(giftRecipient.giftMessage)) {
26650
+ dispatch({
26651
+ type: SHOW_ALERT,
26652
+ payload: {
26653
+ type: "error",
26654
+ content: t("gift.messages.giftMessageAllowedCharacters")
26655
+ }
26656
+ });
26657
+ return onFailure();
26658
+ }
25647
26659
  set({
25648
26660
  giftRecipient
25649
26661
  });
@@ -25984,6 +26996,7 @@ const GiftRedeemContainer = _ref => {
25984
26996
  payload: false
25985
26997
  });
25986
26998
  if (err) {
26999
+ var _err$response, _err$response$data, _err$response$data$er;
25987
27000
  dispatch({
25988
27001
  type: SHOW_ALERT,
25989
27002
  payload: {
@@ -25991,7 +27004,7 @@ const GiftRedeemContainer = _ref => {
25991
27004
  content: getErrorMessages(err)
25992
27005
  }
25993
27006
  });
25994
- if (getErrorMessages(err) === "Address ID is required") {
27007
+ if ((_err$response = err.response) !== null && _err$response !== void 0 && (_err$response$data = _err$response.data) !== null && _err$response$data !== void 0 && (_err$response$data$er = _err$response$data.errors) !== null && _err$response$data$er !== void 0 && _err$response$data$er.address_id) {
25995
27008
  switchToAddressView();
25996
27009
  } else {
25997
27010
  return onFailure(err);
@@ -26251,7 +27264,7 @@ const AddressSelectContainer = _ref => {
26251
27264
  });
26252
27265
  return onFailure(err);
26253
27266
  }
26254
- notify$1.success(t("messages.addressUpdated"));
27267
+ notify.success(t("messages.addressUpdated"));
26255
27268
  return onMembershipAdressUpdateSuccess(res);
26256
27269
  });
26257
27270
  }
@@ -28212,7 +29225,7 @@ const SubscriptionsItems = _ref => {
28212
29225
  return switchView("email-verify");
28213
29226
  }
28214
29227
  onClose === null || onClose === void 0 ? void 0 : onClose();
28215
- notify$1.confirm((onSuccess, onFailure) => {
29228
+ notify.confirm((onSuccess, onFailure) => {
28216
29229
  cancelSubscription(sub.id, onSuccess, onFailure);
28217
29230
  }, {
28218
29231
  confirmMessage: t("messages.subCancellation.isSureToCancel"),
@@ -28229,7 +29242,7 @@ const SubscriptionsItems = _ref => {
28229
29242
  if (userMustVerifyEmail()) {
28230
29243
  return switchView("email-verify");
28231
29244
  }
28232
- reactivateSubscription(sub.id);
29245
+ reactivateSubscription(sub.id, false);
28233
29246
  };
28234
29247
 
28235
29248
  // Renew click
@@ -28267,7 +29280,7 @@ const SubscriptionsItems = _ref => {
28267
29280
  return switchView("email-verify");
28268
29281
  }
28269
29282
  onClose === null || onClose === void 0 ? void 0 : onClose();
28270
- notify$1.confirm((onSuccess, onFailure) => {
29283
+ notify.confirm((onSuccess, onFailure) => {
28271
29284
  unSuspendSubscription(sub.id, onSuccess, onFailure);
28272
29285
  }, {
28273
29286
  confirmMessage: t("messages.subUnSuspend.isSureToUnSuspend"),
@@ -28349,7 +29362,7 @@ const SubscriptionsItems = _ref => {
28349
29362
  onClick: onCancelClick,
28350
29363
  disabled: disableSubmit,
28351
29364
  "data-key": sub.id
28352
- }, t("labels.unsubscribe")) : "", (sub === null || sub === void 0 ? void 0 : (_sub$plan = sub.plan) === null || _sub$plan === void 0 ? void 0 : _sub$plan.type) === 'membership' && /*#__PURE__*/React__default.createElement(Button, {
29365
+ }, t("labels.unsubscribe")) : "", (sub === null || sub === void 0 ? void 0 : (_sub$plan = sub.plan) === null || _sub$plan === void 0 ? void 0 : _sub$plan.type) === "membership" && /*#__PURE__*/React__default.createElement(Button, {
28353
29366
  variant: "ghost",
28354
29367
  className: "plc-text-blue-400 pelcro-dashboard-sub-manage-members-button",
28355
29368
  icon: /*#__PURE__*/React__default.createElement(SvgRefresh, null),
@@ -28396,7 +29409,10 @@ const SubscriptionsItems = _ref => {
28396
29409
  };
28397
29410
  function getNonDonationSubs() {
28398
29411
  var _window$Pelcro$subscr, _window$Pelcro$subscr2, _window$Pelcro$subscr3;
28399
- return (_window$Pelcro$subscr = (_window$Pelcro$subscr2 = window.Pelcro.subscription) === null || _window$Pelcro$subscr2 === void 0 ? void 0 : (_window$Pelcro$subscr3 = _window$Pelcro$subscr2.list()) === null || _window$Pelcro$subscr3 === void 0 ? void 0 : _window$Pelcro$subscr3.filter(sub => !sub.plan.is_donation)) !== null && _window$Pelcro$subscr !== void 0 ? _window$Pelcro$subscr : [];
29412
+ return (_window$Pelcro$subscr = (_window$Pelcro$subscr2 = window.Pelcro.subscription) === null || _window$Pelcro$subscr2 === void 0 ? void 0 : (_window$Pelcro$subscr3 = _window$Pelcro$subscr2.list()) === null || _window$Pelcro$subscr3 === void 0 ? void 0 : _window$Pelcro$subscr3.filter(sub => {
29413
+ var _sub$plan2;
29414
+ return ((_sub$plan2 = sub.plan) === null || _sub$plan2 === void 0 ? void 0 : _sub$plan2.type) !== "donation";
29415
+ })) !== null && _window$Pelcro$subscr !== void 0 ? _window$Pelcro$subscr : [];
28400
29416
  }
28401
29417
  function isDateAfterToday(date) {
28402
29418
  const today = new Date().setHours(0, 0, 0, 0);
@@ -28684,6 +29700,7 @@ function SvgQrcode(props) {
28684
29700
 
28685
29701
  const DonationsMenu = _ref => {
28686
29702
  let {
29703
+ onClose,
28687
29704
  reactivateSubscription,
28688
29705
  disableSubmit,
28689
29706
  cancelSubscription
@@ -28695,10 +29712,10 @@ const DonationsMenu = _ref => {
28695
29712
  switchView,
28696
29713
  setSubscriptionToCancel
28697
29714
  } = usePelcro();
28698
- const subscriptions = getDonationSubs().sort((a, b) => a.expires_at - b.expires_at).sort((a, b) => a.renews_at - b.renews_at).map(sub => {
29715
+ const donations = getDonationSubs().sort((a, b) => a.expires_at - b.expires_at).sort((a, b) => a.renews_at - b.renews_at).map(sub => {
29716
+ console.log("Sub", sub);
28699
29717
  // Cancel button click handlers
28700
29718
  const onCancelClick = () => {
28701
- var _onClose;
28702
29719
  const isImmediateCancelationEnabled = window.Pelcro.site.read().cancel_settings.status;
28703
29720
  if (isImmediateCancelationEnabled) {
28704
29721
  setSubscriptionToCancel(sub.id);
@@ -28707,16 +29724,16 @@ const DonationsMenu = _ref => {
28707
29724
  if (userMustVerifyEmail()) {
28708
29725
  return switchView("email-verify");
28709
29726
  }
28710
- (_onClose = onClose) === null || _onClose === void 0 ? void 0 : _onClose();
29727
+ onClose === null || onClose === void 0 ? void 0 : onClose();
28711
29728
  notify.confirm((onSuccess, onFailure) => {
28712
29729
  cancelSubscription(sub.id, onSuccess, onFailure);
28713
29730
  }, {
28714
- confirmMessage: t("messages.subCancellation.isSureToCancel"),
28715
- loadingMessage: t("messages.subCancellation.loading"),
28716
- successMessage: t("messages.subCancellation.success"),
28717
- errorMessage: t("messages.subCancellation.error")
29731
+ confirmMessage: t("messages.donationCancellation.isSureToCancel"),
29732
+ loadingMessage: t("messages.donationCancellation.loading"),
29733
+ successMessage: t("messages.donationCancellation.success"),
29734
+ errorMessage: t("messages.donationCancellation.error")
28718
29735
  }, {
28719
- closeButtonLabel: t("labels.subCancellation.goBack")
29736
+ closeButtonLabel: t("labels.donationCancellation.goBack")
28720
29737
  });
28721
29738
  };
28722
29739
 
@@ -28725,7 +29742,7 @@ const DonationsMenu = _ref => {
28725
29742
  if (userMustVerifyEmail()) {
28726
29743
  return switchView("email-verify");
28727
29744
  }
28728
- reactivateSubscription(sub.id);
29745
+ reactivateSubscription(sub.id, true);
28729
29746
  };
28730
29747
  return /*#__PURE__*/React__default.createElement("tr", {
28731
29748
  key: sub.id,
@@ -28766,12 +29783,18 @@ const DonationsMenu = _ref => {
28766
29783
  className: "plc-w-3/12 "
28767
29784
  }, t("labels.actions")))), /*#__PURE__*/React__default.createElement("tbody", null, /*#__PURE__*/React__default.createElement("tr", {
28768
29785
  className: "plc-h-4"
28769
- }), subscriptions));
29786
+ }), donations));
28770
29787
  };
28771
29788
  function getDonationSubs() {
28772
29789
  var _window$Pelcro$subscr, _window$Pelcro$subscr2, _window$Pelcro$subscr3, _window$Pelcro$user$r, _window$Pelcro$user$r2;
28773
- const donations = (_window$Pelcro$subscr = (_window$Pelcro$subscr2 = window.Pelcro.subscription) === null || _window$Pelcro$subscr2 === void 0 ? void 0 : (_window$Pelcro$subscr3 = _window$Pelcro$subscr2.list()) === null || _window$Pelcro$subscr3 === void 0 ? void 0 : _window$Pelcro$subscr3.filter(sub => sub.plan.is_donation && !sub.is_gift_donor)) !== null && _window$Pelcro$subscr !== void 0 ? _window$Pelcro$subscr : [];
28774
- const canceledDonations = (_window$Pelcro$user$r = (_window$Pelcro$user$r2 = window.Pelcro.user.read().expired_subscriptions) === null || _window$Pelcro$user$r2 === void 0 ? void 0 : _window$Pelcro$user$r2.filter(sub => sub.plan.is_donation && !sub.is_gift_donor)) !== null && _window$Pelcro$user$r !== void 0 ? _window$Pelcro$user$r : [];
29790
+ const donations = (_window$Pelcro$subscr = (_window$Pelcro$subscr2 = window.Pelcro.subscription) === null || _window$Pelcro$subscr2 === void 0 ? void 0 : (_window$Pelcro$subscr3 = _window$Pelcro$subscr2.list()) === null || _window$Pelcro$subscr3 === void 0 ? void 0 : _window$Pelcro$subscr3.filter(sub => {
29791
+ var _sub$plan;
29792
+ return ((_sub$plan = sub.plan) === null || _sub$plan === void 0 ? void 0 : _sub$plan.type) === "donation";
29793
+ })) !== null && _window$Pelcro$subscr !== void 0 ? _window$Pelcro$subscr : [];
29794
+ const canceledDonations = (_window$Pelcro$user$r = (_window$Pelcro$user$r2 = window.Pelcro.user.read().expired_subscriptions) === null || _window$Pelcro$user$r2 === void 0 ? void 0 : _window$Pelcro$user$r2.filter(sub => {
29795
+ var _sub$plan2;
29796
+ return ((_sub$plan2 = sub.plan) === null || _sub$plan2 === void 0 ? void 0 : _sub$plan2.type) === "donation";
29797
+ })) !== null && _window$Pelcro$user$r !== void 0 ? _window$Pelcro$user$r : [];
28775
29798
  return [...donations, ...canceledDonations];
28776
29799
  }
28777
29800
  function formatStartDate(date) {
@@ -29162,7 +30185,7 @@ class Dashboard extends Component {
29162
30185
  const formattedRenewDate = new Intl.DateTimeFormat("en-CA").format(renewDate);
29163
30186
  return `${this.locale("labels.renewsOn")} ${formattedRenewDate}`;
29164
30187
  });
29165
- _defineProperty$3(this, "reactivateSubscription", subscription_id => {
30188
+ _defineProperty$3(this, "reactivateSubscription", (subscription_id, isDonation) => {
29166
30189
  // disable the Login button to prevent repeated clicks
29167
30190
  this.setState({
29168
30191
  disableSubmit: true
@@ -29176,9 +30199,17 @@ class Dashboard extends Component {
29176
30199
  });
29177
30200
  this.props.onClose();
29178
30201
  if (err) {
29179
- return notify$1.error(this.locale("messages.subReactivation.error"));
30202
+ if (isDonation) {
30203
+ return notify.error(this.locale("messages.donationReactivation.error"));
30204
+ } else {
30205
+ return notify.error(this.locale("messages.subReactivation.error"));
30206
+ }
30207
+ }
30208
+ if (isDonation) {
30209
+ return notify.success(this.locale("messages.donationReactivation.success"));
30210
+ } else {
30211
+ return notify.success(this.locale("messages.subReactivation.success"));
29180
30212
  }
29181
- return notify$1.success(this.locale("messages.subReactivation.success"));
29182
30213
  });
29183
30214
  });
29184
30215
  _defineProperty$3(this, "getSubscriptionStatus", sub => {
@@ -29339,9 +30370,9 @@ class Dashboard extends Component {
29339
30370
  }, /*#__PURE__*/React__default.createElement("thead", {
29340
30371
  className: "plc-text-xs plc-font-semibold plc-tracking-wider plc-text-gray-400 plc-uppercase "
29341
30372
  }, /*#__PURE__*/React__default.createElement("tr", null, /*#__PURE__*/React__default.createElement("th", {
29342
- className: "plc-w-10/12"
30373
+ className: "plc-w-9/12"
29343
30374
  }, this.locale("labels.address")), /*#__PURE__*/React__default.createElement("th", {
29344
- className: "plc-w-2/12"
30375
+ className: "plc-w-3/12"
29345
30376
  }, this.locale("labels.edit")))), /*#__PURE__*/React__default.createElement("tbody", null, /*#__PURE__*/React__default.createElement("tr", {
29346
30377
  className: "plc-h-4"
29347
30378
  }), addresses, /*#__PURE__*/React__default.createElement("tr", null, /*#__PURE__*/React__default.createElement("td", {
@@ -29540,6 +30571,7 @@ class Dashboard extends Component {
29540
30571
  }),
29541
30572
  title: this.locale("labels.donations"),
29542
30573
  content: /*#__PURE__*/React__default.createElement(DonationsMenu, {
30574
+ onClose: this.props.onClose,
29543
30575
  reactivateSubscription: this.reactivateSubscription,
29544
30576
  disableSubmit: this.state.disableSubmit,
29545
30577
  cancelSubscription: this.cancelSubscription
@@ -29581,8 +30613,14 @@ function hasInvoices() {
29581
30613
  }
29582
30614
  function hasDonationSubs() {
29583
30615
  var _window$Pelcro$subscr, _window$Pelcro$subscr2, _window$Pelcro$subscr3, _window$Pelcro$user$r4, _window$Pelcro$user$r5;
29584
- const donations = (_window$Pelcro$subscr = (_window$Pelcro$subscr2 = window.Pelcro.subscription) === null || _window$Pelcro$subscr2 === void 0 ? void 0 : (_window$Pelcro$subscr3 = _window$Pelcro$subscr2.list()) === null || _window$Pelcro$subscr3 === void 0 ? void 0 : _window$Pelcro$subscr3.filter(sub => sub.plan.is_donation && !sub.is_gift_donor)) !== null && _window$Pelcro$subscr !== void 0 ? _window$Pelcro$subscr : [];
29585
- const canceledDonations = (_window$Pelcro$user$r4 = (_window$Pelcro$user$r5 = window.Pelcro.user.read().expired_subscriptions) === null || _window$Pelcro$user$r5 === void 0 ? void 0 : _window$Pelcro$user$r5.filter(sub => sub.plan.is_donation && !sub.is_gift_donor)) !== null && _window$Pelcro$user$r4 !== void 0 ? _window$Pelcro$user$r4 : [];
30616
+ const donations = (_window$Pelcro$subscr = (_window$Pelcro$subscr2 = window.Pelcro.subscription) === null || _window$Pelcro$subscr2 === void 0 ? void 0 : (_window$Pelcro$subscr3 = _window$Pelcro$subscr2.list()) === null || _window$Pelcro$subscr3 === void 0 ? void 0 : _window$Pelcro$subscr3.filter(sub => {
30617
+ var _sub$plan;
30618
+ return ((_sub$plan = sub.plan) === null || _sub$plan === void 0 ? void 0 : _sub$plan.type) === "donation";
30619
+ })) !== null && _window$Pelcro$subscr !== void 0 ? _window$Pelcro$subscr : [];
30620
+ const canceledDonations = (_window$Pelcro$user$r4 = (_window$Pelcro$user$r5 = window.Pelcro.user.read().expired_subscriptions) === null || _window$Pelcro$user$r5 === void 0 ? void 0 : _window$Pelcro$user$r5.filter(sub => {
30621
+ var _sub$plan2;
30622
+ return ((_sub$plan2 = sub.plan) === null || _sub$plan2 === void 0 ? void 0 : _sub$plan2.type) === "donation";
30623
+ })) !== null && _window$Pelcro$user$r4 !== void 0 ? _window$Pelcro$user$r4 : [];
29586
30624
  return donations.length > 0 || canceledDonations.length > 0;
29587
30625
  }
29588
30626
  function hasActiveMemberships() {
@@ -31747,7 +32785,7 @@ function VerifyLinkTokenModal(_ref) {
31747
32785
  var _props$onSuccess;
31748
32786
  (_props$onSuccess = props.onSuccess) === null || _props$onSuccess === void 0 ? void 0 : _props$onSuccess.call(props, res);
31749
32787
  resetView();
31750
- notify$1.success(t("messages.success"));
32788
+ notify.success(t("messages.success"));
31751
32789
  };
31752
32790
  return /*#__PURE__*/React__default.createElement(Modal, {
31753
32791
  id: "pelcro-login-modal",
@@ -33405,4 +34443,4 @@ const QrCodeModal = _ref => {
33405
34443
  };
33406
34444
  QrCodeModal.viewId = "qrcode";
33407
34445
 
33408
- export { AddressCreateCity, AddressCreateContainer, AddressCreateCountrySelect, AddressCreateFirstName, AddressCreateLastName, AddressCreateLine1, AddressCreateLine2, AddressCreateModal, AddressCreatePostalCode, AddressCreateSetDefault, AddressCreateStateSelect, AddressCreateSubmit, AddressCreateTextInput, AddressCreateView, AddressSelectContainer, AddressSelectList, AddressSelectModal, AddressSelectSubmit, AddressSelectView, AddressUpdateCity, AddressUpdateContainer, AddressUpdateCountrySelect, AddressUpdateFirstName, AddressUpdateLastName, AddressUpdateLine1, AddressUpdateLine2, AddressUpdateModal, AddressUpdatePostalCode, AddressUpdateSetDefault, AddressUpdateStateSelect, AddressUpdateSubmit, AddressUpdateTextInput, AddressUpdateView, AlertWithContext as Alert, Alert as AlertElement, ApplyCouponButton, Auth0LoginButton, Badge, BankAuthenticationSuccess, BankRedirection, Button, CartContainer, CartModal, CartRemoveItemButton, CartSubmit, CartTotalPrice, CartView, Checkbox, CheckoutForm, ConfirmPassword, CouponCode, CouponCodeField, DashboardWithHook as Dashboard, DashboardOpenButton, DatePicker, DiscountedPrice, Email, EmailVerifyContainer, EmailVerifyModal, EmailVerifyResendButton, EmailVerifyView, FacebookLoginButton, GiftCreateContainer, GiftCreateEmail, GiftCreateFirstName, GiftCreateLastName, GiftCreateMessage, GiftCreateModal, GiftCreateStartDate, GiftCreateSubmitButton, GiftCreateView, GiftRedeemCode, GiftRedeemContainer, GiftRedeemModal, GiftRedeemSubmitButton, GiftRedeemView, GoogleLoginButton, IncludeFirstName, IncludeLastName, IncludePhone, Input, InvoiceDetailsContainer, InvoiceDetailsDownloadButton, InvoiceDetailsModal, InvoiceDetailsPayButton, InvoiceDetailsView, InvoicePaymentContainer, InvoicePaymentModal, InvoicePaymentView, Link, LoginButton, LoginContainer, LoginEmail, LoginModal, LoginPassword, LoginRequestLoginToken, LoginUsername, LoginView, Logout, MeterModal, MeterView, Modal, ModalBody, ModalFooter, NewsletterWithHook as NewsLetter, NewsletterUpdateButton, NewsletterUpdateContainer, NewsletterUpdateList, NewsletterUpdateModal, NewsletterUpdateView, Notification, OrderConfirmModal, OrderCreateContainer, OrderCreateFreeButton, OrderCreateModal, OrderCreateSubmitButton, OrderCreateView, Password, PasswordChangeButton, PasswordChangeConfirmNewPassword, PasswordChangeContainer, PasswordChangeCurrentPassword, PasswordChangeModal, PasswordChangeNewPassword, PasswordChangeView, PasswordForgotButton, PasswordForgotContainer, PasswordForgotEmail, PasswordForgotModal, PasswordForgotView, PasswordResetButton, PasswordResetConfirmPassword, PasswordResetContainer, PasswordResetEmail, PasswordResetModal, PasswordResetPassword, PasswordResetView, PasswordlessRequestContainer, PasswordlessRequestEmail, PasswordlessRequestModal, PasswordlessRequestView, PasswordlessRequestViewButton, PaymentCreateContainer, PaymentCreateView, PaymentMethodContainer, PaymentMethodSelectContainer, PaymentMethodSelectList, PaymentMethodSelectModal, PaymentMethodSelectSubmit, PaymentMethodSelectView, PaymentMethodUpdateContainer, PaymentMethodUpdateModal, PaymentMethodUpdateView, PaymentMethodView, PaymentSuccessModal, PaymentSuccessView, PaypalSubscribeButton, PelcroCardCVC, PelcroCardExpiry, PelcroCardNumber, PelcroModalController, PelcroPaymentRequestButton, ProfilePicChangeButton, ProfilePicChangeContainer, ProfilePicChangeCropper, ProfilePicChangeModal, ProfilePicChangeRemoveButton, ProfilePicChangeSelectButton, ProfilePicChangeView, ProfilePicChangeZoom, QrCodeModal, QrCodeView, Radio, RegisterButton, RegisterCompany, RegisterContainer, RegisterEmail, RegisterFirstName, RegisterJobTitle, RegisterLastName, RegisterModal, RegisterPassword, RegisterView, Select, SelectModalWithHook as SelectModal, SelectedPaymentMethod, ShopPurchaseButton, ShopSelectProductButton, ShopView, SubmitPaymentMethod, SubscriptionCancelModal, SubscriptionCreateContainer, SubscriptionCreateFreePlanButton, SubscriptionCreateModal, SubscriptionCreateView, SubscriptionManageMembersButton, SubscriptionManageMembersContainer, SubscriptionManageMembersEmails, SubscriptionManageMembersList, SubscriptionManageMembersModal, SubscriptionManageMembersView, SubscriptionRenewContainer, SubscriptionRenewModal, SubscriptionRenewView, SubscriptionSuspendContainer, SubscriptionSuspendModal, SubscriptionSuspendView, TaxAmount, TextArea, Tooltip, UserNameInput, UserUpdateButton, UserUpdateContainer, UserUpdateDisplayName, UserUpdateEmail, UserUpdateFirstName, UserUpdateLastName, UserUpdateModal, UserUpdatePhone, UserUpdateProfilePic, UserUpdateTextInput, UserUpdateTin, UserUpdateUsername, UserUpdateView, VerifyLinkTokenContainer, VerifyLinkTokenLoader, VerifyLinkTokenModal, VerifyLinkTokenView, authenticatedButtons, i18next as i18n, init$1 as initButtons, init as initContentEntitlement, invoicePaymentSubmitButton, notify$1 as notify, unauthenticatedButtons, usePelcro };
34446
+ export { AddressCreateCity, AddressCreateContainer, AddressCreateCountrySelect, AddressCreateFirstName, AddressCreateLastName, AddressCreateLine1, AddressCreateLine2, AddressCreateModal, AddressCreatePostalCode, AddressCreateSetDefault, AddressCreateStateSelect, AddressCreateSubmit, AddressCreateTextInput, AddressCreateView, AddressSelectContainer, AddressSelectList, AddressSelectModal, AddressSelectSubmit, AddressSelectView, AddressUpdateCity, AddressUpdateContainer, AddressUpdateCountrySelect, AddressUpdateFirstName, AddressUpdateLastName, AddressUpdateLine1, AddressUpdateLine2, AddressUpdateModal, AddressUpdatePostalCode, AddressUpdateSetDefault, AddressUpdateStateSelect, AddressUpdateSubmit, AddressUpdateTextInput, AddressUpdateView, AlertWithContext as Alert, Alert as AlertElement, ApplyCouponButton, Auth0LoginButton, Badge, BankAuthenticationSuccess, BankRedirection, Button, CartContainer, CartModal, CartRemoveItemButton, CartSubmit, CartTotalPrice, CartView, Checkbox, CheckoutForm, ConfirmPassword, CouponCode, CouponCodeField, DashboardWithHook as Dashboard, DashboardOpenButton, DatePicker, DiscountedPrice, DonationModalWithHook as DonationModal, Email, EmailVerifyContainer, EmailVerifyModal, EmailVerifyResendButton, EmailVerifyView, FacebookLoginButton, GiftCreateContainer, GiftCreateEmail, GiftCreateFirstName, GiftCreateLastName, GiftCreateMessage, GiftCreateModal, GiftCreateStartDate, GiftCreateSubmitButton, GiftCreateView, GiftRedeemCode, GiftRedeemContainer, GiftRedeemModal, GiftRedeemSubmitButton, GiftRedeemView, GoogleLoginButton, IncludeFirstName, IncludeLastName, IncludePhone, Input, InvoiceDetailsContainer, InvoiceDetailsDownloadButton, InvoiceDetailsModal, InvoiceDetailsPayButton, InvoiceDetailsView, InvoicePaymentContainer, InvoicePaymentModal, InvoicePaymentView, Link, LoginButton, LoginContainer, LoginEmail, LoginModal, LoginPassword, LoginRequestLoginToken, LoginUsername, LoginView, Logout, MeterModal, MeterView, Modal, ModalBody, ModalFooter, NewsletterWithHook as NewsLetter, NewsletterUpdateButton, NewsletterUpdateContainer, NewsletterUpdateList, NewsletterUpdateModal, NewsletterUpdateView, Notification, OrderConfirmModal, OrderCreateContainer, OrderCreateFreeButton, OrderCreateModal, OrderCreateSubmitButton, OrderCreateView, Password, PasswordChangeButton, PasswordChangeConfirmNewPassword, PasswordChangeContainer, PasswordChangeCurrentPassword, PasswordChangeModal, PasswordChangeNewPassword, PasswordChangeView, PasswordForgotButton, PasswordForgotContainer, PasswordForgotEmail, PasswordForgotModal, PasswordForgotView, PasswordResetButton, PasswordResetConfirmPassword, PasswordResetContainer, PasswordResetEmail, PasswordResetModal, PasswordResetPassword, PasswordResetView, PasswordlessRequestContainer, PasswordlessRequestEmail, PasswordlessRequestModal, PasswordlessRequestView, PasswordlessRequestViewButton, PaymentCreateContainer, PaymentCreateView, PaymentMethodContainer, PaymentMethodSelectContainer, PaymentMethodSelectList, PaymentMethodSelectModal, PaymentMethodSelectSubmit, PaymentMethodSelectView, PaymentMethodUpdateContainer, PaymentMethodUpdateModal, PaymentMethodUpdateView, PaymentMethodView, PaymentSuccessModal, PaymentSuccessView, PaypalSubscribeButton, PelcroCardCVC, PelcroCardExpiry, PelcroCardNumber, PelcroModalController, PelcroPaymentRequestButton, ProfilePicChangeButton, ProfilePicChangeContainer, ProfilePicChangeCropper, ProfilePicChangeModal, ProfilePicChangeRemoveButton, ProfilePicChangeSelectButton, ProfilePicChangeView, ProfilePicChangeZoom, QrCodeModal, QrCodeView, Radio, RegisterButton, RegisterCompany, RegisterContainer, RegisterEmail, RegisterFirstName, RegisterJobTitle, RegisterLastName, RegisterModal, RegisterPassword, RegisterView, Select, SelectModalWithHook as SelectModal, SelectedPaymentMethod, ShopPurchaseButton, ShopSelectProductButton, ShopView, SubmitPaymentMethod, SubscriptionCancelModal, SubscriptionCreateContainer, SubscriptionCreateFreePlanButton, SubscriptionCreateModal, SubscriptionCreateView, SubscriptionManageMembersButton, SubscriptionManageMembersContainer, SubscriptionManageMembersEmails, SubscriptionManageMembersList, SubscriptionManageMembersModal, SubscriptionManageMembersView, SubscriptionRenewContainer, SubscriptionRenewModal, SubscriptionRenewView, SubscriptionSuspendContainer, SubscriptionSuspendModal, SubscriptionSuspendView, TaxAmount, TextArea, Tooltip, UserNameInput, UserUpdateButton, UserUpdateContainer, UserUpdateDisplayName, UserUpdateEmail, UserUpdateFirstName, UserUpdateLastName, UserUpdateModal, UserUpdatePhone, UserUpdateProfilePic, UserUpdateTextInput, UserUpdateTin, UserUpdateUsername, UserUpdateView, VerifyLinkTokenContainer, VerifyLinkTokenLoader, VerifyLinkTokenModal, VerifyLinkTokenView, authenticatedButtons, i18next as i18n, init$1 as initButtons, init as initContentEntitlement, invoicePaymentSubmitButton, notify, unauthenticatedButtons, usePelcro };