@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.cjs.js CHANGED
@@ -3253,7 +3253,7 @@ var validation$3 = {
3253
3253
  enterLastName: "Last name is required.",
3254
3254
  enterPhone: "Phone number is required."
3255
3255
  };
3256
- var buttons$j = {
3256
+ var buttons$n = {
3257
3257
  account: "My account",
3258
3258
  login: "Login",
3259
3259
  subscribe: "Subscribe"
@@ -3331,7 +3331,7 @@ var confirm$b = {
3331
3331
  };
3332
3332
  var common_en = {
3333
3333
  validation: validation$3,
3334
- buttons: buttons$j,
3334
+ buttons: buttons$n,
3335
3335
  dashboard: dashboard$4,
3336
3336
  select: select$7,
3337
3337
  confirm: confirm$b
@@ -3362,7 +3362,7 @@ var paymentMethod_en = {
3362
3362
  var title$z = "Enter your email to subscribe to our newsletter";
3363
3363
  var updateTitle$3 = "Update newsletter selections";
3364
3364
  var subtitle$f = "We may use your email for other marketing communication";
3365
- var labels$12 = {
3365
+ var labels$16 = {
3366
3366
  submit: "Submit",
3367
3367
  firstName: "First name",
3368
3368
  lastName: "Last name",
@@ -3370,7 +3370,7 @@ var labels$12 = {
3370
3370
  postalCode: "Postal code",
3371
3371
  required: "required"
3372
3372
  };
3373
- var messages$17 = {
3373
+ var messages$1b = {
3374
3374
  alreadyHaveAccount: "Already have an account?",
3375
3375
  success: "Newsletters were successfully updated",
3376
3376
  loginHere: "Login here.",
@@ -3381,14 +3381,14 @@ var newsletter_en = {
3381
3381
  title: title$z,
3382
3382
  updateTitle: updateTitle$3,
3383
3383
  subtitle: subtitle$f,
3384
- labels: labels$12,
3385
- messages: messages$17
3384
+ labels: labels$16,
3385
+ messages: messages$1b
3386
3386
  };
3387
3387
 
3388
- var labels$11 = {
3388
+ var labels$15 = {
3389
3389
  "continue": "Continue to content"
3390
3390
  };
3391
- var messages$16 = {
3391
+ var messages$1a = {
3392
3392
  yourFreeTrial: "Subscription successful!",
3393
3393
  youHaveAccess: "Hope you enjoy the subscription. Please contact us if you have any questions or concerns.",
3394
3394
  clickToLearn: {
@@ -3414,12 +3414,12 @@ var errors$j = {
3414
3414
  "": ""
3415
3415
  };
3416
3416
  var success_en = {
3417
- labels: labels$11,
3418
- messages: messages$16,
3417
+ labels: labels$15,
3418
+ messages: messages$1a,
3419
3419
  errors: errors$j
3420
3420
  };
3421
3421
 
3422
- var messages$15 = {
3422
+ var messages$19 = {
3423
3423
  freeVisits: "Free visits left:",
3424
3424
  subscribeNow: "Subscribe",
3425
3425
  alreadyHaveAccount: "Already have an account?",
@@ -3429,16 +3429,16 @@ var errors$i = {
3429
3429
  "": ""
3430
3430
  };
3431
3431
  var meter_en = {
3432
- messages: messages$15,
3432
+ messages: messages$19,
3433
3433
  errors: errors$i
3434
3434
  };
3435
3435
 
3436
- var messages$14 = {
3436
+ var messages$18 = {
3437
3437
  youAreSafe: "You're safe - PCI compliant 128 SSL by",
3438
3438
  bankRedirection: "Please hold, redirecting you to your bank.",
3439
3439
  bankAuthenticationSuccess: "Please wait while we process your request."
3440
3440
  };
3441
- var labels$10 = {
3441
+ var labels$14 = {
3442
3442
  card: "Enter card number",
3443
3443
  date: "Expiration date",
3444
3444
  CVC: "CVC",
@@ -3458,11 +3458,13 @@ var labels$10 = {
3458
3458
  firstName: "First name",
3459
3459
  lastName: "Last name",
3460
3460
  phone: "Phone",
3461
- freeItems: "Free Items"
3461
+ freeItems: "Free Items",
3462
+ email: "Email",
3463
+ password: "Password"
3462
3464
  };
3463
3465
  var checkoutForm_en = {
3464
- messages: messages$14,
3465
- labels: labels$10
3466
+ messages: messages$18,
3467
+ labels: labels$14
3466
3468
  };
3467
3469
 
3468
3470
  var youAreSafe$3 = "You're safe - PCI compliant 128 SSL by";
@@ -3486,7 +3488,7 @@ var messages_en = {
3486
3488
  zeroTotalInvoice: zeroTotalInvoice$3
3487
3489
  };
3488
3490
 
3489
- var labels$$ = {
3491
+ var labels$13 = {
3490
3492
  email: "Enter email",
3491
3493
  username: "Enter username",
3492
3494
  password: "Enter password",
@@ -3495,7 +3497,7 @@ var labels$$ = {
3495
3497
  passwordPlaceholder: "Password",
3496
3498
  login: "Login"
3497
3499
  };
3498
- var messages$13 = {
3500
+ var messages$17 = {
3499
3501
  loginTo: "Login to your account",
3500
3502
  welcome: "Welcome back, sign in with your existing account.",
3501
3503
  dontHaveAccount: "Don't have an account yet?",
@@ -3514,28 +3516,28 @@ var errors$h = {
3514
3516
  "": ""
3515
3517
  };
3516
3518
  var login_en = {
3517
- labels: labels$$,
3518
- messages: messages$13,
3519
+ labels: labels$13,
3520
+ messages: messages$17,
3519
3521
  errors: errors$h
3520
3522
  };
3521
3523
 
3522
- var labels$_ = {
3524
+ var labels$12 = {
3523
3525
  title: "Verifying Passwordless Link",
3524
3526
  instructions: "You're on your way!\nLet's confirm your email address.\nClick on the verification link we've sent to your email:",
3525
3527
  resend: "Resend email"
3526
3528
  };
3527
- var messages$12 = {
3529
+ var messages$16 = {
3528
3530
  resent: "Resent successfully",
3529
3531
  success: "You have logged in successfully"
3530
3532
  };
3531
3533
  var verifyLinkToken_en = {
3532
- labels: labels$_,
3533
- messages: messages$12
3534
+ labels: labels$12,
3535
+ messages: messages$16
3534
3536
  };
3535
3537
 
3536
3538
  var title$y = "Create an account";
3537
3539
  var subtitle$e = "Enter your email and password below";
3538
- var labels$Z = {
3540
+ var labels$11 = {
3539
3541
  signUpFacebook: "Sign up with Facebook",
3540
3542
  signUpGoogle: "Sign up with Google",
3541
3543
  signUpEmail: "Sign up with Email",
@@ -3548,7 +3550,7 @@ var labels$Z = {
3548
3550
  lastName: "Last name",
3549
3551
  phone: "Phone"
3550
3552
  };
3551
- var messages$11 = {
3553
+ var messages$15 = {
3552
3554
  alreadyHaveAccount: "Already have an account?",
3553
3555
  createAccount: "Create account",
3554
3556
  loginHere: "login here. ",
@@ -3594,7 +3596,8 @@ var gift$3 = {
3594
3596
  enterEmail: "Please enter the gift recipient's email.",
3595
3597
  invalidDate: "The gift date needs to be between today and a year from now.",
3596
3598
  giftDateInfo: "The recipient will receive a gift email notification with your message on the date you select in order to redeem the gift.",
3597
- giftMessageInfo: "Leave a message to the recipient and don't forget to sign your name."
3599
+ giftMessageInfo: "Leave a message to the recipient and don't forget to sign your name.",
3600
+ giftMessageAllowedCharacters: "Special characters and emojis are not allowed."
3598
3601
  }
3599
3602
  };
3600
3603
  var redeem$3 = {
@@ -3622,14 +3625,14 @@ var redeem$3 = {
3622
3625
  var register_en = {
3623
3626
  title: title$y,
3624
3627
  subtitle: subtitle$e,
3625
- labels: labels$Z,
3626
- messages: messages$11,
3628
+ labels: labels$11,
3629
+ messages: messages$15,
3627
3630
  errors: errors$g,
3628
3631
  gift: gift$3,
3629
3632
  redeem: redeem$3
3630
3633
  };
3631
3634
 
3632
- var labels$Y = {
3635
+ var labels$10 = {
3633
3636
  title: "Want to update your profile?",
3634
3637
  subtitle: "Enter your information below to update your profile",
3635
3638
  email: "Email",
@@ -3648,21 +3651,21 @@ var labels$Y = {
3648
3651
  zoom: "Zoom",
3649
3652
  tin: "Tax Identification Number"
3650
3653
  };
3651
- var messages$10 = {
3654
+ var messages$14 = {
3652
3655
  userUpdated: "Thanks! Your profile was updated successfully.",
3653
3656
  pictureRemoved: "Your profile picture was removed successfully.",
3654
3657
  pictureUpdated: "Your profile picture was updated successfully."
3655
3658
  };
3656
3659
  var userEdit_en = {
3657
- labels: labels$Y,
3658
- messages: messages$10
3660
+ labels: labels$10,
3661
+ messages: messages$14
3659
3662
  };
3660
3663
 
3661
3664
  var title$x = "Enter your shipping address";
3662
3665
  var titleGifting$3 = "Enter your address";
3663
3666
  var selectAddressTitle$3 = "Please select an address";
3664
3667
  var selectAddressSubtitle$3 = "Select one of your saved addresses, or add a new one";
3665
- var labels$X = {
3668
+ var labels$$ = {
3666
3669
  address: "Address",
3667
3670
  code: "Postal Code/Zip",
3668
3671
  city: "City",
@@ -3673,12 +3676,12 @@ var labels$X = {
3673
3676
  required: "required",
3674
3677
  isDefault: "Set as default"
3675
3678
  };
3676
- var buttons$i = {
3679
+ var buttons$m = {
3677
3680
  submit: "Submit",
3678
3681
  selectAddress: "Select address",
3679
3682
  addAddress: "Add new address"
3680
3683
  };
3681
- var messages$$ = {
3684
+ var messages$13 = {
3682
3685
  addressUpdated: "The address was successfully updated!",
3683
3686
  subRedeemed: "Your subscription has been redeemed."
3684
3687
  };
@@ -3687,9 +3690,9 @@ var address_en = {
3687
3690
  titleGifting: titleGifting$3,
3688
3691
  selectAddressTitle: selectAddressTitle$3,
3689
3692
  selectAddressSubtitle: selectAddressSubtitle$3,
3690
- labels: labels$X,
3691
- buttons: buttons$i,
3692
- messages: messages$$
3693
+ labels: labels$$,
3694
+ buttons: buttons$m,
3695
+ messages: messages$13
3693
3696
  };
3694
3697
 
3695
3698
  var title$w = "Reset your password";
@@ -3717,7 +3720,7 @@ var password$6 = "Password";
3717
3720
  var submit$e = "Submit";
3718
3721
  var required$e = "Required";
3719
3722
  var passwordResetEmailSent$3 = "Password reset instructions have been sent to your email";
3720
- var messages$_ = {
3723
+ var messages$12 = {
3721
3724
  alreadyHaveAccount: "Already have an account?",
3722
3725
  loginHere: "login here."
3723
3726
  };
@@ -3728,7 +3731,7 @@ var passwordForgot_en = {
3728
3731
  submit: submit$e,
3729
3732
  required: required$e,
3730
3733
  passwordResetEmailSent: passwordResetEmailSent$3,
3731
- messages: messages$_
3734
+ messages: messages$12
3732
3735
  };
3733
3736
 
3734
3737
  var title$u = "Change your password";
@@ -3756,7 +3759,7 @@ var title$t = "Passwordless Login";
3756
3759
  var email$9 = "Enter email";
3757
3760
  var submit$c = "Submit";
3758
3761
  var required$c = "Required";
3759
- var messages$Z = {
3762
+ var messages$11 = {
3760
3763
  PasswordlessLoginSuccess: "Please check your email and follow the instructions there"
3761
3764
  };
3762
3765
  var passwordlessRequest_en = {
@@ -3764,7 +3767,7 @@ var passwordlessRequest_en = {
3764
3767
  email: email$9,
3765
3768
  submit: submit$c,
3766
3769
  required: required$c,
3767
- messages: messages$Z
3770
+ messages: messages$11
3768
3771
  };
3769
3772
 
3770
3773
  var title$s = "Your shopping cart";
@@ -3792,13 +3795,13 @@ var cart_en = {
3792
3795
  removeAll: removeAll$3
3793
3796
  };
3794
3797
 
3795
- var buttons$h = {
3798
+ var buttons$l = {
3796
3799
  select: "Select",
3797
3800
  added: "Added to cart",
3798
3801
  purchase: "Purchase",
3799
3802
  "continue": "Continue"
3800
3803
  };
3801
- var messages$Y = {
3804
+ var messages$10 = {
3802
3805
  orderConfirmed: {
3803
3806
  title: "Order confirmed!",
3804
3807
  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."
@@ -3807,17 +3810,17 @@ var messages$Y = {
3807
3810
  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.",
3808
3811
  currencyMismatch: "The selected item(s) do not match your current default currency ({{currency}}). Please choose item(s) only matching this currency."
3809
3812
  };
3810
- var labels$W = {
3813
+ var labels$_ = {
3811
3814
  summary: "Order summary",
3812
3815
  total: "total"
3813
3816
  };
3814
3817
  var shop_en = {
3815
- buttons: buttons$h,
3816
- messages: messages$Y,
3817
- labels: labels$W
3818
+ buttons: buttons$l,
3819
+ messages: messages$10,
3820
+ labels: labels$_
3818
3821
  };
3819
3822
 
3820
- var labels$V = {
3823
+ var labels$Z = {
3821
3824
  cardNumber: "Card number",
3822
3825
  securityCode: "Security Code",
3823
3826
  submit: "Submit",
@@ -3839,7 +3842,7 @@ var labels$V = {
3839
3842
  title: "Payment Information"
3840
3843
  }
3841
3844
  };
3842
- var messages$X = {
3845
+ var messages$$ = {
3843
3846
  youAreSafe: "You're safe - PCI compliant 128 SSL by",
3844
3847
  cancel: "Cancel your subscription online at anytime.",
3845
3848
  giftSent: "Subscription gift has been sent to",
@@ -3853,12 +3856,12 @@ var errors$f = {
3853
3856
  "": ""
3854
3857
  };
3855
3858
  var payment_en = {
3856
- labels: labels$V,
3857
- messages: messages$X,
3859
+ labels: labels$Z,
3860
+ messages: messages$$,
3858
3861
  errors: errors$f
3859
3862
  };
3860
3863
 
3861
- var labels$U = {
3864
+ var labels$Y = {
3862
3865
  menu: "Pelcro Menu",
3863
3866
  name: "Name",
3864
3867
  email: "Email",
@@ -3944,9 +3947,12 @@ var labels$U = {
3944
3947
  },
3945
3948
  subCancellation: {
3946
3949
  goBack: "Go back"
3950
+ },
3951
+ donationCancellation: {
3952
+ goBack: "Go back"
3947
3953
  }
3948
3954
  };
3949
- var messages$W = {
3955
+ var messages$_ = {
3950
3956
  noCard: "You don't have a card",
3951
3957
  subCancellation: {
3952
3958
  isSureToCancel: "Are you sure you want to cancel your subscription?",
@@ -3963,19 +3969,35 @@ var messages$W = {
3963
3969
  loading: "Unsuspending your subscription",
3964
3970
  success: "Subscription is successfully unsuspended",
3965
3971
  error: "Error while unsuspending your subscription"
3972
+ },
3973
+ donationCancellation: {
3974
+ isSureToCancel: "Are you sure you want to cancel your donation?",
3975
+ loading: "Cancelling your donation",
3976
+ success: "Donation is successfully cancelled",
3977
+ error: "Error while cancelling your donation"
3978
+ },
3979
+ donationReactivation: {
3980
+ success: "Donation is successfully reactivated",
3981
+ error: "Error while reactivating your donation"
3982
+ },
3983
+ donationUnSuspend: {
3984
+ isSureToUnSuspend: "Are you sure you want to unsuspend your donation?",
3985
+ loading: "Unsuspending your donation",
3986
+ success: "Donation is successfully unsuspended",
3987
+ error: "Error while unsuspending your donation"
3966
3988
  }
3967
3989
  };
3968
3990
  var dashboard_en = {
3969
- labels: labels$U,
3970
- messages: messages$W
3991
+ labels: labels$Y,
3992
+ messages: messages$_
3971
3993
  };
3972
3994
 
3973
- var messages$V = {
3995
+ var messages$Z = {
3974
3996
  alreadyHaveAccount: "Already have an account?",
3975
3997
  loginHere: "Login here",
3976
3998
  checkbox: "Check this box to gift this subscription"
3977
3999
  };
3978
- var labels$T = {
4000
+ var labels$X = {
3979
4001
  plan: {
3980
4002
  title: "Subscribe to a plan",
3981
4003
  subtitle: "Select one of the plans below and click on next."
@@ -3992,15 +4014,49 @@ var labels$T = {
3992
4014
  or: "Or take a look at some of our other options below"
3993
4015
  }
3994
4016
  };
3995
- var buttons$g = {
4017
+ var buttons$k = {
3996
4018
  next: "Next",
3997
4019
  select: "Select",
3998
4020
  back: "Back"
3999
4021
  };
4000
4022
  var select_en = {
4001
- messages: messages$V,
4002
- labels: labels$T,
4003
- buttons: buttons$g
4023
+ messages: messages$Z,
4024
+ labels: labels$X,
4025
+ buttons: buttons$k
4026
+ };
4027
+
4028
+ var messages$Y = {
4029
+ alreadyHaveAccount: "Already have an account?",
4030
+ loginHere: "Login here",
4031
+ checkbox: "Check this box to gift this subscription"
4032
+ };
4033
+ var labels$W = {
4034
+ plan: {
4035
+ title: "Subscribe to a plan",
4036
+ subtitle: "Select one of the plans below and click on next."
4037
+ },
4038
+ product: {
4039
+ title: "Subscribe to a product",
4040
+ subtitle: "Select one of the products below and click on next."
4041
+ },
4042
+ selectProduct: "Select a product",
4043
+ selectPlan: "Select a plan",
4044
+ startingAt: "Starting at",
4045
+ restrictiveArticles: {
4046
+ subscribeTo: "Subscribe to one of the following options to get access to this page",
4047
+ or: "Or take a look at some of our other options below"
4048
+ }
4049
+ };
4050
+ var buttons$j = {
4051
+ signupAndDonate: "Sign up & donate",
4052
+ donate: "Donate",
4053
+ select: "Select",
4054
+ back: "Back"
4055
+ };
4056
+ var donation_en = {
4057
+ messages: messages$Y,
4058
+ labels: labels$W,
4059
+ buttons: buttons$j
4004
4060
  };
4005
4061
 
4006
4062
  var confirm$9 = {
@@ -4013,46 +4069,46 @@ var notification_en = {
4013
4069
  confirm: confirm$9
4014
4070
  };
4015
4071
 
4016
- var labels$S = {
4072
+ var labels$V = {
4017
4073
  title: "Verify your email",
4018
4074
  instructions: "You're on your way!\nLet's confirm your email address.\nClick on the verification link we've sent to your email:",
4019
4075
  resend: "Resend email"
4020
4076
  };
4021
- var messages$U = {
4077
+ var messages$X = {
4022
4078
  resent: "Resent successfully",
4023
4079
  success: "Email verified successfully!"
4024
4080
  };
4025
4081
  var verifyEmail_en = {
4026
- labels: labels$S,
4027
- messages: messages$U
4082
+ labels: labels$V,
4083
+ messages: messages$X
4028
4084
  };
4029
4085
 
4030
4086
  var title$r = "Invoice details";
4031
- var labels$R = {
4087
+ var labels$U = {
4032
4088
  summary: "Summary",
4033
4089
  total: "Total",
4034
4090
  amountPaid: "Amount paid",
4035
4091
  amountDue: "Amount due",
4036
4092
  creationDate: "Created on:"
4037
4093
  };
4038
- var buttons$f = {
4094
+ var buttons$i = {
4039
4095
  download: "Download",
4040
4096
  pay: "Pay now"
4041
4097
  };
4042
4098
  var invoiceDetails_en = {
4043
4099
  title: title$r,
4044
- labels: labels$R,
4045
- buttons: buttons$f
4100
+ labels: labels$U,
4101
+ buttons: buttons$i
4046
4102
  };
4047
4103
 
4048
- var labels$Q = {
4104
+ var labels$T = {
4049
4105
  title: "Cancel subscription",
4050
4106
  cancelReason: "Cancellation reason",
4051
4107
  subCancellation: {
4052
4108
  goBack: "Go back"
4053
4109
  }
4054
4110
  };
4055
- var messages$T = {
4111
+ var messages$W = {
4056
4112
  subscriptionEnd: "This subscription is set to expire on",
4057
4113
  cancelNow: "Cancel Subscription Now",
4058
4114
  cancelLater: "Cancel at Period End",
@@ -4065,18 +4121,18 @@ var messages$T = {
4065
4121
  }
4066
4122
  };
4067
4123
  var subscriptionCancel_en = {
4068
- labels: labels$Q,
4069
- messages: messages$T
4124
+ labels: labels$T,
4125
+ messages: messages$W
4070
4126
  };
4071
4127
 
4072
- var labels$P = {
4128
+ var labels$S = {
4073
4129
  title: "Annuler l'abonnement",
4074
4130
  cancelReason: "Motif d'annulation",
4075
4131
  subCancellation: {
4076
4132
  goBack: "Retourner"
4077
4133
  }
4078
4134
  };
4079
- var messages$S = {
4135
+ var messages$V = {
4080
4136
  subscriptionEnd: "Cet abonnement doit expirer le",
4081
4137
  cancelNow: "Cancel Subscription Now",
4082
4138
  cancelLater: "Annuler l'abonnement maintenant",
@@ -4089,18 +4145,18 @@ var messages$S = {
4089
4145
  }
4090
4146
  };
4091
4147
  var subscriptionCancel_fr = {
4092
- labels: labels$P,
4093
- messages: messages$S
4148
+ labels: labels$S,
4149
+ messages: messages$V
4094
4150
  };
4095
4151
 
4096
- var labels$O = {
4152
+ var labels$R = {
4097
4153
  title: "구독 취소",
4098
4154
  cancelReason: "취소 사유",
4099
4155
  subCancellation: {
4100
4156
  goBack: "돌아가기"
4101
4157
  }
4102
4158
  };
4103
- var messages$R = {
4159
+ var messages$U = {
4104
4160
  subscriptionEnd: "이 구독은 다음 날짜에 만료되도록 설정되었습니다.",
4105
4161
  cancelNow: "지금 구독 취소",
4106
4162
  cancelLater: "기간 종료 시 취소",
@@ -4113,11 +4169,11 @@ var messages$R = {
4113
4169
  }
4114
4170
  };
4115
4171
  var subscriptionCancel_ko = {
4116
- labels: labels$O,
4117
- messages: messages$R
4172
+ labels: labels$R,
4173
+ messages: messages$U
4118
4174
  };
4119
4175
 
4120
- var labels$N = {
4176
+ var labels$Q = {
4121
4177
  inviteMembers: "Invite Members",
4122
4178
  listOfMembers: "List of members",
4123
4179
  invite: "Invite",
@@ -4128,10 +4184,10 @@ var labels$N = {
4128
4184
  email: "Email"
4129
4185
  };
4130
4186
  var subscriptionManageMembers_en = {
4131
- labels: labels$N
4187
+ labels: labels$Q
4132
4188
  };
4133
4189
 
4134
- var labels$M = {
4190
+ var labels$P = {
4135
4191
  inviteMembers: "Inviter des membres",
4136
4192
  listOfMembers: "Liste des membres",
4137
4193
  invite: "Inviter",
@@ -4142,10 +4198,10 @@ var labels$M = {
4142
4198
  email: "E-mail"
4143
4199
  };
4144
4200
  var subscriptionManageMembers_fr = {
4145
- labels: labels$M
4201
+ labels: labels$P
4146
4202
  };
4147
4203
 
4148
- var labels$L = {
4204
+ var labels$O = {
4149
4205
  inviteMembers: "회원 초대",
4150
4206
  listOfMembers: "구성원 목록",
4151
4207
  invite: "초대",
@@ -4156,17 +4212,17 @@ var labels$L = {
4156
4212
  email: "이메일"
4157
4213
  };
4158
4214
  var subscriptionManageMembers_ko = {
4159
- labels: labels$L
4215
+ labels: labels$O
4160
4216
  };
4161
4217
 
4162
- var labels$K = {
4218
+ var labels$N = {
4163
4219
  title: "Suspend subscription",
4164
4220
  suspensionDate: "Suspension date",
4165
4221
  subCancellation: {
4166
4222
  goBack: "Go back"
4167
4223
  }
4168
4224
  };
4169
- var messages$Q = {
4225
+ var messages$T = {
4170
4226
  suspensionEnd: "The suspension is set to expire on",
4171
4227
  suspendNow: "Suspend Subscription Now",
4172
4228
  suspendLater: "Suspend at Period End",
@@ -4179,8 +4235,8 @@ var messages$Q = {
4179
4235
  }
4180
4236
  };
4181
4237
  var subscriptionSuspend_en = {
4182
- labels: labels$K,
4183
- messages: messages$Q
4238
+ labels: labels$N,
4239
+ messages: messages$T
4184
4240
  };
4185
4241
 
4186
4242
  var validation$2 = {
@@ -4195,7 +4251,7 @@ var validation$2 = {
4195
4251
  enterLastName: "Le nom de famille est requis.",
4196
4252
  enterPhone: "Le numéro de téléphone est requis."
4197
4253
  };
4198
- var buttons$e = {
4254
+ var buttons$h = {
4199
4255
  account: "Accès abonné(e)s",
4200
4256
  login: "Se connecter",
4201
4257
  subscribe: "S'abonner"
@@ -4273,7 +4329,7 @@ var confirm$8 = {
4273
4329
  };
4274
4330
  var common_fr = {
4275
4331
  validation: validation$2,
4276
- buttons: buttons$e,
4332
+ buttons: buttons$h,
4277
4333
  dashboard: dashboard$3,
4278
4334
  select: select$5,
4279
4335
  confirm: confirm$8
@@ -4304,7 +4360,7 @@ var paymentMethod_fr = {
4304
4360
  var title$q = "Entrez votre adresse courriel pour vous abonner à notre infolettre";
4305
4361
  var updateTitle$2 = "Mettre à jour son choix d'infolettres";
4306
4362
  var subtitle$b = "Nous pouvons utiliser votre adresse courriel pour d’autres communications marketing";
4307
- var labels$J = {
4363
+ var labels$M = {
4308
4364
  submit: "Lire l’article !",
4309
4365
  firstName: "Prénom",
4310
4366
  lastName: "Nom de famille",
@@ -4312,7 +4368,7 @@ var labels$J = {
4312
4368
  postalCode: "Code postal",
4313
4369
  required: "Champs obligatoires"
4314
4370
  };
4315
- var messages$P = {
4371
+ var messages$S = {
4316
4372
  alreadyHaveAccount: "Vous avez déjà un compte ?",
4317
4373
  success: "Votre choix d'infolettres à été mis à jour",
4318
4374
  loginHere: "Connectez-vous ici",
@@ -4323,14 +4379,14 @@ var newsletter_fr = {
4323
4379
  title: title$q,
4324
4380
  updateTitle: updateTitle$2,
4325
4381
  subtitle: subtitle$b,
4326
- labels: labels$J,
4327
- messages: messages$P
4382
+ labels: labels$M,
4383
+ messages: messages$S
4328
4384
  };
4329
4385
 
4330
- var labels$I = {
4386
+ var labels$L = {
4331
4387
  "continue": "Abonnement réussi !"
4332
4388
  };
4333
- var messages$O = {
4389
+ var messages$R = {
4334
4390
  yourFreeTrial: "Votre essai gratuit vient de débuter",
4335
4391
  youHaveAccess: "Nous espérons que vous allez apprécier votre abonnement. Veuillez nous contacter si vous avez des questions ou des préoccupations.",
4336
4392
  clickToLearn: {
@@ -4356,12 +4412,12 @@ var errors$e = {
4356
4412
  "": ""
4357
4413
  };
4358
4414
  var success_fr = {
4359
- labels: labels$I,
4360
- messages: messages$O,
4415
+ labels: labels$L,
4416
+ messages: messages$R,
4361
4417
  errors: errors$e
4362
4418
  };
4363
4419
 
4364
- var messages$N = {
4420
+ var messages$Q = {
4365
4421
  freeVisits: "Visites gratuites restantes:",
4366
4422
  subscribeNow: "Abonnez-vous maintenant !",
4367
4423
  alreadyHaveAccount: "Vous avez déjà un compte ?",
@@ -4371,16 +4427,16 @@ var errors$d = {
4371
4427
  "": ""
4372
4428
  };
4373
4429
  var meter_fr = {
4374
- messages: messages$N,
4430
+ messages: messages$Q,
4375
4431
  errors: errors$d
4376
4432
  };
4377
4433
 
4378
- var messages$M = {
4434
+ var messages$P = {
4379
4435
  youAreSafe: "Vous êtes en sécurité - PCI conforme 128 SSL par",
4380
4436
  bankRedirection: "Veuillez patienter, nous vous redirigeons vers votre banque.",
4381
4437
  bankAuthenticationSuccess: "Veuillez patienter pendant que nous accédons à votre requête."
4382
4438
  };
4383
- var labels$H = {
4439
+ var labels$K = {
4384
4440
  card: "Entrez le numéro de carte",
4385
4441
  date: "Date d’expiration",
4386
4442
  CVC: "CVC",
@@ -4400,11 +4456,13 @@ var labels$H = {
4400
4456
  firstName: "Prénom",
4401
4457
  lastName: "Nom de famille",
4402
4458
  phone: "Téléphoner",
4403
- freeItems: "Articles gratuits"
4459
+ freeItems: "Articles gratuits",
4460
+ email: "Courriel",
4461
+ password: "Créer un mot de passe"
4404
4462
  };
4405
4463
  var checkoutForm_fr = {
4406
- messages: messages$M,
4407
- labels: labels$H
4464
+ messages: messages$P,
4465
+ labels: labels$K
4408
4466
  };
4409
4467
 
4410
4468
  var youAreSafe$2 = "Vous êtes en sécurité - PCI conforme 128 SSL par";
@@ -4428,7 +4486,7 @@ var messages_fr = {
4428
4486
  zeroTotalInvoice: zeroTotalInvoice$2
4429
4487
  };
4430
4488
 
4431
- var labels$G = {
4489
+ var labels$J = {
4432
4490
  email: "Entrez votre adresse courriel",
4433
4491
  username: "Saisissez votre nom d'utilisateur",
4434
4492
  password: "Entrez votre mot de passe",
@@ -4437,7 +4495,7 @@ var labels$G = {
4437
4495
  passwordPlaceholder: "Mot de passe",
4438
4496
  login: "Connexion"
4439
4497
  };
4440
- var messages$L = {
4498
+ var messages$O = {
4441
4499
  loginTo: "Connectez-vous à votre compte",
4442
4500
  welcome: "Bienvenue, connectez-vous avec votre compte existant.",
4443
4501
  dontHaveAccount: "Vous n’avez pas encore de compte ?",
@@ -4456,28 +4514,28 @@ var errors$c = {
4456
4514
  "": ""
4457
4515
  };
4458
4516
  var login_fr = {
4459
- labels: labels$G,
4460
- messages: messages$L,
4517
+ labels: labels$J,
4518
+ messages: messages$O,
4461
4519
  errors: errors$c
4462
4520
  };
4463
4521
 
4464
- var labels$F = {
4522
+ var labels$I = {
4465
4523
  title: "Confirmez votre courriel",
4466
4524
  instructions: "Confirmez votre courriel.\nVeuillez cliquer sur le lien de vérification, qui vous a été envoyé à:",
4467
4525
  resend: "Renvoyer le courriel"
4468
4526
  };
4469
- var messages$K = {
4527
+ var messages$N = {
4470
4528
  resent: "Renvoyé avec succès",
4471
4529
  success: "Vous vous êtes connecté avec succès"
4472
4530
  };
4473
4531
  var verifyLinkToken_fr = {
4474
- labels: labels$F,
4475
- messages: messages$K
4532
+ labels: labels$I,
4533
+ messages: messages$N
4476
4534
  };
4477
4535
 
4478
4536
  var title$p = "Créer un compte";
4479
4537
  var subtitle$a = "Entrez votre courriel et votre mot de passe ci-dessous";
4480
- var labels$E = {
4538
+ var labels$H = {
4481
4539
  signUpFacebook: "Inscrivez-vous avec Facebook",
4482
4540
  signUpGoogle: "Inscrivez-vous avec Google",
4483
4541
  signUpEmail: "Inscrivez-vous avec votre courriel",
@@ -4490,7 +4548,7 @@ var labels$E = {
4490
4548
  lastName: "Nom de famille",
4491
4549
  phone: "Téléphoner"
4492
4550
  };
4493
- var messages$J = {
4551
+ var messages$M = {
4494
4552
  alreadyHaveAccount: "Vous avez déjà un compte?",
4495
4553
  createAccount: "Créer un compte",
4496
4554
  loginHere: "Connectez-vous ici",
@@ -4537,7 +4595,8 @@ var gift$2 = {
4537
4595
  enterEmail: "Veuillez entrer l’adresse courriel du destinataire du cadeau.",
4538
4596
  invalidDate: "La date du cadeau doit être comprise entre aujourd'hui et un an.",
4539
4597
  giftDateInfo: "Le destinataire recevra un courriel à la date déterminée afin d'activer leur abonnement cadeau.",
4540
- giftMessageInfo: "Laissez un message au destinataire sans oublier de signer votre nom."
4598
+ giftMessageInfo: "Laissez un message au destinataire sans oublier de signer votre nom.",
4599
+ giftMessageAllowedCharacters: "Les caractères spéciaux et les emojis ne sont pas autorisés."
4541
4600
  }
4542
4601
  };
4543
4602
  var redeem$2 = {
@@ -4565,14 +4624,14 @@ var redeem$2 = {
4565
4624
  var register_fr = {
4566
4625
  title: title$p,
4567
4626
  subtitle: subtitle$a,
4568
- labels: labels$E,
4569
- messages: messages$J,
4627
+ labels: labels$H,
4628
+ messages: messages$M,
4570
4629
  errors: errors$b,
4571
4630
  gift: gift$2,
4572
4631
  redeem: redeem$2
4573
4632
  };
4574
4633
 
4575
- var labels$D = {
4634
+ var labels$G = {
4576
4635
  title: "Voulez-vous mettre à jour votre profil ?",
4577
4636
  subtitle: "Entrez vos informations ci-dessous pour mettre à jour votre profil",
4578
4637
  email: "Address courriel",
@@ -4591,21 +4650,21 @@ var labels$D = {
4591
4650
  zoom: "Zoom",
4592
4651
  tin: "Numéro d'identification fiscale"
4593
4652
  };
4594
- var messages$I = {
4653
+ var messages$L = {
4595
4654
  userUpdated: "Votre profil a été mis à jour avec succès.",
4596
4655
  pictureRemoved: "Votre photo de profil a été supprimée avec succès.",
4597
4656
  pictureUpdated: "Votre photo de profil a été mise à jour avec succès."
4598
4657
  };
4599
4658
  var userEdit_fr = {
4600
- labels: labels$D,
4601
- messages: messages$I
4659
+ labels: labels$G,
4660
+ messages: messages$L
4602
4661
  };
4603
4662
 
4604
4663
  var title$o = "Entrez votre adresse de livraison";
4605
4664
  var titleGifting$2 = "Entrez votre adresse";
4606
4665
  var selectAddressTitle$2 = "Veuillez sélectionner une adresse";
4607
4666
  var selectAddressSubtitle$2 = "Choisissez l'une de vos adresses ou créez-en une nouvelle";
4608
- var labels$C = {
4667
+ var labels$F = {
4609
4668
  address: "Adresse",
4610
4669
  code: "Code postal / Zip",
4611
4670
  city: "Ville",
@@ -4616,12 +4675,12 @@ var labels$C = {
4616
4675
  required: "Champs obligatoires",
4617
4676
  isDefault: "Définir par défaut"
4618
4677
  };
4619
- var buttons$d = {
4678
+ var buttons$g = {
4620
4679
  submit: "Valider",
4621
4680
  selectAddress: "Choisir cette adresse",
4622
4681
  addAddress: "Ajouter une nouvelle adresse"
4623
4682
  };
4624
- var messages$H = {
4683
+ var messages$K = {
4625
4684
  addressUpdated: "Votre adresse a été mise à jour avec succès",
4626
4685
  subRedeemed: "Votre abonnement a bien été activé."
4627
4686
  };
@@ -4630,9 +4689,9 @@ var address_fr = {
4630
4689
  titleGifting: titleGifting$2,
4631
4690
  selectAddressTitle: selectAddressTitle$2,
4632
4691
  selectAddressSubtitle: selectAddressSubtitle$2,
4633
- labels: labels$C,
4634
- buttons: buttons$d,
4635
- messages: messages$H
4692
+ labels: labels$F,
4693
+ buttons: buttons$g,
4694
+ messages: messages$K
4636
4695
  };
4637
4696
 
4638
4697
  var title$n = "Réinitialiser votre mot de passe";
@@ -4660,7 +4719,7 @@ var password$4 = "Mot de passe";
4660
4719
  var submit$a = "Soumettre";
4661
4720
  var required$a = "Champs obligatoires";
4662
4721
  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.";
4663
- var messages$G = {
4722
+ var messages$J = {
4664
4723
  alreadyHaveAccount: "Vous avez déjà un compte ?",
4665
4724
  loginHere: "Connectez-vous ici"
4666
4725
  };
@@ -4671,7 +4730,7 @@ var passwordForgot_fr = {
4671
4730
  submit: submit$a,
4672
4731
  required: required$a,
4673
4732
  passwordResetEmailSent: passwordResetEmailSent$2,
4674
- messages: messages$G
4733
+ messages: messages$J
4675
4734
  };
4676
4735
 
4677
4736
  var title$l = "Changez votre mot de passe";
@@ -4699,7 +4758,7 @@ var title$k = "Connexion sans mot de passe";
4699
4758
  var email$6 = "Entrez votre adresse courriel";
4700
4759
  var submit$8 = "Soumettre";
4701
4760
  var required$8 = "Champs obligatoires";
4702
- var messages$F = {
4761
+ var messages$I = {
4703
4762
  PasswordlessLoginSuccess: "Vous avez été authentifié avec succès avec la connexion sans mot de passe"
4704
4763
  };
4705
4764
  var passwordlessRequest_fr = {
@@ -4707,7 +4766,7 @@ var passwordlessRequest_fr = {
4707
4766
  email: email$6,
4708
4767
  submit: submit$8,
4709
4768
  required: required$8,
4710
- messages: messages$F
4769
+ messages: messages$I
4711
4770
  };
4712
4771
 
4713
4772
  var title$j = "Votre panier";
@@ -4735,13 +4794,13 @@ var cart_fr = {
4735
4794
  removeAll: removeAll$2
4736
4795
  };
4737
4796
 
4738
- var buttons$c = {
4797
+ var buttons$f = {
4739
4798
  select: "Choisir",
4740
4799
  added: "Ajouté au panier",
4741
4800
  purchase: "Acheter",
4742
4801
  "continue": "Continuer au contenu"
4743
4802
  };
4744
- var messages$E = {
4803
+ var messages$H = {
4745
4804
  orderConfirmed: {
4746
4805
  title: "Votre commande est confirmée !",
4747
4806
  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."
@@ -4750,17 +4809,17 @@ var messages$E = {
4750
4809
  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.",
4751
4810
  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."
4752
4811
  };
4753
- var labels$B = {
4812
+ var labels$E = {
4754
4813
  summary: "récapitulatif de commande",
4755
4814
  total: "total"
4756
4815
  };
4757
4816
  var shop_fr = {
4758
- buttons: buttons$c,
4759
- messages: messages$E,
4760
- labels: labels$B
4817
+ buttons: buttons$f,
4818
+ messages: messages$H,
4819
+ labels: labels$E
4761
4820
  };
4762
4821
 
4763
- var labels$A = {
4822
+ var labels$D = {
4764
4823
  cardNumber: "Numéro de carte",
4765
4824
  securityCode: "Code de sécurité",
4766
4825
  submit: "Soumettre",
@@ -4782,7 +4841,7 @@ var labels$A = {
4782
4841
  title: "Informations de paiement"
4783
4842
  }
4784
4843
  };
4785
- var messages$D = {
4844
+ var messages$G = {
4786
4845
  youAreSafe: "Vous êtes en sécurité - PCI conforme 128 SSL par",
4787
4846
  cancel: "Annuler votre abonnement en ligne à tout moment.",
4788
4847
  giftSent: "Le cadeau d’abonnement a été envoyé à",
@@ -4796,12 +4855,12 @@ var errors$a = {
4796
4855
  "": ""
4797
4856
  };
4798
4857
  var payment_fr = {
4799
- labels: labels$A,
4800
- messages: messages$D,
4858
+ labels: labels$D,
4859
+ messages: messages$G,
4801
4860
  errors: errors$a
4802
4861
  };
4803
4862
 
4804
- var labels$z = {
4863
+ var labels$C = {
4805
4864
  menu: "Menu Pelcro",
4806
4865
  name: "Nom",
4807
4866
  email: "Courriel",
@@ -4887,9 +4946,12 @@ var labels$z = {
4887
4946
  },
4888
4947
  subCancellation: {
4889
4948
  goBack: "Retourner"
4949
+ },
4950
+ donationCancellation: {
4951
+ goBack: "Go back"
4890
4952
  }
4891
4953
  };
4892
- var messages$C = {
4954
+ var messages$F = {
4893
4955
  noCard: "Vous n’avez pas une carte",
4894
4956
  subCancellation: {
4895
4957
  isSureToCancel: "Êtes-vous certain de vouloir annuler votre abonnement?",
@@ -4906,19 +4968,35 @@ var messages$C = {
4906
4968
  loading: "Annulation de la suspension de votre abonnement",
4907
4969
  success: "L'abonnement a été suspendu avec succès",
4908
4970
  error: "Erreur lors de l'annulation de la suspension de votre abonnement"
4971
+ },
4972
+ donationCancellation: {
4973
+ isSureToCancel: "Êtes-vous certain de vouloir annuler votre don?",
4974
+ loading: "Annulation de l'don",
4975
+ success: "L'don a été annulé avec succès",
4976
+ error: "Une erreur s'est produite lors de l'annulation de l'don"
4977
+ },
4978
+ donationReactivation: {
4979
+ success: "L'don a été réactivé avec succès",
4980
+ error: "Erreur lors de la réactivation de votre don"
4981
+ },
4982
+ donationUnSuspend: {
4983
+ isSureToUnSuspend: "Êtes-vous sûr de vouloir annuler la suspension de votre don ?",
4984
+ loading: "Annulation de la suspension de votre don",
4985
+ success: "L'don a été suspendu avec succès",
4986
+ error: "Erreur lors de l'annulation de la suspension de votre don"
4909
4987
  }
4910
4988
  };
4911
4989
  var dashboard_fr = {
4912
- labels: labels$z,
4913
- messages: messages$C
4990
+ labels: labels$C,
4991
+ messages: messages$F
4914
4992
  };
4915
4993
 
4916
- var messages$B = {
4994
+ var messages$E = {
4917
4995
  alreadyHaveAccount: "Vous avez déjà un compte ?",
4918
4996
  loginHere: "Connectez-vous ici",
4919
4997
  checkbox: "Cochez cette case pour offrir cet abonnement"
4920
4998
  };
4921
- var labels$y = {
4999
+ var labels$B = {
4922
5000
  plan: {
4923
5001
  title: "Abonnez-vous à un plan",
4924
5002
  subtitle: "Sélectionnez l’un des plans ci-dessous et cliquez sur suivant."
@@ -4935,67 +5013,100 @@ var labels$y = {
4935
5013
  or: "Sinon, jetez un coup d'oeil à d'autres offres ci-dessous"
4936
5014
  }
4937
5015
  };
4938
- var buttons$b = {
5016
+ var buttons$e = {
4939
5017
  next: "Prochain",
4940
5018
  select: "Choisir",
4941
5019
  back: "Retour"
4942
5020
  };
4943
5021
  var select_fr = {
4944
- messages: messages$B,
4945
- labels: labels$y,
4946
- buttons: buttons$b
5022
+ messages: messages$E,
5023
+ labels: labels$B,
5024
+ buttons: buttons$e
4947
5025
  };
4948
5026
 
4949
- var confirm$6 = {
4950
- labels: {
4951
- confirm: "Confirmer",
4952
- close: "Fermer"
4953
- }
5027
+ var messages$D = {
5028
+ alreadyHaveAccount: "Vous avez déjà un compte ?",
5029
+ loginHere: "Connectez-vous ici",
5030
+ checkbox: "Cochez cette case pour offrir cet abonnement"
5031
+ };
5032
+ var labels$A = {
5033
+ plan: {
5034
+ title: "Abonnez-vous à un plan",
5035
+ subtitle: "Sélectionnez l’un des plans ci-dessous et cliquez sur suivant."
5036
+ },
5037
+ product: {
5038
+ title: "Abonnez-vous à un produit",
5039
+ subtitle: "Sélectionnez l’un des produits ci-dessous et cliquez sur suivant."
5040
+ },
5041
+ selectProduct: "Sélectionnez un produit",
5042
+ selectPlan: "Sélectionnez un plan",
5043
+ starningAt: "À partir de",
5044
+ restrictiveArticles: {
5045
+ subscribeTo: "Abonnez-vous à une des options suivantes pour accéder au contenu de cette page",
5046
+ or: "Sinon, jetez un coup d'oeil à d'autres offres ci-dessous"
5047
+ }
5048
+ };
5049
+ var buttons$d = {
5050
+ next: "Prochain",
5051
+ select: "Choisir",
5052
+ back: "Retour"
5053
+ };
5054
+ var donation_fr = {
5055
+ messages: messages$D,
5056
+ labels: labels$A,
5057
+ buttons: buttons$d
5058
+ };
5059
+
5060
+ var confirm$6 = {
5061
+ labels: {
5062
+ confirm: "Confirmer",
5063
+ close: "Fermer"
5064
+ }
4954
5065
  };
4955
5066
  var notification_fr = {
4956
5067
  confirm: confirm$6
4957
5068
  };
4958
5069
 
4959
- var labels$x = {
5070
+ var labels$z = {
4960
5071
  title: "Confirmez votre courriel",
4961
5072
  instructions: "Confirmez votre courriel.\nVeuillez cliquer sur le lien de vérification, qui vous a été envoyé à:",
4962
5073
  resend: "Renvoyer le courriel"
4963
5074
  };
4964
- var messages$A = {
5075
+ var messages$C = {
4965
5076
  resent: "Renvoyé avec succès",
4966
5077
  success: "Adresse courriel vérifiée avec succès"
4967
5078
  };
4968
5079
  var verifyEmail_fr = {
4969
- labels: labels$x,
4970
- messages: messages$A
5080
+ labels: labels$z,
5081
+ messages: messages$C
4971
5082
  };
4972
5083
 
4973
5084
  var title$i = "Détails de la facture";
4974
- var labels$w = {
5085
+ var labels$y = {
4975
5086
  summary: "Résumé",
4976
5087
  total: "Total",
4977
5088
  amountPaid: "Montant payé",
4978
5089
  amountDue: "Montant dû",
4979
5090
  creationDate: "Créé le:"
4980
5091
  };
4981
- var buttons$a = {
5092
+ var buttons$c = {
4982
5093
  download: "Télécharger",
4983
5094
  pay: "Payer"
4984
5095
  };
4985
5096
  var invoiceDetails_fr = {
4986
5097
  title: title$i,
4987
- labels: labels$w,
4988
- buttons: buttons$a
5098
+ labels: labels$y,
5099
+ buttons: buttons$c
4989
5100
  };
4990
5101
 
4991
- var labels$v = {
5102
+ var labels$x = {
4992
5103
  title: "Suspendre l'abonnement",
4993
5104
  suspensionDate: "Date de suspension",
4994
5105
  subCancellation: {
4995
5106
  goBack: "Revenir en arrière"
4996
5107
  }
4997
5108
  };
4998
- var messages$z = {
5109
+ var messages$B = {
4999
5110
  suspensionEnd: "La suspension doit expirer le",
5000
5111
  suspendNow: "Suspendre l'abonnement maintenant",
5001
5112
  suspendLater: "Suspendre à la fin de la période",
@@ -5008,8 +5119,8 @@ var messages$z = {
5008
5119
  }
5009
5120
  };
5010
5121
  var subscriptionSuspend_fr = {
5011
- labels: labels$v,
5012
- messages: messages$z
5122
+ labels: labels$x,
5123
+ messages: messages$B
5013
5124
  };
5014
5125
 
5015
5126
  var validation$1 = {
@@ -5023,7 +5134,7 @@ var validation$1 = {
5023
5134
  enterLastName: "성은 필수 항목입니다.",
5024
5135
  enterPhone: "전화번호는 필수 항목입니다."
5025
5136
  };
5026
- var buttons$9 = {
5137
+ var buttons$b = {
5027
5138
  account: "내 계정",
5028
5139
  login: "로그인",
5029
5140
  subscribe: "구독하다"
@@ -5101,7 +5212,7 @@ var confirm$5 = {
5101
5212
  };
5102
5213
  var common_ko = {
5103
5214
  validation: validation$1,
5104
- buttons: buttons$9,
5215
+ buttons: buttons$b,
5105
5216
  dashboard: dashboard$2,
5106
5217
  select: select$3,
5107
5218
  confirm: confirm$5
@@ -5132,7 +5243,7 @@ var paymentMethod_ko = {
5132
5243
  var title$h = "Frieze 뉴스레터를 구독하려면 이메일을 입력하세요.";
5133
5244
  var updateTitle$1 = "뉴스레터 선택 업데이트";
5134
5245
  var subtitle$7 = "귀하의 이메일은 다른 마케팅 용도로도 사용됩니다.";
5135
- var labels$u = {
5246
+ var labels$w = {
5136
5247
  submit: "제출",
5137
5248
  firstName: "이름",
5138
5249
  lastName: "성",
@@ -5140,7 +5251,7 @@ var labels$u = {
5140
5251
  postalCode: "우편번호",
5141
5252
  required: "필수 항목"
5142
5253
  };
5143
- var messages$y = {
5254
+ var messages$A = {
5144
5255
  alreadyHaveAccount: "이미 계정이 있습니까?",
5145
5256
  success: "뉴스레터가 성공적으로 업데이트되었습니다.",
5146
5257
  loginHere: "여기에서 로그인하세요.",
@@ -5151,14 +5262,14 @@ var newsletter_ko = {
5151
5262
  title: title$h,
5152
5263
  updateTitle: updateTitle$1,
5153
5264
  subtitle: subtitle$7,
5154
- labels: labels$u,
5155
- messages: messages$y
5265
+ labels: labels$w,
5266
+ messages: messages$A
5156
5267
  };
5157
5268
 
5158
- var labels$t = {
5269
+ var labels$v = {
5159
5270
  "continue": "콘텐츠로 돌아가기"
5160
5271
  };
5161
- var messages$x = {
5272
+ var messages$z = {
5162
5273
  yourFreeTrial: "유료 멤버십에 가입하셨습니다!",
5163
5274
  youHaveAccess: "멤버십 혜택을 즐기시기를 바라며, 질문이나 문의 사항이 있으면 저희에게 연락주십시오.",
5164
5275
  clickToLearn: {
@@ -5184,12 +5295,12 @@ var errors$9 = {
5184
5295
  "": ""
5185
5296
  };
5186
5297
  var success_ko = {
5187
- labels: labels$t,
5188
- messages: messages$x,
5298
+ labels: labels$v,
5299
+ messages: messages$z,
5189
5300
  errors: errors$9
5190
5301
  };
5191
5302
 
5192
- var messages$w = {
5303
+ var messages$y = {
5193
5304
  freeVisits: "남은 무료 방문 기간:",
5194
5305
  subscribeNow: "멤버십 가입",
5195
5306
  alreadyHaveAccount: "이미 계정이 있습니까?",
@@ -5199,16 +5310,16 @@ var errors$8 = {
5199
5310
  "": ""
5200
5311
  };
5201
5312
  var meter_ko = {
5202
- messages: messages$w,
5313
+ messages: messages$y,
5203
5314
  errors: errors$8
5204
5315
  };
5205
5316
 
5206
- var messages$v = {
5317
+ var messages$x = {
5207
5318
  youAreSafe: "PCI 준수 128비트 SSL 인증서로 보호됩니다. 제공: ",
5208
5319
  bankRedirection: "잠시만 기다려 주십시오. 결제 은행으로 연결 중입니다.",
5209
5320
  bankAuthenticationSuccess: "요청을 처리하는 동안 기다려 주십시오."
5210
5321
  };
5211
- var labels$s = {
5322
+ var labels$u = {
5212
5323
  card: "카드 번호 입력",
5213
5324
  date: "만료일",
5214
5325
  CVC: "CVC",
@@ -5228,11 +5339,13 @@ var labels$s = {
5228
5339
  firstName: "이름",
5229
5340
  lastName: "성",
5230
5341
  phone: "핸드폰",
5231
- freeItems: "무료 아이템"
5342
+ freeItems: "무료 아이템",
5343
+ email: "이메일",
5344
+ password: "비밀번호"
5232
5345
  };
5233
5346
  var checkoutForm_ko = {
5234
- messages: messages$v,
5235
- labels: labels$s
5347
+ messages: messages$x,
5348
+ labels: labels$u
5236
5349
  };
5237
5350
 
5238
5351
  var youAreSafe$1 = "PCI 준수 128비트 SSL 인증서로 보호됩니다. 제공: ";
@@ -5256,7 +5369,7 @@ var messages_ko = {
5256
5369
  zeroTotalInvoice: zeroTotalInvoice$1
5257
5370
  };
5258
5371
 
5259
- var labels$r = {
5372
+ var labels$t = {
5260
5373
  email: "이메일 입력",
5261
5374
  username: "사용자 이름 입력",
5262
5375
  password: "비밀번호 입력",
@@ -5265,7 +5378,7 @@ var labels$r = {
5265
5378
  passwordPlaceholder: "비밀번호",
5266
5379
  login: "로그인"
5267
5380
  };
5268
- var messages$u = {
5381
+ var messages$w = {
5269
5382
  loginTo: "귀하의 계정에 로그인",
5270
5383
  welcome: "반갑습니다. 귀하의 기존 계정으로 로그인하세요.",
5271
5384
  dontHaveAccount: "아직 계정이 없으신가요?",
@@ -5284,28 +5397,28 @@ var errors$7 = {
5284
5397
  "": ""
5285
5398
  };
5286
5399
  var login_ko = {
5287
- labels: labels$r,
5288
- messages: messages$u,
5400
+ labels: labels$t,
5401
+ messages: messages$w,
5289
5402
  errors: errors$7
5290
5403
  };
5291
5404
 
5292
- var labels$q = {
5405
+ var labels$s = {
5293
5406
  title: "비밀번호 없는 링크 확인",
5294
5407
  instructions: "가는 중입니다!\n이메일 주소를 확인하겠습니다.\n이메일로 전송된 확인 링크를 클릭하세요.",
5295
5408
  resend: "이메일 재전송"
5296
5409
  };
5297
- var messages$t = {
5410
+ var messages$v = {
5298
5411
  resent: "성공적으로 재전송",
5299
5412
  success: "성공적으로 로그인했습니다"
5300
5413
  };
5301
5414
  var verifyLinkToken_ko = {
5302
- labels: labels$q,
5303
- messages: messages$t
5415
+ labels: labels$s,
5416
+ messages: messages$v
5304
5417
  };
5305
5418
 
5306
5419
  var title$g = "계정 만들기";
5307
5420
  var subtitle$6 = "아래에 이메일과 비밀번호를 입력하세요.";
5308
- var labels$p = {
5421
+ var labels$r = {
5309
5422
  signUpFacebook: "Facebook으로 가입하기",
5310
5423
  signUpGoogle: "Google로 가입하기",
5311
5424
  signUpEmail: "이메일로 가입하기",
@@ -5318,7 +5431,7 @@ var labels$p = {
5318
5431
  lastName: "성",
5319
5432
  phone: "핸드폰"
5320
5433
  };
5321
- var messages$s = {
5434
+ var messages$u = {
5322
5435
  alreadyHaveAccount: "이미 계정이 있습니까?",
5323
5436
  createAccount: "계정 만들기",
5324
5437
  loginHere: "여기에서 로그인하세요.",
@@ -5364,7 +5477,8 @@ var gift$1 = {
5364
5477
  enterEmail: "선물을 받을 분의 이메일을 입력해주세요.",
5365
5478
  invalidDate: "선물 날짜는 오늘로부터 1년 이내여야 합니다.",
5366
5479
  giftDateInfo: "받는 분이 선물을 사용하실 수 있도록, 선택된 날짜에 귀하의 선물 메시지가 담겨 있는 이메일 알림이 전송됩니다.",
5367
- giftMessageInfo: "받는 분을 위한 선물 메시지와 서명을 남기는 것을 잊지 마시기 바랍니다."
5480
+ giftMessageInfo: "받는 분을 위한 선물 메시지와 서명을 남기는 것을 잊지 마시기 바랍니다.",
5481
+ giftMessageAllowedCharacters: "특수문자 및 이모티콘 사용 불가."
5368
5482
  }
5369
5483
  };
5370
5484
  var redeem$1 = {
@@ -5392,14 +5506,14 @@ var redeem$1 = {
5392
5506
  var register_ko = {
5393
5507
  title: title$g,
5394
5508
  subtitle: subtitle$6,
5395
- labels: labels$p,
5396
- messages: messages$s,
5509
+ labels: labels$r,
5510
+ messages: messages$u,
5397
5511
  errors: errors$6,
5398
5512
  gift: gift$1,
5399
5513
  redeem: redeem$1
5400
5514
  };
5401
5515
 
5402
- var labels$o = {
5516
+ var labels$q = {
5403
5517
  title: "프로파일을 업데이트하시겠습니까?",
5404
5518
  subtitle: "프로필을 업데이트하려면 아래 정보를 입력하세요.",
5405
5519
  email: "이메일",
@@ -5418,21 +5532,21 @@ var labels$o = {
5418
5532
  zoom: "확대",
5419
5533
  tin: "세금 식별 번호"
5420
5534
  };
5421
- var messages$r = {
5535
+ var messages$t = {
5422
5536
  userUpdated: "감사합니다! 프로필이 성공적으로 업데이트되었습니다.",
5423
5537
  pictureRemoved: "귀하의 프로필 사진이 제거되었습니다.",
5424
5538
  pictureUpdated: "귀하의 프로필 사진이 업데이트되었습니다."
5425
5539
  };
5426
5540
  var userEdit_ko = {
5427
- labels: labels$o,
5428
- messages: messages$r
5541
+ labels: labels$q,
5542
+ messages: messages$t
5429
5543
  };
5430
5544
 
5431
5545
  var title$f = "배송 주소를 입력하십시오.";
5432
5546
  var titleGifting$1 = "주소를 입력하세요";
5433
5547
  var selectAddressTitle$1 = "주소를 선택하십시오.";
5434
5548
  var selectAddressSubtitle$1 = "저장된 주소에서 선택하거나 새 주소를 추가하십시오.";
5435
- var labels$n = {
5549
+ var labels$p = {
5436
5550
  address: "주소",
5437
5551
  code: "우편번호",
5438
5552
  city: "도시",
@@ -5443,12 +5557,12 @@ var labels$n = {
5443
5557
  required: "필수 항목",
5444
5558
  isDefault: "기본값으로 설정"
5445
5559
  };
5446
- var buttons$8 = {
5560
+ var buttons$a = {
5447
5561
  submit: "제출",
5448
5562
  selectAddress: "주소 선택",
5449
5563
  addAddress: "새 주소 추가"
5450
5564
  };
5451
- var messages$q = {
5565
+ var messages$s = {
5452
5566
  addressUpdated: "주소가 성공적으로 업데이트되었습니다!",
5453
5567
  subRedeemed: "귀하의 유료 멤버십이 사용되었습니다."
5454
5568
  };
@@ -5457,9 +5571,9 @@ var address_ko = {
5457
5571
  titleGifting: titleGifting$1,
5458
5572
  selectAddressTitle: selectAddressTitle$1,
5459
5573
  selectAddressSubtitle: selectAddressSubtitle$1,
5460
- labels: labels$n,
5461
- buttons: buttons$8,
5462
- messages: messages$q
5574
+ labels: labels$p,
5575
+ buttons: buttons$a,
5576
+ messages: messages$s
5463
5577
  };
5464
5578
 
5465
5579
  var title$e = "비밀번호 재설정";
@@ -5487,7 +5601,7 @@ var password$2 = "비밀번호";
5487
5601
  var submit$6 = "제출";
5488
5602
  var required$6 = "필수 항목";
5489
5603
  var passwordResetEmailSent$1 = "비밀번호 재설정 안내가 귀하의 이메일로 발송되었습니다.";
5490
- var messages$p = {
5604
+ var messages$r = {
5491
5605
  alreadyHaveAccount: "이미 계정이 있습니까?",
5492
5606
  loginHere: "여기에서 로그인하세요."
5493
5607
  };
@@ -5498,7 +5612,7 @@ var passwordForgot_ko = {
5498
5612
  submit: submit$6,
5499
5613
  required: required$6,
5500
5614
  passwordResetEmailSent: passwordResetEmailSent$1,
5501
- messages: messages$p
5615
+ messages: messages$r
5502
5616
  };
5503
5617
 
5504
5618
  var title$c = "비밀번호를 변경합니다.";
@@ -5526,7 +5640,7 @@ var title$b = "비밀번호 없는 로그인";
5526
5640
  var email$3 = "이메일 입력";
5527
5641
  var submit$4 = "제출";
5528
5642
  var required$4 = "필수 항목";
5529
- var messages$o = {
5643
+ var messages$q = {
5530
5644
  PasswordlessLoginSuccess: "비밀번호 없는 로그인으로 성공적으로 인증되었습니다."
5531
5645
  };
5532
5646
  var passwordlessRequest_ko = {
@@ -5534,7 +5648,7 @@ var passwordlessRequest_ko = {
5534
5648
  email: email$3,
5535
5649
  submit: submit$4,
5536
5650
  required: required$4,
5537
- messages: messages$o
5651
+ messages: messages$q
5538
5652
  };
5539
5653
 
5540
5654
  var title$a = "귀하의 장바구니";
@@ -5562,13 +5676,13 @@ var cart_ko = {
5562
5676
  removeAll: removeAll$1
5563
5677
  };
5564
5678
 
5565
- var buttons$7 = {
5679
+ var buttons$9 = {
5566
5680
  select: "선택",
5567
5681
  added: "장바구니에 추가",
5568
5682
  purchase: "구매",
5569
5683
  "continue": "계속"
5570
5684
  };
5571
- var messages$n = {
5685
+ var messages$p = {
5572
5686
  orderConfirmed: {
5573
5687
  title: "주문이 확인되었습니다!",
5574
5688
  body: "귀하의 주문이 확인되었으며 며칠 안에 배송될 예정입니다. 이 주문의 확인 이메일이 귀하에게 전송됩니다."
@@ -5577,17 +5691,17 @@ var messages$n = {
5577
5691
  multipleCurrencies: "장바구니에 다른 통화로만 결제가 가능한 아이템이 있습니다. 결제를 계속 진행하려면 모든 아이템의 결제 통화가 동일한지 확인하십시오.",
5578
5692
  currencyMismatch: "선택하신 아이템(들)이 귀하가 설정한 기본 통화({{currency}})와 일치하지 않습니다. 기본 통화와 일치하는 아이템(들)만 선택하십시오."
5579
5693
  };
5580
- var labels$m = {
5694
+ var labels$o = {
5581
5695
  summary: "주문 요약",
5582
5696
  total: "총계"
5583
5697
  };
5584
5698
  var shop_ko = {
5585
- buttons: buttons$7,
5586
- messages: messages$n,
5587
- labels: labels$m
5699
+ buttons: buttons$9,
5700
+ messages: messages$p,
5701
+ labels: labels$o
5588
5702
  };
5589
5703
 
5590
- var labels$l = {
5704
+ var labels$n = {
5591
5705
  cardNumber: "카드 번호",
5592
5706
  securityCode: "보안 코드",
5593
5707
  submit: "제출",
@@ -5609,7 +5723,7 @@ var labels$l = {
5609
5723
  title: "결제 정보"
5610
5724
  }
5611
5725
  };
5612
- var messages$m = {
5726
+ var messages$o = {
5613
5727
  youAreSafe: "PCI 준수 128비트 SSL 인증서로 보호됩니다. 제공: ",
5614
5728
  cancel: "유료 멤버십은 언제든 온라인으로 취소가 가능합니다.",
5615
5729
  giftSent: "유료 멤버십 선물이 ",
@@ -5623,12 +5737,12 @@ var errors$5 = {
5623
5737
  "": ""
5624
5738
  };
5625
5739
  var payment_ko = {
5626
- labels: labels$l,
5627
- messages: messages$m,
5740
+ labels: labels$n,
5741
+ messages: messages$o,
5628
5742
  errors: errors$5
5629
5743
  };
5630
5744
 
5631
- var labels$k = {
5745
+ var labels$m = {
5632
5746
  menu: "Pelcro 메뉴",
5633
5747
  name: "이름",
5634
5748
  email: "이메일",
@@ -5776,7 +5890,10 @@ var savedItems = {
5776
5890
  var subCancellation = {
5777
5891
  goBack: "뒤로 가기"
5778
5892
  };
5779
- var messages$l = {
5893
+ var donationCancellation = {
5894
+ goBack: "뒤로 가기"
5895
+ };
5896
+ var messages$n = {
5780
5897
  noCard: "등록된 카드가 없습니다.",
5781
5898
  subCancellation: {
5782
5899
  isSureToCancel: "정말로 유료 멤버십을 취소하시겠습니까?",
@@ -5793,10 +5910,26 @@ var messages$l = {
5793
5910
  loading: "구독 일시 중단 해제",
5794
5911
  success: "구독이 성공적으로 일시 중단 해제되었습니다",
5795
5912
  error: "구독 일시 중단을 해제하는 동안 오류가 발생했습니다."
5913
+ },
5914
+ donationCancellation: {
5915
+ isSureToCancel: "정말로 유료 멤버십을 취소하시겠습니까?",
5916
+ loading: "귀하의 유료 멤버십을 취소합니다.",
5917
+ success: "유료 멤버십이 성공적으로 취소되었습니다.",
5918
+ error: "유료 멤버십 취소 과정에서 오류가 발생했습니다."
5919
+ },
5920
+ donationReactivation: {
5921
+ success: "구독이 성공적으로 재활성화되었습니다.",
5922
+ error: "구독을 재활성화하는 동안 오류가 발생했습니다."
5923
+ },
5924
+ donationUnSuspend: {
5925
+ isSureToUnSuspend: "구독 일시 중단을 해제하시겠습니까?",
5926
+ loading: "구독 일시 중단 해제",
5927
+ success: "구독이 성공적으로 일시 중단 해제되었습니다",
5928
+ error: "구독 일시 중단을 해제하는 동안 오류가 발생했습니다."
5796
5929
  }
5797
5930
  };
5798
5931
  var dashboard_ko = {
5799
- labels: labels$k,
5932
+ labels: labels$m,
5800
5933
  shipments: shipments,
5801
5934
  logout: logout,
5802
5935
  dashboard: dashboard$1,
@@ -5845,15 +5978,16 @@ var dashboard_ko = {
5845
5978
  orders: orders,
5846
5979
  savedItems: savedItems,
5847
5980
  subCancellation: subCancellation,
5848
- messages: messages$l
5981
+ donationCancellation: donationCancellation,
5982
+ messages: messages$n
5849
5983
  };
5850
5984
 
5851
- var messages$k = {
5985
+ var messages$m = {
5852
5986
  alreadyHaveAccount: "이미 계정이 있습니까?",
5853
5987
  loginHere: "여기에서 로그인하세요.",
5854
5988
  checkbox: "이 유료 멤버십을 선물하려면 체크하세요."
5855
5989
  };
5856
- var labels$j = {
5990
+ var labels$l = {
5857
5991
  plan: {
5858
5992
  title: "요금제 가입하기",
5859
5993
  subtitle: "아래 요금제 중 하나를 선택하고 다음을 클릭하세요."
@@ -5870,15 +6004,48 @@ var labels$j = {
5870
6004
  or: "아래에서 다른 상품을 선택해주시기 바랍니다."
5871
6005
  }
5872
6006
  };
5873
- var buttons$6 = {
6007
+ var buttons$8 = {
5874
6008
  next: "다음",
5875
6009
  select: "선택",
5876
6010
  back: "뒤로"
5877
6011
  };
5878
6012
  var select_ko = {
5879
- messages: messages$k,
5880
- labels: labels$j,
5881
- buttons: buttons$6
6013
+ messages: messages$m,
6014
+ labels: labels$l,
6015
+ buttons: buttons$8
6016
+ };
6017
+
6018
+ var messages$l = {
6019
+ alreadyHaveAccount: "이미 계정이 있습니까?",
6020
+ loginHere: "여기에서 로그인하세요.",
6021
+ checkbox: "이 유료 멤버십을 선물하려면 체크하세요."
6022
+ };
6023
+ var labels$k = {
6024
+ plan: {
6025
+ title: "요금제 가입하기",
6026
+ subtitle: "아래 요금제 중 하나를 선택하고 다음을 클릭하세요."
6027
+ },
6028
+ product: {
6029
+ title: "상품 가입하기",
6030
+ subtitle: "아래 상품 중 하나를 선택하고 다음을 클릭하세요."
6031
+ },
6032
+ selectProduct: "상품 선택",
6033
+ selectPlan: "요금제 선택",
6034
+ startingAt: "시작일:",
6035
+ restrictiveArticles: {
6036
+ subscribeTo: "이 페이지에 액세스하려면 다음 요금제 중 하나에 가입하거나",
6037
+ or: "아래에서 다른 상품을 선택해주시기 바랍니다."
6038
+ }
6039
+ };
6040
+ var buttons$7 = {
6041
+ next: "다음",
6042
+ select: "선택",
6043
+ back: "뒤로"
6044
+ };
6045
+ var donation_ko = {
6046
+ messages: messages$l,
6047
+ labels: labels$k,
6048
+ buttons: buttons$7
5882
6049
  };
5883
6050
 
5884
6051
  var confirm$3 = {
@@ -5891,46 +6058,46 @@ var notification_ko = {
5891
6058
  confirm: confirm$3
5892
6059
  };
5893
6060
 
5894
- var labels$i = {
6061
+ var labels$j = {
5895
6062
  title: "이메일 주소를 인증하세요.",
5896
6063
  instructions: "거의 완료되었습니다!\n이메일 주소만 인증하면 됩니다.\n다음 이메일 주소로 전송된 인증 링크를 클릭해 주십시오:",
5897
6064
  resend: "이메일 재전송"
5898
6065
  };
5899
- var messages$j = {
6066
+ var messages$k = {
5900
6067
  resent: "재전송 완료",
5901
6068
  success: "이메일 주소가 인증되었습니다!"
5902
6069
  };
5903
6070
  var verifyEmail_ko = {
5904
- labels: labels$i,
5905
- messages: messages$j
6071
+ labels: labels$j,
6072
+ messages: messages$k
5906
6073
  };
5907
6074
 
5908
6075
  var title$9 = "인보이스 세부 정보";
5909
- var labels$h = {
6076
+ var labels$i = {
5910
6077
  summary: "요약",
5911
6078
  total: "총계",
5912
6079
  amountPaid: "지불된 금액",
5913
6080
  amountDue: "지불액",
5914
6081
  creationDate: "생성일:"
5915
6082
  };
5916
- var buttons$5 = {
6083
+ var buttons$6 = {
5917
6084
  download: "다운로드",
5918
6085
  pay: "지금 지불"
5919
6086
  };
5920
6087
  var invoiceDetails_ko = {
5921
6088
  title: title$9,
5922
- labels: labels$h,
5923
- buttons: buttons$5
6089
+ labels: labels$i,
6090
+ buttons: buttons$6
5924
6091
  };
5925
6092
 
5926
- var labels$g = {
6093
+ var labels$h = {
5927
6094
  title: "구독 중단",
5928
6095
  suspensionDate: "중단 날짜",
5929
6096
  subCancellation: {
5930
6097
  goBack: "돌아가기"
5931
6098
  }
5932
6099
  };
5933
- var messages$i = {
6100
+ var messages$j = {
5934
6101
  suspensionEnd: "일시 중지가 만료되도록 설정되었습니다.",
5935
6102
  suspendNow: "지금 구독 일시 중단",
5936
6103
  suspendLater: "기간 종료 시 일시 중단",
@@ -5943,8 +6110,8 @@ var messages$i = {
5943
6110
  }
5944
6111
  };
5945
6112
  var subscriptionSuspend_ko = {
5946
- labels: labels$g,
5947
- messages: messages$i
6113
+ labels: labels$h,
6114
+ messages: messages$j
5948
6115
  };
5949
6116
 
5950
6117
  var validation = {
@@ -5956,7 +6123,7 @@ var validation = {
5956
6123
  enterLastName: "El apellido es obligatorio.",
5957
6124
  enterPhone: "El número de teléfono es obligatorio."
5958
6125
  };
5959
- var buttons$4 = {
6126
+ var buttons$5 = {
5960
6127
  account: "Mi cuenta",
5961
6128
  login: "Iniciar Sesión"
5962
6129
  };
@@ -6033,7 +6200,7 @@ var confirm$2 = {
6033
6200
  };
6034
6201
  var common_es = {
6035
6202
  validation: validation,
6036
- buttons: buttons$4,
6203
+ buttons: buttons$5,
6037
6204
  dashboard: dashboard,
6038
6205
  select: select$1,
6039
6206
  confirm: confirm$2
@@ -6064,7 +6231,7 @@ var paymentMethod_es = {
6064
6231
  var title$8 = "Ingresa tu correo para suscribirte a nuestro boletín";
6065
6232
  var updateTitle = "Actualizar selecciones del boletín";
6066
6233
  var subtitle$3 = "Podríamos usar tu dirección de correo para otras comunicaciones de marketing";
6067
- var labels$f = {
6234
+ var labels$g = {
6068
6235
  submit: "Enviar",
6069
6236
  firstName: "Nombre",
6070
6237
  lastName: "Apellido",
@@ -6072,7 +6239,7 @@ var labels$f = {
6072
6239
  postalCode: "Código postal",
6073
6240
  required: "obligatorio"
6074
6241
  };
6075
- var messages$h = {
6242
+ var messages$i = {
6076
6243
  alreadyHaveAccount: "¿Ya tienes una cuenta?",
6077
6244
  success: "El boletín se actualizó con éxito",
6078
6245
  loginHere: "Inicia sesión aquí.",
@@ -6083,14 +6250,14 @@ var newsletter_es = {
6083
6250
  title: title$8,
6084
6251
  updateTitle: updateTitle,
6085
6252
  subtitle: subtitle$3,
6086
- labels: labels$f,
6087
- messages: messages$h
6253
+ labels: labels$g,
6254
+ messages: messages$i
6088
6255
  };
6089
6256
 
6090
- var labels$e = {
6257
+ var labels$f = {
6091
6258
  "continue": "Continuar al contenido"
6092
6259
  };
6093
- var messages$g = {
6260
+ var messages$h = {
6094
6261
  yourFreeTrial: "¡Suscripción exitosa!",
6095
6262
  youHaveAccess: "Esperamos que disfrutes de tu suscripción. Por favor, contáctanos si tienes alguna pregunta o inquietud.",
6096
6263
  clickToLearn: {
@@ -6116,12 +6283,12 @@ var errors$4 = {
6116
6283
  "": ""
6117
6284
  };
6118
6285
  var success_es = {
6119
- labels: labels$e,
6120
- messages: messages$g,
6286
+ labels: labels$f,
6287
+ messages: messages$h,
6121
6288
  errors: errors$4
6122
6289
  };
6123
6290
 
6124
- var messages$f = {
6291
+ var messages$g = {
6125
6292
  freeVisits: "Visitas gratuitas restantes:",
6126
6293
  subscribeNow: "Suscribir",
6127
6294
  alreadyHaveAccount: "¿Ya tienes una cuenta?",
@@ -6131,16 +6298,16 @@ var errors$3 = {
6131
6298
  "": ""
6132
6299
  };
6133
6300
  var meter_es = {
6134
- messages: messages$f,
6301
+ messages: messages$g,
6135
6302
  errors: errors$3
6136
6303
  };
6137
6304
 
6138
- var messages$e = {
6305
+ var messages$f = {
6139
6306
  youAreSafe: "Estás seguro - PCI compliance 128 SSL por",
6140
6307
  bankRedirection: "Por favor, espera, estamos redireccionando a tu banco.",
6141
6308
  bankAuthenticationSuccess: "Por favor, espera un momento mientras procesamos tu solicitud."
6142
6309
  };
6143
- var labels$d = {
6310
+ var labels$e = {
6144
6311
  card: "Ingresar número de tarjeta",
6145
6312
  date: "Vencimiento",
6146
6313
  CVC: "CVC",
@@ -6160,11 +6327,13 @@ var labels$d = {
6160
6327
  firstName: "Nombre",
6161
6328
  lastName: "Apellido",
6162
6329
  phone: "Teléfono",
6163
- freeItems: "Artículos gratis"
6330
+ freeItems: "Artículos gratis",
6331
+ email: "Correo",
6332
+ password: "Contraseña"
6164
6333
  };
6165
6334
  var checkoutForm_es = {
6166
- messages: messages$e,
6167
- labels: labels$d
6335
+ messages: messages$f,
6336
+ labels: labels$e
6168
6337
  };
6169
6338
 
6170
6339
  var youAreSafe = "Estás seguro - PCI compliance 128 SSL por";
@@ -6186,7 +6355,7 @@ var messages_es = {
6186
6355
  zeroTotalInvoice: zeroTotalInvoice
6187
6356
  };
6188
6357
 
6189
- var labels$c = {
6358
+ var labels$d = {
6190
6359
  email: "Ingresar correo",
6191
6360
  password: "Ingresar contraseña",
6192
6361
  required: "obligatorio",
@@ -6194,7 +6363,7 @@ var labels$c = {
6194
6363
  passwordPlaceholder: "Contraseña",
6195
6364
  login: "Iniciar Sesión"
6196
6365
  };
6197
- var messages$d = {
6366
+ var messages$e = {
6198
6367
  loginTo: "Inicia sesión en tu cuenta",
6199
6368
  welcome: "Bienvenido de vuelta, inicia sesión con tu cuenta existente.",
6200
6369
  dontHaveAccount: "¿Aún no tienes una cuenta?",
@@ -6213,28 +6382,28 @@ var errors$2 = {
6213
6382
  "": ""
6214
6383
  };
6215
6384
  var login_es = {
6216
- labels: labels$c,
6217
- messages: messages$d,
6385
+ labels: labels$d,
6386
+ messages: messages$e,
6218
6387
  errors: errors$2
6219
6388
  };
6220
6389
 
6221
- var labels$b = {
6390
+ var labels$c = {
6222
6391
  title: "Verificando Enlace Sin Contraseña",
6223
6392
  instructions: "¡Ya casi terminas!\nVamos a confirmar tu dirección de correo.\nPulsa el enlace de verificación que hemos enviado a tu correo:",
6224
6393
  resend: "Reenviar correo"
6225
6394
  };
6226
- var messages$c = {
6395
+ var messages$d = {
6227
6396
  resent: "Reenvío exitoso",
6228
6397
  success: "Inicio de sesión exitoso"
6229
6398
  };
6230
6399
  var verifyLinkToken_es = {
6231
- labels: labels$b,
6232
- messages: messages$c
6400
+ labels: labels$c,
6401
+ messages: messages$d
6233
6402
  };
6234
6403
 
6235
6404
  var title$7 = "Crear una cuenta";
6236
6405
  var subtitle$2 = "Ingresa tu correo y contraseña a continuación";
6237
- var labels$a = {
6406
+ var labels$b = {
6238
6407
  signUpFacebook: "Regístrate con Facebook",
6239
6408
  signUpGoogle: "Regístrate con Google",
6240
6409
  signUpEmail: "Regístrate con Correo",
@@ -6247,7 +6416,7 @@ var labels$a = {
6247
6416
  lastName: "Apellido",
6248
6417
  phone: "Teléfono"
6249
6418
  };
6250
- var messages$b = {
6419
+ var messages$c = {
6251
6420
  alreadyHaveAccount: " ¿Ya tienes una cuenta?",
6252
6421
  createAccount: "Crear cuenta",
6253
6422
  loginHere: "inicia sesión aquí",
@@ -6293,7 +6462,8 @@ var gift = {
6293
6462
  enterEmail: "Por favor, ingresa el correo del destinatario del regalo",
6294
6463
  invalidDate: "La fecha del regalo debe ser entre hoy y un año a partir de ahora.",
6295
6464
  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.",
6296
- giftMessageInfo: "Deja un mensaje para el destinatario y no olvides firmar con tu nombre."
6465
+ giftMessageInfo: "Deja un mensaje para el destinatario y no olvides firmar con tu nombre.",
6466
+ giftMessageAllowedCharacters: "No se permiten caracteres especiales ni emojis."
6297
6467
  }
6298
6468
  };
6299
6469
  var redeem = {
@@ -6321,14 +6491,14 @@ var redeem = {
6321
6491
  var register_es = {
6322
6492
  title: title$7,
6323
6493
  subtitle: subtitle$2,
6324
- labels: labels$a,
6325
- messages: messages$b,
6494
+ labels: labels$b,
6495
+ messages: messages$c,
6326
6496
  errors: errors$1,
6327
6497
  gift: gift,
6328
6498
  redeem: redeem
6329
6499
  };
6330
6500
 
6331
- var labels$9 = {
6501
+ var labels$a = {
6332
6502
  title: "¿Quieres actualizar tu perfil?",
6333
6503
  subtitle: "Ingresa tu información a continuación para actualizar tu perfil",
6334
6504
  email: "Correo",
@@ -6347,21 +6517,21 @@ var labels$9 = {
6347
6517
  zoom: "Acercar",
6348
6518
  tin: "Número de Identificación Fiscal"
6349
6519
  };
6350
- var messages$a = {
6520
+ var messages$b = {
6351
6521
  userUpdated: "¡Gracias! Tu perfil se actualizó con éxito.",
6352
6522
  pictureRemoved: "Tu foto de perfil se eliminó con éxito.",
6353
6523
  pictureUpdated: "Tu foto de perfil se actualizó con éxito."
6354
6524
  };
6355
6525
  var userEdit_es = {
6356
- labels: labels$9,
6357
- messages: messages$a
6526
+ labels: labels$a,
6527
+ messages: messages$b
6358
6528
  };
6359
6529
 
6360
6530
  var title$6 = "Ingresa tu dirección de envío";
6361
6531
  var titleGifting = "Introduce tu dirección";
6362
6532
  var selectAddressTitle = "Por favor, selecciona una dirección";
6363
6533
  var selectAddressSubtitle = "Selecciona una de tus direcciones guardadas o añade una nueva";
6364
- var labels$8 = {
6534
+ var labels$9 = {
6365
6535
  address: "Dirección",
6366
6536
  code: "Código Postal/Área",
6367
6537
  city: "Ciudad",
@@ -6372,12 +6542,12 @@ var labels$8 = {
6372
6542
  required: "obligatorio",
6373
6543
  isDefault: "Configurar como dirección Principal"
6374
6544
  };
6375
- var buttons$3 = {
6545
+ var buttons$4 = {
6376
6546
  submit: "Enviar",
6377
6547
  selectAddress: "Seleccionar dirección",
6378
6548
  addAddress: "Añadir nueva dirección"
6379
6549
  };
6380
- var messages$9 = {
6550
+ var messages$a = {
6381
6551
  addressUpdated: "¡La dirección se actualizó con éxito!",
6382
6552
  subRedeemed: "Tu suscripción ha sido redimida."
6383
6553
  };
@@ -6386,9 +6556,9 @@ var address_es = {
6386
6556
  titleGifting: titleGifting,
6387
6557
  selectAddressTitle: selectAddressTitle,
6388
6558
  selectAddressSubtitle: selectAddressSubtitle,
6389
- labels: labels$8,
6390
- buttons: buttons$3,
6391
- messages: messages$9
6559
+ labels: labels$9,
6560
+ buttons: buttons$4,
6561
+ messages: messages$a
6392
6562
  };
6393
6563
 
6394
6564
  var title$5 = "Restablecer tu contraseña";
@@ -6416,7 +6586,7 @@ var password = "Contraseña";
6416
6586
  var submit$2 = "Enviar";
6417
6587
  var required$2 = "Obligatorio";
6418
6588
  var passwordResetEmailSent = "Las instrucciones de restablecimiento de la contraseña se han enviado a tu correo";
6419
- var messages$8 = {
6589
+ var messages$9 = {
6420
6590
  alreadyHaveAccount: "¿Ya tienes una cuenta?",
6421
6591
  loginHere: "Inicia sesión aquí."
6422
6592
  };
@@ -6427,7 +6597,7 @@ var passwordForgot_es = {
6427
6597
  submit: submit$2,
6428
6598
  required: required$2,
6429
6599
  passwordResetEmailSent: passwordResetEmailSent,
6430
- messages: messages$8
6600
+ messages: messages$9
6431
6601
  };
6432
6602
 
6433
6603
  var title$3 = "Cambiar tu contraseña";
@@ -6455,7 +6625,7 @@ var title$2 = "Acceso sin contraseña";
6455
6625
  var email = "Ingresar correo";
6456
6626
  var submit = "Enviar";
6457
6627
  var required = "obligatorio";
6458
- var messages$7 = {
6628
+ var messages$8 = {
6459
6629
  PasswordlessLoginSuccess: "Por favor, revisa tu correo y sigue las instrucciones que se indican"
6460
6630
  };
6461
6631
  var passwordlessRequest_es = {
@@ -6463,7 +6633,7 @@ var passwordlessRequest_es = {
6463
6633
  email: email,
6464
6634
  submit: submit,
6465
6635
  required: required,
6466
- messages: messages$7
6636
+ messages: messages$8
6467
6637
  };
6468
6638
 
6469
6639
  var title$1 = "Tu carrito de compras";
@@ -6491,13 +6661,13 @@ var cart_es = {
6491
6661
  removeAll: removeAll
6492
6662
  };
6493
6663
 
6494
- var buttons$2 = {
6664
+ var buttons$3 = {
6495
6665
  select: "Seleccionar",
6496
6666
  added: "Añadido al carrito",
6497
6667
  purchase: "Compra",
6498
6668
  "continue": "Continuar"
6499
6669
  };
6500
- var messages$6 = {
6670
+ var messages$7 = {
6501
6671
  orderConfirmed: {
6502
6672
  title: "¡Orden confirmada!",
6503
6673
  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."
@@ -6506,17 +6676,17 @@ var messages$6 = {
6506
6676
  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.",
6507
6677
  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."
6508
6678
  };
6509
- var labels$7 = {
6679
+ var labels$8 = {
6510
6680
  summary: "Resumen de la orden",
6511
6681
  total: "total"
6512
6682
  };
6513
6683
  var shop_es = {
6514
- buttons: buttons$2,
6515
- messages: messages$6,
6516
- labels: labels$7
6684
+ buttons: buttons$3,
6685
+ messages: messages$7,
6686
+ labels: labels$8
6517
6687
  };
6518
6688
 
6519
- var labels$6 = {
6689
+ var labels$7 = {
6520
6690
  cardNumber: "Número de Tarjeta",
6521
6691
  securityCode: "Código de Seguridad",
6522
6692
  submit: "Enviar",
@@ -6538,7 +6708,7 @@ var labels$6 = {
6538
6708
  title: "Información de Pago"
6539
6709
  }
6540
6710
  };
6541
- var messages$5 = {
6711
+ var messages$6 = {
6542
6712
  youAreSafe: "Estás seguro - PCI compliance 128 SSL por",
6543
6713
  cancel: "Cancela tu suscripción en línea en cualquier momento.",
6544
6714
  giftSent: "La suscripción de regalo se ha enviado a",
@@ -6552,12 +6722,12 @@ var errors = {
6552
6722
  "": ""
6553
6723
  };
6554
6724
  var payment_es = {
6555
- labels: labels$6,
6556
- messages: messages$5,
6725
+ labels: labels$7,
6726
+ messages: messages$6,
6557
6727
  errors: errors
6558
6728
  };
6559
6729
 
6560
- var labels$5 = {
6730
+ var labels$6 = {
6561
6731
  menu: "Menú de Pelcro",
6562
6732
  name: "Nombre",
6563
6733
  email: "Correo",
@@ -6642,9 +6812,12 @@ var labels$5 = {
6642
6812
  },
6643
6813
  subCancellation: {
6644
6814
  goBack: "Volver"
6815
+ },
6816
+ donationCancellation: {
6817
+ goBack: "Go back"
6645
6818
  }
6646
6819
  };
6647
- var messages$4 = {
6820
+ var messages$5 = {
6648
6821
  noCard: "No tienes una tarjeta",
6649
6822
  subCancellation: {
6650
6823
  isSureToCancel: "¿Estás seguro de que quieres cancelar tu suscripción?",
@@ -6661,11 +6834,60 @@ var messages$4 = {
6661
6834
  loading: "Reanudando tu suscripción",
6662
6835
  success: "La suscripción se reanudó con éxito",
6663
6836
  error: "Error al reanudar tu suscripción"
6837
+ },
6838
+ donationCancellation: {
6839
+ isSureToCancel: "¿Estás seguro de que quieres cancelar tu donación?",
6840
+ loading: "Cancelando tu donación",
6841
+ success: "La donación se canceló con éxito",
6842
+ error: "Error al cancelar tu donación"
6843
+ },
6844
+ donationReactivation: {
6845
+ success: "La donación se reactivó con éxito",
6846
+ error: "Error al reactivar su donación"
6847
+ },
6848
+ donationUnSuspend: {
6849
+ isSureToUnSuspend: "¿Estás seguro de que quieres reanudar tu donación?",
6850
+ loading: "Reanudando tu donación",
6851
+ success: "La donación se reanudó con éxito",
6852
+ error: "Error al reanudar tu donación"
6664
6853
  }
6665
6854
  };
6666
6855
  var dashboard_es = {
6856
+ labels: labels$6,
6857
+ messages: messages$5
6858
+ };
6859
+
6860
+ var messages$4 = {
6861
+ alreadyHaveAccount: "¿Ya tienes una cuenta?",
6862
+ loginHere: "Inicia sesión aquí",
6863
+ checkbox: "Marca esta casilla para regalar esta suscripción"
6864
+ };
6865
+ var labels$5 = {
6866
+ plan: {
6867
+ title: "Suscribirse a un plan",
6868
+ subtitle: "Selecciona uno de los planes a continuación y pulsa en siguiente."
6869
+ },
6870
+ product: {
6871
+ title: "Suscribirse a un producto",
6872
+ subtitle: "Selecciona uno de los productos a continuación y pulsa en siguiente."
6873
+ },
6874
+ selectProduct: "Selecciona un producto",
6875
+ selectPlan: "Selecciona un plan",
6876
+ startingAt: "Inicia el",
6877
+ restrictiveArticles: {
6878
+ subscribeTo: "Suscríbete a una de las siguientes opciones para obtener acceso a esta página",
6879
+ or: "O revisa algunas de nuestras otras opciones a continuación"
6880
+ }
6881
+ };
6882
+ var buttons$2 = {
6883
+ next: "Siguiente",
6884
+ select: "Seleccionar",
6885
+ back: "Volver"
6886
+ };
6887
+ var select_es = {
6888
+ messages: messages$4,
6667
6889
  labels: labels$5,
6668
- messages: messages$4
6890
+ buttons: buttons$2
6669
6891
  };
6670
6892
 
6671
6893
  var messages$3 = {
@@ -6695,7 +6917,7 @@ var buttons$1 = {
6695
6917
  select: "Seleccionar",
6696
6918
  back: "Volver"
6697
6919
  };
6698
- var select_es = {
6920
+ var donation_es = {
6699
6921
  messages: messages$3,
6700
6922
  labels: labels$4,
6701
6923
  buttons: buttons$1
@@ -9076,6 +9298,9 @@ const initialState$n = {
9076
9298
  giftCode: "",
9077
9299
  subscriptionIdToRenew: null,
9078
9300
  subscriptionToManageMembers: null,
9301
+ isDonation: false,
9302
+ selectedDonationAmount: null,
9303
+ customDonationAmount: null,
9079
9304
  // E-commerce
9080
9305
  cartItems: [],
9081
9306
  order: null,
@@ -9149,16 +9374,19 @@ const ZERO_DECIMAL_CURRENCIES = ["BIF", "CLP", "DJF", "GNF", "JPY", "KMF", "KRW"
9149
9374
  const isCurrencyZeroDecimal = currency => ZERO_DECIMAL_CURRENCIES.includes(currency.toUpperCase());
9150
9375
  const sortCountries = countries => {
9151
9376
  const sortable = [];
9152
- delete countries.CA;
9153
- delete countries.US;
9154
- for (const abbr in countries) {
9155
- sortable.push([abbr, countries[abbr]]);
9377
+ const {
9378
+ CA,
9379
+ US,
9380
+ ...rest
9381
+ } = countries;
9382
+ for (const abbr in rest) {
9383
+ sortable.push([abbr, rest[abbr]]);
9156
9384
  }
9157
9385
  sortable.sort((a, b) => {
9158
9386
  if (a[1] > b[1]) return 1;
9159
9387
  return -1;
9160
9388
  });
9161
- sortable.unshift(["US", "United States"], ["CA", "Canada"]);
9389
+ sortable.unshift(["US", US], ["CA", CA]);
9162
9390
  return sortable;
9163
9391
  };
9164
9392
 
@@ -9262,7 +9490,7 @@ const calcAndFormatItemsTotal = (items, currency) => {
9262
9490
  * @return {boolean}
9263
9491
  */
9264
9492
  const isValidViewFromURL = viewID => {
9265
- 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()) {
9493
+ 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()) {
9266
9494
  return true;
9267
9495
  }
9268
9496
  return false;
@@ -9469,6 +9697,24 @@ function notifyBugsnag(callback, startOptions) {
9469
9697
  callback();
9470
9698
  }
9471
9699
 
9700
+ //create a safe and strong password string with special characters
9701
+ function generatePassword() {
9702
+ const length = 16;
9703
+ const charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+{}|:<>?`~";
9704
+ let retVal = "";
9705
+ for (let i = 0, n = charset.length; i < length; ++i) {
9706
+ retVal += charset.charAt(Math.floor(Math.random() * n));
9707
+ }
9708
+ return retVal;
9709
+ }
9710
+ function isStringValid(str) {
9711
+ // Define the regular expression to match only letters, numbers and spaces
9712
+ var regex = /^(?:[\p{L}\p{N}\p{Pc}\p{Zs}\n]+$|^[\\\p{Script=Hangul}\p{Pc}\p{Zs}\n]+)$/mu;
9713
+
9714
+ // Test the string against the regular expression
9715
+ return regex.test(str);
9716
+ }
9717
+
9472
9718
  const resources = {
9473
9719
  en: {
9474
9720
  common: common_en,
@@ -9493,6 +9739,7 @@ const resources = {
9493
9739
  payment: payment_en,
9494
9740
  dashboard: dashboard_en,
9495
9741
  select: select_en,
9742
+ donation: donation_en,
9496
9743
  notification: notification_en,
9497
9744
  invoiceDetails: invoiceDetails_en,
9498
9745
  subscriptionCancel: subscriptionCancel_en,
@@ -9522,6 +9769,7 @@ const resources = {
9522
9769
  payment: payment_fr,
9523
9770
  dashboard: dashboard_fr,
9524
9771
  select: select_fr,
9772
+ donation: donation_fr,
9525
9773
  notification: notification_fr,
9526
9774
  invoiceDetails: invoiceDetails_fr,
9527
9775
  subscriptionCancel: subscriptionCancel_fr,
@@ -9551,6 +9799,7 @@ const resources = {
9551
9799
  payment: payment_ko,
9552
9800
  dashboard: dashboard_ko,
9553
9801
  select: select_ko,
9802
+ donation: donation_ko,
9554
9803
  notification: notification_ko,
9555
9804
  invoiceDetails: invoiceDetails_ko,
9556
9805
  subscriptionCancel: subscriptionCancel_ko,
@@ -9580,6 +9829,7 @@ const resources = {
9580
9829
  payment: payment_es,
9581
9830
  dashboard: dashboard_es,
9582
9831
  select: select_es,
9832
+ donation: donation_es,
9583
9833
  notification: notification_es,
9584
9834
  invoiceDetails: invoiceDetails_es,
9585
9835
  subscriptionCancel: subscriptionCancel_es,
@@ -9615,84 +9865,253 @@ pageLanguageObserver.observe(document.documentElement, {
9615
9865
  attributes: true
9616
9866
  });
9617
9867
 
9618
- function _classPrivateFieldGet(receiver, privateMap) {
9619
- var descriptor = privateMap.get(receiver);
9868
+ var pure$1 = createCommonjsModule(function (module, exports) {
9620
9869
 
9621
- if (!descriptor) {
9622
- throw new TypeError("attempted to get private field on non-instance");
9623
- }
9870
+ Object.defineProperty(exports, '__esModule', { value: true });
9624
9871
 
9625
- if (descriptor.get) {
9626
- return descriptor.get.call(receiver);
9872
+ function _typeof(obj) {
9873
+ "@babel/helpers - typeof";
9874
+
9875
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
9876
+ _typeof = function (obj) {
9877
+ return typeof obj;
9878
+ };
9879
+ } else {
9880
+ _typeof = function (obj) {
9881
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
9882
+ };
9627
9883
  }
9628
9884
 
9629
- return descriptor.value;
9885
+ return _typeof(obj);
9630
9886
  }
9631
9887
 
9632
- var _window$b, _window$Pelcro$b, _window$Pelcro$uiSett$b;
9633
- function _classPrivateFieldInitSpec$2(obj, privateMap, value) { _checkPrivateRedeclaration$2(obj, privateMap); privateMap.set(obj, value); }
9634
- function _checkPrivateRedeclaration$2(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
9635
- 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;
9636
- var _isAlreadySaved = /*#__PURE__*/new WeakMap();
9637
- var _markButtonAsLoading = /*#__PURE__*/new WeakMap();
9638
- var _removeLoadingState = /*#__PURE__*/new WeakMap();
9639
- var _markButtonAsSaved = /*#__PURE__*/new WeakMap();
9640
- var _unmarkSavedButton = /*#__PURE__*/new WeakMap();
9641
- var _markAllSavedButtons = /*#__PURE__*/new WeakMap();
9642
- var _unmarkAllSavedButtons = /*#__PURE__*/new WeakMap();
9643
- var _saveToMetadata = /*#__PURE__*/new WeakMap();
9644
- var _removeMetaData = /*#__PURE__*/new WeakMap();
9645
- var _onClick = /*#__PURE__*/new WeakMap();
9646
- class SaveToMetadataButtonClass {
9647
- constructor() {
9648
- _defineProperty$3(this, "authenticated", () => {
9649
- _classPrivateFieldGet(this, _onClick).call(this, _classPrivateFieldGet(this, _saveToMetadata));
9650
- _classPrivateFieldGet(this, _markAllSavedButtons).call(this);
9651
- });
9652
- _defineProperty$3(this, "unauthenticated", () => {
9653
- const {
9654
- switchView
9655
- } = usePelcro.getStore();
9656
- _classPrivateFieldGet(this, _onClick).call(this, () => switchView("login"));
9657
- _classPrivateFieldGet(this, _unmarkAllSavedButtons).call(this);
9658
- });
9659
- _classPrivateFieldInitSpec$2(this, _isAlreadySaved, {
9660
- writable: true,
9661
- value: button => {
9662
- return button.classList.contains("pelcro-is-active");
9663
- }
9664
- });
9665
- _classPrivateFieldInitSpec$2(this, _markButtonAsLoading, {
9666
- writable: true,
9667
- value: button => {
9668
- button.classList.add("pelcro-is-loading");
9669
- button.disabled = true;
9670
- }
9671
- });
9672
- _classPrivateFieldInitSpec$2(this, _removeLoadingState, {
9673
- writable: true,
9674
- value: button => {
9675
- button.classList.remove("pelcro-is-loading");
9676
- button.disabled = false;
9677
- }
9678
- });
9679
- _classPrivateFieldInitSpec$2(this, _markButtonAsSaved, {
9680
- writable: true,
9681
- value: button => {
9682
- button.classList.add("pelcro-is-active");
9683
- _classPrivateFieldGet(this, _removeLoadingState).call(this, button);
9684
- }
9685
- });
9686
- _classPrivateFieldInitSpec$2(this, _unmarkSavedButton, {
9687
- writable: true,
9688
- value: button => {
9689
- button.classList.remove("pelcro-is-active");
9690
- _classPrivateFieldGet(this, _removeLoadingState).call(this, button);
9888
+ var V3_URL = 'https://js.stripe.com/v3';
9889
+ var V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
9890
+ 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';
9891
+ var findScript = function findScript() {
9892
+ var scripts = document.querySelectorAll("script[src^=\"".concat(V3_URL, "\"]"));
9893
+
9894
+ for (var i = 0; i < scripts.length; i++) {
9895
+ var script = scripts[i];
9896
+
9897
+ if (!V3_URL_REGEX.test(script.src)) {
9898
+ continue;
9899
+ }
9900
+
9901
+ return script;
9902
+ }
9903
+
9904
+ return null;
9905
+ };
9906
+
9907
+ var injectScript = function injectScript(params) {
9908
+ var queryString = params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';
9909
+ var script = document.createElement('script');
9910
+ script.src = "".concat(V3_URL).concat(queryString);
9911
+ var headOrBody = document.head || document.body;
9912
+
9913
+ if (!headOrBody) {
9914
+ throw new Error('Expected document.body not to be null. Stripe.js requires a <body> element.');
9915
+ }
9916
+
9917
+ headOrBody.appendChild(script);
9918
+ return script;
9919
+ };
9920
+
9921
+ var registerWrapper = function registerWrapper(stripe, startTime) {
9922
+ if (!stripe || !stripe._registerWrapper) {
9923
+ return;
9924
+ }
9925
+
9926
+ stripe._registerWrapper({
9927
+ name: 'stripe-js',
9928
+ version: "1.21.1",
9929
+ startTime: startTime
9930
+ });
9931
+ };
9932
+
9933
+ var stripePromise = null;
9934
+ var loadScript = function loadScript(params) {
9935
+ // Ensure that we only attempt to load Stripe.js at most once
9936
+ if (stripePromise !== null) {
9937
+ return stripePromise;
9938
+ }
9939
+
9940
+ stripePromise = new Promise(function (resolve, reject) {
9941
+ if (typeof window === 'undefined') {
9942
+ // Resolve to null when imported server side. This makes the module
9943
+ // safe to import in an isomorphic code base.
9944
+ resolve(null);
9945
+ return;
9946
+ }
9947
+
9948
+ if (window.Stripe && params) {
9949
+ console.warn(EXISTING_SCRIPT_MESSAGE);
9950
+ }
9951
+
9952
+ if (window.Stripe) {
9953
+ resolve(window.Stripe);
9954
+ return;
9955
+ }
9956
+
9957
+ try {
9958
+ var script = findScript();
9959
+
9960
+ if (script && params) {
9961
+ console.warn(EXISTING_SCRIPT_MESSAGE);
9962
+ } else if (!script) {
9963
+ script = injectScript(params);
9691
9964
  }
9692
- });
9693
- _classPrivateFieldInitSpec$2(this, _markAllSavedButtons, {
9694
- writable: true,
9695
- value: () => {
9965
+
9966
+ script.addEventListener('load', function () {
9967
+ if (window.Stripe) {
9968
+ resolve(window.Stripe);
9969
+ } else {
9970
+ reject(new Error('Stripe.js not available'));
9971
+ }
9972
+ });
9973
+ script.addEventListener('error', function () {
9974
+ reject(new Error('Failed to load Stripe.js'));
9975
+ });
9976
+ } catch (error) {
9977
+ reject(error);
9978
+ return;
9979
+ }
9980
+ });
9981
+ return stripePromise;
9982
+ };
9983
+ var initStripe = function initStripe(maybeStripe, args, startTime) {
9984
+ if (maybeStripe === null) {
9985
+ return null;
9986
+ }
9987
+
9988
+ var stripe = maybeStripe.apply(undefined, args);
9989
+ registerWrapper(stripe, startTime);
9990
+ return stripe;
9991
+ };
9992
+ var validateLoadParams = function validateLoadParams(params) {
9993
+ var errorMessage = "invalid load parameters; expected object of shape\n\n {advancedFraudSignals: boolean}\n\nbut received\n\n ".concat(JSON.stringify(params), "\n");
9994
+
9995
+ if (params === null || _typeof(params) !== 'object') {
9996
+ throw new Error(errorMessage);
9997
+ }
9998
+
9999
+ if (Object.keys(params).length === 1 && typeof params.advancedFraudSignals === 'boolean') {
10000
+ return params;
10001
+ }
10002
+
10003
+ throw new Error(errorMessage);
10004
+ };
10005
+
10006
+ var loadParams;
10007
+ var loadStripeCalled = false;
10008
+ var loadStripe = function loadStripe() {
10009
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
10010
+ args[_key] = arguments[_key];
10011
+ }
10012
+
10013
+ loadStripeCalled = true;
10014
+ var startTime = Date.now();
10015
+ return loadScript(loadParams).then(function (maybeStripe) {
10016
+ return initStripe(maybeStripe, args, startTime);
10017
+ });
10018
+ };
10019
+
10020
+ loadStripe.setLoadParameters = function (params) {
10021
+ if (loadStripeCalled) {
10022
+ throw new Error('You cannot change load parameters after calling loadStripe');
10023
+ }
10024
+
10025
+ loadParams = validateLoadParams(params);
10026
+ };
10027
+
10028
+ exports.loadStripe = loadStripe;
10029
+ });
10030
+
10031
+ unwrapExports(pure$1);
10032
+ pure$1.loadStripe;
10033
+
10034
+ var pure = pure$1;
10035
+ var pure_1 = pure.loadStripe;
10036
+
10037
+ function _classPrivateFieldGet(receiver, privateMap) {
10038
+ var descriptor = privateMap.get(receiver);
10039
+
10040
+ if (!descriptor) {
10041
+ throw new TypeError("attempted to get private field on non-instance");
10042
+ }
10043
+
10044
+ if (descriptor.get) {
10045
+ return descriptor.get.call(receiver);
10046
+ }
10047
+
10048
+ return descriptor.value;
10049
+ }
10050
+
10051
+ var _window$b, _window$Pelcro$b, _window$Pelcro$uiSett$b;
10052
+ function _classPrivateFieldInitSpec$2(obj, privateMap, value) { _checkPrivateRedeclaration$2(obj, privateMap); privateMap.set(obj, value); }
10053
+ function _checkPrivateRedeclaration$2(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
10054
+ 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;
10055
+ var _isAlreadySaved = /*#__PURE__*/new WeakMap();
10056
+ var _markButtonAsLoading = /*#__PURE__*/new WeakMap();
10057
+ var _removeLoadingState = /*#__PURE__*/new WeakMap();
10058
+ var _markButtonAsSaved = /*#__PURE__*/new WeakMap();
10059
+ var _unmarkSavedButton = /*#__PURE__*/new WeakMap();
10060
+ var _markAllSavedButtons = /*#__PURE__*/new WeakMap();
10061
+ var _unmarkAllSavedButtons = /*#__PURE__*/new WeakMap();
10062
+ var _saveToMetadata = /*#__PURE__*/new WeakMap();
10063
+ var _removeMetaData = /*#__PURE__*/new WeakMap();
10064
+ var _onClick = /*#__PURE__*/new WeakMap();
10065
+ class SaveToMetadataButtonClass {
10066
+ constructor() {
10067
+ _defineProperty$3(this, "authenticated", () => {
10068
+ _classPrivateFieldGet(this, _onClick).call(this, _classPrivateFieldGet(this, _saveToMetadata));
10069
+ _classPrivateFieldGet(this, _markAllSavedButtons).call(this);
10070
+ });
10071
+ _defineProperty$3(this, "unauthenticated", () => {
10072
+ const {
10073
+ switchView
10074
+ } = usePelcro.getStore();
10075
+ _classPrivateFieldGet(this, _onClick).call(this, () => switchView("login"));
10076
+ _classPrivateFieldGet(this, _unmarkAllSavedButtons).call(this);
10077
+ });
10078
+ _classPrivateFieldInitSpec$2(this, _isAlreadySaved, {
10079
+ writable: true,
10080
+ value: button => {
10081
+ return button.classList.contains("pelcro-is-active");
10082
+ }
10083
+ });
10084
+ _classPrivateFieldInitSpec$2(this, _markButtonAsLoading, {
10085
+ writable: true,
10086
+ value: button => {
10087
+ button.classList.add("pelcro-is-loading");
10088
+ button.disabled = true;
10089
+ }
10090
+ });
10091
+ _classPrivateFieldInitSpec$2(this, _removeLoadingState, {
10092
+ writable: true,
10093
+ value: button => {
10094
+ button.classList.remove("pelcro-is-loading");
10095
+ button.disabled = false;
10096
+ }
10097
+ });
10098
+ _classPrivateFieldInitSpec$2(this, _markButtonAsSaved, {
10099
+ writable: true,
10100
+ value: button => {
10101
+ button.classList.add("pelcro-is-active");
10102
+ _classPrivateFieldGet(this, _removeLoadingState).call(this, button);
10103
+ }
10104
+ });
10105
+ _classPrivateFieldInitSpec$2(this, _unmarkSavedButton, {
10106
+ writable: true,
10107
+ value: button => {
10108
+ button.classList.remove("pelcro-is-active");
10109
+ _classPrivateFieldGet(this, _removeLoadingState).call(this, button);
10110
+ }
10111
+ });
10112
+ _classPrivateFieldInitSpec$2(this, _markAllSavedButtons, {
10113
+ writable: true,
10114
+ value: () => {
9696
10115
  var _Object$values, _window$Pelcro$user$r;
9697
10116
  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();
9698
10117
  this.saveButtons.forEach(button => {
@@ -10792,7 +11211,7 @@ toast.confirm = function (onConfirm, _ref3) {
10792
11211
  ...options
10793
11212
  });
10794
11213
  setTimeout(() => {
10795
- notify$1.dismiss(id);
11214
+ notify.dismiss(id);
10796
11215
  }, 3000);
10797
11216
  };
10798
11217
  const onFailure = errorValue => {
@@ -10801,11 +11220,11 @@ toast.confirm = function (onConfirm, _ref3) {
10801
11220
  ...options
10802
11221
  });
10803
11222
  setTimeout(() => {
10804
- notify$1.dismiss(id);
11223
+ notify.dismiss(id);
10805
11224
  }, 3000);
10806
11225
  };
10807
11226
  };
10808
- const notify$1 = toast;
11227
+ const notify = toast;
10809
11228
 
10810
11229
  const translations = i18next.t("common:buttons", {
10811
11230
  returnObjects: true
@@ -10866,7 +11285,7 @@ const init$1 = () => {
10866
11285
  const errorMessage = i18next.t("messages:invalidSubscription", {
10867
11286
  returnObjects: true
10868
11287
  });
10869
- return notify$1.error(errorMessage);
11288
+ return notify.error(errorMessage);
10870
11289
  }
10871
11290
  switchView("manage-members");
10872
11291
  });
@@ -10874,7 +11293,7 @@ const init$1 = () => {
10874
11293
  const errorMessage = i18next.t("messages:invalidSubscription", {
10875
11294
  returnObjects: true
10876
11295
  });
10877
- return notify$1.error(errorMessage);
11296
+ return notify.error(errorMessage);
10878
11297
  }
10879
11298
  }
10880
11299
  }
@@ -10932,6 +11351,57 @@ const init$1 = () => {
10932
11351
  }
10933
11352
  }
10934
11353
  }
11354
+ const pelcroDonateButtonsByClass = document.getElementsByClassName("pelcro-donate-button");
11355
+ if (pelcroDonateButtonsByClass.length !== 0) {
11356
+ for (let j = 0; j < pelcroDonateButtonsByClass.length; j++) {
11357
+ if (pelcroDonateButtonsByClass[j].dataset && "productId" in pelcroDonateButtonsByClass[j].dataset) {
11358
+ pelcroDonateButtonsByClass[j].addEventListener("click", e => {
11359
+ var _selectedProduct$plan2;
11360
+ set({
11361
+ isDonation: true
11362
+ });
11363
+ const productsList = window.Pelcro.product.list();
11364
+ if (!(productsList !== null && productsList !== void 0 && productsList.length)) return;
11365
+ const [productId, planId, isGift] = [e.target.dataset.productId, e.target.dataset.planId, e.target.dataset.isGift];
11366
+ const selectedProduct = productsList.find(product => product.id === Number(productId));
11367
+ 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));
11368
+ set({
11369
+ product: selectedProduct,
11370
+ plan: selectedPlan,
11371
+ isGift: Boolean(isGift)
11372
+ });
11373
+ if (!selectedProduct || !selectedPlan) {
11374
+ return switchView("plan-select");
11375
+ }
11376
+
11377
+ // if (!isAuthenticated()) {
11378
+ // return switchView("register");
11379
+ // }
11380
+
11381
+ if (isGift) {
11382
+ return switchView("gift-create");
11383
+ }
11384
+
11385
+ // const requiresAddress = Boolean(
11386
+ // selectedProduct.address_required
11387
+ // );
11388
+
11389
+ // if (requiresAddress) {
11390
+ // return switchToAddressView();
11391
+ // }
11392
+
11393
+ return switchToPaymentView();
11394
+ });
11395
+ } else {
11396
+ pelcroDonateButtonsByClass[j].addEventListener("click", () => {
11397
+ set({
11398
+ isDonation: true
11399
+ });
11400
+ switchView("donation-select");
11401
+ });
11402
+ }
11403
+ }
11404
+ }
10935
11405
  const pelcroOfflineSubButtonsByClass = document.getElementsByClassName("pelcro-offline-subscribe-button");
10936
11406
  if (pelcroOfflineSubButtonsByClass.length !== 0) {
10937
11407
  for (let j = 0; j < pelcroOfflineSubButtonsByClass.length; j++) {
@@ -11011,7 +11481,7 @@ const init$1 = () => {
11011
11481
  const errorMsg = i18next.t("shop:messages.currencyMismatch", {
11012
11482
  currency: userCurrency
11013
11483
  });
11014
- notify$1.error(errorMsg);
11484
+ notify.error(errorMsg);
11015
11485
  }
11016
11486
  });
11017
11487
  }
@@ -11104,7 +11574,7 @@ const init = () => {
11104
11574
  unblurElemWhenUserLogsIn(elemDeepClone, entitlements);
11105
11575
  unblurElemWhenUserLogsOut(elemDeepClone, entitlements);
11106
11576
  const NOTIFICATION_ID = "entitlement";
11107
- notify$1( /*#__PURE__*/React__default['default'].createElement("p", null, /*#__PURE__*/React__default['default'].createElement(Trans, {
11577
+ notify( /*#__PURE__*/React__default['default'].createElement("p", null, /*#__PURE__*/React__default['default'].createElement(Trans, {
11108
11578
  i18nKey: "messages:entitlement"
11109
11579
  }, "Some of the content on this page is available with one or more of our plans.", /*#__PURE__*/React__default['default'].createElement(Link, {
11110
11580
  onClick: () => {
@@ -11119,7 +11589,7 @@ const init = () => {
11119
11589
  plan: selectedPlan
11120
11590
  });
11121
11591
  }
11122
- notify$1.dismiss(NOTIFICATION_ID);
11592
+ notify.dismiss(NOTIFICATION_ID);
11123
11593
  switchView("_plan-select-entitlements");
11124
11594
  }
11125
11595
  }, "Subscribe"), "now to get full page access.")), {
@@ -11184,208 +11654,39 @@ function shouldBlurContent(entitlements) {
11184
11654
  return entitlements.every(entitlement => !window.Pelcro.user.isEntitledTo(entitlement));
11185
11655
  }
11186
11656
 
11187
- var pure$1 = createCommonjsModule(function (module, exports) {
11188
-
11189
- Object.defineProperty(exports, '__esModule', { value: true });
11190
-
11191
- function _typeof(obj) {
11192
- "@babel/helpers - typeof";
11193
-
11194
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
11195
- _typeof = function (obj) {
11196
- return typeof obj;
11197
- };
11198
- } else {
11199
- _typeof = function (obj) {
11200
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
11201
- };
11657
+ /**
11658
+ * Extracts error message from the response error object
11659
+ * @param {Object} error Error object
11660
+ * @return {string}
11661
+ */
11662
+ const getErrorMessages = error => {
11663
+ var _error$error, _error$response, _error$response$data, _error$response3, _error$response3$data, _error$response3$data2, _error$response5, _error$response5$data;
11664
+ if (error !== null && error !== void 0 && (_error$error = error.error) !== null && _error$error !== void 0 && _error$error.message) {
11665
+ return error.error.message;
11202
11666
  }
11203
-
11204
- return _typeof(obj);
11205
- }
11206
-
11207
- var V3_URL = 'https://js.stripe.com/v3';
11208
- var V3_URL_REGEX = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/;
11209
- 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';
11210
- var findScript = function findScript() {
11211
- var scripts = document.querySelectorAll("script[src^=\"".concat(V3_URL, "\"]"));
11212
-
11213
- for (var i = 0; i < scripts.length; i++) {
11214
- var script = scripts[i];
11215
-
11216
- if (!V3_URL_REGEX.test(script.src)) {
11217
- continue;
11218
- }
11219
-
11220
- return script;
11667
+ 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) {
11668
+ var _error$response2, _error$response2$data;
11669
+ 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;
11221
11670
  }
11671
+ 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) {
11672
+ var _error$response4, _error$response4$data, _error$response4$data2;
11673
+ 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;
11674
+ }
11675
+ 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) {
11676
+ var _error$response6, _error$response6$data;
11677
+ const errorMessages = [];
11222
11678
 
11223
- return null;
11224
- };
11225
-
11226
- var injectScript = function injectScript(params) {
11227
- var queryString = params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';
11228
- var script = document.createElement('script');
11229
- script.src = "".concat(V3_URL).concat(queryString);
11230
- var headOrBody = document.head || document.body;
11679
+ // enumerable error (ex: validation errors)
11680
+ 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 => {
11681
+ let [errorMessage] = _ref;
11682
+ errorMessages.push(errorMessage);
11683
+ });
11231
11684
 
11232
- if (!headOrBody) {
11233
- throw new Error('Expected document.body not to be null. Stripe.js requires a <body> element.');
11234
- }
11235
-
11236
- headOrBody.appendChild(script);
11237
- return script;
11238
- };
11239
-
11240
- var registerWrapper = function registerWrapper(stripe, startTime) {
11241
- if (!stripe || !stripe._registerWrapper) {
11242
- return;
11243
- }
11244
-
11245
- stripe._registerWrapper({
11246
- name: 'stripe-js',
11247
- version: "1.21.1",
11248
- startTime: startTime
11249
- });
11250
- };
11251
-
11252
- var stripePromise = null;
11253
- var loadScript = function loadScript(params) {
11254
- // Ensure that we only attempt to load Stripe.js at most once
11255
- if (stripePromise !== null) {
11256
- return stripePromise;
11257
- }
11258
-
11259
- stripePromise = new Promise(function (resolve, reject) {
11260
- if (typeof window === 'undefined') {
11261
- // Resolve to null when imported server side. This makes the module
11262
- // safe to import in an isomorphic code base.
11263
- resolve(null);
11264
- return;
11265
- }
11266
-
11267
- if (window.Stripe && params) {
11268
- console.warn(EXISTING_SCRIPT_MESSAGE);
11269
- }
11270
-
11271
- if (window.Stripe) {
11272
- resolve(window.Stripe);
11273
- return;
11274
- }
11275
-
11276
- try {
11277
- var script = findScript();
11278
-
11279
- if (script && params) {
11280
- console.warn(EXISTING_SCRIPT_MESSAGE);
11281
- } else if (!script) {
11282
- script = injectScript(params);
11283
- }
11284
-
11285
- script.addEventListener('load', function () {
11286
- if (window.Stripe) {
11287
- resolve(window.Stripe);
11288
- } else {
11289
- reject(new Error('Stripe.js not available'));
11290
- }
11291
- });
11292
- script.addEventListener('error', function () {
11293
- reject(new Error('Failed to load Stripe.js'));
11294
- });
11295
- } catch (error) {
11296
- reject(error);
11297
- return;
11298
- }
11299
- });
11300
- return stripePromise;
11301
- };
11302
- var initStripe = function initStripe(maybeStripe, args, startTime) {
11303
- if (maybeStripe === null) {
11304
- return null;
11305
- }
11306
-
11307
- var stripe = maybeStripe.apply(undefined, args);
11308
- registerWrapper(stripe, startTime);
11309
- return stripe;
11310
- };
11311
- var validateLoadParams = function validateLoadParams(params) {
11312
- var errorMessage = "invalid load parameters; expected object of shape\n\n {advancedFraudSignals: boolean}\n\nbut received\n\n ".concat(JSON.stringify(params), "\n");
11313
-
11314
- if (params === null || _typeof(params) !== 'object') {
11315
- throw new Error(errorMessage);
11316
- }
11317
-
11318
- if (Object.keys(params).length === 1 && typeof params.advancedFraudSignals === 'boolean') {
11319
- return params;
11320
- }
11321
-
11322
- throw new Error(errorMessage);
11323
- };
11324
-
11325
- var loadParams;
11326
- var loadStripeCalled = false;
11327
- var loadStripe = function loadStripe() {
11328
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
11329
- args[_key] = arguments[_key];
11330
- }
11331
-
11332
- loadStripeCalled = true;
11333
- var startTime = Date.now();
11334
- return loadScript(loadParams).then(function (maybeStripe) {
11335
- return initStripe(maybeStripe, args, startTime);
11336
- });
11337
- };
11338
-
11339
- loadStripe.setLoadParameters = function (params) {
11340
- if (loadStripeCalled) {
11341
- throw new Error('You cannot change load parameters after calling loadStripe');
11342
- }
11343
-
11344
- loadParams = validateLoadParams(params);
11345
- };
11346
-
11347
- exports.loadStripe = loadStripe;
11348
- });
11349
-
11350
- unwrapExports(pure$1);
11351
- pure$1.loadStripe;
11352
-
11353
- var pure = pure$1;
11354
- var pure_1 = pure.loadStripe;
11355
-
11356
- /**
11357
- * Extracts error message from the response error object
11358
- * @param {Object} error Error object
11359
- * @return {string}
11360
- */
11361
- const getErrorMessages = error => {
11362
- var _error$error, _error$response, _error$response$data, _error$response3, _error$response3$data, _error$response3$data2, _error$response5, _error$response5$data;
11363
- if (error !== null && error !== void 0 && (_error$error = error.error) !== null && _error$error !== void 0 && _error$error.message) {
11364
- return error.error.message;
11365
- }
11366
- 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) {
11367
- var _error$response2, _error$response2$data;
11368
- 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;
11369
- }
11370
- 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) {
11371
- var _error$response4, _error$response4$data, _error$response4$data2;
11372
- 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;
11373
- }
11374
- 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) {
11375
- var _error$response6, _error$response6$data;
11376
- const errorMessages = [];
11377
-
11378
- // enumerable error (ex: validation errors)
11379
- 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 => {
11380
- let [errorMessage] = _ref;
11381
- errorMessages.push(errorMessage);
11382
- });
11383
-
11384
- // convert to multiline string
11385
- return errorMessages.join("\n");
11386
- }
11387
- if (error !== null && error !== void 0 && error.message) {
11388
- return error.message;
11685
+ // convert to multiline string
11686
+ return errorMessages.join("\n");
11687
+ }
11688
+ if (error !== null && error !== void 0 && error.message) {
11689
+ return error.message;
11389
11690
  }
11390
11691
  };
11391
11692
 
@@ -11506,16 +11807,12 @@ const initPaywalls = () => {
11506
11807
  };
11507
11808
  const loadPaymentSDKs = () => {
11508
11809
  // Lazy load stripe's SDK
11509
- const {
11510
- whenUserReady
11511
- } = usePelcro.getStore();
11810
+ usePelcro.getStore();
11512
11811
  const supportsVantiv = Boolean(window.Pelcro.site.read().vantiv_gateway_settings);
11513
11812
  const supportsTap = Boolean(window.Pelcro.site.read().tap_gateway_settings);
11514
- whenUserReady(() => {
11515
- if (!window.Stripe && !supportsVantiv && !supportsTap) {
11516
- pure_1(window.Pelcro.environment.stripe);
11517
- }
11518
- });
11813
+ if (!window.Stripe && !supportsVantiv && !supportsTap) {
11814
+ pure_1(window.Pelcro.environment.stripe);
11815
+ }
11519
11816
 
11520
11817
  // Load PayPal SDKs
11521
11818
  const supportsPaypal = Boolean(window.Pelcro.site.read().braintree_tokenization);
@@ -11666,6 +11963,9 @@ const initViewFromURL = () => {
11666
11963
  if (view === "plan-select") {
11667
11964
  return initSubscriptionFromURL();
11668
11965
  }
11966
+ if (view === "donation-select") {
11967
+ return initDonationFromURL();
11968
+ }
11669
11969
  if (view === "register") {
11670
11970
  const offlinePlanId = window.Pelcro.helpers.getURLParameter("plan_id");
11671
11971
  if (offlinePlanId) {
@@ -11748,6 +12048,61 @@ const initSubscriptionFromURL = () => {
11748
12048
  });
11749
12049
  };
11750
12050
 
12051
+ /**
12052
+ * Initializes the donation flow if 'product_id' & 'plan_id' params exist
12053
+ * with valid IDs. Otherwise, switches to the donation selection flow
12054
+ */
12055
+ const initDonationFromURL = () => {
12056
+ const {
12057
+ switchView,
12058
+ whenSiteReady,
12059
+ set
12060
+ } = usePelcro.getStore();
12061
+ whenSiteReady(() => {
12062
+ var _selectedProduct$plan2;
12063
+ const productsList = window.Pelcro.product.list();
12064
+ if (!(productsList !== null && productsList !== void 0 && productsList.length)) {
12065
+ return;
12066
+ }
12067
+ const [productId, planId, isGiftParam] = [window.Pelcro.helpers.getURLParameter("product_id"), window.Pelcro.helpers.getURLParameter("plan_id"), window.Pelcro.helpers.getURLParameter("is_gift")];
12068
+ const isGift = (isGiftParam === null || isGiftParam === void 0 ? void 0 : isGiftParam.toLowerCase()) === "true";
12069
+ const selectedProduct = productsList.find(product => product.id === Number(productId));
12070
+ 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));
12071
+ set({
12072
+ product: selectedProduct,
12073
+ plan: selectedPlan,
12074
+ isGift
12075
+ });
12076
+ if (!selectedProduct || !selectedPlan) {
12077
+ set({
12078
+ isDonation: true
12079
+ });
12080
+ return switchView("donation-select");
12081
+ }
12082
+ const {
12083
+ isAuthenticated,
12084
+ switchToAddressView,
12085
+ switchToPaymentView
12086
+ } = usePelcro.getStore();
12087
+
12088
+ // if (!isAuthenticated()) {
12089
+ // return switchView("register");
12090
+ // }
12091
+
12092
+ // if (isGift) {
12093
+ // return switchView("gift-create");
12094
+ // }
12095
+
12096
+ // const requiresAddress = Boolean(selectedProduct.address_required);
12097
+ //
12098
+ // if (requiresAddress) {
12099
+ // return switchToAddressView();
12100
+ // }
12101
+
12102
+ return switchToPaymentView();
12103
+ });
12104
+ };
12105
+
11751
12106
  /**
11752
12107
  * Initializes offline subscription flow if 'plan_id' params exist
11753
12108
  * with valid IDs, Otherwise, ignore the param
@@ -11847,9 +12202,9 @@ const verifyEmailTokenFromUrl = () => {
11847
12202
  token: emailToken
11848
12203
  }, (err, res) => {
11849
12204
  if (err) {
11850
- return notify$1.error(getErrorMessages(err));
12205
+ return notify.error(getErrorMessages(err));
11851
12206
  }
11852
- return notify$1.success(translations.success);
12207
+ return notify.success(translations.success);
11853
12208
  });
11854
12209
  }, {
11855
12210
  once: true
@@ -11873,7 +12228,7 @@ const verifyLinkTokenFromUrl = () => {
11873
12228
  token: loginToken
11874
12229
  }, (err, res) => {
11875
12230
  if (err) {
11876
- return notify$1.error(getErrorMessages(err));
12231
+ return notify.error(getErrorMessages(err));
11877
12232
  }
11878
12233
  const {
11879
12234
  auth_token
@@ -11882,10 +12237,10 @@ const verifyLinkTokenFromUrl = () => {
11882
12237
  auth_token
11883
12238
  }, (err, res) => {
11884
12239
  if (err) {
11885
- return notify$1.error(getErrorMessages(err));
12240
+ return notify.error(getErrorMessages(err));
11886
12241
  }
11887
12242
  resetView();
11888
- return notify$1.success(translations.success);
12243
+ return notify.success(translations.success);
11889
12244
  });
11890
12245
  });
11891
12246
  }, {
@@ -11960,7 +12315,7 @@ const showInvoiceDetailsFromUrl = () => {
11960
12315
  const errorMessage = i18next.t("messages:invalidInvoice", {
11961
12316
  returnObjects: true
11962
12317
  });
11963
- return notify$1.error(errorMessage);
12318
+ return notify.error(errorMessage);
11964
12319
  }
11965
12320
  const {
11966
12321
  invoice
@@ -11969,7 +12324,7 @@ const showInvoiceDetailsFromUrl = () => {
11969
12324
  const errorMessage = i18next.t("messages:zeroTotalInvoice", {
11970
12325
  returnObjects: true
11971
12326
  });
11972
- return notify$1.error(errorMessage);
12327
+ return notify.error(errorMessage);
11973
12328
  }
11974
12329
  return switchView("invoice-details");
11975
12330
  });
@@ -11994,7 +12349,7 @@ const showSubscriptionManageMembersFromUrl = () => {
11994
12349
  const errorMessage = i18next.t("messages:invalidSubscription", {
11995
12350
  returnObjects: true
11996
12351
  });
11997
- return notify$1.error(errorMessage);
12352
+ return notify.error(errorMessage);
11998
12353
  }
11999
12354
  return switchView("manage-members");
12000
12355
  });
@@ -12019,8 +12374,18 @@ const PelcroModalController = _ref => {
12019
12374
  const {
12020
12375
  view,
12021
12376
  isAuthenticated,
12022
- whenSiteReady
12377
+ whenSiteReady,
12378
+ isDonation
12023
12379
  } = usePelcro();
12380
+ const supportsVantiv = Boolean(window.Pelcro.site.read().vantiv_gateway_settings);
12381
+ const supportsTap = Boolean(window.Pelcro.site.read().tap_gateway_settings);
12382
+ React__default['default'].useEffect(() => {
12383
+ if (isDonation) {
12384
+ if (!window.Stripe && !supportsVantiv && !supportsTap) {
12385
+ pure_1(window.Pelcro.environment.stripe);
12386
+ }
12387
+ }
12388
+ }, [isDonation]);
12024
12389
  React__default['default'].useEffect(() => {
12025
12390
  init$1();
12026
12391
  renderShopView(React__default['default'].Children.map(children, child => child).find(_ref2 => {
@@ -12376,6 +12741,7 @@ const HANDLE_REMOVE_MEMBER = "HANDLE_REMOVE_MEMBER";
12376
12741
  const UPDATE_INVITE_BUTTON = "UPDATE_INVITE_BUTTON";
12377
12742
  const UPDATE_MEMBERS = "UPDATE_MEMBERS";
12378
12743
  const UPDATE_REMOVE_MEMBER_ID = "UPDATE_REMOVE_MEMBER_ID";
12744
+ const UPDATE_CYBERSOURCE_SESSION_ID = "UPDATE_CYBERSOURCE_SESSION_ID";
12379
12745
 
12380
12746
  const initialState$m = {
12381
12747
  email: "",
@@ -14552,7 +14918,7 @@ function SelectModalWithHook(props) {
14552
14918
  matchingEntitlements: view === "_plan-select-entitlements" ? entitlements : null
14553
14919
  });
14554
14920
  }
14555
- function productsWithMatchedTaggedFirst() {
14921
+ function productsWithMatchedTaggedFirst$1() {
14556
14922
  var _window$Pelcro$produc;
14557
14923
  const allProducts = (_window$Pelcro$produc = window.Pelcro.product.list()) !== null && _window$Pelcro$produc !== void 0 ? _window$Pelcro$produc : [];
14558
14924
  const productsThatMatchArticleTag = window.Pelcro.product.getByMatchingPageTags();
@@ -14606,48 +14972,419 @@ class SelectModal extends React.Component {
14606
14972
  }
14607
14973
  document.addEventListener("keydown", this.handleSubmit);
14608
14974
  if (!document.querySelector("#pelcro-selection-view") || !document.querySelector(".pelcro-select-product-wrapper")) {
14609
- var _window$Pelcro2, _window$Pelcro2$user, _window$Pelcro3, _window$Pelcro3$user, _window$Pelcro4, _window$Pelcro4$user, _window$Pelcro5, _window$Pelcro5$site;
14610
- 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;
14611
- 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;
14612
- 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;
14613
- 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 => {
14975
+ var _window$Pelcro2, _window$Pelcro2$user, _window$Pelcro3, _window$Pelcro3$user, _window$Pelcro4, _window$Pelcro4$user, _window$Pelcro5, _window$Pelcro5$site;
14976
+ 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;
14977
+ 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;
14978
+ 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;
14979
+ 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 => {
14980
+ const filteredPlans = product.plans.filter(plan => plan.currency === userCurrency || !userCurrency);
14981
+ if (filteredPlans.length) return filteredPlans;
14982
+ });
14983
+ const productsMatchingUserCountry = productsMatchingUserCurrency.filter(product => {
14984
+ const filteredPlans = product.plans.filter(plan => {
14985
+ var _plan$countries;
14986
+ return plan.countries && ((_plan$countries = plan.countries) === null || _plan$countries === void 0 ? void 0 : _plan$countries.includes(userCountry)) || !plan.countries || !plan.countries.length;
14987
+ });
14988
+ if (filteredPlans.length) return filteredPlans;
14989
+ });
14990
+ notifyBugsnag(() => {
14991
+ Bugsnag.notify("SelectModal - No data viewed", event => {
14992
+ 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;
14993
+ event.addMetadata("MetaData", {
14994
+ 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(),
14995
+ 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(),
14996
+ 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,
14997
+ environment: (_window$Pelcro9 = window.Pelcro) === null || _window$Pelcro9 === void 0 ? void 0 : _window$Pelcro9.environment,
14998
+ matchingEntitlementsProps: (_this$props = this.props) === null || _this$props === void 0 ? void 0 : _this$props.matchingEntitlements,
14999
+ productListState: this.state.productList,
15000
+ methods: {
15001
+ productsWithMatchedTaggedFirst: productsWithMatchedTaggedFirst$1(),
15002
+ pelcroSDKProductsListMethod: window.Pelcro.product.list(),
15003
+ pelcroSDKGetByEntitlements: this.props.matchingEntitlements ? window.Pelcro.product.getByEntitlements(this.props.matchingEntitlements) : null
15004
+ },
15005
+ userCurrency: userCurrency,
15006
+ userCountry: userCountry,
15007
+ userLanguage: userLanguage,
15008
+ 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(),
15009
+ 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,
15010
+ currency_matching_filter: `${productsMatchingUserCurrency.length} Products Passed`,
15011
+ country_matching_filter: `${productsMatchingUserCountry.length} Products Passed`,
15012
+ language_matching_filter: `${productsMatchingUserCountry.filter(productMatchPageLanguage).length} Products Passed`
15013
+ });
15014
+ });
15015
+ });
15016
+ }
15017
+ });
15018
+ _defineProperty$3(this, "componentWillUnmount", () => {
15019
+ document.removeEventListener("keydown", this.handleSubmit);
15020
+ });
15021
+ _defineProperty$3(this, "handleSubmit", e => {
15022
+ if (e.key === "Enter" && !this.state.disabled) this.submitOption();
15023
+ });
15024
+ _defineProperty$3(this, "onProductChange", e => {
15025
+ const product = window.Pelcro.product.list()[e.target.selectedIndex];
15026
+ this.setState({
15027
+ product: product,
15028
+ plan: product.plans[0]
15029
+ });
15030
+ });
15031
+ _defineProperty$3(this, "onPlanChange", e => {
15032
+ this.setState({
15033
+ plan: this.state.product.plans[e.target.selectedIndex]
15034
+ });
15035
+ });
15036
+ _defineProperty$3(this, "onIsGiftChange", e => {
15037
+ this.setState({
15038
+ isGift: e.target.checked
15039
+ });
15040
+ });
15041
+ _defineProperty$3(this, "countStartPrice", arr => {
15042
+ let startingPlan = arr[0];
15043
+ for (const plan of arr) {
15044
+ if (plan.amount < startingPlan.amount) {
15045
+ startingPlan = plan;
15046
+ }
15047
+ }
15048
+ return `${startingPlan.amount_formatted}/${startingPlan.interval_count > 1 ? `${startingPlan.interval_count} ${startingPlan.interval}s` : `${startingPlan.interval}`}`;
15049
+ });
15050
+ _defineProperty$3(this, "renderOneProduct", (product, index, options) => {
15051
+ const isPlanMode = Boolean(this.state.mode === "plan");
15052
+ const productButtonLabel = isPlanMode ? this.locale("buttons.back") : this.locale("buttons.select");
15053
+ const productButtonCallback = isPlanMode ? this.goBack : this.selectProduct;
15054
+ return /*#__PURE__*/React__default['default'].createElement("div", {
15055
+ key: product.id,
15056
+ 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"}`
15057
+ }, product.image && /*#__PURE__*/React__default['default'].createElement("img", {
15058
+ alt: `image of ${product.name}`,
15059
+ src: product.image,
15060
+ className: "plc-object-contain plc-w-1/4 pelcro-select-product-image"
15061
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
15062
+ className: `plc-flex plc-flex-wrap ${product.image ? "plc-w-3/4" : "plc-w-full"}`
15063
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
15064
+ className: "plc-w-full pelcro-select-product-header"
15065
+ }, /*#__PURE__*/React__default['default'].createElement("p", {
15066
+ className: "plc-font-bold pelcro-select-product-title"
15067
+ }, product.name), /*#__PURE__*/React__default['default'].createElement("p", {
15068
+ className: "plc-text-xs pelcro-select-product-description"
15069
+ }, product.description)), /*#__PURE__*/React__default['default'].createElement("div", {
15070
+ className: "plc-flex plc-items-end plc-w-full plc-mt-3"
15071
+ }, product.plans && /*#__PURE__*/React__default['default'].createElement("p", {
15072
+ className: "plc-w-1/2 plc-text-xs pelcro-select-product-cost"
15073
+ }, this.locale("labels.startingAt"), " ", this.countStartPrice(product.plans)), /*#__PURE__*/React__default['default'].createElement(Button, Object.assign({
15074
+ onClick: productButtonCallback,
15075
+ "data-key": product.id,
15076
+ id: "pelcro-select-product-back-button",
15077
+ className: `plc-ml-auto plc-text-xs ${options !== null && options !== void 0 && options.emphasize ? "plc-bg-primary-700" : ""}`
15078
+ }, index === 0 && {
15079
+ autoFocus: true
15080
+ }), productButtonLabel))));
15081
+ });
15082
+ _defineProperty$3(this, "renderProducts", () => {
15083
+ const userDidSelectProduct = Boolean(this.state.mode === "plan");
15084
+ const productsToShow = userDidSelectProduct ? [this.state.product] : this.state.productList;
15085
+ return productsToShow.map((product, index) => {
15086
+ if (product.plans.filter(plan => plan.type === "regular").length > 0) {
15087
+ return this.renderOneProduct(product, index);
15088
+ }
15089
+ });
15090
+ });
15091
+ _defineProperty$3(this, "renderMatchingProductsFirst", () => {
15092
+ const isPlanMode = Boolean(this.state.mode === "plan");
15093
+ if (isPlanMode) {
15094
+ return this.renderOneProduct(this.state.product);
15095
+ }
15096
+ const [productsThatMatchArticleTag, allProductsMinusMatched] = productsWithMatchedTaggedFirst$1();
15097
+
15098
+ // Render normal products if there are no available matching products
15099
+ if (!(productsThatMatchArticleTag !== null && productsThatMatchArticleTag !== void 0 && productsThatMatchArticleTag.length)) {
15100
+ return this.renderProducts();
15101
+ }
15102
+ return /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("h3", {
15103
+ className: "plc-text-sm plc-font-semibold"
15104
+ }, this.locale("labels.restrictiveArticles.subscribeTo")), productsThatMatchArticleTag.map((product, index) => this.renderOneProduct(product, index, {
15105
+ emphasize: true
15106
+ })), (allProductsMinusMatched === null || allProductsMinusMatched === void 0 ? void 0 : allProductsMinusMatched.length) > 0 && /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("hr", {
15107
+ className: "plc-my-4"
15108
+ }), /*#__PURE__*/React__default['default'].createElement("h3", {
15109
+ className: "plc-text-sm plc-font-semibold"
15110
+ }, this.locale("labels.restrictiveArticles.or")), allProductsMinusMatched.map((product, index) => this.renderOneProduct(product, index))));
15111
+ });
15112
+ _defineProperty$3(this, "renderPlans", () => {
15113
+ return this.state.planList.map(plan => {
15114
+ const isChecked = this.state.plan.id === plan.id ? true : false;
15115
+ return /*#__PURE__*/React__default['default'].createElement("div", {
15116
+ key: plan.id,
15117
+ 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"
15118
+ }, /*#__PURE__*/React__default['default'].createElement(Radio, {
15119
+ className: "plc-self-start pelcro-select-plan-radio",
15120
+ labelClassName: "plc-cursor-pointer plc-w-full",
15121
+ id: `pelcro-select-plan-${plan.id}`,
15122
+ name: "plan",
15123
+ checked: isChecked,
15124
+ "data-key": plan.id,
15125
+ onChange: this.selectPlan
15126
+ }, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("p", {
15127
+ className: "plc-font-bold pelcro-select-plan-title"
15128
+ }, plan.nickname), /*#__PURE__*/React__default['default'].createElement("p", {
15129
+ className: "plc-text-xs pelcro-select-plan-description"
15130
+ }, plan.description)), /*#__PURE__*/React__default['default'].createElement("p", {
15131
+ className: "plc-mt-3 plc-font-bold pelcro-select-plan-price"
15132
+ }, plan.amount_formatted)));
15133
+ });
15134
+ });
15135
+ _defineProperty$3(this, "selectProduct", e => {
15136
+ const id = e.target.dataset.key;
15137
+ for (const product of this.state.productList) {
15138
+ if (+product.id === +id) {
15139
+ var _this$state$plan;
15140
+ this.setState({
15141
+ product: product
15142
+ });
15143
+ this.setState({
15144
+ planList: product.plans.filter(plan => plan.type === "regular")
15145
+ });
15146
+ this.setState({
15147
+ mode: "plan"
15148
+ });
15149
+ const isSelectedPlanPartOfThisProduct = ((_this$state$plan = this.state.plan) === null || _this$state$plan === void 0 ? void 0 : _this$state$plan.product_id) === Number(product.id);
15150
+ if (isSelectedPlanPartOfThisProduct) {
15151
+ this.setState({
15152
+ disabled: false
15153
+ });
15154
+ }
15155
+ }
15156
+ }
15157
+ });
15158
+ _defineProperty$3(this, "selectPlan", e => {
15159
+ const id = e.target.dataset.key;
15160
+ for (const plan of this.state.planList) {
15161
+ if (+plan.id === +id) {
15162
+ plan.isCheked = true;
15163
+ this.setState({
15164
+ plan: plan
15165
+ });
15166
+ this.setState({
15167
+ disabled: false
15168
+ });
15169
+ } else {
15170
+ plan.isCheked = false;
15171
+ }
15172
+ }
15173
+ });
15174
+ _defineProperty$3(this, "goBack", () => {
15175
+ this.setState({
15176
+ disabled: true
15177
+ });
15178
+ this.setState({
15179
+ mode: "product"
15180
+ });
15181
+ });
15182
+ _defineProperty$3(this, "submitOption", () => {
15183
+ this.props.setProductAndPlan(this.state.product, this.state.plan, this.state.isGift);
15184
+ const {
15185
+ product,
15186
+ isGift
15187
+ } = this.state;
15188
+ const {
15189
+ setView
15190
+ } = this.props;
15191
+ const isAuthenticated = window.Pelcro.user.isAuthenticated();
15192
+ const {
15193
+ switchToAddressView,
15194
+ switchToPaymentView
15195
+ } = usePelcro.getStore();
15196
+ if (!isAuthenticated) {
15197
+ return setView("register");
15198
+ }
15199
+ if (isGift) {
15200
+ return setView("gift-create");
15201
+ }
15202
+ if (product.address_required) {
15203
+ return switchToAddressView();
15204
+ }
15205
+ return switchToPaymentView();
15206
+ });
15207
+ _defineProperty$3(this, "displayLoginView", () => {
15208
+ this.props.setView("login");
15209
+ });
15210
+ this.state = {
15211
+ product: {},
15212
+ plan: {},
15213
+ isGift: props.isGift,
15214
+ disabled: true,
15215
+ mode: "product",
15216
+ productList: props.matchingEntitlements ? window.Pelcro.product.getByEntitlements(props.matchingEntitlements) : window.Pelcro.product.list()
15217
+ };
15218
+ this.product = this.props.product || window.Pelcro.paywall.getProduct();
15219
+ this.locale = this.props.t;
15220
+ this.closeButton = window.Pelcro.paywall.displayCloseButton();
15221
+ }
15222
+ render() {
15223
+ var _window$Pelcro$produc2, _window$Pelcro$produc3, _window$Pelcro$site$r;
15224
+ const {
15225
+ disableGifting
15226
+ } = this.props;
15227
+ if (this.state.mode === "product") {
15228
+ var _ReactGA$event;
15229
+ 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, {
15230
+ category: "VIEWS",
15231
+ action: "Product Modal Viewed",
15232
+ nonInteraction: true
15233
+ });
15234
+ } else if (this.state.mode === "plan") {
15235
+ var _ReactGA$event2;
15236
+ 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, {
15237
+ category: "VIEWS",
15238
+ action: "Plan Modal Viewed",
15239
+ nonInteraction: true
15240
+ });
15241
+ }
15242
+ return /*#__PURE__*/React__default['default'].createElement(Modal, {
15243
+ hideCloseButton: !this.closeButton,
15244
+ onClose: this.props.onClose,
15245
+ id: "pelcro-selection-modal"
15246
+ }, /*#__PURE__*/React__default['default'].createElement(ModalBody, null, /*#__PURE__*/React__default['default'].createElement("div", {
15247
+ id: "pelcro-selection-view"
15248
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
15249
+ className: "plc-mb-6 plc-text-center plc-text-gray-900 pelcro-title-wrapper"
15250
+ }, /*#__PURE__*/React__default['default'].createElement("h4", {
15251
+ className: "plc-text-2xl plc-font-semibold"
15252
+ }, 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['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['default'].createElement("div", {
15253
+ className: "pelcro-select-products-wrapper"
15254
+ }, (_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['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
15255
+ className: "plc-overflow-y-scroll plc-max-h-72 pelcro-select-plans-wrapper"
15256
+ }, this.renderPlans()), !disableGifting && /*#__PURE__*/React__default['default'].createElement("div", {
15257
+ className: "plc-flex plc-justify-center plc-mt-2"
15258
+ }, /*#__PURE__*/React__default['default'].createElement(Checkbox, {
15259
+ onChange: this.onIsGiftChange,
15260
+ checked: this.state.isGift,
15261
+ id: "pelcro-input-is-gift"
15262
+ }, this.locale("messages.checkbox"))), /*#__PURE__*/React__default['default'].createElement(Button, {
15263
+ disabled: this.state.disabled,
15264
+ onClick: this.submitOption,
15265
+ id: "pelcro-submit",
15266
+ className: "plc-w-full plc-mt-2"
15267
+ }, this.locale("buttons.next"))))), /*#__PURE__*/React__default['default'].createElement(ModalFooter, null, !window.Pelcro.user.isAuthenticated() && /*#__PURE__*/React__default['default'].createElement("p", null, this.locale("messages.alreadyHaveAccount") + " ", /*#__PURE__*/React__default['default'].createElement(Link, {
15268
+ id: "pelcro-link-login",
15269
+ onClick: this.displayLoginView
15270
+ }, this.locale("messages.loginHere"))), /*#__PURE__*/React__default['default'].createElement(Authorship, null)));
15271
+ }
15272
+ }
15273
+ const SelectModalWithTrans = withTranslation("select")(SelectModal);
15274
+
15275
+ /**
15276
+ *
15277
+ */
15278
+ function DonationModalWithHook(props) {
15279
+ React__default['default'].useEffect(() => {
15280
+ var _props$onDisplay;
15281
+ (_props$onDisplay = props.onDisplay) === null || _props$onDisplay === void 0 ? void 0 : _props$onDisplay.call(props);
15282
+ }, []);
15283
+ const {
15284
+ isGift,
15285
+ plan,
15286
+ product,
15287
+ isRenewingGift,
15288
+ switchView,
15289
+ resetView,
15290
+ view,
15291
+ set
15292
+ } = usePelcro();
15293
+ const entitlementsProtectedElements = document.querySelectorAll("[data-pelcro-entitlements]");
15294
+ const entitlements = entitlementsProtectedElements.length > 0 ? getEntitlementsFromElem(entitlementsProtectedElements[0]) : null;
15295
+ return /*#__PURE__*/React__default['default'].createElement(DonationModalWithTrans, {
15296
+ isGift: isGift,
15297
+ disableGifting: isRenewingGift,
15298
+ plan: plan,
15299
+ product: product,
15300
+ onClose: () => {
15301
+ var _props$onClose;
15302
+ (_props$onClose = props.onClose) === null || _props$onClose === void 0 ? void 0 : _props$onClose.call(props);
15303
+ resetView();
15304
+ },
15305
+ setProductAndPlan: (product, plan, isGift, selectedDonationAmount, customDonationAmount) => set({
15306
+ product,
15307
+ plan,
15308
+ isGift,
15309
+ selectedDonationAmount,
15310
+ customDonationAmount
15311
+ }),
15312
+ setView: switchView,
15313
+ matchingEntitlements: view === "_plan-select-entitlements" ? entitlements : null
15314
+ });
15315
+ }
15316
+ function productsWithMatchedTaggedFirst() {
15317
+ var _window$Pelcro$produc;
15318
+ const allProducts = (_window$Pelcro$produc = window.Pelcro.product.list()) !== null && _window$Pelcro$produc !== void 0 ? _window$Pelcro$produc : [];
15319
+ const productsThatMatchArticleTag = window.Pelcro.product.getByMatchingPageTags();
15320
+ const allProductsMinusMatched = allProducts.filter(product => !productsThatMatchArticleTag.some(matchedProduct => matchedProduct.id === product.id));
15321
+ return [productsThatMatchArticleTag, allProductsMinusMatched];
15322
+ }
15323
+ DonationModalWithHook.viewId = "donation-select";
15324
+ class DonationModal extends React.Component {
15325
+ constructor(props) {
15326
+ super(props);
15327
+ _defineProperty$3(this, "componentDidMount", () => {
15328
+ if (this.props.product) {
15329
+ const {
15330
+ product
15331
+ } = this.props;
15332
+ const planList = product.plans;
15333
+ this.setState({
15334
+ product,
15335
+ planList,
15336
+ mode: "plan"
15337
+ });
15338
+ }
15339
+ if (this.props.plan) {
15340
+ const {
15341
+ plan
15342
+ } = this.props;
15343
+ this.setState({
15344
+ plan,
15345
+ disabled: false
15346
+ });
15347
+ }
15348
+ if (this.state.productList.length === 1) {
15349
+ this.setState({
15350
+ product: this.state.productList[0],
15351
+ planList: this.state.productList[0].plans,
15352
+ mode: "plan"
15353
+ });
15354
+ }
15355
+
15356
+ // if (
15357
+ // this.state.productList.length === 0 &&
15358
+ // !window.Pelcro.user.isAuthenticated()
15359
+ // ) {
15360
+ // this.props.setView("register");
15361
+ // }
15362
+
15363
+ document.addEventListener("keydown", this.handleSubmit);
15364
+ if (!document.querySelector("#pelcro-selection-view") || !document.querySelector(".pelcro-select-product-wrapper")) {
15365
+ var _window$Pelcro, _window$Pelcro$user, _window$Pelcro2, _window$Pelcro2$user, _window$Pelcro3, _window$Pelcro3$user, _window$Pelcro4, _window$Pelcro4$site;
15366
+ 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;
15367
+ 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;
15368
+ (_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;
15369
+ 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 => {
14614
15370
  const filteredPlans = product.plans.filter(plan => plan.currency === userCurrency || !userCurrency);
14615
15371
  if (filteredPlans.length) return filteredPlans;
14616
15372
  });
14617
- const productsMatchingUserCountry = productsMatchingUserCurrency.filter(product => {
15373
+ productsMatchingUserCurrency.filter(product => {
14618
15374
  const filteredPlans = product.plans.filter(plan => {
14619
15375
  var _plan$countries;
14620
15376
  return plan.countries && ((_plan$countries = plan.countries) === null || _plan$countries === void 0 ? void 0 : _plan$countries.includes(userCountry)) || !plan.countries || !plan.countries.length;
14621
15377
  });
14622
15378
  if (filteredPlans.length) return filteredPlans;
14623
15379
  });
14624
- notifyBugsnag(() => {
14625
- Bugsnag.notify("SelectModal - No data viewed", event => {
14626
- 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;
14627
- event.addMetadata("MetaData", {
14628
- 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(),
14629
- 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(),
14630
- 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,
14631
- environment: (_window$Pelcro9 = window.Pelcro) === null || _window$Pelcro9 === void 0 ? void 0 : _window$Pelcro9.environment,
14632
- matchingEntitlementsProps: (_this$props = this.props) === null || _this$props === void 0 ? void 0 : _this$props.matchingEntitlements,
14633
- productListState: this.state.productList,
14634
- methods: {
14635
- productsWithMatchedTaggedFirst: productsWithMatchedTaggedFirst(),
14636
- pelcroSDKProductsListMethod: window.Pelcro.product.list(),
14637
- pelcroSDKGetByEntitlements: this.props.matchingEntitlements ? window.Pelcro.product.getByEntitlements(this.props.matchingEntitlements) : null
14638
- },
14639
- userCurrency: userCurrency,
14640
- userCountry: userCountry,
14641
- userLanguage: userLanguage,
14642
- 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(),
14643
- 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,
14644
- currency_matching_filter: `${productsMatchingUserCurrency.length} Products Passed`,
14645
- country_matching_filter: `${productsMatchingUserCountry.length} Products Passed`,
14646
- language_matching_filter: `${productsMatchingUserCountry.filter(productMatchPageLanguage).length} Products Passed`
14647
- });
14648
- });
15380
+ }
15381
+ });
15382
+ _defineProperty$3(this, "componentDidUpdate", (prevProps, prevState) => {
15383
+ var _this$state$planList;
15384
+ 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]) {
15385
+ this.setState({
15386
+ plan: this.state.planList[0]
14649
15387
  });
14650
- console.log("bugsnag Triggered");
14651
15388
  }
14652
15389
  });
14653
15390
  _defineProperty$3(this, "componentWillUnmount", () => {
@@ -14703,9 +15440,7 @@ class SelectModal extends React.Component {
14703
15440
  className: "plc-text-xs pelcro-select-product-description"
14704
15441
  }, product.description)), /*#__PURE__*/React__default['default'].createElement("div", {
14705
15442
  className: "plc-flex plc-items-end plc-w-full plc-mt-3"
14706
- }, product.plans && /*#__PURE__*/React__default['default'].createElement("p", {
14707
- className: "plc-w-1/2 plc-text-xs pelcro-select-product-cost"
14708
- }, this.locale("labels.startingAt"), " ", this.countStartPrice(product.plans)), /*#__PURE__*/React__default['default'].createElement(Button, Object.assign({
15443
+ }, /*#__PURE__*/React__default['default'].createElement(Button, Object.assign({
14709
15444
  onClick: productButtonCallback,
14710
15445
  "data-key": product.id,
14711
15446
  id: "pelcro-select-product-back-button",
@@ -14745,24 +15480,90 @@ class SelectModal extends React.Component {
14745
15480
  _defineProperty$3(this, "renderPlans", () => {
14746
15481
  return this.state.planList.map(plan => {
14747
15482
  const isChecked = this.state.plan.id === plan.id ? true : false;
15483
+ let planDetails = /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("div", {
15484
+ className: "plc-bg-gray-100 plc-rounded-md plc-p-3 plc-mt-3 plc-text-sm plc-flex plc-items-center"
15485
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
15486
+ className: "plc-flex plc-items-center plc-flex-1"
15487
+ }, "Auto renew:", " ", /*#__PURE__*/React__default['default'].createElement("span", {
15488
+ className: "plc-inline-flex plc-w-6 plc-ml-1"
15489
+ }, plan.auto_renew ? /*#__PURE__*/React__default['default'].createElement(SvgCheck, {
15490
+ className: "plc-text-green-500"
15491
+ }) : /*#__PURE__*/React__default['default'].createElement(SvgXIcon, {
15492
+ className: "plc-text-red-500"
15493
+ })), " "), /*#__PURE__*/React__default['default'].createElement("div", {
15494
+ className: "plc-flex plc-items-center plc-flex-1"
15495
+ }, "Renewed every:", " ", /*#__PURE__*/React__default['default'].createElement("span", {
15496
+ className: "plc-inline-flex plc-w-6 plc-ml-1 plc-font-bold plc-capitalize"
15497
+ }, plan.interval || "-"))), plan.preset_donation_values && /*#__PURE__*/React__default['default'].createElement("div", {
15498
+ className: "plc-mt-3 plc-pt-3 plc-border-t plc-border-gray-200"
15499
+ }, /*#__PURE__*/React__default['default'].createElement("h5", {
15500
+ className: "plc-mb-4 plc-font-medium plc-text-center"
15501
+ }, "Select amount"), /*#__PURE__*/React__default['default'].createElement("ul", {
15502
+ className: "plc-grid plc-grid-cols-2 plc-gap-3"
15503
+ }, plan.preset_donation_values.map(value => /*#__PURE__*/React__default['default'].createElement("li", {
15504
+ key: value
15505
+ }, /*#__PURE__*/React__default['default'].createElement("button", {
15506
+ 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"}`,
15507
+ onClick: () => {
15508
+ this.setState({
15509
+ selectedDonationAmount: +value,
15510
+ customDonationAmount: "",
15511
+ disabled: false
15512
+ });
15513
+ }
15514
+ }, /*#__PURE__*/React__default['default'].createElement("span", {
15515
+ className: "plc-font-bold plc-mr-1"
15516
+ }, value), /*#__PURE__*/React__default['default'].createElement("span", {
15517
+ className: "plc-uppercase"
15518
+ }, plan === null || plan === void 0 ? void 0 : plan.currency))))), /*#__PURE__*/React__default['default'].createElement("div", {
15519
+ className: "plc-relative plc-py-3 plc-mt-3"
15520
+ }, /*#__PURE__*/React__default['default'].createElement("hr", null), " ", /*#__PURE__*/React__default['default'].createElement("span", {
15521
+ 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"
15522
+ }, "or"))), /*#__PURE__*/React__default['default'].createElement("div", {
15523
+ className: "plc-relative plc-mt-3"
15524
+ }, /*#__PURE__*/React__default['default'].createElement(Input, {
15525
+ type: "number",
15526
+ value: this.state.customDonationAmount,
15527
+ onChange: e => {
15528
+ if (+e.target.value > 0) {
15529
+ this.setState({
15530
+ customDonationAmount: +e.target.value,
15531
+ selectedDonationAmount: null,
15532
+ disabled: false
15533
+ });
15534
+ } else {
15535
+ this.setState({
15536
+ customDonationAmount: ""
15537
+ });
15538
+ this.setState({
15539
+ disabled: true
15540
+ });
15541
+ }
15542
+ },
15543
+ placeholder: "Donate a custom amount ...",
15544
+ className: "plc-pr-14",
15545
+ wrapperClassName: "plc-mb-0"
15546
+ }), /*#__PURE__*/React__default['default'].createElement("span", {
15547
+ 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"
15548
+ }, plan.currency)));
14748
15549
  return /*#__PURE__*/React__default['default'].createElement("div", {
14749
15550
  key: plan.id,
14750
- 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"
15551
+ 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 "}`
14751
15552
  }, /*#__PURE__*/React__default['default'].createElement(Radio, {
14752
- className: "plc-self-start pelcro-select-plan-radio",
14753
- labelClassName: "plc-cursor-pointer plc-w-full",
15553
+ className: "plc-self-start pelcro-select-plan-radio plc-hidden",
15554
+ labelClassName: "plc-cursor-pointer plc-w-full plc-ml-0",
14754
15555
  id: `pelcro-select-plan-${plan.id}`,
14755
15556
  name: "plan",
14756
15557
  checked: isChecked,
14757
15558
  "data-key": plan.id,
14758
15559
  onChange: this.selectPlan
14759
- }, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("p", {
15560
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
15561
+ className: "plc-text-center"
15562
+ }, /*#__PURE__*/React__default['default'].createElement("p", {
14760
15563
  className: "plc-font-bold pelcro-select-plan-title"
14761
15564
  }, plan.nickname), /*#__PURE__*/React__default['default'].createElement("p", {
14762
15565
  className: "plc-text-xs pelcro-select-plan-description"
14763
- }, plan.description)), /*#__PURE__*/React__default['default'].createElement("p", {
14764
- className: "plc-mt-3 plc-font-bold pelcro-select-plan-price"
14765
- }, plan.amount_formatted)));
15566
+ }, plan.description))), isChecked && planDetails);
14766
15567
  });
14767
15568
  });
14768
15569
  _defineProperty$3(this, "selectProduct", e => {
@@ -14770,13 +15571,15 @@ class SelectModal extends React.Component {
14770
15571
  for (const product of this.state.productList) {
14771
15572
  if (+product.id === +id) {
14772
15573
  var _this$state$plan;
15574
+ const planList = product.plans.filter(plan => plan.type === "donation");
15575
+ if (planList.length === 1) {
15576
+ this.setState({
15577
+ plan: planList[0]
15578
+ });
15579
+ }
14773
15580
  this.setState({
14774
- product: product
14775
- });
14776
- this.setState({
14777
- planList: product.plans
14778
- });
14779
- this.setState({
15581
+ product: product,
15582
+ planList: planList,
14780
15583
  mode: "plan"
14781
15584
  });
14782
15585
  const isSelectedPlanPartOfThisProduct = ((_this$state$plan = this.state.plan) === null || _this$state$plan === void 0 ? void 0 : _this$state$plan.product_id) === Number(product.id);
@@ -14789,6 +15592,12 @@ class SelectModal extends React.Component {
14789
15592
  }
14790
15593
  });
14791
15594
  _defineProperty$3(this, "selectPlan", e => {
15595
+ this.setState({
15596
+ selectedDonationAmount: null
15597
+ });
15598
+ this.setState({
15599
+ disabled: true
15600
+ });
14792
15601
  const id = e.target.dataset.key;
14793
15602
  for (const plan of this.state.planList) {
14794
15603
  if (+plan.id === +id) {
@@ -14796,9 +15605,6 @@ class SelectModal extends React.Component {
14796
15605
  this.setState({
14797
15606
  plan: plan
14798
15607
  });
14799
- this.setState({
14800
- disabled: false
14801
- });
14802
15608
  } else {
14803
15609
  plan.isCheked = false;
14804
15610
  }
@@ -14813,7 +15619,7 @@ class SelectModal extends React.Component {
14813
15619
  });
14814
15620
  });
14815
15621
  _defineProperty$3(this, "submitOption", () => {
14816
- this.props.setProductAndPlan(this.state.product, this.state.plan, this.state.isGift);
15622
+ this.props.setProductAndPlan(this.state.product, this.state.plan, this.state.isGift, this.state.selectedDonationAmount, this.state.customDonationAmount);
14817
15623
  const {
14818
15624
  product,
14819
15625
  isGift
@@ -14826,12 +15632,14 @@ class SelectModal extends React.Component {
14826
15632
  switchToAddressView,
14827
15633
  switchToPaymentView
14828
15634
  } = usePelcro.getStore();
14829
- if (!isAuthenticated) {
15635
+ if (!isAuthenticated && product.address_required) {
14830
15636
  return setView("register");
14831
15637
  }
14832
- if (isGift) {
14833
- return setView("gift-create");
14834
- }
15638
+
15639
+ // if (isGift) {
15640
+ // return setView("gift-create");
15641
+ // }
15642
+
14835
15643
  if (product.address_required) {
14836
15644
  return switchToAddressView();
14837
15645
  }
@@ -14840,13 +15648,16 @@ class SelectModal extends React.Component {
14840
15648
  _defineProperty$3(this, "displayLoginView", () => {
14841
15649
  this.props.setView("login");
14842
15650
  });
15651
+ 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);
14843
15652
  this.state = {
14844
15653
  product: {},
14845
15654
  plan: {},
14846
15655
  isGift: props.isGift,
14847
15656
  disabled: true,
14848
15657
  mode: "product",
14849
- productList: props.matchingEntitlements ? window.Pelcro.product.getByEntitlements(props.matchingEntitlements) : window.Pelcro.product.list()
15658
+ productList: productList,
15659
+ selectedDonationAmount: null,
15660
+ customDonationAmount: ""
14850
15661
  };
14851
15662
  this.product = this.props.product || window.Pelcro.paywall.getProduct();
14852
15663
  this.locale = this.props.t;
@@ -14854,19 +15665,17 @@ class SelectModal extends React.Component {
14854
15665
  }
14855
15666
  render() {
14856
15667
  var _window$Pelcro$produc2, _window$Pelcro$produc3, _window$Pelcro$site$r;
14857
- const {
14858
- disableGifting
14859
- } = this.props;
15668
+ this.props;
14860
15669
  if (this.state.mode === "product") {
14861
15670
  var _ReactGA$event;
14862
- 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, {
15671
+ ReactGA1 === null || ReactGA1 === void 0 ? void 0 : (_ReactGA$event = ReactGA1.event) === null || _ReactGA$event === void 0 ? void 0 : _ReactGA$event.call(ReactGA1, {
14863
15672
  category: "VIEWS",
14864
15673
  action: "Product Modal Viewed",
14865
15674
  nonInteraction: true
14866
15675
  });
14867
15676
  } else if (this.state.mode === "plan") {
14868
15677
  var _ReactGA$event2;
14869
- 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, {
15678
+ ReactGA1 === null || ReactGA1 === void 0 ? void 0 : (_ReactGA$event2 = ReactGA1.event) === null || _ReactGA$event2 === void 0 ? void 0 : _ReactGA$event2.call(ReactGA1, {
14870
15679
  category: "VIEWS",
14871
15680
  action: "Plan Modal Viewed",
14872
15681
  nonInteraction: true
@@ -14885,25 +15694,16 @@ class SelectModal extends React.Component {
14885
15694
  }, 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['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['default'].createElement("div", {
14886
15695
  className: "pelcro-select-products-wrapper"
14887
15696
  }, (_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['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
14888
- className: "plc-overflow-y-scroll plc-max-h-72 pelcro-select-plans-wrapper"
14889
- }, this.renderPlans()), !disableGifting && /*#__PURE__*/React__default['default'].createElement("div", {
14890
- className: "plc-flex plc-justify-center plc-mt-2"
14891
- }, /*#__PURE__*/React__default['default'].createElement(Checkbox, {
14892
- onChange: this.onIsGiftChange,
14893
- checked: this.state.isGift,
14894
- id: "pelcro-input-is-gift"
14895
- }, this.locale("messages.checkbox"))), /*#__PURE__*/React__default['default'].createElement(Button, {
15697
+ className: "plc-overflow-y-scroll pelcro-select-plans-wrapper"
15698
+ }, this.renderPlans()), /*#__PURE__*/React__default['default'].createElement(Button, {
14896
15699
  disabled: this.state.disabled,
14897
- onClick: this.submitOption,
15700
+ onClick: () => this.submitOption(),
14898
15701
  id: "pelcro-submit",
14899
15702
  className: "plc-w-full plc-mt-2"
14900
- }, this.locale("buttons.next"))))), /*#__PURE__*/React__default['default'].createElement(ModalFooter, null, !window.Pelcro.user.isAuthenticated() && /*#__PURE__*/React__default['default'].createElement("p", null, this.locale("messages.alreadyHaveAccount") + " ", /*#__PURE__*/React__default['default'].createElement(Link, {
14901
- id: "pelcro-link-login",
14902
- onClick: this.displayLoginView
14903
- }, this.locale("messages.loginHere"))), /*#__PURE__*/React__default['default'].createElement(Authorship, null)));
15703
+ }, this.locale("buttons.donate"))))), /*#__PURE__*/React__default['default'].createElement(ModalFooter, null, /*#__PURE__*/React__default['default'].createElement(Authorship, null)));
14904
15704
  }
14905
15705
  }
14906
- const SelectModalWithTrans = withTranslation("select")(SelectModal);
15706
+ const DonationModalWithTrans = withTranslation("donation")(DonationModal);
14907
15707
 
14908
15708
  var Provider_1 = createCommonjsModule(function (module, exports) {
14909
15709
 
@@ -16908,7 +17708,8 @@ class CybersourceGateway {
16908
17708
  product,
16909
17709
  quantity = 1,
16910
17710
  addressId,
16911
- isExistingSource
17711
+ isExistingSource,
17712
+ fingerprint_session_id
16912
17713
  } = options;
16913
17714
  const params = isExistingSource ? {
16914
17715
  source_id: token
@@ -16923,6 +17724,7 @@ class CybersourceGateway {
16923
17724
  campaign_key: window.Pelcro.helpers.getURLParameter("campaign_key"),
16924
17725
  coupon_code: couponCode,
16925
17726
  address_id: product.address_required ? addressId : null,
17727
+ fingerprint_session_id: fingerprint_session_id,
16926
17728
  ...params
16927
17729
  }, (err, res) => {
16928
17730
  callback(err, res);
@@ -17115,11 +17917,16 @@ const initialState$k = {
17115
17917
  firstName: "",
17116
17918
  lastName: "",
17117
17919
  phone: "",
17920
+ email: "",
17921
+ password: "",
17118
17922
  firstNameError: null,
17119
17923
  lastNameError: null,
17120
17924
  phoneError: null,
17925
+ emailError: null,
17121
17926
  month: "",
17122
17927
  year: "",
17928
+ passwordError: null,
17929
+ cyberSourceSessionId: null,
17123
17930
  alert: {
17124
17931
  type: "error",
17125
17932
  content: ""
@@ -17152,7 +17959,11 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17152
17959
  set,
17153
17960
  order,
17154
17961
  selectedPaymentMethodId,
17155
- couponCode
17962
+ couponCode,
17963
+ selectedDonationAmount,
17964
+ customDonationAmount,
17965
+ isAuthenticated,
17966
+ switchView
17156
17967
  } = usePelcro();
17157
17968
  const {
17158
17969
  whenUserReady
@@ -17184,6 +17995,22 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17184
17995
  });
17185
17996
  updateTotalAmountWithTax();
17186
17997
  }, []);
17998
+ const fireBugSnag = _ref2 => {
17999
+ let {
18000
+ error,
18001
+ title
18002
+ } = _ref2;
18003
+ notifyBugsnag(() => {
18004
+ Bugsnag.notify(title !== null && title !== void 0 ? title : "ERROR", event => {
18005
+ var _document$getElementB, _document$querySelect;
18006
+ event.addMetadata("MetaData", {
18007
+ error: error !== null && error !== void 0 ? error : "ERROR",
18008
+ paymentModalViewed: (_document$getElementB = !!document.getElementById("pelcro-subscription-create-modal")) !== null && _document$getElementB !== void 0 ? _document$getElementB : false,
18009
+ errorAppeared: (_document$querySelect = !!document.querySelector(".pelcro-alert-error")) !== null && _document$querySelect !== void 0 ? _document$querySelect : false
18010
+ });
18011
+ });
18012
+ });
18013
+ };
17187
18014
 
17188
18015
  /*====== Start Cybersource integration ========*/
17189
18016
  const cybersourceErrorHandle = err => {
@@ -17193,10 +18020,10 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17193
18020
  const errorMessages = [];
17194
18021
 
17195
18022
  // enumerable error (ex: validation errors)
17196
- 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 => {
18023
+ 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 => {
17197
18024
  let {
17198
18025
  message
17199
- } = _ref2;
18026
+ } = _ref3;
17200
18027
  errorMessages.push(message);
17201
18028
  });
17202
18029
 
@@ -17209,8 +18036,10 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17209
18036
  };
17210
18037
  const submitUsingCybersource = (state, dispatch) => {
17211
18038
  var _cybersourceInstanceR;
18039
+ console.log("State", state);
17212
18040
  const isUsingExistingPaymentMethod = Boolean(selectedPaymentMethodId);
17213
18041
  if (isUsingExistingPaymentMethod) {
18042
+ appendCybersourceFingerprintScripts();
17214
18043
  // no need to create a new source using cybersrce
17215
18044
  return handleCybersourcePayment(null, state);
17216
18045
  }
@@ -17358,7 +18187,8 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17358
18187
  couponCode,
17359
18188
  product,
17360
18189
  isExistingSource: isUsingExistingPaymentMethod,
17361
- addressId: selectedAddressId
18190
+ addressId: selectedAddressId,
18191
+ fingerprint_session_id: state.cyberSourceSessionId
17362
18192
  }, (err, res) => {
17363
18193
  if (err) {
17364
18194
  return handlePaymentError(err);
@@ -17374,6 +18204,28 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17374
18204
  }
17375
18205
  cybersourceInstanceRef.current = microformInstance;
17376
18206
  };
18207
+ const appendCybersourceFingerprintScripts = () => {
18208
+ var _window$Pelcro$site$r, _window$Pelcro$site$r2, _window$Pelcro$site$r3, _window$Pelcro$site$r4;
18209
+ const uniqueId = crypto.randomUUID();
18210
+ 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;
18211
+ 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;
18212
+ const fingerPrintScript = document.querySelector(`script[src="https://h.online-metrix.net/fp/tags.js?org_id=${orgID}&session_id=${sessionID}"]`);
18213
+ const fingerPringIframe = document.querySelector(`iframe[src="https://h.online-metrix.net/fp/tags?org_id=${orgID}&session_id=${sessionID}"]`);
18214
+ if (!fingerPrintScript && !fingerPringIframe) {
18215
+ window.Pelcro.helpers.loadSDK(`https://h.online-metrix.net/fp/tags.js?org_id=${orgID}&session_id=${sessionID}`, "cybersource-fingerprint-script");
18216
+ const body = document.getElementsByTagName("body")[0];
18217
+ const noscript = document.createElement("noscript");
18218
+ const iframe = document.createElement("iframe");
18219
+ iframe.style.cssText = "width: 100px; height: 100px; border: 0; position:absolute; top: -5000px;";
18220
+ iframe.src = `https://h.online-metrix.net/fp/tags?org_id=${orgID}&session_id=${sessionID}`;
18221
+ noscript.appendChild(iframe);
18222
+ body.insertBefore(noscript, body.firstChild);
18223
+ dispatch({
18224
+ type: UPDATE_CYBERSOURCE_SESSION_ID,
18225
+ payload: uniqueId
18226
+ });
18227
+ }
18228
+ };
17377
18229
  const initCybersourceScript = () => {
17378
18230
  // jwk api call
17379
18231
  window.Pelcro.payment.getJWK({
@@ -17398,6 +18250,7 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17398
18250
  }
17399
18251
  });
17400
18252
  }
18253
+ appendCybersourceFingerprintScripts();
17401
18254
  const {
17402
18255
  key: jwk
17403
18256
  } = res;
@@ -17434,7 +18287,7 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17434
18287
 
17435
18288
  /*====== Start Tap integration ========*/
17436
18289
  const submitUsingTap = state => {
17437
- var _ref3, _ref4, _ref5, _state$updatedPrice;
18290
+ var _ref4, _ref5, _getPlanAmount;
17438
18291
  const isUsingExistingPaymentMethod = Boolean(selectedPaymentMethodId);
17439
18292
  if (isUsingExistingPaymentMethod) {
17440
18293
  // no need to create a new source using tap
@@ -17458,7 +18311,15 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17458
18311
  return total + item.price * item.quantity;
17459
18312
  }, 0);
17460
18313
  };
17461
- 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;
18314
+ function getPlanAmount() {
18315
+ if (state.updatedPrice) return state.updatedPrice;
18316
+ if (plan.type === "donation" && (selectedDonationAmount || customDonationAmount)) {
18317
+ return selectedDonationAmount ? selectedDonationAmount * plan.amount : customDonationAmount * plan.amount;
18318
+ } else {
18319
+ return plan.amount;
18320
+ }
18321
+ }
18322
+ 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;
17462
18323
  tapInstanceRef.current.createToken(tapInstanceCard.current).then(function (result) {
17463
18324
  if (result.error) {
17464
18325
  // Inform the user if there was an error
@@ -17668,8 +18529,8 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17668
18529
  }
17669
18530
  }
17670
18531
  const initTapScript = () => {
17671
- var _window$Pelcro$site$r;
17672
- 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);
18532
+ var _window$Pelcro$site$r5;
18533
+ 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);
17673
18534
  let elements = tapKey.elements({});
17674
18535
  let style = {
17675
18536
  base: {
@@ -17879,9 +18740,9 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17879
18740
  React.useEffect(() => {
17880
18741
  if (skipPayment && ((plan === null || plan === void 0 ? void 0 : plan.amount) === 0 || props !== null && props !== void 0 && props.freeOrders)) return;
17881
18742
  if (cardProcessor === "vantiv" && !selectedPaymentMethodId) {
17882
- var _window$Pelcro$site$r2, _window$Pelcro$site$r3;
17883
- 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;
17884
- 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;
18743
+ var _window$Pelcro$site$r6, _window$Pelcro$site$r7;
18744
+ 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;
18745
+ 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;
17885
18746
  vantivInstanceRef.current = new window.EprotectIframeClient({
17886
18747
  paypageId: payPageId,
17887
18748
  reportGroup: reportGroup,
@@ -17937,13 +18798,21 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17937
18798
  }, [selectedPaymentMethodId]);
17938
18799
  const initPaymentRequest = (state, dispatch) => {
17939
18800
  if (skipPayment && ((plan === null || plan === void 0 ? void 0 : plan.amount) === 0 || props !== null && props !== void 0 && props.freeOrders)) return;
18801
+ function getPlanAmount() {
18802
+ if (state.updatedPrice) return state.updatedPrice;
18803
+ if (plan.type === "donation" && (selectedDonationAmount || customDonationAmount)) {
18804
+ return selectedDonationAmount ? selectedDonationAmount * plan.amount : customDonationAmount * plan.amount;
18805
+ } else {
18806
+ return plan.amount;
18807
+ }
18808
+ }
17940
18809
  try {
17941
18810
  const paymentRequest = stripe.paymentRequest({
17942
18811
  country: window.Pelcro.user.location.countryCode || "US",
17943
18812
  currency: plan.currency,
17944
18813
  total: {
17945
18814
  label: plan.nickname || plan.description,
17946
- amount: state.updatedPrice || plan.amount
18815
+ amount: getPlanAmount()
17947
18816
  }
17948
18817
  });
17949
18818
 
@@ -17975,7 +18844,12 @@ const PaymentMethodContainerWithoutStripe = _ref => {
17975
18844
  error
17976
18845
  } = _ref7;
17977
18846
  if (error) {
17978
- return handlePaymentError(error);
18847
+ handlePaymentError(error);
18848
+ fireBugSnag({
18849
+ error,
18850
+ title: "generate3DSecureSource - ERROR"
18851
+ });
18852
+ return;
17979
18853
  }
17980
18854
  toggleAuthenticationPendingView(true, source);
17981
18855
  });
@@ -18004,9 +18878,9 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18004
18878
  * Updates the total amount after adding taxes only if site taxes are enabled
18005
18879
  */
18006
18880
  const updateTotalAmountWithTax = () => {
18007
- var _window$Pelcro$site$r4;
18881
+ var _window$Pelcro$site$r8;
18008
18882
  if (skipPayment && ((plan === null || plan === void 0 ? void 0 : plan.amount) === 0 || props !== null && props !== void 0 && props.freeOrders)) return;
18009
- 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;
18883
+ 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;
18010
18884
  if (taxesEnabled && type === "createPayment") {
18011
18885
  dispatch({
18012
18886
  type: DISABLE_SUBMIT,
@@ -18259,13 +19133,18 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18259
19133
  });
18260
19134
  if (res.error) {
18261
19135
  onFailure(res.error);
18262
- return dispatch({
19136
+ dispatch({
18263
19137
  type: SHOW_ALERT,
18264
19138
  payload: {
18265
19139
  type: "error",
18266
19140
  content: isSubCreate ? t("messages.tryAgainFromInvoice") : getErrorMessages(res.error)
18267
19141
  }
18268
19142
  });
19143
+ fireBugSnag({
19144
+ error: getErrorMessages(res.error),
19145
+ title: "StripeConfirmCardPayment - ERROR"
19146
+ });
19147
+ return;
18269
19148
  }
18270
19149
  onSuccess(res);
18271
19150
  });
@@ -18281,13 +19160,18 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18281
19160
  payload: false
18282
19161
  });
18283
19162
  onFailure(error);
18284
- return dispatch({
19163
+ dispatch({
18285
19164
  type: SHOW_ALERT,
18286
19165
  payload: {
18287
19166
  type: "error",
18288
19167
  content: isSubCreate ? t("messages.tryAgainFromInvoice") : t("messages.cardAuthFailed")
18289
19168
  }
18290
19169
  });
19170
+ fireBugSnag({
19171
+ error: getErrorMessages(error),
19172
+ title: "StripeConfirmCardPayment - ERROR"
19173
+ });
19174
+ return;
18291
19175
  } else {
18292
19176
  onSuccess(response);
18293
19177
  }
@@ -18302,13 +19186,18 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18302
19186
  });
18303
19187
  if (error) {
18304
19188
  onFailure(error);
18305
- return dispatch({
19189
+ dispatch({
18306
19190
  type: SHOW_ALERT,
18307
19191
  payload: {
18308
19192
  type: "error",
18309
19193
  content: getErrorMessages(error)
18310
19194
  }
18311
19195
  });
19196
+ fireBugSnag({
19197
+ error: getErrorMessages(error),
19198
+ title: "StripeConfirmCardPayment - ERROR"
19199
+ });
19200
+ return;
18312
19201
  }
18313
19202
  onSuccess(response);
18314
19203
  }
@@ -18634,6 +19523,50 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18634
19523
  }
18635
19524
  });
18636
19525
  };
19526
+ const sendRegisterRequest = (state, callback) => {
19527
+ window.Pelcro.user.register({
19528
+ email: state.email,
19529
+ password: generatePassword()
19530
+ }, (err, res) => {
19531
+ if (err) {
19532
+ var _err$response, _err$response$data;
19533
+ let {
19534
+ registered_on_other_sites,
19535
+ ...errors
19536
+ } = 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;
19537
+ err.response.data.errors = {
19538
+ ...errors
19539
+ };
19540
+ let errorContent;
19541
+ if (getErrorMessages(err) === "This email is already in use.") {
19542
+ errorContent = /*#__PURE__*/React__default['default'].createElement("p", null, "This email is already in use.", " ", /*#__PURE__*/React__default['default'].createElement("button", {
19543
+ className: "plc-font-bold plc-underline hover:plc-no-underline",
19544
+ onClick: () => switchView("login")
19545
+ }, "Login to continue"));
19546
+ } else {
19547
+ errorContent = getErrorMessages(err);
19548
+ }
19549
+ dispatch({
19550
+ type: SHOW_ALERT,
19551
+ payload: {
19552
+ type: "error",
19553
+ content: errorContent
19554
+ }
19555
+ });
19556
+ dispatch({
19557
+ type: DISABLE_SUBMIT,
19558
+ payload: false
19559
+ });
19560
+ dispatch({
19561
+ type: LOADING,
19562
+ payload: false
19563
+ });
19564
+ onFailure(err);
19565
+ } else {
19566
+ callback();
19567
+ }
19568
+ });
19569
+ };
18637
19570
  const submitPayment = (state, dispatch) => {
18638
19571
  if (skipPayment && props !== null && props !== void 0 && props.freeOrders) {
18639
19572
  const isQuickPurchase = !Array.isArray(order);
@@ -18661,7 +19594,7 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18661
19594
  stripe.createSource({
18662
19595
  type: "card"
18663
19596
  }).then(_ref9 => {
18664
- var _ref10, _ref11, _state$updatedPrice2;
19597
+ var _ref10, _ref11, _state$updatedPrice;
18665
19598
  let {
18666
19599
  source,
18667
19600
  error
@@ -18684,7 +19617,7 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18684
19617
  return total + item.price * item.quantity;
18685
19618
  }, 0);
18686
19619
  };
18687
- (_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();
19620
+ (_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();
18688
19621
  return handlePayment(source);
18689
19622
  }).catch(error => {
18690
19623
  return handlePaymentError(error);
@@ -18696,11 +19629,11 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18696
19629
  * @return {Promise}
18697
19630
  */
18698
19631
  const resolveTaxCalculation = () => {
18699
- var _window$Pelcro$site$r5;
19632
+ var _window$Pelcro$site$r9;
18700
19633
  if (type === "invoicePayment") {
18701
19634
  return new Promise(resolve => resolve());
18702
19635
  }
18703
- 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;
19636
+ 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;
18704
19637
  return new Promise((resolve, reject) => {
18705
19638
  // resolve early if taxes isn't enabled
18706
19639
  if (!taxesEnabled) {
@@ -18895,25 +19828,47 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18895
19828
  return submitPayment(state);
18896
19829
  }
18897
19830
  if (getSiteCardProcessor() === "vantiv") {
18898
- return submitUsingVantiv(state);
19831
+ if (!isAuthenticated() && plan.type === "donation") {
19832
+ return sendRegisterRequest(state, () => submitUsingVantiv(state));
19833
+ } else {
19834
+ return submitUsingVantiv(state);
19835
+ }
18899
19836
  }
18900
19837
  if (getSiteCardProcessor() === "tap") {
18901
- return submitUsingTap(state);
19838
+ if (!isAuthenticated() && plan.type === "donation") {
19839
+ return sendRegisterRequest(state, () => submitUsingTap(state));
19840
+ } else {
19841
+ return submitUsingTap(state);
19842
+ }
19843
+ }
19844
+ if (getSiteCardProcessor() === "cybersource") {
19845
+ return submitUsingCybersource(state, dispatch);
18902
19846
  }
18903
19847
  if (getSiteCardProcessor() === "cybersource") {
18904
19848
  return submitUsingCybersource(state, dispatch);
18905
19849
  }
18906
19850
  if (selectedPaymentMethodId) {
18907
- // pay with selected method (source) if exists already
18908
- return handlePayment({
18909
- id: selectedPaymentMethodId,
18910
- isExistingSource: true
18911
- });
19851
+ if (!isAuthenticated() && plan.type === "donation") {
19852
+ return sendRegisterRequest(state, () => handlePayment({
19853
+ id: selectedPaymentMethodId,
19854
+ isExistingSource: true
19855
+ }));
19856
+ } else {
19857
+ // pay with selected method (source) if exists already
19858
+ return handlePayment({
19859
+ id: selectedPaymentMethodId,
19860
+ isExistingSource: true
19861
+ });
19862
+ }
18912
19863
  }
18913
19864
  if (type === "updatePaymentSource") {
18914
19865
  return updatePaymentSource(state, dispatch);
18915
19866
  }
18916
- submitPayment(state);
19867
+ if (!isAuthenticated() && plan.type === "donation") {
19868
+ return sendRegisterRequest(state, () => submitPayment(state));
19869
+ } else {
19870
+ return submitPayment(state);
19871
+ }
18917
19872
  });
18918
19873
  case HANDLE_PAYPAL_SUBSCRIPTION:
18919
19874
  return lib_5(state, (state, dispatch) => {
@@ -18998,6 +19953,18 @@ const PaymentMethodContainerWithoutStripe = _ref => {
18998
19953
  phone: action.payload,
18999
19954
  phoneError: null
19000
19955
  });
19956
+ case SET_EMAIL:
19957
+ return lib_7({
19958
+ ...state,
19959
+ email: action.payload,
19960
+ emailError: null
19961
+ });
19962
+ case SET_PASSWORD:
19963
+ return lib_7({
19964
+ ...state,
19965
+ password: action.payload,
19966
+ passwordError: null
19967
+ });
19001
19968
  case SET_FIRST_NAME_ERROR:
19002
19969
  return lib_7({
19003
19970
  ...state,
@@ -19016,11 +19983,28 @@ const PaymentMethodContainerWithoutStripe = _ref => {
19016
19983
  phoneError: action.payload,
19017
19984
  phone: null
19018
19985
  });
19986
+ case SET_EMAIL_ERROR:
19987
+ return lib_7({
19988
+ ...state,
19989
+ emailError: action.payload,
19990
+ email: ""
19991
+ });
19992
+ case SET_PASSWORD_ERROR:
19993
+ return lib_7({
19994
+ ...state,
19995
+ passwordError: action.payload,
19996
+ password: ""
19997
+ });
19019
19998
  case SHOW_ALERT:
19020
19999
  return lib_7({
19021
20000
  ...state,
19022
20001
  alert: action.payload
19023
20002
  });
20003
+ case UPDATE_CYBERSOURCE_SESSION_ID:
20004
+ return lib_7({
20005
+ ...state,
20006
+ cyberSourceSessionId: action.payload
20007
+ });
19024
20008
  default:
19025
20009
  return state;
19026
20010
  }
@@ -19049,18 +20033,14 @@ const PaymentMethodContainerWithoutStripe = _ref => {
19049
20033
  const UnwrappedForm = es_12(PaymentMethodContainerWithoutStripe);
19050
20034
  const PaymentMethodContainer = props => {
19051
20035
  const [isStripeLoaded, setIsStripeLoaded] = React.useState(Boolean(window.Stripe));
19052
- const {
19053
- whenUserReady
19054
- } = usePelcro.getStore();
20036
+ usePelcro.getStore();
19055
20037
  const cardProcessor = getSiteCardProcessor();
19056
20038
  React.useEffect(() => {
19057
- whenUserReady(() => {
19058
- if (!window.Stripe && cardProcessor === "stripe") {
19059
- document.querySelector('script[src="https://js.stripe.com/v3"]').addEventListener("load", () => {
19060
- setIsStripeLoaded(true);
19061
- });
19062
- }
19063
- });
20039
+ if (!window.Stripe && cardProcessor === "stripe") {
20040
+ document.querySelector('script[src="https://js.stripe.com/v3"]').addEventListener("load", () => {
20041
+ setIsStripeLoaded(true);
20042
+ });
20043
+ }
19064
20044
  }, []);
19065
20045
  if (isStripeLoaded) {
19066
20046
  return /*#__PURE__*/React__default['default'].createElement(es_13, {
@@ -19353,13 +20333,15 @@ const DiscountedPrice = props => {
19353
20333
  };
19354
20334
 
19355
20335
  const SubmitPaymentMethod = _ref => {
19356
- var _plan$quantity, _window$Pelcro$site$r, _window$Pelcro$site$r2;
20336
+ var _plan$quantity, _plan$quantity2, _plan$quantity3, _window$Pelcro$site$r, _window$Pelcro$site$r2;
19357
20337
  let {
19358
20338
  onClick,
19359
20339
  ...otherProps
19360
20340
  } = _ref;
19361
20341
  const {
19362
20342
  plan,
20343
+ selectedDonationAmount,
20344
+ customDonationAmount,
19363
20345
  selectedPaymentMethodId
19364
20346
  } = usePelcro();
19365
20347
  const {
@@ -19371,6 +20353,8 @@ const SubmitPaymentMethod = _ref => {
19371
20353
  firstNameError,
19372
20354
  lastNameError,
19373
20355
  phoneError,
20356
+ emailError,
20357
+ passwordError,
19374
20358
  firstName,
19375
20359
  lastName,
19376
20360
  phone,
@@ -19383,7 +20367,7 @@ const SubmitPaymentMethod = _ref => {
19383
20367
  } = React.useContext(store$k);
19384
20368
  const planQuantity = (_plan$quantity = plan === null || plan === void 0 ? void 0 : plan.quantity) !== null && _plan$quantity !== void 0 ? _plan$quantity : 1;
19385
20369
  const price = updatedPrice !== null && updatedPrice !== void 0 ? updatedPrice : plan === null || plan === void 0 ? void 0 : plan.amount;
19386
- const priceFormatted = getFormattedPriceByLocal(price * planQuantity, plan === null || plan === void 0 ? void 0 : plan.currency, getPageOrDefaultLanguage());
20370
+ 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());
19387
20371
  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);
19388
20372
  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);
19389
20373
  const isUserFirstName = Boolean(window.Pelcro.user.read().first_name);
@@ -19394,9 +20378,9 @@ const SubmitPaymentMethod = _ref => {
19394
20378
  if (supportsTap && isUserFirstName && isUserLastName && isUserPhone) {
19395
20379
  setDisabled(disableSubmit);
19396
20380
  } else {
19397
- 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));
20381
+ 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));
19398
20382
  }
19399
- }, [disableSubmit, firstNameError, lastNameError, phoneError, firstName, lastName, phone, month, year]);
20383
+ }, [disableSubmit, firstNameError, lastNameError, phoneError, firstName, lastName, phone, emailError, passwordError, month, year]);
19400
20384
  return /*#__PURE__*/React__default['default'].createElement(Button, Object.assign({
19401
20385
  role: "submit",
19402
20386
  className: "plc-w-full plc-py-3",
@@ -20031,6 +21015,10 @@ const OrderCreateFreeButton = _ref => {
20031
21015
  }, otherProps), t("labels.submit"));
20032
21016
  };
20033
21017
 
21018
+ const DonationEmail = props => /*#__PURE__*/React__default['default'].createElement(Email, Object.assign({
21019
+ store: store$k
21020
+ }, props));
21021
+
20034
21022
  /**
20035
21023
  *
20036
21024
  */
@@ -20050,6 +21038,10 @@ function PaymentMethodView(_ref) {
20050
21038
  const {
20051
21039
  t
20052
21040
  } = useTranslation("checkoutForm");
21041
+ const {
21042
+ plan,
21043
+ isAuthenticated
21044
+ } = usePelcro();
20053
21045
  const cardProcessor = getSiteCardProcessor();
20054
21046
  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);
20055
21047
  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);
@@ -20107,6 +21099,12 @@ function PaymentMethodView(_ref) {
20107
21099
  errorId: "pelcro-input-phone-error",
20108
21100
  label: t("labels.phone"),
20109
21101
  required: true
21102
+ })), !isAuthenticated() && (plan === null || plan === void 0 ? void 0 : plan.type) === "donation" && /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(DonationEmail, {
21103
+ id: "pelcro-input-email",
21104
+ errorId: "pelcro-input-email-error",
21105
+ label: t("labels.email"),
21106
+ required: true,
21107
+ autoFocus: true
20110
21108
  })), /*#__PURE__*/React__default['default'].createElement(CheckoutForm, null), showCoupon && /*#__PURE__*/React__default['default'].createElement("div", {
20111
21109
  className: "plc-mb-2"
20112
21110
  }, /*#__PURE__*/React__default['default'].createElement(CouponCode, null), /*#__PURE__*/React__default['default'].createElement(DiscountedPrice, null)), /*#__PURE__*/React__default['default'].createElement(TaxAmount, null), /*#__PURE__*/React__default['default'].createElement("div", {
@@ -20426,7 +21424,7 @@ const SubscriptionCancelNowButton = _ref => {
20426
21424
  switchView(null);
20427
21425
 
20428
21426
  //Show confirmation alert after closing the modal
20429
- notify$1.confirm((onSuccess, onFailure) => {
21427
+ notify.confirm((onSuccess, onFailure) => {
20430
21428
  cancelSubscription(payload, onSuccess, onFailure);
20431
21429
  }, {
20432
21430
  confirmMessage: t("messages.subCancellation.isSureToCancelNow"),
@@ -20498,7 +21496,7 @@ const SubscriptionCancelLaterButton = _ref => {
20498
21496
  switchView(null);
20499
21497
 
20500
21498
  //Show confirmation alert after closing the modal
20501
- notify$1.confirm((onSuccess, onFailure) => {
21499
+ notify.confirm((onSuccess, onFailure) => {
20502
21500
  cancelSubscription(payload, onSuccess, onFailure);
20503
21501
  }, {
20504
21502
  confirmMessage: t("messages.subCancellation.isSureToCancel"),
@@ -20735,7 +21733,7 @@ const SubscriptionSuspendButton = _ref => {
20735
21733
  switchView(null);
20736
21734
 
20737
21735
  //Show confirmation alert after closing the modal
20738
- notify$1.confirm((onSuccess, onFailure) => {
21736
+ notify.confirm((onSuccess, onFailure) => {
20739
21737
  suspendSubscription(payload, onSuccess, onFailure);
20740
21738
  }, {
20741
21739
  confirmMessage: t("messages.subCancellation.isSureToSuspendNow"),
@@ -21455,12 +22453,14 @@ const SubscriptionCreateView = _ref => {
21455
22453
  } = useTranslation("checkoutForm");
21456
22454
  const {
21457
22455
  product,
21458
- plan
22456
+ plan,
22457
+ selectedDonationAmount,
22458
+ customDonationAmount
21459
22459
  } = usePelcro();
21460
22460
  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;
21461
22461
  const showSubscriptionButton = skipPayment && (plan === null || plan === void 0 ? void 0 : plan.amount) === 0;
21462
22462
  const getPricingText = plan => {
21463
- var _plan$quantity;
22463
+ var _plan$quantity, _plan$quantity2, _plan$quantity3;
21464
22464
  const autoRenewed = plan.auto_renew;
21465
22465
  const {
21466
22466
  interval,
@@ -21470,7 +22470,7 @@ const SubscriptionCreateView = _ref => {
21470
22470
  interval,
21471
22471
  count: interval_count
21472
22472
  });
21473
- 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());
22473
+ 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());
21474
22474
  return /*#__PURE__*/React__default['default'].createElement("p", {
21475
22475
  className: "plc-text-gray-600"
21476
22476
  }, /*#__PURE__*/React__default['default'].createElement("span", {
@@ -22793,7 +23793,7 @@ const AddressCreateContainer = _ref => {
22793
23793
  });
22794
23794
  return onFailure(err);
22795
23795
  }
22796
- notify$1.success(t("messages.addressUpdated"));
23796
+ notify.success(t("messages.addressUpdated"));
22797
23797
  return onMembershipAdressUpdateSuccess(res);
22798
23798
  });
22799
23799
  }
@@ -23192,6 +24192,7 @@ function CountrySelect(_ref) {
23192
24192
  return /*#__PURE__*/React__default['default'].createElement(Loader, null);
23193
24193
  }
23194
24194
  return /*#__PURE__*/React__default['default'].createElement(Select, Object.assign({
24195
+ className: "plc-pr-8",
23195
24196
  value: country,
23196
24197
  error: countryError,
23197
24198
  onChange: e => handleInputChange(e.target.value),
@@ -23274,6 +24275,7 @@ function StateSelect(_ref) {
23274
24275
  return /*#__PURE__*/React__default['default'].createElement(Loader, null);
23275
24276
  }
23276
24277
  return /*#__PURE__*/React__default['default'].createElement(Select, Object.assign({
24278
+ className: "plc-pr-8",
23277
24279
  value: state,
23278
24280
  error: stateError,
23279
24281
  onChange: e => handleInputChange(e.target.value),
@@ -25674,6 +26676,16 @@ const GiftCreateContainer = _ref => {
25674
26676
  return onFailure();
25675
26677
  }
25676
26678
  }
26679
+ if (giftRecipient.giftMessage && !isStringValid(giftRecipient.giftMessage)) {
26680
+ dispatch({
26681
+ type: SHOW_ALERT,
26682
+ payload: {
26683
+ type: "error",
26684
+ content: t("gift.messages.giftMessageAllowedCharacters")
26685
+ }
26686
+ });
26687
+ return onFailure();
26688
+ }
25677
26689
  set({
25678
26690
  giftRecipient
25679
26691
  });
@@ -26014,6 +27026,7 @@ const GiftRedeemContainer = _ref => {
26014
27026
  payload: false
26015
27027
  });
26016
27028
  if (err) {
27029
+ var _err$response, _err$response$data, _err$response$data$er;
26017
27030
  dispatch({
26018
27031
  type: SHOW_ALERT,
26019
27032
  payload: {
@@ -26021,7 +27034,7 @@ const GiftRedeemContainer = _ref => {
26021
27034
  content: getErrorMessages(err)
26022
27035
  }
26023
27036
  });
26024
- if (getErrorMessages(err) === "Address ID is required") {
27037
+ 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) {
26025
27038
  switchToAddressView();
26026
27039
  } else {
26027
27040
  return onFailure(err);
@@ -26281,7 +27294,7 @@ const AddressSelectContainer = _ref => {
26281
27294
  });
26282
27295
  return onFailure(err);
26283
27296
  }
26284
- notify$1.success(t("messages.addressUpdated"));
27297
+ notify.success(t("messages.addressUpdated"));
26285
27298
  return onMembershipAdressUpdateSuccess(res);
26286
27299
  });
26287
27300
  }
@@ -28242,7 +29255,7 @@ const SubscriptionsItems = _ref => {
28242
29255
  return switchView("email-verify");
28243
29256
  }
28244
29257
  onClose === null || onClose === void 0 ? void 0 : onClose();
28245
- notify$1.confirm((onSuccess, onFailure) => {
29258
+ notify.confirm((onSuccess, onFailure) => {
28246
29259
  cancelSubscription(sub.id, onSuccess, onFailure);
28247
29260
  }, {
28248
29261
  confirmMessage: t("messages.subCancellation.isSureToCancel"),
@@ -28259,7 +29272,7 @@ const SubscriptionsItems = _ref => {
28259
29272
  if (userMustVerifyEmail()) {
28260
29273
  return switchView("email-verify");
28261
29274
  }
28262
- reactivateSubscription(sub.id);
29275
+ reactivateSubscription(sub.id, false);
28263
29276
  };
28264
29277
 
28265
29278
  // Renew click
@@ -28297,7 +29310,7 @@ const SubscriptionsItems = _ref => {
28297
29310
  return switchView("email-verify");
28298
29311
  }
28299
29312
  onClose === null || onClose === void 0 ? void 0 : onClose();
28300
- notify$1.confirm((onSuccess, onFailure) => {
29313
+ notify.confirm((onSuccess, onFailure) => {
28301
29314
  unSuspendSubscription(sub.id, onSuccess, onFailure);
28302
29315
  }, {
28303
29316
  confirmMessage: t("messages.subUnSuspend.isSureToUnSuspend"),
@@ -28379,7 +29392,7 @@ const SubscriptionsItems = _ref => {
28379
29392
  onClick: onCancelClick,
28380
29393
  disabled: disableSubmit,
28381
29394
  "data-key": sub.id
28382
- }, 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['default'].createElement(Button, {
29395
+ }, 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['default'].createElement(Button, {
28383
29396
  variant: "ghost",
28384
29397
  className: "plc-text-blue-400 pelcro-dashboard-sub-manage-members-button",
28385
29398
  icon: /*#__PURE__*/React__default['default'].createElement(SvgRefresh, null),
@@ -28426,7 +29439,10 @@ const SubscriptionsItems = _ref => {
28426
29439
  };
28427
29440
  function getNonDonationSubs() {
28428
29441
  var _window$Pelcro$subscr, _window$Pelcro$subscr2, _window$Pelcro$subscr3;
28429
- 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 : [];
29442
+ 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 => {
29443
+ var _sub$plan2;
29444
+ return ((_sub$plan2 = sub.plan) === null || _sub$plan2 === void 0 ? void 0 : _sub$plan2.type) !== "donation";
29445
+ })) !== null && _window$Pelcro$subscr !== void 0 ? _window$Pelcro$subscr : [];
28430
29446
  }
28431
29447
  function isDateAfterToday(date) {
28432
29448
  const today = new Date().setHours(0, 0, 0, 0);
@@ -28714,6 +29730,7 @@ function SvgQrcode(props) {
28714
29730
 
28715
29731
  const DonationsMenu = _ref => {
28716
29732
  let {
29733
+ onClose,
28717
29734
  reactivateSubscription,
28718
29735
  disableSubmit,
28719
29736
  cancelSubscription
@@ -28725,10 +29742,10 @@ const DonationsMenu = _ref => {
28725
29742
  switchView,
28726
29743
  setSubscriptionToCancel
28727
29744
  } = usePelcro();
28728
- const subscriptions = getDonationSubs().sort((a, b) => a.expires_at - b.expires_at).sort((a, b) => a.renews_at - b.renews_at).map(sub => {
29745
+ const donations = getDonationSubs().sort((a, b) => a.expires_at - b.expires_at).sort((a, b) => a.renews_at - b.renews_at).map(sub => {
29746
+ console.log("Sub", sub);
28729
29747
  // Cancel button click handlers
28730
29748
  const onCancelClick = () => {
28731
- var _onClose;
28732
29749
  const isImmediateCancelationEnabled = window.Pelcro.site.read().cancel_settings.status;
28733
29750
  if (isImmediateCancelationEnabled) {
28734
29751
  setSubscriptionToCancel(sub.id);
@@ -28737,16 +29754,16 @@ const DonationsMenu = _ref => {
28737
29754
  if (userMustVerifyEmail()) {
28738
29755
  return switchView("email-verify");
28739
29756
  }
28740
- (_onClose = onClose) === null || _onClose === void 0 ? void 0 : _onClose();
29757
+ onClose === null || onClose === void 0 ? void 0 : onClose();
28741
29758
  notify.confirm((onSuccess, onFailure) => {
28742
29759
  cancelSubscription(sub.id, onSuccess, onFailure);
28743
29760
  }, {
28744
- confirmMessage: t("messages.subCancellation.isSureToCancel"),
28745
- loadingMessage: t("messages.subCancellation.loading"),
28746
- successMessage: t("messages.subCancellation.success"),
28747
- errorMessage: t("messages.subCancellation.error")
29761
+ confirmMessage: t("messages.donationCancellation.isSureToCancel"),
29762
+ loadingMessage: t("messages.donationCancellation.loading"),
29763
+ successMessage: t("messages.donationCancellation.success"),
29764
+ errorMessage: t("messages.donationCancellation.error")
28748
29765
  }, {
28749
- closeButtonLabel: t("labels.subCancellation.goBack")
29766
+ closeButtonLabel: t("labels.donationCancellation.goBack")
28750
29767
  });
28751
29768
  };
28752
29769
 
@@ -28755,7 +29772,7 @@ const DonationsMenu = _ref => {
28755
29772
  if (userMustVerifyEmail()) {
28756
29773
  return switchView("email-verify");
28757
29774
  }
28758
- reactivateSubscription(sub.id);
29775
+ reactivateSubscription(sub.id, true);
28759
29776
  };
28760
29777
  return /*#__PURE__*/React__default['default'].createElement("tr", {
28761
29778
  key: sub.id,
@@ -28796,12 +29813,18 @@ const DonationsMenu = _ref => {
28796
29813
  className: "plc-w-3/12 "
28797
29814
  }, t("labels.actions")))), /*#__PURE__*/React__default['default'].createElement("tbody", null, /*#__PURE__*/React__default['default'].createElement("tr", {
28798
29815
  className: "plc-h-4"
28799
- }), subscriptions));
29816
+ }), donations));
28800
29817
  };
28801
29818
  function getDonationSubs() {
28802
29819
  var _window$Pelcro$subscr, _window$Pelcro$subscr2, _window$Pelcro$subscr3, _window$Pelcro$user$r, _window$Pelcro$user$r2;
28803
- 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 : [];
28804
- 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 : [];
29820
+ 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 => {
29821
+ var _sub$plan;
29822
+ return ((_sub$plan = sub.plan) === null || _sub$plan === void 0 ? void 0 : _sub$plan.type) === "donation";
29823
+ })) !== null && _window$Pelcro$subscr !== void 0 ? _window$Pelcro$subscr : [];
29824
+ 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 => {
29825
+ var _sub$plan2;
29826
+ return ((_sub$plan2 = sub.plan) === null || _sub$plan2 === void 0 ? void 0 : _sub$plan2.type) === "donation";
29827
+ })) !== null && _window$Pelcro$user$r !== void 0 ? _window$Pelcro$user$r : [];
28805
29828
  return [...donations, ...canceledDonations];
28806
29829
  }
28807
29830
  function formatStartDate(date) {
@@ -29192,7 +30215,7 @@ class Dashboard extends React.Component {
29192
30215
  const formattedRenewDate = new Intl.DateTimeFormat("en-CA").format(renewDate);
29193
30216
  return `${this.locale("labels.renewsOn")} ${formattedRenewDate}`;
29194
30217
  });
29195
- _defineProperty$3(this, "reactivateSubscription", subscription_id => {
30218
+ _defineProperty$3(this, "reactivateSubscription", (subscription_id, isDonation) => {
29196
30219
  // disable the Login button to prevent repeated clicks
29197
30220
  this.setState({
29198
30221
  disableSubmit: true
@@ -29206,9 +30229,17 @@ class Dashboard extends React.Component {
29206
30229
  });
29207
30230
  this.props.onClose();
29208
30231
  if (err) {
29209
- return notify$1.error(this.locale("messages.subReactivation.error"));
30232
+ if (isDonation) {
30233
+ return notify.error(this.locale("messages.donationReactivation.error"));
30234
+ } else {
30235
+ return notify.error(this.locale("messages.subReactivation.error"));
30236
+ }
30237
+ }
30238
+ if (isDonation) {
30239
+ return notify.success(this.locale("messages.donationReactivation.success"));
30240
+ } else {
30241
+ return notify.success(this.locale("messages.subReactivation.success"));
29210
30242
  }
29211
- return notify$1.success(this.locale("messages.subReactivation.success"));
29212
30243
  });
29213
30244
  });
29214
30245
  _defineProperty$3(this, "getSubscriptionStatus", sub => {
@@ -29369,9 +30400,9 @@ class Dashboard extends React.Component {
29369
30400
  }, /*#__PURE__*/React__default['default'].createElement("thead", {
29370
30401
  className: "plc-text-xs plc-font-semibold plc-tracking-wider plc-text-gray-400 plc-uppercase "
29371
30402
  }, /*#__PURE__*/React__default['default'].createElement("tr", null, /*#__PURE__*/React__default['default'].createElement("th", {
29372
- className: "plc-w-10/12"
30403
+ className: "plc-w-9/12"
29373
30404
  }, this.locale("labels.address")), /*#__PURE__*/React__default['default'].createElement("th", {
29374
- className: "plc-w-2/12"
30405
+ className: "plc-w-3/12"
29375
30406
  }, this.locale("labels.edit")))), /*#__PURE__*/React__default['default'].createElement("tbody", null, /*#__PURE__*/React__default['default'].createElement("tr", {
29376
30407
  className: "plc-h-4"
29377
30408
  }), addresses, /*#__PURE__*/React__default['default'].createElement("tr", null, /*#__PURE__*/React__default['default'].createElement("td", {
@@ -29570,6 +30601,7 @@ class Dashboard extends React.Component {
29570
30601
  }),
29571
30602
  title: this.locale("labels.donations"),
29572
30603
  content: /*#__PURE__*/React__default['default'].createElement(DonationsMenu, {
30604
+ onClose: this.props.onClose,
29573
30605
  reactivateSubscription: this.reactivateSubscription,
29574
30606
  disableSubmit: this.state.disableSubmit,
29575
30607
  cancelSubscription: this.cancelSubscription
@@ -29611,8 +30643,14 @@ function hasInvoices() {
29611
30643
  }
29612
30644
  function hasDonationSubs() {
29613
30645
  var _window$Pelcro$subscr, _window$Pelcro$subscr2, _window$Pelcro$subscr3, _window$Pelcro$user$r4, _window$Pelcro$user$r5;
29614
- 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 : [];
29615
- 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 : [];
30646
+ 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 => {
30647
+ var _sub$plan;
30648
+ return ((_sub$plan = sub.plan) === null || _sub$plan === void 0 ? void 0 : _sub$plan.type) === "donation";
30649
+ })) !== null && _window$Pelcro$subscr !== void 0 ? _window$Pelcro$subscr : [];
30650
+ 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 => {
30651
+ var _sub$plan2;
30652
+ return ((_sub$plan2 = sub.plan) === null || _sub$plan2 === void 0 ? void 0 : _sub$plan2.type) === "donation";
30653
+ })) !== null && _window$Pelcro$user$r4 !== void 0 ? _window$Pelcro$user$r4 : [];
29616
30654
  return donations.length > 0 || canceledDonations.length > 0;
29617
30655
  }
29618
30656
  function hasActiveMemberships() {
@@ -31777,7 +32815,7 @@ function VerifyLinkTokenModal(_ref) {
31777
32815
  var _props$onSuccess;
31778
32816
  (_props$onSuccess = props.onSuccess) === null || _props$onSuccess === void 0 ? void 0 : _props$onSuccess.call(props, res);
31779
32817
  resetView();
31780
- notify$1.success(t("messages.success"));
32818
+ notify.success(t("messages.success"));
31781
32819
  };
31782
32820
  return /*#__PURE__*/React__default['default'].createElement(Modal, {
31783
32821
  id: "pelcro-login-modal",
@@ -33491,6 +34529,7 @@ exports.Dashboard = DashboardWithHook;
33491
34529
  exports.DashboardOpenButton = DashboardOpenButton;
33492
34530
  exports.DatePicker = DatePicker;
33493
34531
  exports.DiscountedPrice = DiscountedPrice;
34532
+ exports.DonationModal = DonationModalWithHook;
33494
34533
  exports.Email = Email;
33495
34534
  exports.EmailVerifyContainer = EmailVerifyContainer;
33496
34535
  exports.EmailVerifyModal = EmailVerifyModal;
@@ -33668,6 +34707,6 @@ exports.i18n = i18next;
33668
34707
  exports.initButtons = init$1;
33669
34708
  exports.initContentEntitlement = init;
33670
34709
  exports.invoicePaymentSubmitButton = invoicePaymentSubmitButton;
33671
- exports.notify = notify$1;
34710
+ exports.notify = notify;
33672
34711
  exports.unauthenticatedButtons = unauthenticatedButtons;
33673
34712
  exports.usePelcro = usePelcro;