Payment Plugins for Stripe WooCommerce - Version 3.3.22

Version Description

  • 6/16/22
  • Updated - WC Tested up to 6.6
  • Fixed - Error that could be triggered on plugins page if WooCommerce deactivated
  • Fixed - WooCommerce Blocks Link integration autofill of shipping address
Download this release

Release Info

Developer mr.clayton
Plugin Icon wp plugin Payment Plugins for Stripe WooCommerce
Version 3.3.22
Comparing to
See all releases

Code changes from version 3.3.21 to 3.3.22

i18n/languages/woo-stripe-payment.pot CHANGED
@@ -2,14 +2,14 @@
2
  # This file is distributed under the same license as the Payment Plugins for Stripe WooCommerce plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Payment Plugins for Stripe WooCommerce 3.3.21\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woo-stripe-payment\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2022-06-06T04:08:21+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: woo-stripe-payment\n"
@@ -500,7 +500,7 @@ msgid "Street check"
500
  msgstr ""
501
 
502
  #: includes/admin/meta-boxes/views/html-charge-data-subview.php:78
503
- msgid "Riska Data"
504
  msgstr ""
505
 
506
  #: includes/admin/meta-boxes/views/html-charge-data-subview.php:81
@@ -1517,7 +1517,7 @@ msgid "If enabled, the voucher link will be included in the order on-hold email
1517
  msgstr ""
1518
 
1519
  #: includes/gateways/class-wc-payment-gateway-stripe-boleto.php:65
1520
- #: includes/wc-stripe-functions.php:1132
1521
  msgid "Please enter a valid CPF / CNPJ"
1522
  msgstr ""
1523
 
@@ -2357,246 +2357,246 @@ msgstr ""
2357
  msgid "Kind Regards,"
2358
  msgstr ""
2359
 
2360
- #: includes/wc-stripe-functions.php:733
2361
  msgid "Bootstrap form"
2362
  msgstr ""
2363
 
2364
- #: includes/wc-stripe-functions.php:759
2365
  msgid "Simple form"
2366
  msgstr ""
2367
 
2368
- #: includes/wc-stripe-functions.php:782
2369
  msgid "Minimalist form"
2370
  msgstr ""
2371
 
2372
- #: includes/wc-stripe-functions.php:808
2373
  msgid "Inline Form"
2374
  msgstr ""
2375
 
2376
- #: includes/wc-stripe-functions.php:830
2377
  msgid "Rounded Form"
2378
  msgstr ""
2379
 
2380
- #: includes/wc-stripe-functions.php:1061
2381
  msgid "There was an error processing your credit card."
2382
  msgstr ""
2383
 
2384
- #: includes/wc-stripe-functions.php:1062
2385
  msgid "Your card number is incomplete."
2386
  msgstr ""
2387
 
2388
- #: includes/wc-stripe-functions.php:1063
2389
  msgid "Your card's expiration date is incomplete."
2390
  msgstr ""
2391
 
2392
- #: includes/wc-stripe-functions.php:1064
2393
  msgid "Your card's security code is incomplete."
2394
  msgstr ""
2395
 
2396
- #: includes/wc-stripe-functions.php:1065
2397
  msgid "Your card's zip code is incomplete."
2398
  msgstr ""
2399
 
2400
- #: includes/wc-stripe-functions.php:1066
2401
  msgid "The card number is incorrect. Check the card's number or use a different card."
2402
  msgstr ""
2403
 
2404
- #: includes/wc-stripe-functions.php:1067
2405
  msgid "The card's security code is incorrect. Check the card's security code or use a different card."
2406
  msgstr ""
2407
 
2408
- #: includes/wc-stripe-functions.php:1068
2409
  msgid "The card's ZIP code is incorrect. Check the card's ZIP code or use a different card."
2410
  msgstr ""
2411
 
2412
- #: includes/wc-stripe-functions.php:1069
2413
  #: includes/wc-stripe-functions.php:1074
 
2414
  msgid "The card number is invalid. Check the card details or use a different card."
2415
  msgstr ""
2416
 
2417
- #: includes/wc-stripe-functions.php:1070
2418
  msgid "This value provided to the field contains characters that are unsupported by the field."
2419
  msgstr ""
2420
 
2421
- #: includes/wc-stripe-functions.php:1071
2422
  msgid "The card's security code is invalid. Check the card's security code or use a different card."
2423
  msgstr ""
2424
 
2425
- #: includes/wc-stripe-functions.php:1072
2426
  msgid "The card's expiration month is incorrect. Check the expiration date or use a different card."
2427
  msgstr ""
2428
 
2429
- #: includes/wc-stripe-functions.php:1073
2430
  msgid "The card's expiration year is incorrect. Check the expiration date or use a different card."
2431
  msgstr ""
2432
 
2433
- #: includes/wc-stripe-functions.php:1075
2434
  msgid "The card's address is incorrect. Check the card's address or use a different card."
2435
  msgstr ""
2436
 
2437
- #: includes/wc-stripe-functions.php:1076
2438
  msgid "The card has expired. Check the expiration date or use a different card."
2439
  msgstr ""
2440
 
2441
- #: includes/wc-stripe-functions.php:1077
2442
  msgid "The card has been declined."
2443
  msgstr ""
2444
 
2445
- #: includes/wc-stripe-functions.php:1078
2446
  msgid "Your card's expiration year is in the past."
2447
  msgstr ""
2448
 
2449
- #: includes/wc-stripe-functions.php:1079
2450
  msgid "The bank account number provided is invalid (e.g., missing digits). Bank account information varies from country to country. We recommend creating validations in your entry forms based on the bank account formats we provide."
2451
  msgstr ""
2452
 
2453
- #: includes/wc-stripe-functions.php:1081
2454
  msgid "The specified amount is greater than the maximum amount allowed. Use a lower amount and try again."
2455
  msgstr ""
2456
 
2457
- #: includes/wc-stripe-functions.php:1082
2458
  msgid "The specified amount is less than the minimum amount allowed. Use a higher amount and try again."
2459
  msgstr ""
2460
 
2461
- #: includes/wc-stripe-functions.php:1083
2462
  msgid "The payment requires authentication to proceed. If your customer is off session, notify your customer to return to your application and complete the payment. If you provided the error_on_requires_action parameter, then your customer should try another card that does not require authentication."
2463
  msgstr ""
2464
 
2465
- #: includes/wc-stripe-functions.php:1085
2466
  msgid "The transfer or payout could not be completed because the associated account does not have a sufficient balance available. Create a new transfer or payout using an amount less than or equal to the account's available balance."
2467
  msgstr ""
2468
 
2469
- #: includes/wc-stripe-functions.php:1087
2470
  msgid "The bank account provided can not be used to charge, either because it is not verified yet or it is not supported."
2471
  msgstr ""
2472
 
2473
- #: includes/wc-stripe-functions.php:1088
2474
  msgid "The bank account provided already exists on the specified Customer object. If the bank account should also be attached to a different customer, include the correct customer ID when making the request again."
2475
  msgstr ""
2476
 
2477
- #: includes/wc-stripe-functions.php:1090
2478
  msgid "The bank account provided cannot be used for payouts. A different bank account must be used."
2479
  msgstr ""
2480
 
2481
- #: includes/wc-stripe-functions.php:1091
2482
  msgid "Your Connect platform is attempting to share an unverified bank account with a connected account."
2483
  msgstr ""
2484
 
2485
- #: includes/wc-stripe-functions.php:1092
2486
  msgid "The bank account cannot be verified, either because the microdeposit amounts provided do not match the actual amounts, or because verification has failed too many times."
2487
  msgstr ""
2488
 
2489
- #: includes/wc-stripe-functions.php:1094
2490
  msgid "This card has been declined too many times. You can try to charge this card again after 24 hours. We suggest reaching out to your customer to make sure they have entered all of their information correctly and that there are no issues with their card."
2491
  msgstr ""
2492
 
2493
- #: includes/wc-stripe-functions.php:1096
2494
  msgid "The charge you're attempting to capture has already been captured. Update the request with an uncaptured charge ID."
2495
  msgstr ""
2496
 
2497
- #: includes/wc-stripe-functions.php:1097
2498
  msgid "The charge you're attempting to refund has already been refunded. Update the request to use the ID of a charge that has not been refunded."
2499
  msgstr ""
2500
 
2501
- #: includes/wc-stripe-functions.php:1099
2502
  msgid "The charge you're attempting to refund has been charged back. Check the disputes documentation to learn how to respond to the dispute."
2503
  msgstr ""
2504
 
2505
- #: includes/wc-stripe-functions.php:1101
2506
  msgid "This charge would cause you to exceed your rolling-window processing limit for this source type. Please retry the charge later, or contact us to request a higher processing limit."
2507
  msgstr ""
2508
 
2509
- #: includes/wc-stripe-functions.php:1103
2510
  msgid "The charge cannot be captured as the authorization has expired. Auth and capture charges must be captured within seven days."
2511
  msgstr ""
2512
 
2513
- #: includes/wc-stripe-functions.php:1105
2514
  msgid "One or more provided parameters was not allowed for the given operation on the Charge. Check our API reference or the returned error message to see which values were not correct for that Charge."
2515
  msgstr ""
2516
 
2517
- #: includes/wc-stripe-functions.php:1107
2518
  msgid "The email address is invalid (e.g., not properly formatted). Check that the email address is properly formatted and only includes allowed characters."
2519
  msgstr ""
2520
 
2521
- #: includes/wc-stripe-functions.php:1109
2522
  msgid "The idempotency key provided is currently being used in another request. This occurs if your integration is making duplicate requests simultaneously."
2523
  msgstr ""
2524
 
2525
- #: includes/wc-stripe-functions.php:1111
2526
  msgid "The specified amount is invalid. The charge amount must be a positive integer in the smallest currency unit, and not exceed the minimum or maximum amount."
2527
  msgstr ""
2528
 
2529
- #: includes/wc-stripe-functions.php:1113
2530
  msgid "The source cannot be used because it is not in the correct state (e.g., a charge request is trying to use a source with a pending, failed, or consumed source). Check the status of the source you are attempting to use."
2531
  msgstr ""
2532
 
2533
- #: includes/wc-stripe-functions.php:1115
2534
  msgid "Both a customer and source ID have been provided, but the source has not been saved to the customer. To create a charge for a customer with a specified source, you must first save the card details."
2535
  msgstr ""
2536
 
2537
- #: includes/wc-stripe-functions.php:1117
2538
  msgid "The ZIP code provided was incorrect."
2539
  msgstr ""
2540
 
2541
- #: includes/wc-stripe-functions.php:1118
2542
  msgid "An error occurred while processing the card. Try again later or with a different payment method."
2543
  msgstr ""
2544
 
2545
- #: includes/wc-stripe-functions.php:1119
2546
  msgid "The card does not support this type of purchase."
2547
  msgstr ""
2548
 
2549
- #: includes/wc-stripe-functions.php:1120
2550
- #: includes/wc-stripe-functions.php:1123
2551
  #: includes/wc-stripe-functions.php:1125
 
 
2552
  msgid "The card has been declined for an unknown reason."
2553
  msgstr ""
2554
 
2555
- #: includes/wc-stripe-functions.php:1121
2556
  msgid "The customer has exceeded the balance or credit limit available on their card."
2557
  msgstr ""
2558
 
2559
- #: includes/wc-stripe-functions.php:1122
2560
  msgid "The card does not support the specified currency."
2561
  msgstr ""
2562
 
2563
- #: includes/wc-stripe-functions.php:1124
2564
  msgid "The payment has been declined as Stripe suspects it is fraudulent."
2565
  msgstr ""
2566
 
2567
- #: includes/wc-stripe-functions.php:1126
2568
  msgid "The PIN entered is incorrect. "
2569
  msgstr ""
2570
 
2571
- #: includes/wc-stripe-functions.php:1127
2572
  msgid "The card has insufficient funds to complete the purchase."
2573
  msgstr ""
2574
 
2575
- #: includes/wc-stripe-functions.php:1128
2576
  msgid "Please select a payment method before proceeding."
2577
  msgstr ""
2578
 
2579
- #: includes/wc-stripe-functions.php:1129
2580
  msgid "Please enter your IBAN before proceeding."
2581
  msgstr ""
2582
 
2583
- #: includes/wc-stripe-functions.php:1130
2584
  msgid "Please select a bank before proceeding"
2585
  msgstr ""
2586
 
2587
- #: includes/wc-stripe-functions.php:1131
2588
  msgid "The IBAN you entered is incomplete."
2589
  msgstr ""
2590
 
2591
- #: includes/wc-stripe-functions.php:1133
2592
  msgid "Your card was declined. Your request was in test mode, but you used a real credit card. Only test cards can be used in test mode."
2593
  msgstr ""
2594
 
2595
- #: includes/wc-stripe-functions.php:1135
2596
  msgid "You do not have permission to use the PaymentElement card form. Please send a request to https://support.stripe.com/ and ask for the \"server_side_confirmation_beta\" to be added to your account."
2597
  msgstr ""
2598
 
2599
- #: includes/wc-stripe-functions.php:1136
2600
  msgid "Please provide a billing phone number."
2601
  msgstr ""
2602
 
@@ -2663,7 +2663,7 @@ msgid_plural "months"
2663
  msgstr[0] ""
2664
  msgstr[1] ""
2665
 
2666
- #: stripe-payments.php:17
2667
  msgid "Your PHP version is %s but Stripe requires version 5.6+."
2668
  msgstr ""
2669
 
2
  # This file is distributed under the same license as the Payment Plugins for Stripe WooCommerce plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Payment Plugins for Stripe WooCommerce 3.3.22\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/woo-stripe-payment\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2022-06-17T00:01:41+00:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.4.0\n"
15
  "X-Domain: woo-stripe-payment\n"
500
  msgstr ""
501
 
502
  #: includes/admin/meta-boxes/views/html-charge-data-subview.php:78
503
+ msgid "Risk Data"
504
  msgstr ""
505
 
506
  #: includes/admin/meta-boxes/views/html-charge-data-subview.php:81
1517
  msgstr ""
1518
 
1519
  #: includes/gateways/class-wc-payment-gateway-stripe-boleto.php:65
1520
+ #: includes/wc-stripe-functions.php:1137
1521
  msgid "Please enter a valid CPF / CNPJ"
1522
  msgstr ""
1523
 
2357
  msgid "Kind Regards,"
2358
  msgstr ""
2359
 
2360
+ #: includes/wc-stripe-functions.php:738
2361
  msgid "Bootstrap form"
2362
  msgstr ""
2363
 
2364
+ #: includes/wc-stripe-functions.php:764
2365
  msgid "Simple form"
2366
  msgstr ""
2367
 
2368
+ #: includes/wc-stripe-functions.php:787
2369
  msgid "Minimalist form"
2370
  msgstr ""
2371
 
2372
+ #: includes/wc-stripe-functions.php:813
2373
  msgid "Inline Form"
2374
  msgstr ""
2375
 
2376
+ #: includes/wc-stripe-functions.php:835
2377
  msgid "Rounded Form"
2378
  msgstr ""
2379
 
2380
+ #: includes/wc-stripe-functions.php:1066
2381
  msgid "There was an error processing your credit card."
2382
  msgstr ""
2383
 
2384
+ #: includes/wc-stripe-functions.php:1067
2385
  msgid "Your card number is incomplete."
2386
  msgstr ""
2387
 
2388
+ #: includes/wc-stripe-functions.php:1068
2389
  msgid "Your card's expiration date is incomplete."
2390
  msgstr ""
2391
 
2392
+ #: includes/wc-stripe-functions.php:1069
2393
  msgid "Your card's security code is incomplete."
2394
  msgstr ""
2395
 
2396
+ #: includes/wc-stripe-functions.php:1070
2397
  msgid "Your card's zip code is incomplete."
2398
  msgstr ""
2399
 
2400
+ #: includes/wc-stripe-functions.php:1071
2401
  msgid "The card number is incorrect. Check the card's number or use a different card."
2402
  msgstr ""
2403
 
2404
+ #: includes/wc-stripe-functions.php:1072
2405
  msgid "The card's security code is incorrect. Check the card's security code or use a different card."
2406
  msgstr ""
2407
 
2408
+ #: includes/wc-stripe-functions.php:1073
2409
  msgid "The card's ZIP code is incorrect. Check the card's ZIP code or use a different card."
2410
  msgstr ""
2411
 
 
2412
  #: includes/wc-stripe-functions.php:1074
2413
+ #: includes/wc-stripe-functions.php:1079
2414
  msgid "The card number is invalid. Check the card details or use a different card."
2415
  msgstr ""
2416
 
2417
+ #: includes/wc-stripe-functions.php:1075
2418
  msgid "This value provided to the field contains characters that are unsupported by the field."
2419
  msgstr ""
2420
 
2421
+ #: includes/wc-stripe-functions.php:1076
2422
  msgid "The card's security code is invalid. Check the card's security code or use a different card."
2423
  msgstr ""
2424
 
2425
+ #: includes/wc-stripe-functions.php:1077
2426
  msgid "The card's expiration month is incorrect. Check the expiration date or use a different card."
2427
  msgstr ""
2428
 
2429
+ #: includes/wc-stripe-functions.php:1078
2430
  msgid "The card's expiration year is incorrect. Check the expiration date or use a different card."
2431
  msgstr ""
2432
 
2433
+ #: includes/wc-stripe-functions.php:1080
2434
  msgid "The card's address is incorrect. Check the card's address or use a different card."
2435
  msgstr ""
2436
 
2437
+ #: includes/wc-stripe-functions.php:1081
2438
  msgid "The card has expired. Check the expiration date or use a different card."
2439
  msgstr ""
2440
 
2441
+ #: includes/wc-stripe-functions.php:1082
2442
  msgid "The card has been declined."
2443
  msgstr ""
2444
 
2445
+ #: includes/wc-stripe-functions.php:1083
2446
  msgid "Your card's expiration year is in the past."
2447
  msgstr ""
2448
 
2449
+ #: includes/wc-stripe-functions.php:1084
2450
  msgid "The bank account number provided is invalid (e.g., missing digits). Bank account information varies from country to country. We recommend creating validations in your entry forms based on the bank account formats we provide."
2451
  msgstr ""
2452
 
2453
+ #: includes/wc-stripe-functions.php:1086
2454
  msgid "The specified amount is greater than the maximum amount allowed. Use a lower amount and try again."
2455
  msgstr ""
2456
 
2457
+ #: includes/wc-stripe-functions.php:1087
2458
  msgid "The specified amount is less than the minimum amount allowed. Use a higher amount and try again."
2459
  msgstr ""
2460
 
2461
+ #: includes/wc-stripe-functions.php:1088
2462
  msgid "The payment requires authentication to proceed. If your customer is off session, notify your customer to return to your application and complete the payment. If you provided the error_on_requires_action parameter, then your customer should try another card that does not require authentication."
2463
  msgstr ""
2464
 
2465
+ #: includes/wc-stripe-functions.php:1090
2466
  msgid "The transfer or payout could not be completed because the associated account does not have a sufficient balance available. Create a new transfer or payout using an amount less than or equal to the account's available balance."
2467
  msgstr ""
2468
 
2469
+ #: includes/wc-stripe-functions.php:1092
2470
  msgid "The bank account provided can not be used to charge, either because it is not verified yet or it is not supported."
2471
  msgstr ""
2472
 
2473
+ #: includes/wc-stripe-functions.php:1093
2474
  msgid "The bank account provided already exists on the specified Customer object. If the bank account should also be attached to a different customer, include the correct customer ID when making the request again."
2475
  msgstr ""
2476
 
2477
+ #: includes/wc-stripe-functions.php:1095
2478
  msgid "The bank account provided cannot be used for payouts. A different bank account must be used."
2479
  msgstr ""
2480
 
2481
+ #: includes/wc-stripe-functions.php:1096
2482
  msgid "Your Connect platform is attempting to share an unverified bank account with a connected account."
2483
  msgstr ""
2484
 
2485
+ #: includes/wc-stripe-functions.php:1097
2486
  msgid "The bank account cannot be verified, either because the microdeposit amounts provided do not match the actual amounts, or because verification has failed too many times."
2487
  msgstr ""
2488
 
2489
+ #: includes/wc-stripe-functions.php:1099
2490
  msgid "This card has been declined too many times. You can try to charge this card again after 24 hours. We suggest reaching out to your customer to make sure they have entered all of their information correctly and that there are no issues with their card."
2491
  msgstr ""
2492
 
2493
+ #: includes/wc-stripe-functions.php:1101
2494
  msgid "The charge you're attempting to capture has already been captured. Update the request with an uncaptured charge ID."
2495
  msgstr ""
2496
 
2497
+ #: includes/wc-stripe-functions.php:1102
2498
  msgid "The charge you're attempting to refund has already been refunded. Update the request to use the ID of a charge that has not been refunded."
2499
  msgstr ""
2500
 
2501
+ #: includes/wc-stripe-functions.php:1104
2502
  msgid "The charge you're attempting to refund has been charged back. Check the disputes documentation to learn how to respond to the dispute."
2503
  msgstr ""
2504
 
2505
+ #: includes/wc-stripe-functions.php:1106
2506
  msgid "This charge would cause you to exceed your rolling-window processing limit for this source type. Please retry the charge later, or contact us to request a higher processing limit."
2507
  msgstr ""
2508
 
2509
+ #: includes/wc-stripe-functions.php:1108
2510
  msgid "The charge cannot be captured as the authorization has expired. Auth and capture charges must be captured within seven days."
2511
  msgstr ""
2512
 
2513
+ #: includes/wc-stripe-functions.php:1110
2514
  msgid "One or more provided parameters was not allowed for the given operation on the Charge. Check our API reference or the returned error message to see which values were not correct for that Charge."
2515
  msgstr ""
2516
 
2517
+ #: includes/wc-stripe-functions.php:1112
2518
  msgid "The email address is invalid (e.g., not properly formatted). Check that the email address is properly formatted and only includes allowed characters."
2519
  msgstr ""
2520
 
2521
+ #: includes/wc-stripe-functions.php:1114
2522
  msgid "The idempotency key provided is currently being used in another request. This occurs if your integration is making duplicate requests simultaneously."
2523
  msgstr ""
2524
 
2525
+ #: includes/wc-stripe-functions.php:1116
2526
  msgid "The specified amount is invalid. The charge amount must be a positive integer in the smallest currency unit, and not exceed the minimum or maximum amount."
2527
  msgstr ""
2528
 
2529
+ #: includes/wc-stripe-functions.php:1118
2530
  msgid "The source cannot be used because it is not in the correct state (e.g., a charge request is trying to use a source with a pending, failed, or consumed source). Check the status of the source you are attempting to use."
2531
  msgstr ""
2532
 
2533
+ #: includes/wc-stripe-functions.php:1120
2534
  msgid "Both a customer and source ID have been provided, but the source has not been saved to the customer. To create a charge for a customer with a specified source, you must first save the card details."
2535
  msgstr ""
2536
 
2537
+ #: includes/wc-stripe-functions.php:1122
2538
  msgid "The ZIP code provided was incorrect."
2539
  msgstr ""
2540
 
2541
+ #: includes/wc-stripe-functions.php:1123
2542
  msgid "An error occurred while processing the card. Try again later or with a different payment method."
2543
  msgstr ""
2544
 
2545
+ #: includes/wc-stripe-functions.php:1124
2546
  msgid "The card does not support this type of purchase."
2547
  msgstr ""
2548
 
 
 
2549
  #: includes/wc-stripe-functions.php:1125
2550
+ #: includes/wc-stripe-functions.php:1128
2551
+ #: includes/wc-stripe-functions.php:1130
2552
  msgid "The card has been declined for an unknown reason."
2553
  msgstr ""
2554
 
2555
+ #: includes/wc-stripe-functions.php:1126
2556
  msgid "The customer has exceeded the balance or credit limit available on their card."
2557
  msgstr ""
2558
 
2559
+ #: includes/wc-stripe-functions.php:1127
2560
  msgid "The card does not support the specified currency."
2561
  msgstr ""
2562
 
2563
+ #: includes/wc-stripe-functions.php:1129
2564
  msgid "The payment has been declined as Stripe suspects it is fraudulent."
2565
  msgstr ""
2566
 
2567
+ #: includes/wc-stripe-functions.php:1131
2568
  msgid "The PIN entered is incorrect. "
2569
  msgstr ""
2570
 
2571
+ #: includes/wc-stripe-functions.php:1132
2572
  msgid "The card has insufficient funds to complete the purchase."
2573
  msgstr ""
2574
 
2575
+ #: includes/wc-stripe-functions.php:1133
2576
  msgid "Please select a payment method before proceeding."
2577
  msgstr ""
2578
 
2579
+ #: includes/wc-stripe-functions.php:1134
2580
  msgid "Please enter your IBAN before proceeding."
2581
  msgstr ""
2582
 
2583
+ #: includes/wc-stripe-functions.php:1135
2584
  msgid "Please select a bank before proceeding"
2585
  msgstr ""
2586
 
2587
+ #: includes/wc-stripe-functions.php:1136
2588
  msgid "The IBAN you entered is incomplete."
2589
  msgstr ""
2590
 
2591
+ #: includes/wc-stripe-functions.php:1138
2592
  msgid "Your card was declined. Your request was in test mode, but you used a real credit card. Only test cards can be used in test mode."
2593
  msgstr ""
2594
 
2595
+ #: includes/wc-stripe-functions.php:1140
2596
  msgid "You do not have permission to use the PaymentElement card form. Please send a request to https://support.stripe.com/ and ask for the \"server_side_confirmation_beta\" to be added to your account."
2597
  msgstr ""
2598
 
2599
+ #: includes/wc-stripe-functions.php:1141
2600
  msgid "Please provide a billing phone number."
2601
  msgstr ""
2602
 
2663
  msgstr[0] ""
2664
  msgstr[1] ""
2665
 
2666
+ #: stripe-payments.php:18
2667
  msgid "Your PHP version is %s but Stripe requires version 5.6+."
2668
  msgstr ""
2669
 
includes/admin/class-wc-stripe-admin-assets.php CHANGED
@@ -125,7 +125,7 @@ class WC_Stripe_Admin_Assets {
125
  'temporary' => esc_html__( 'This is a temporary deactivation', 'woo-stripe-payment' ),
126
  'other' => esc_html__( 'Other', 'woo-stripe-payment' )
127
  ],
128
- 'route' => WC_Stripe_Rest_API::get_admin_endpoint( stripe_wc()->rest_api->feedback->rest_uri( 'feedback' ) )
129
  ] );
130
  } );
131
  }
125
  'temporary' => esc_html__( 'This is a temporary deactivation', 'woo-stripe-payment' ),
126
  'other' => esc_html__( 'Other', 'woo-stripe-payment' )
127
  ],
128
+ 'route' => WC_Stripe_Rest_API::get_admin_endpoint( '/wc-stripe/v1/admin/feedback' )
129
  ] );
130
  } );
131
  }
includes/admin/meta-boxes/views/html-charge-data-subview.php CHANGED
@@ -75,7 +75,7 @@
75
  <?php endif; ?>
76
  </div>
77
  <div class="payment-data column-6">
78
- <h3><?php esc_html_e( 'Riska Data', 'woo-stripe-payment' ); ?></h3>
79
  <?php if ( isset( $charge->outcome->risk_score ) ) { ?>
80
  <div class="metadata">
81
  <label><?php esc_html_e( 'Score', 'woo-stripe-payment' ); ?></label>
75
  <?php endif; ?>
76
  </div>
77
  <div class="payment-data column-6">
78
+ <h3><?php esc_html_e( 'Risk Data', 'woo-stripe-payment' ); ?></h3>
79
  <?php if ( isset( $charge->outcome->risk_score ) ) { ?>
80
  <div class="metadata">
81
  <label><?php esc_html_e( 'Score', 'woo-stripe-payment' ); ?></label>
includes/class-stripe.php CHANGED
@@ -26,7 +26,7 @@ class WC_Stripe_Manager {
26
  *
27
  * @var string
28
  */
29
- public $version = '3.3.21';
30
 
31
  /**
32
  *
@@ -79,7 +79,6 @@ class WC_Stripe_Manager {
79
 
80
  public function __construct() {
81
  add_action( 'plugins_loaded', array( $this, 'plugins_loaded' ), 10 );
82
- add_action( 'init', array( $this, 'init' ) );
83
  add_action( 'admin_init', array( $this, 'admin_init' ) );
84
  add_action( 'woocommerce_init', array( $this, 'woocommerce_dependencies' ) );
85
  add_action( 'woocommerce_blocks_loaded', array( '\PaymentPlugins\Blocks\Stripe\Package', 'init' ) );
26
  *
27
  * @var string
28
  */
29
+ public $version = '3.3.22';
30
 
31
  /**
32
  *
79
 
80
  public function __construct() {
81
  add_action( 'plugins_loaded', array( $this, 'plugins_loaded' ), 10 );
 
82
  add_action( 'admin_init', array( $this, 'admin_init' ) );
83
  add_action( 'woocommerce_init', array( $this, 'woocommerce_dependencies' ) );
84
  add_action( 'woocommerce_blocks_loaded', array( '\PaymentPlugins\Blocks\Stripe\Package', 'init' ) );
includes/wc-stripe-functions.php CHANGED
@@ -194,7 +194,12 @@ function wc_stripe_woocommerce_payment_token_deleted( $token_id, $token ) {
194
  if ( ! did_action( 'woocommerce_payment_gateways' ) ) {
195
  WC_Payment_Gateways::instance();
196
  }
197
- do_action( 'wc_stripe_payment_token_deleted_' . $token->get_gateway_id(), $token_id, $token );
 
 
 
 
 
198
  }
199
 
200
  /**
194
  if ( ! did_action( 'woocommerce_payment_gateways' ) ) {
195
  WC_Payment_Gateways::instance();
196
  }
197
+ /**
198
+ * @since 3.3.22 - only trigger this action if the delete request is coming from the my account page.
199
+ */
200
+ if ( is_account_page() ) {
201
+ do_action( 'wc_stripe_payment_token_deleted_' . $token->get_gateway_id(), $token_id, $token );
202
+ }
203
  }
204
 
205
  /**
packages/blocks/assets/js/payment-methods/link/hooks/use-link.js CHANGED
@@ -58,7 +58,7 @@ export const useLink = (
58
  response.meta.billingData = toCartAddress({...billingAddress.address, recipient: billingAddress.name})
59
  }
60
  if (shippingAddress) {
61
- response.meta.shippingData = toCartAddress({...shippingAddress.address, recipient: shippingAddress.name})
62
  }
63
  // update the payment intent
64
  try {
58
  response.meta.billingData = toCartAddress({...billingAddress.address, recipient: billingAddress.name})
59
  }
60
  if (shippingAddress) {
61
+ response.meta.shippingData = {address: toCartAddress({...shippingAddress.address, recipient: shippingAddress.name})};
62
  }
63
  // update the payment intent
64
  try {
packages/blocks/build/commons.js CHANGED
@@ -1,3 +1,3 @@
1
  /*! For license information please see commons.js.LICENSE.txt */
2
- (self.webpackChunkwc_stripe=self.webpackChunkwc_stripe||[]).push([[351],{7228:e=>{e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}},2858:e=>{e.exports=function(e){if(Array.isArray(e))return e}},3646:(e,t,n)=>{var r=n(7228);e.exports=function(e){if(Array.isArray(e))return r(e)}},1506:e=>{e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},8926:e=>{function t(e,t,n,r,a,o,i){try{var s=e[o](i),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,a)}e.exports=function(e){return function(){var n=this,r=arguments;return new Promise((function(a,o){var i=e.apply(n,r);function s(e){t(i,a,o,s,c,"next",e)}function c(e){t(i,a,o,s,c,"throw",e)}s(void 0)}))}}},4575:e=>{e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},9100:(e,t,n)=>{var r=n(9489),a=n(7067);function o(t,n,i){return a()?e.exports=o=Reflect.construct:e.exports=o=function(e,t,n){var a=[null];a.push.apply(a,t);var o=new(Function.bind.apply(e,a));return n&&r(o,n.prototype),o},o.apply(null,arguments)}e.exports=o},3913:e=>{function t(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}},9713:e=>{e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},7154:e=>{function t(){return e.exports=t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},t.apply(this,arguments)}e.exports=t},9754:e=>{function t(n){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},t(n)}e.exports=t},2205:(e,t,n)=>{var r=n(9489);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}},5318:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}}},430:e=>{e.exports=function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}},7067:e=>{e.exports=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}},6860:e=>{e.exports=function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}},3884:e=>{e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,a=!1,o=void 0;try{for(var i,s=e[Symbol.iterator]();!(r=(i=s.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){a=!0,o=e}finally{try{r||null==s.return||s.return()}finally{if(a)throw o}}return n}}},521:e=>{e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},8206:e=>{e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},6479:(e,t,n)=>{var r=n(7316);e.exports=function(e,t){if(null==e)return{};var n,a,o=r(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},7316:e=>{e.exports=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}},8585:(e,t,n)=>{var r=n(8),a=n(1506);e.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?a(e):t}},9489:e=>{function t(n,r){return e.exports=t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},t(n,r)}e.exports=t},3038:(e,t,n)=>{var r=n(2858),a=n(3884),o=n(379),i=n(521);e.exports=function(e,t){return r(e)||a(e,t)||o(e,t)||i()}},319:(e,t,n)=>{var r=n(3646),a=n(6860),o=n(379),i=n(8206);e.exports=function(e){return r(e)||a(e)||o(e)||i()}},8:e=>{function t(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=t=function(e){return typeof e}:e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(n)}e.exports=t},379:(e,t,n)=>{var r=n(7228);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}},5957:(e,t,n)=>{var r=n(9754),a=n(9489),o=n(430),i=n(9100);function s(t){var n="function"==typeof Map?new Map:void 0;return e.exports=s=function(e){if(null===e||!o(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return i(e,arguments,r(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),a(t,e)},s(t)}e.exports=s},6664:function(e,t,n){!function(e,t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;function n(){}function r(){}r.resetWarningCache=n;var a,o,i=(a=function(e){e.exports=function(){function e(e,t,n,r,a,o){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==o){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var a={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:r,resetWarningCache:n};return a.PropTypes=a,a}()},a(o={exports:{}},o.exports),o.exports);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null!=n){var r,a,o=[],i=!0,s=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{i||null==n.return||n.return()}finally{if(s)throw a}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var m=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e}),[e]),n.current},f=function(e){return null!==e&&"object"===u(e)},y="[object Object]",g=function e(t,n){if(!f(t)||!f(n))return t===n;var r=Array.isArray(t);if(r!==Array.isArray(n))return!1;var a=Object.prototype.toString.call(t)===y;if(a!==(Object.prototype.toString.call(n)===y))return!1;if(!a&&!r)return t===n;var o=Object.keys(t),i=Object.keys(n);if(o.length!==i.length)return!1;for(var s={},c=0;c<o.length;c+=1)s[o[c]]=!0;for(var u=0;u<i.length;u+=1)s[i[u]]=!0;var l=Object.keys(s);if(l.length!==o.length)return!1;var p=t,d=n;return l.every((function(t){return e(p[t],d[t])}))},v=function(e,t,n){return f(e)?Object.keys(e).reduce((function(r,a){var o=!f(t)||!g(e[a],t[a]);return n.includes(a)?(o&&console.warn("Unsupported prop change: options.".concat(a," is not a mutable property.")),r):o?c(c({},r||{}),{},l({},a,e[a])):r}),null):null},h=function(e){if(null===e||f(t=e)&&"function"==typeof t.elements&&"function"==typeof t.createToken&&"function"==typeof t.createPaymentMethod&&"function"==typeof t.confirmCardPayment)return e;var t;throw new Error("Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.")},b=function(e){if(function(e){return f(e)&&"function"==typeof e.then}(e))return{tag:"async",stripePromise:Promise.resolve(e).then(h)};var t=h(e);return null===t?{tag:"empty"}:{tag:"sync",stripe:t}},P=t.createContext(null);P.displayName="ElementsContext";var E=function(e){var n=e.stripe,r=e.options,a=e.children,o=t.useMemo((function(){return b(n)}),[n]),i=p(t.useState((function(){return{stripe:"sync"===o.tag?o.stripe:null,elements:"sync"===o.tag?o.stripe.elements(r):null}})),2),s=i[0],c=i[1];t.useEffect((function(){var e=!0;return"async"!==o.tag||s.stripe?"sync"!==o.tag||s.stripe||c({stripe:o.stripe,elements:o.stripe.elements(r)}):o.stripePromise.then((function(t){t&&e&&c({stripe:t,elements:t.elements(r)})})),function(){e=!1}}),[o,s,r]);var u=m(n);t.useEffect((function(){null!==u&&u!==n&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")}),[u,n]);var l=m(r);return t.useEffect((function(){if(s.elements){var e=v(r,l,["clientSecret","fonts"]);e&&s.elements.update(e)}}),[r,l,s.elements]),t.useEffect((function(){var e=s.stripe;e&&e._registerWrapper&&e.registerAppInfo&&(e._registerWrapper({name:"react-stripe-js",version:"1.8.0"}),e.registerAppInfo({name:"react-stripe-js",version:"1.8.0",url:"https://stripe.com/docs/stripe-js/react"}))}),[s.stripe]),t.createElement(P.Provider,{value:s},a)};E.propTypes={stripe:i.any,options:i.object};var O=function(e){return function(e,t){if(!e)throw new Error("Could not find Elements context; You need to wrap the part of your app that ".concat(t," in an <Elements> provider."));return e}(t.useContext(P),e)},S=function(e){return(0,e.children)(O("mounts <ElementsConsumer>"))};S.propTypes={children:i.func.isRequired};var _=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e}),[e]),function(){n.current&&n.current.apply(n,arguments)}},w=function(){},C=function(e,n){var r,a="".concat((r=e).charAt(0).toUpperCase()+r.slice(1),"Element"),o=n?function(e){O("mounts <".concat(a,">"));var n=e.id,r=e.className;return t.createElement("div",{id:n,className:r})}:function(n){var r=n.id,o=n.className,i=n.options,s=void 0===i?{}:i,c=n.onBlur,u=void 0===c?w:c,l=n.onFocus,p=void 0===l?w:l,d=n.onReady,f=void 0===d?w:d,y=n.onChange,g=void 0===y?w:y,h=n.onEscape,b=void 0===h?w:h,P=n.onClick,E=void 0===P?w:P,S=O("mounts <".concat(a,">")).elements,C=t.useRef(null),M=t.useRef(null),k=_(f),j=_(u),D=_(p),x=_(E),R=_(g),A=_(b);t.useLayoutEffect((function(){if(null==C.current&&S&&null!=M.current){var t=S.create(e,s);C.current=t,t.mount(M.current),t.on("ready",(function(){return k(t)})),t.on("change",R),t.on("blur",j),t.on("focus",D),t.on("escape",A),t.on("click",x)}}));var I=m(s);return t.useEffect((function(){if(C.current){var e=v(s,I,["paymentRequest"]);e&&C.current.update(e)}}),[s,I]),t.useLayoutEffect((function(){return function(){C.current&&(C.current.destroy(),C.current=null)}}),[]),t.createElement("div",{id:r,className:o,ref:M})};return o.propTypes={id:i.string,className:i.string,onChange:i.func,onBlur:i.func,onFocus:i.func,onReady:i.func,onClick:i.func,options:i.object},o.displayName=a,o.__elementType=e,o},M="undefined"==typeof window,k=C("auBankAccount",M),j=C("card",M),D=C("cardNumber",M),x=C("cardExpiry",M),R=C("cardCvc",M),A=C("fpxBank",M),I=C("iban",M),L=C("idealBank",M),T=C("p24Bank",M),N=C("epsBank",M),B=C("payment",M),F=C("paymentRequestButton",M),q=C("linkAuthentication",M),X=C("shippingAddress",M),U=C("affirmMessage",M),V=C("afterpayClearpayMessage",M);e.AffirmMessageElement=U,e.AfterpayClearpayMessageElement=V,e.AuBankAccountElement=k,e.CardCvcElement=R,e.CardElement=j,e.CardExpiryElement=x,e.CardNumberElement=D,e.Elements=E,e.ElementsConsumer=S,e.EpsBankElement=N,e.FpxBankElement=A,e.IbanElement=I,e.IdealBankElement=L,e.LinkAuthenticationElement=q,e.P24BankElement=T,e.PaymentElement=B,e.PaymentRequestButtonElement=F,e.ShippingAddressElement=X,e.useElements=function(){return O("calls useElements()").elements},e.useStripe=function(){return O("calls useStripe()").stripe},Object.defineProperty(e,"__esModule",{value:!0})}(t,n(9196))},4465:(e,t,n)=>{"use strict";n.r(t),n.d(t,{loadStripe:()=>l});var r="https://js.stripe.com/v3",a=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,o="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",i=null,s=function(e,t,n){if(null===e)return null;var r=e.apply(void 0,t);return function(e,t){e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",version:"1.12.1",startTime:t})}(r,n),r},c=Promise.resolve().then((function(){return e=null,null!==i||(i=new Promise((function(t,n){if("undefined"!=typeof window)if(window.Stripe&&e&&console.warn(o),window.Stripe)t(window.Stripe);else try{var i=function(){for(var e=document.querySelectorAll('script[src^="'.concat(r,'"]')),t=0;t<e.length;t++){var n=e[t];if(a.test(n.src))return n}return null}();i&&e?console.warn(o):i||(i=function(e){var t=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",n=document.createElement("script");n.src="".concat(r).concat(t);var a=document.head||document.body;if(!a)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return a.appendChild(n),n}(e)),i.addEventListener("load",(function(){window.Stripe?t(window.Stripe):n(new Error("Stripe.js not available"))})),i.addEventListener("error",(function(){n(new Error("Failed to load Stripe.js"))}))}catch(e){return void n(e)}else t(null)}))),i;var e})),u=!1;c.catch((function(e){u||console.warn(e)}));var l=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];u=!0;var r=Date.now();return c.then((function(e){return s(e,t,r)}))}},3187:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(2029);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(8744);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(4901);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}));var i=n(3193);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}}))}))},3193:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Installments=void 0;var o=a(n(1284)),i=a(n(8926)),s=a(n(3038)),c=n(9307),u=n(5736),l=a(n(6989)),p=a(n(4184)),d=n(1134);n(1465);var m=function(e){var t=e.paymentMethodName,n=(e.getCreatePaymentMethodArgs,e.cardFormComplete),a=void 0!==n&&n,p=e.addPaymentMethodData,m=void 0===p?null:p,g=e.getPaymentMethod,v=(0,c.useState)(null),h=(0,s.default)(v,2),b=h[0],P=h[1],E=(0,c.useState)(""),O=(0,s.default)(E,2),S=O[0],_=O[1],w=(0,c.useState)(!1),C=(0,s.default)(w,2),M=C[0],k=C[1];return(0,c.useEffect)((function(){a&&(k(!0),_(""),g().then(function(){var e=(0,i.default)(o.default.mark((function e(n){var r,a;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=6;break}return e.next=3,(0,l.default)({url:(0,d.getRoute)("create/payment_intent"),method:"POST",data:{payment_method_id:n,payment_method:t}});case 3:a=e.sent,P(a.installments),null!==(r=Object.keys(a.installments))&&void 0!==r&&r.length&&_(Object.keys(a.installments)[0]);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.log(e)})).finally((function(){return k(!1)})))}),[a,g]),r.createElement("div",{className:"wc-stripe-installments__container"},r.createElement("label",null,(0,u.__)("Pay in installments:","woo-stripe-payment"),r.createElement(y,{loading:M})),r.createElement(f,{installment:S,onChange:function(e){_(e.target.value),m&&m({_stripe_installment_plan:e.target.value})},installments:b,isLoading:M}))};t.Installments=m;var f=function(e){var t,n=e.installment,a=e.installments,o=e.onChange,i=e.isLoading;return t=i?r.createElement("option",{value:"",disabled:!0},(0,u.__)("Loading installments...","woo-stripe-payment")):null===a?r.createElement("option",{value:"",disabled:!0},(0,u.__)("Fill out card form for eligibility.","woo-stripe-payment")):Object.keys(a).map((function(e){return r.createElement("option",{key:e,value:e,dangerouslySetInnerHTML:{__html:a[e].text}})})),r.createElement("select",{value:n,onChange:o,className:(0,p.default)({loading:i})},t)},y=function(e){var t=e.loading;return r.createElement("div",{className:"wc-stripe-installment-loader__container"},t&&r.createElement("div",{className:"wc-stripe-installment-loader"},r.createElement("div",null),r.createElement("div",null),r.createElement("div",null)))},g=m;t.default=g},2029:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.PaymentMethodLabel=void 0;var o=a(n(6479));n(7776),t.PaymentMethodLabel=function(e){var t=e.title,n=e.icons,a=e.paymentMethod,i=(0,o.default)(e,["title","icons","paymentMethod"]).components,s=i.PaymentMethodLabel,c=i.PaymentMethodIcons;return Array.isArray(n)||(n=[n]),r.createElement("span",{className:"wc-stripe-label-container ".concat(a)},r.createElement(s,{text:t}),r.createElement(c,{icons:n,align:"left"}))}},4901:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.PaymentMethod=void 0;var o=a(n(9713)),i=a(n(6479)),s=n(9307);function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.PaymentMethod=function(e){var t=e.getData,n=e.content,a=(0,i.default)(e,["getData","content"]),o=n,c=t("description"),p=(0,s.useRef)(null);return(0,s.useEffect)((function(){p.current&&0==p.current.childNodes.length&&p.current.classList.add("no-content")})),r.createElement(r.Fragment,null,c&&r.createElement(l,{desc:c,payment_method:t("name")}),r.createElement("div",{ref:p,className:"wc-stripe-blocks-payment-method-content"},r.createElement(o,u(u({},a),{},{getData:t}))))};var l=function(e){var t=e.desc,n=e.payment_method;return r.createElement("div",{className:"wc-stripe-blocks-payment-method__desc ".concat(n)},r.createElement("p",null,t))}},8744:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RadioControlOption=void 0;var o=a(n(4184)),i=function(e){var t=e.checked,n=e.onChange,a=e.value,i=e.label;return r.createElement("label",{className:(0,o.default)("wc-stripe-blocks-radio-control__option",{"wc-stripe-blocks-radio-control__option-checked":t})},r.createElement("input",{className:"wc-stripe-blocks-radio-control__input",type:"radio",value:a,checked:t,onChange:function(e){return n(e.target.value)}}),r.createElement("div",{className:"wc-stripe-blocks-radio-control__label"},r.createElement("span",null,i)))};t.RadioControlOption=i;var s=i;t.default=s},7260:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(1293);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(7150);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(5201);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}))},1293:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useCreateLinkToken=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(3038)),s=n(9307),c=r(n(6989)),u=n(1134);t.useCreateLinkToken=function(e){var t=e.setValidationError,n=(0,s.useState)(!1),r=(0,i.default)(n,2),l=r[0],p=r[1],d=(0,s.useCallback)((0,o.default)(a.default.mark((function e(){var n;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,c.default)({url:(0,u.getRoute)("create/linkToken"),method:"POST",data:{}});case 3:(n=e.sent).token&&((0,u.storeInCache)("linkToken",n.token),p(n.token)),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),t(e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])}))),[]);return(0,s.useEffect)((function(){if(!l){var e=(0,u.getFromCache)("linkToken");e?p(e):d()}}),[l,p]),l}},7150:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useInitializePlaid=void 0;var a=n(9307),o=r(n(9625)),i=n(1134);t.useInitializePlaid=function(e){var t=e.getData,n=e.linkToken,r=(0,a.useRef)(null),s=(0,a.useRef)(null),c=(0,a.useCallback)((function(){return new Promise((function(e,t){s.current={resolve:e,reject:t},r.current.open()}))}),[]);return(0,a.useEffect)((function(){n&&(r.current=o.default.create({clientName:t("clientName"),env:t("plaidEnvironment"),product:["auth"],token:n,selectAccount:!0,countryCodes:["US"],onSuccess:function(e,t){s.current.resolve({publicToken:e,metaData:t})},onExit:function(e){s.current.reject(!!e&&(0,i.getErrorMessage)(e.error_message))}}))}),[n]),c}},5201:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useProcessPayment=void 0;var a=r(n(1284)),o=r(n(9713)),i=r(n(8926)),s=n(9307),c=n(1134);t.useProcessPayment=function(e){var t=e.openLinkPopup,n=e.onPaymentProcessing,r=e.responseTypes,u=e.paymentMethod;(0,s.useEffect)((function(){var e=n((0,i.default)(a.default.mark((function e(){var n,i,s,l;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,t();case 3:return i=e.sent,s=i.publicToken,l=i.metaData,(0,c.deleteFromCache)("linkToken"),e.abrupt("return",(0,c.ensureSuccessResponse)(r,{meta:{paymentMethodData:(n={},(0,o.default)(n,"".concat(u,"_token_key"),s),(0,o.default)(n,"".concat(u,"_metadata"),JSON.stringify(l)),n)}}));case 9:return e.prev=9,e.t0=e.catch(0),e.abrupt("return",(0,c.ensureErrorResponse)(r,e.t0));case 12:case"end":return e.stop()}}),e,null,[[0,9]])}))));return function(){return e()}}),[n,r,t])}},5605:(e,t,n)=>{n(4836),n(4888)},4888:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(3038)),i=a(n(6479)),s=n(9307),c=n(4613),u=n(1134),l=n(3187),p=a(n(1065)),d=n(7260),m=n(3636),f=n(5736),y=(0,u.getSettings)("stripe_ach_data"),g=function(e){var t=e.getData,n=e.eventRegistration,a=e.components,c=e.emitResponse,l=e.onSubmit,p=((0,i.default)(e,["getData","eventRegistration","components","emitResponse","onSubmit"]),c.responseTypes),f=n.onPaymentProcessing,y=n.onCheckoutAfterProcessingWithError,g=a.ValidationInputError,h=a.LoadingMask,b=(0,s.useState)(!1),P=(0,o.default)(b,2),E=P[0],O=P[1],S=(0,d.useCreateLinkToken)({setValidationError:O});(0,m.useProcessCheckoutError)({responseTypes:p,subscriber:y});var _=(0,d.useInitializePlaid)({getData:t,linkToken:S,onSubmit:l});return(0,d.useProcessPayment)({openLinkPopup:_,onPaymentProcessing:f,responseTypes:p,paymentMethod:t("name")}),r.createElement(h,{isLoading:!E&&!S,showSpinner:!0},u.isTestMode&&r.createElement(v,null),E&&r.createElement(g,{errorMessage:E}))},v=function(){return r.createElement("div",{className:"wc-stripe-blocks-ach__creds"},r.createElement("label",{className:"wc-stripe-blocks-ach__creds-label"},(0,f.__)("Test Credentials","woo-stripe-payment")),r.createElement("div",{className:"wc-stripe-blocks-ach__username"},r.createElement("div",null,r.createElement("strong",null,(0,f.__)("username","woo-stripe-payment")),": user_good"),r.createElement("div",null,r.createElement("strong",null,(0,f.__)("password","woo-stripe-payment")),": pass_good"),r.createElement("div",null,r.createElement("strong",null,(0,f.__)("pin","woo-stripe-payment")),": credential_good")))};(0,c.registerPaymentMethod)({name:y("name"),label:r.createElement(l.PaymentMethodLabel,{title:y("title"),paymentMethod:y("name"),icons:y("icons")}),ariaLabel:"ACH Payment",canMakePayment:function(e){return"USD"===e.cartTotals.currency_code},content:r.createElement(l.PaymentMethod,{getData:y,content:g}),savedTokenComponent:r.createElement(p.default,{getData:y}),edit:r.createElement(g,{getData:y}),placeOrderButtonLabel:y("placeOrderButtonLabel"),supports:{showSavedCards:y("showSavedCards"),showSaveOption:!1,features:y("features")}})},3846:(e,t,n)=>{n(85),n(660)},660:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(3038)),i=a(n(6479)),s=n(9307),c=n(4613),u=n(1134),l=n(6664),p=a(n(7082)),d=n(3636),m=(0,u.getSettings)("stripe_applepay_data"),f=function(e){return r.createElement(p.default,null,r.createElement("div",{className:"wc-stripe-apple-pay-container"},r.createElement(l.Elements,{stripe:u.initStripe},r.createElement(y,e))))},y=function(e){var t=e.getData,n=e.onClick,a=e.onClose,c=e.billing,u=e.shippingData,p=e.eventRegistration,m=e.emitResponse,f=e.onSubmit,y=e.activePaymentMethod,g=((0,i.default)(e,["getData","onClick","onClose","billing","shippingData","eventRegistration","emitResponse","onSubmit","activePaymentMethod"]),p.onPaymentProcessing),v=m.responseTypes,h=m.noticeContexts,b=(0,l.useStripe)(),P=(0,d.useStripeError)(),E=(0,o.default)(P,1)[0],O=(0,d.useExportedValues)();(0,d.useExpressBreakpointWidth)({payment_method:t("name"),width:300});var S=(0,d.useProcessPaymentIntent)({getData:t,billing:c,shippingData:u,onPaymentProcessing:g,emitResponse:m,error:E,onSubmit:f,activePaymentMethod:y,exportedValues:O}).setPaymentMethod;(0,d.useAfterProcessingPayment)({getData:t,eventRegistration:p,responseTypes:v,activePaymentMethod:y,messageContext:h.EXPRESS_PAYMENTS});var _=(0,d.usePaymentRequest)({getData:t,onClose:a,stripe:b,billing:c,shippingData:u,eventRegistration:p,setPaymentMethod:S,exportedValues:O,canPay:function(e){return null!=e&&e.applePay}}).paymentRequest,w=(0,s.useCallback)((function(e){_&&(e.preventDefault(),n(),_.show())}),[_,n]);return _?r.createElement("button",{className:"apple-pay-button ".concat(t("buttonStyle")),style:{"-apple-pay-button-type":t("buttonType")},onClick:w}):null},g=function(e){var t=e.getData;return(0,i.default)(e,["getData"]),r.createElement("div",{className:"apple-pay-block-editor"},r.createElement("img",{src:t("editorIcon")}))};(0,c.registerExpressPaymentMethod)({name:m("name"),canMakePayment:function(e){var t=e.cartTotals;if((0,i.default)(e,["cartTotals"]),m("isAdmin"))return!0;var n=t.currency_code,r=t.total_price;return(0,u.canMakePayment)({country:m("countryCode"),currency:n.toLowerCase(),total:{label:m("totalLabel"),amount:parseInt(r)}},(function(e){return null!=e&&e.applePay}))},content:r.createElement(f,{getData:m}),edit:r.createElement(g,{getData:m}),supports:{showSavedCards:m("showSavedCards"),showSaveOption:m("showSaveOption"),features:m("features")}})},7354:(e,t,n)=>{var r=n(9307);n(3110);var a=n(1134),o=n(6664),i=n(5736),s=function(e){var t=e.CardIcon,n=e.options,a=e.onChange;return r.createElement("div",{className:"wc-stripe-bootstrap-form"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-md-6 mb-3"},r.createElement(o.CardNumberElement,{className:"md-form md-outline stripe-input",options:n.cardNumber,onChange:a(o.CardNumberElement)}),r.createElement("label",{htmlFor:"stripe-card-number"},(0,i.__)("Card Number","woo-stripe-payment")),t),r.createElement("div",{className:"col-md-3 mb-3"},r.createElement(o.CardExpiryElement,{className:"md-form md-outline stripe-input",options:n.cardExpiry,onChange:a(o.CardExpiryElement)}),r.createElement("label",{htmlFor:"stripe-exp"},(0,i.__)("Exp","woo-stripe-payment"))),r.createElement("div",{className:"col-md-3 mb-3"},r.createElement(o.CardCvcElement,{className:"md-form md-outline stripe-input",options:n.cardCvc,onChange:a(o.CardCvcElement)}),r.createElement("label",{htmlFor:"stripe-cvv"},(0,i.__)("CVV","woo-stripe-payment")))))};(0,a.registerCreditCardForm)({id:"bootstrap",breakpoint:475,component:r.createElement(s,null)})},3329:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(9713)),i=a(n(3038)),s=n(1134),c=n(9307),u=n(6664),l=n(5736),p=n(3636);function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var f={focus:"focused",empty:"empty",invalid:"invalid"},y=function(e){var t=e.type,n=e.src;return t?r.createElement("img",{className:"wc-stripe-card ".concat(t),src:n}):null};t.default=function(e){var t=e.getData,n=e.onChange,a=e.onComplete,o=(0,c.useState)(""),d=(0,i.default)(o,2),g=d[0],v=d[1],h=(0,c.useRef)([]),b=(0,c.useState)(null),P=(0,i.default)(b,2),E=P[0],O=P[1],S=(0,u.useElements)(),_=t("customForm"),w=(0,s.getCreditCardForm)(_),C=w.component,M=void 0===C?null:C,k=w.breakpoint,j=void 0===k?475:k,D=t("postalCodeEnabled"),x={},R=(0,c.useRef)({cardNumber:{},cardExpiry:{},cardCvc:{}});["cardNumber","cardExpiry","cardCvc"].forEach((function(e){x[e]=m(m({classes:f},t("cardOptions")),t("customFieldOptions")[e])}));var A=(0,c.useCallback)((function(e){h.current.includes(e)||h.current.push(e)}),[]);(0,p.useBreakpointWidth)({name:"creditCardForm",width:j,node:E,className:"small-form"});var I=(0,c.useCallback)((function(e){for(var n=0,r=Object.keys(t("cards"));n<r.length;n++){var a=r[n];if(a===e)return t("cards")[a]}return""}),[]);return M?r.createElement("div",{className:"wc-stripe-custom-form ".concat(_),ref:O},(0,c.cloneElement)(M,{postalCodeEnabled:D,options:x,onChange:function(e){return A(e),function(t){if(n(t),R.current[t.elementType]=t,"cardNumber"===t.elementType&&("unknown"===t.brand?v(""):v(t.brand)),t.complete){var r=h.current.indexOf(e);if(h.current[r+1]){var o=h.current[r+1];S.getElement(o).focus()}}var i;a((i=R.current,Object.keys(i).filter((function(e){return!!i[e].complete})).length===Object.keys(i).length))}},CardIcon:r.createElement(y,{type:g,src:I(g)})})):r.createElement("div",{className:"wc-stripe-custom-form-error"},r.createElement("p",null,(0,l.sprintf)((0,l.__)("%s is not a valid blocks Stripe custom form. Please choose another custom form option in the Credit Card Settings.","woo-stripe-payment"),t("customFormLabels")[_])))}},6835:(e,t,n)=>{var r=n(9307);n(8356);var a=n(1134),o=n(6664),i=n(5736),s=n(9307),c=function(e){var t=e.CardIcon,n=e.options,a=e.onChange;return(0,s.useEffect)((function(){}),[]),r.createElement("div",{className:"wc-stripe-simple-form"},r.createElement("div",{className:"row"},r.createElement("div",{className:"field"},r.createElement("div",{className:"field-item"},r.createElement(o.CardNumberElement,{id:"stripe-card-number",className:"input empty",options:n.cardNumber,onChange:a(o.CardNumberElement)}),r.createElement("label",{htmlFor:"stripe-card-number","data-tid":""},(0,i.__)("Card Number","woo-stripe-payment")),r.createElement("div",{className:"baseline"}),t))),r.createElement("div",{className:"row"},r.createElement("div",{className:"field half-width"},r.createElement("div",{className:"field-item"},r.createElement(o.CardExpiryElement,{id:"stripe-exp",className:"input empty",options:n.cardExpiry,onChange:a(o.CardExpiryElement)}),r.createElement("label",{htmlFor:"stripe-exp","data-tid":""},(0,i.__)("Expiration","woo-stripe-payment")),r.createElement("div",{className:"baseline"}))),r.createElement("div",{className:"field half-width cvc"},r.createElement("div",{className:"field-item"},r.createElement(o.CardCvcElement,{id:"stripe-cvv",className:"input empty",options:n.cardCvc,onChange:a(o.CardCvcElement)}),r.createElement("label",{htmlFor:"stripe-cvv","data-tid":""},(0,i.__)("CVV","woo-stripe-payment")),r.createElement("div",{className:"baseline"})))))};(0,a.registerCreditCardForm)({id:"simple",component:r.createElement(c,null),breakpoint:375})},9775:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(9713)),i=n(6664),s=n(1134),c=n(9307);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.default=function(e){var t=e.getData,n=e.billing,a=e.onChange,o=e.onComplete,u={card:{}},p=(0,c.useMemo)((function(){var e;return l(l({},{value:{postalCode:null==n||null===(e=n.billingData)||void 0===e?void 0:e.postcode},hidePostalCode:(0,s.isFieldRequired)("postcode"),iconStyle:"default"}),t("cardOptions"))}),[n.billingData]);return r.createElement("div",{className:"wc-stripe-inline-form"},r.createElement(i.CardElement,{options:p,onChange:function(e){a(e),u[e.elementType]=e,o(Object.keys(u).filter((function(e){return!!u[e].complete})).length===Object.keys(u).length)}}))}},627:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),n(5773);var r=n(7205);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))})),n(7354),n(6835)},4664:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.PaymentElementComponent=void 0;var o=a(n(1284)),i=a(n(8926)),s=a(n(3038)),c=a(n(7154)),u=a(n(9713)),l=a(n(6479)),p=n(9307),d=n(6664),m=n(1134),f=n(3187),y=n(3636);function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){(0,u.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var h=(0,m.getSettings)("stripe_cc_data"),b=function(e){var t,n,a=e.cartData,o=(0,l.default)(e,["cartData"]),i=null==a||null===(t=a.extensions)||void 0===t||null===(n=t.stripe_cc)||void 0===n?void 0:n.clientSecret;return r.createElement(r.Fragment,null,r.createElement(d.Elements,{stripe:m.initStripe,options:v(v({},h("elementOptions")),{},{clientSecret:i})},r.createElement(P,(0,c.default)({},o,{clientSecret:i}))))};t.PaymentElementComponent=b;var P=function(e){e.onComplete;var t=e.clientSecret,n=(0,l.default)(e,["onComplete","clientSecret"]),a=(0,p.useState)(!1),c=(0,s.default)(a,2),u=c[0],m=c[1],g=h("installmentsActive"),v=((0,d.useElements)(),(0,d.useStripe)()),b=n.billing.billingData,P=n.eventRegistration,E=n.emitResponse,O=n.shouldSavePayment,S=(P.onPaymentProcessing,P.onCheckoutAfterProcessingWithError),_=E.responseTypes,w=E.noticeContexts,C=h("name"),M=(0,p.useCallback)((function(e){m(e.complete)}),[]),k=(0,y.useUpdatePaymentIntent)({clientSecret:t,billingData:b,eventRegistration:P,responseTypes:_,shouldSavePayment:O,noticeContexts:w,name:C}),j=k.updatePaymentIntent,D=k.addPaymentMethodData;(0,y.useProcessCheckoutError)({responseTypes:_,subscriber:S,messageContext:w.PAYMENTS});var x=(0,p.useCallback)((0,i.default)(o.default.mark((function e(){var t,n,r;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,e.next=3,j();case 3:return null!=(r=e.sent)&&null!==(t=r.paymentIntent)&&void 0!==t&&t.payment_method&&(n=r.paymentIntent.payment_method),e.abrupt("return",n);case 6:case"end":return e.stop()}}),e)}))),[j]);return r.createElement(r.Fragment,null,r.createElement(d.PaymentElement,{options:{fields:{billingDetails:"never"},wallets:{applePay:"never",googlePay:"never"}},onChange:M}),g&&r.createElement(f.Installments,{paymentMethodName:h("name"),stripe:v,cardFormComplete:u,getPaymentMethod:x,addPaymentMethodData:D}))},E=b;t.default=E},7205:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(1284)),i=a(n(8926)),s=a(n(3038)),c=n(9307),u=n(4613),l=n(1134),p=n(6664),d=n(3187),m=a(n(1065)),f=a(n(3329)),y=a(n(9775)),g=a(n(4664)),v=n(3636),h=(0,l.getSettings)("stripe_cc_data"),b=function(e){var t=(0,c.useState)(!1),n=(0,s.default)(t,2),a=n[0],o=n[1];if((0,c.useEffect)((function(){l.initStripe.catch((function(e){o(e)}))}),[o]),a)throw new Error(a);return h("isPaymentElement")?r.createElement(g.default,e):r.createElement(p.Elements,{stripe:l.initStripe,options:h("elementOptions")},r.createElement(P,e))},P=function(e){var t=e.getData,n=e.billing,a=e.shippingData,u=e.emitResponse,l=e.eventRegistration,m=e.activePaymentMethod,g=e.shouldSavePayment,h=(0,v.useStripeError)(),b=(0,s.default)(h,2),P=b[0],E=b[1],O=(0,c.useState)(!1),S=(0,s.default)(O,2),_=S[0],w=S[1],C=l.onPaymentProcessing,M=(0,p.useStripe)(),k=(0,p.useElements)(),j=(0,c.useCallback)((function(){var e=t("customFormActive")?p.CardNumberElement:p.CardElement;return{card:k.getElement(e)}}),[M,k]),D=(0,v.useSetupIntent)({getData:t,cartTotal:n.cartTotal,setError:E}),x=D.setupIntent,R=D.removeSetupIntent,A=(0,v.useProcessPaymentIntent)({getData:t,billing:n,shippingData:a,emitResponse:u,error:P,onPaymentProcessing:C,shouldSavePayment:g,setupIntent:x,removeSetupIntent:R,getPaymentMethodArgs:j,activePaymentMethod:m}),I=A.getCreatePaymentMethodArgs,L=A.addPaymentMethodData;(0,v.useAfterProcessingPayment)({getData:t,eventRegistration:l,responseTypes:u.responseTypes,activePaymentMethod:m,shouldSavePayment:g});var T=(0,c.useCallback)((0,i.default)(o.default.mark((function e(){var t,n,r;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,e.next=3,M.createPaymentMethod(I());case 3:return null!=(r=e.sent)&&null!==(t=r.paymentMethod)&&void 0!==t&&t.id&&(n=r.paymentMethod.id),e.abrupt("return",n);case 6:case"end":return e.stop()}}),e)}))),[M,I]),N=t("customFormActive")?f.default:y.default;return r.createElement("div",{className:"wc-stripe-card-container"},r.createElement(N,{getData:t,billing:n,onChange:function(e){e.error?E(e.error):E(!1)},onComplete:w}),t("installmentsActive")&&r.createElement(d.Installments,{paymentMethodName:t("name"),cardFormComplete:_,addPaymentMethodData:L,getPaymentMethod:T}))};(0,u.registerPaymentMethod)({name:h("name"),label:r.createElement(d.PaymentMethodLabel,{title:h("title"),paymentMethod:h("name"),icons:h("icons")}),ariaLabel:"Credit Cards",canMakePayment:function(){return l.initStripe},content:r.createElement(d.PaymentMethod,{content:b,getData:h}),savedTokenComponent:r.createElement(m.default,{getData:h,method:h("isPaymentElement")?"confirmCardPayment":"handleCardAction"}),edit:r.createElement(d.PaymentMethod,{content:b,getData:h}),supports:{showSavedCards:h("showSavedCards"),showSaveOption:!0,features:h("features")}})},7082:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(4575)),i=a(n(3913)),s=a(n(2205)),c=a(n(8585)),u=a(n(9754));var l=function(e){(0,s.default)(l,e);var t,n,a=(t=l,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,u.default)(t);if(n){var a=(0,u.default)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,c.default)(this,e)});function l(e){var t;return(0,o.default)(this,l),(t=a.call(this,e)).state={hasError:!1,error:null,errorInfo:null},t}return(0,i.default)(l,[{key:"componentDidCatch",value:function(e,t){this.setState({hasError:!0,error:e,errorInfo:t})}},{key:"render",value:function(){return this.state.hasError?r.createElement(r.Fragment,null,this.state.error&&r.createElement("div",{className:"wc-stripe-block-error"},this.state.error.toString()),this.state.errorInfo&&r.createElement("div",{className:"wc-stripe-block-error"},this.state.errorInfo.componentStack)):this.props.children}}]),l}(n(9307).Component);t.default=l},5212:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(3038)),i=a(n(6479)),s=n(9307),c=n(5516),u=n(3636),l=(0,n(1134).getSettings)("stripeGeneralData")().publishableKey;t.default=function(e){var t=e.getData,n=e.setErrorMessage,a=e.billing,p=e.shippingData,d=e.canMakePayment,m=e.checkoutStatus,f=e.eventRegistration,y=e.activePaymentMethod,g=e.onClick,v=e.onClose,h=(0,i.default)(e,["getData","setErrorMessage","billing","shippingData","canMakePayment","checkoutStatus","eventRegistration","activePaymentMethod","onClick","onClose"]),b={merchantId:t("merchantId"),merchantName:t("merchantName")},P=(0,u.useStripeError)(),E=(0,o.default)(P,2),O=E[0],S=(E[1],(0,s.useRef)()),_=h.onSubmit,w=h.emitResponse,C=f.onPaymentProcessing,M=(0,u.useExportedValues)(),k="long"===t("buttonStyle").buttonType?390:300,j=(0,u.useProcessPaymentIntent)({getData:t,billing:a,shippingData:p,onPaymentProcessing:C,emitResponse:w,error:O,exportedValues:M,onSubmit:_,checkoutStatus:m,activePaymentMethod:y}).setPaymentMethod,D=(0,c.usePaymentRequest)({getData:t,publishableKey:l,merchantInfo:b,billing:a,shippingData:p}),x=(0,c.usePaymentsClient)({merchantInfo:b,paymentRequest:D,billing:a,shippingData:p,eventRegistration:f,canMakePayment:d,setErrorMessage:n,onSubmit:_,setPaymentMethod:j,exportedValues:M,onClick:g,onClose:v,getData:t}),R=x.button,A=x.removeButton;return(0,u.useAfterProcessingPayment)({getData:t,eventRegistration:f,responseTypes:w.responseTypes,activePaymentMethod:y}),(0,u.useExpressBreakpointWidth)({payment_method:t("name"),width:k}),(0,s.useEffect)((function(){R&&(A(S.current),S.current.append(R))}),[R]),r.createElement("div",{className:"wc-stripe-gpay-button-container",ref:S})}},3097:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BASE_PAYMENT_REQUEST=t.BASE_PAYMENT_METHOD=void 0,t.BASE_PAYMENT_METHOD={type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY"],allowedCardNetworks:["AMEX","DISCOVER","INTERAC","JCB","MASTERCARD","VISA"],assuranceDetailsRequired:!0}},t.BASE_PAYMENT_REQUEST={apiVersion:2,apiVersionMinor:0}},5516:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(1674);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(1735);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(9808);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}))},9808:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useErrorMessage=void 0;var a=r(n(3038)),o=n(9307);t.useErrorMessage=function(){var e=(0,o.useState)(!1),t=(0,a.default)(e,2);return{errorMessage:t[0],setErrorMessage:t[1]}}},1735:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.usePaymentRequest=void 0;var a=r(n(319)),o=r(n(9713)),i=n(9307),s=n(3097),c=n(1134),u=n(8664);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.usePaymentRequest=function(e){var t=e.getData,n=e.publishableKey,r=e.merchantInfo,o=e.billing,l=e.shippingData,d=o.billingData,m=l.shippingRates,f=t(),y=f.processingCountry,g=f.totalPriceLabel;return(0,i.useMemo)((function(){var e=p(p({},{emailRequired:(0,c.isEmpty)(d.email),merchantInfo:r,allowedPaymentMethods:[p(p({},{type:"CARD",tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:"stripe","stripe:version":"2018-10-31","stripe:publishableKey":n}}}),s.BASE_PAYMENT_METHOD)],shippingAddressRequired:l.needsShipping,transactionInfo:(0,u.getTransactionInfo)({billing:o,processingCountry:y,totalPriceLabel:g}),callbackIntents:["PAYMENT_AUTHORIZATION"]}),s.BASE_PAYMENT_REQUEST);if(e.allowedPaymentMethods[0].parameters.billingAddressRequired=!0,e.allowedPaymentMethods[0].parameters.billingAddressParameters={format:"FULL",phoneNumberRequired:(0,c.isFieldRequired)("phone",d.country)&&(0,c.isEmpty)(d.phone)},e.shippingAddressRequired){e.callbackIntents=[].concat((0,a.default)(e.callbackIntents),["SHIPPING_ADDRESS","SHIPPING_OPTION"]),e.shippingOptionRequired=!0;var t=(0,u.getShippingOptionParameters)(m);t.shippingOptions.length>0&&(e=p(p({},e),{},{shippingOptionParameters:t}))}return e}),[o.cartTotal,o.cartTotalItems,d,l])}},1674:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.usePaymentsClient=void 0;var a=r(n(319)),o=r(n(9713)),i=r(n(1284)),s=r(n(8926)),c=r(n(3038)),u=n(9307),l=r(n(9127)),p=n(1134),d=n(6664),m=n(8664),f=n(5736),y=n(3636);function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.usePaymentsClient=function(e){var t=e.merchantInfo,n=e.paymentRequest,r=e.billing,g=e.shippingData,h=e.eventRegistration,b=e.canMakePayment,P=e.setErrorMessage,E=e.setPaymentMethod,O=e.exportedValues,S=e.onClick,_=e.onClose,w=e.getData,C=w().environment,M=(0,u.useState)(),k=(0,c.default)(M,2),j=k[0],D=k[1],x=(0,u.useState)(null),R=(0,c.default)(x,2),A=R[0],I=R[1],L=(0,u.useRef)(r),T=(0,u.useRef)(g),N=(0,d.useStripe)(),B=(0,y.usePaymentEvents)({billing:r,shippingData:g,eventRegistration:h}).addPaymentEvent;(0,u.useEffect)((function(){L.current=r,T.current=g}));var F=(0,u.useCallback)((function(e){var t,n;if(null!=e&&null!==(t=e.paymentMethodData)&&void 0!==t&&null!==(n=t.info)&&void 0!==n&&n.billingAddress){var r,a=e.paymentMethodData.info.billingAddress;(0,p.isAddressValid)(L.current.billingData,["phone","email"])&&(0,p.isEmpty)(null===(r=L.current.billingData)||void 0===r?void 0:r.phone)&&(a={phoneNumber:a.phoneNumber}),O.billingData=L.current.billingData=(0,m.toCartAddress)(a,{email:e.email})}null!=e&&e.shippingAddress&&(O.shippingAddress=(0,m.toCartAddress)(e.shippingAddress))}),[O,n]),q=(0,u.useCallback)((function(e){for(;e.firstChild;)e.removeChild(e.firstChild)}),[A]),X=(0,u.useCallback)((0,s.default)(i.default.mark((function e(){var t,r,a;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return S(),e.prev=1,e.next=4,j.loadPaymentData(n);case 4:return t=e.sent,F(t),r=JSON.parse(t.paymentMethodData.tokenizationData.token),e.next=9,N.createPaymentMethod({type:"card",card:{token:r.id},billing_details:(0,p.getBillingDetailsFromAddress)(L.current.billingData)});case 9:if(!(a=e.sent).error){e.next=12;break}throw new p.StripeError(a.error);case 12:E(a.paymentMethod.id),e.next=18;break;case 15:e.prev=15,e.t0=e.catch(1),"CANCELED"===(null===e.t0||void 0===e.t0?void 0:e.t0.statusCode)?_():(console.log((0,p.getErrorMessage)(e.t0)),P((0,p.getErrorMessage)(e.t0)));case 18:case"end":return e.stop()}}),e,null,[[1,15]])}))),[N,j,S]),U=(0,u.useCallback)((0,s.default)(i.default.mark((function e(){return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,!j||A||!N){e.next=5;break}return e.next=4,b;case 4:I(j.createButton(v({onClick:X},w("buttonStyle"))));case 5:e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),console.log(e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])}))),[N,A,j,X]),V=(0,u.useMemo)((function(){var e={environment:C,merchantInfo:t,paymentDataCallbacks:{onPaymentAuthorized:function(){return Promise.resolve({transactionState:"SUCCESS"})}}};return n.shippingAddressRequired&&(e.paymentDataCallbacks.onPaymentDataChanged=function(e){return new Promise((function(t,n){var r,i=T.current,s=e.shippingAddress,c=e.shippingOptionData,u=(0,m.toCartAddress)(s),d=(0,p.getSelectedShippingOption)(c.id),y=(0,l.default)((0,p.getIntermediateAddress)(i.shippingAddress),u),g=(0,l.default)(i.selectedRates,(0,o.default)({},d[1],d[0]));B("onShippingChanged",(function(e,n){var r=n.billing,a=n.shipping;t(e?(0,m.getPaymentRequestUpdate)({billing:r,shippingData:{needsShipping:!0,shippingRates:a.shippingRates},processingCountry:w("processingCountry"),totalPriceLabel:w("totalPriceLabel")}):{error:{reason:"SHIPPING_ADDRESS_UNSERVICEABLE",message:(0,f.__)("Your shipping address is not serviceable.","woo-stripe-payment"),intent:"SHIPPING_ADDRESS"}})}),y&&g),T.current.setShippingAddress(v(v({},T.current.shippingAddress),u)),"shipping_option_unselected"!==c.id&&(r=T.current).setSelectedRates.apply(r,(0,a.default)(d))}))}),e}),[n]);return(0,u.useEffect)((function(){D(new google.payments.api.PaymentsClient(V))}),[V]),(0,u.useEffect)((function(){U()}),[U]),{button:A,removeButton:q}}},5341:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),n(9509);var r=n(9031);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}))},9031:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(7154)),i=a(n(6479)),s=a(n(9713)),c=n(4613),u=n(1134),l=n(5516),p=a(n(5212)),d=n(3097),m=a(n(1417)),f=n(6664);function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach((function(t){(0,s.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var v,h,b=(0,u.getSettings)("stripe_googlepay_data"),P=(v=new m.default.payments.api.PaymentsClient({environment:b("environment"),merchantInfo:{merchantId:b("merchantId"),merchantName:b("merchantName")}}),h=g(g({},d.BASE_PAYMENT_REQUEST),{},{allowedPaymentMethods:[d.BASE_PAYMENT_METHOD]}),v.isReadyToPay(h).then((function(){return!0})).catch((function(e){return console.log(e),!1}))),E=function(e){var t=e.getData,n=e.components,a=(0,i.default)(e,["getData","components"]),s=n.ValidationInputError,c=(0,l.useErrorMessage)(),d=c.errorMessage,m=c.setErrorMessage;return r.createElement("div",{className:"wc-stripe-gpay-container"},r.createElement(f.Elements,{stripe:u.initStripe},r.createElement(p.default,(0,o.default)({getData:t,canMakePayment:P,setErrorMessage:m},a)),d&&r.createElement(s,{errorMessage:d})))},O=function(e){var t,n=e.getData,a=((0,i.default)(e,["getData"]),n("buttonStyle").buttonType),o=(null===(t=n("editorIcons"))||void 0===t?void 0:t[a])||"long";return r.createElement("div",{className:"gpay-block-editor ".concat(a)},r.createElement("img",{src:o}))};(0,c.registerExpressPaymentMethod)({name:b("name"),canMakePayment:function(){return b("isAdmin")?!(0,u.isCartPage)()||b("cartCheckoutEnabled"):!((0,u.isCartPage)()&&!b("cartCheckoutEnabled"))&&u.initStripe.then((function(e){return e.error?e:P}))},content:r.createElement(E,{getData:b}),edit:r.createElement(O,{getData:b}),supports:{showSavedCards:b("showSavedCards"),showSaveOption:b("showSaveOption"),features:b("features")}})},8664:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.toCartAddress=t.getShippingOptions=t.getShippingOptionParameters=t.getPaymentRequestUpdate=t.getTransactionInfo=void 0;var a=r(n(319)),o=n(1134),i=((0,n(4617).getSetting)("stripeGeneralData"),function(e){var t=e.billing,n=e.processingCountry,r=e.totalPriceLabel,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ESTIMATED",i=t.cartTotal,c=t.cartTotalItems,u=t.currency,l={countryCode:n,currencyCode:u.code,totalPriceStatus:a,totalPrice:(0,o.removeNumberPrecision)(i.value,u.minorUnit).toString(),displayItems:s(c,u.minorUnit),totalPriceLabel:r};return l});t.getTransactionInfo=i,t.getPaymentRequestUpdate=function(e){var t=e.billing,n=e.shippingData,r=e.processingCountry,a=e.totalPriceLabel,o=n.needsShipping,s=n.shippingRates,u={newTransactionInfo:i({billing:t,processingCountry:r,totalPriceLabel:a},"FINAL")};return o&&(u.newShippingOptionParameters=c(s)),u};var s=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,n=[],r=["total_tax","total_shipping"];return e.forEach((function(e){(0<e.value||e.key&&r.includes(e.key))&&n.push({label:e.label,type:"LINE_ITEM",price:(0,o.removeNumberPrecision)(e.value,t).toString()})})),n},c=function(e){var t=u(e),n=t.map((function(e){return e.id})).slice(0,1).shift();return e.forEach((function(e,t){e.shipping_rates.forEach((function(e){e.selected&&(n=(0,o.getShippingOptionId)(t,e.rate_id))}))})),{shippingOptions:t,defaultSelectedOptionId:n}};t.getShippingOptionParameters=c;var u=function(e){var t=[];return e.forEach((function(e,n){var r=e.shipping_rates.map((function(e){var t=document.createElement("textarea");t.innerHTML=e.name;var r=(0,o.formatPrice)(e.price,e.currency_code);return{id:(0,o.getShippingOptionId)(n,e.rate_id),label:t.value,description:"".concat(r)}}));t=[].concat((0,a.default)(t),(0,a.default)(r))})),t};t.getShippingOptions=u;var l=(0,o.toCartAddress)({name:function(e,t){return e.first_name=t.split(" ").slice(0,-1).join(" "),e.last_name=t.split(" ").pop(),e},countryCode:"country",address1:"address_1",address2:"address_2",locality:"city",administrativeArea:"state",postalCode:"postcode",email:"email",phoneNumber:"phone"});t.toCartAddress=l},3636:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(4332);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(1261);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(6107);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}));var i=n(2715);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}}))}));var s=n(2343);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===s[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return s[e]}}))}));var c=n(1500);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===c[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return c[e]}}))}));var u=n(6095);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===u[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return u[e]}}))}));var l=n(5554);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===l[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return l[e]}}))}));var p=n(3893);Object.keys(p).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===p[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return p[e]}}))}));var d=n(1225);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===d[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return d[e]}}))}))},1261:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useAfterProcessingPayment=void 0;var a=r(n(1284)),o=r(n(8926)),i=n(9307),s=n(6664),c=n(1134),u=n(3893);t.useAfterProcessingPayment=function(e){var t=e.getData,n=e.eventRegistration,r=e.responseTypes,l=e.activePaymentMethod,p=e.shouldSavePayment,d=void 0!==p&&p,m=e.messageContext,f=void 0===m?null:m,y=(0,s.useStripe)(),g=n.onCheckoutAfterProcessingWithSuccess,v=n.onCheckoutAfterProcessingWithError;(0,u.useProcessCheckoutError)({responseTypes:r,subscriber:v,messageContext:f}),(0,i.useEffect)((function(){var e=g(function(){var e=(0,o.default)(a.default.mark((function e(n){var o;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=n.redirectUrl,t("name")!==l){e.next=5;break}return e.next=4,(0,c.handleCardAction)({redirectUrl:o,responseTypes:r,name:l,savePaymentMethod:d});case 4:return e.abrupt("return",e.sent);case 5:return e.abrupt("return",null);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());return function(){return e()}}),[y,r,g,l,d])}},5554:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useExpressBreakpointWidth=t.useBreakpointWidth=void 0;var a=r(n(3038)),o=n(9307),i=n(1134),s=function(e){var t=e.name,n=e.width,r=e.node,s=e.className,c=(0,o.useState)(window.innerWidth),u=(0,a.default)(c,2),l=u[0],p=u[1],d=(0,o.useCallback)((function(e){var t=(0,i.getFromCache)(e);return t?parseInt(t):0}),[]),m=(0,o.useCallback)((function(e,t){return(0,i.storeInCache)(e,t)}),[]);(0,o.useEffect)((function(){var e="function"==typeof r?r():r;if(e){var a=d(t);(!a||n>a)&&m(t,n),e.clientWidth<n?e.classList.add(s):e.clientWidth>a&&e.classList.remove(s)}}),[l,r]),(0,o.useEffect)((function(){var e=function(){return p(window.innerWidth)};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}))};t.useBreakpointWidth=s,t.useExpressBreakpointWidth=function(e){var t=e.payment_method,n=e.width,r=(0,o.useCallback)((function(){var e=document.getElementById("express-payment-method-".concat(t));return e?e.parentNode:null}),[]);s({name:"expressMaxWidth",width:n,node:r,className:"wc-stripe-express__sm"})}},2343:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useExportedValues=void 0;var r=n(9307);t.useExportedValues=function(){return(0,r.useRef)({}).current}},6095:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.usePaymentEvents=void 0;var a=r(n(9713)),o=r(n(3038)),i=n(9307),s=n(1134);function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){(0,a.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.usePaymentEvents=function(e){var t=e.billing,n=e.shippingData,r=e.eventRegistration,c=r.onShippingRateSuccess,l=r.onShippingRateFail,p=r.onShippingRateSelectSuccess,d=(0,i.useRef)(t),m=(0,i.useRef)(n),f=(0,i.useState)(null),y=(0,o.default)(f,2),g=y[0],v=y[1],h=(0,i.useState)({onShippingChanged:!1}),b=(0,o.default)(h,2),P=b[0],E=b[1],O=(0,i.useCallback)((function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];n?v((0,a.default)({},e,t)):E(u(u({},P),{},(0,a.default)({},e,t)))}),[P,E]),S=(0,i.useCallback)((function(e){P[e]&&(delete P[e],E(P))}),[P]),_=(0,i.useCallback)((function(){var e=m.current,t=d.current;if(P.onShippingChanged&&!e.isSelectingRate&&!e.shippingRatesLoading){var n=P.onShippingChanged,r=!0;(0,s.hasShippingRates)(e.shippingRates)||(r=!1),n(r,{billing:t,shipping:e}),S("onShippingChanged")}}),[P,S]);return(0,i.useEffect)((function(){d.current=t,m.current=n})),(0,i.useEffect)((function(){g&&g.onShippingChanged&&(g.onShippingChanged(!0,{billing:d.current,shipping:m.current}),v(null))}),[g]),(0,i.useEffect)((function(){var e=c(_),t=p(_),n=l((function(e){e.hasInvalidAddress,e.hasError,P.onShippingChanged&&((0,P.onShippingChanged)(!1),S("onShippingChanged"))}));return function(){e(),n(),t()}}),[P,c,l,p]),{addPaymentEvent:O,removePaymentEvent:S}}},1500:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.usePaymentRequest=void 0;var a=r(n(319)),o=r(n(9713)),i=r(n(3038)),s=n(9307),c=n(6095),u=n(1134),l=r(n(9127));function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var m=(0,u.toCartAddress)();t.usePaymentRequest=function(e){var t=e.getData,n=e.onClose,r=e.stripe,o=e.billing,p=e.shippingData,f=e.eventRegistration,y=e.setPaymentMethod,g=e.exportedValues,v=e.canPay,h=(0,c.usePaymentEvents)({billing:o,shippingData:p,eventRegistration:f}).addPaymentEvent,b=(p.shippingAddress,p.needsShipping),P=p.shippingRates,E=o.billingData,O=o.cartTotalItems,S=o.currency,_=o.cartTotal,w=(0,s.useState)(null),C=(0,i.default)(w,2),M=C[0],k=C[1],j=(0,s.useRef)({}),D=(0,s.useRef)(p),x=(0,s.useRef)(o);(0,s.useEffect)((function(){D.current=p,x.current=o}),[p]),(0,s.useEffect)((function(){if(r){var e={country:t("countryCode"),currency:null==S?void 0:S.code.toLowerCase(),total:{amount:_.value,label:_.label,pending:!0},requestPayerName:!0,requestPayerEmail:(0,u.isFieldRequired)("email",E.country),requestPayerPhone:(0,u.isFieldRequired)("phone",E.country),requestShipping:b,displayItems:(0,u.getDisplayItems)(O,S)};e.requestShipping&&(e.shippingOptions=(0,u.getShippingOptions)(P)),j.current=e;var n=r.paymentRequest(j.current);n.canMakePayment().then((function(e){v(e)?k(n):k(null)}))}}),[r,_.value,E.country,P,O,S.code]),(0,s.useEffect)((function(){M&&(j.current.requestShipping&&(M.on("shippingaddresschange",A),M.on("shippingoptionchange",I)),M.on("cancel",n),M.on("paymentmethod",L))}),[M,A,n,L]);var R=(0,s.useCallback)((function(e){return function(t,n){var r=n.billing,a=n.shipping,o=r.cartTotal,i=r.cartTotalItems,s=r.currency,c=a.shippingRates;t?e.updateWith({status:"success",total:{amount:o.value,label:o.label,pending:!1},displayItems:(0,u.getDisplayItems)(i,s),shippingOptions:(0,u.getShippingOptions)(c)}):e.updateWith({status:"invalid_shipping_address"})}}),[]),A=(0,s.useCallback)((function(e){var t=e.shippingAddress,n=D.current,r=m(t);n.setShippingAddress(d(d({},n.shippingAddress),r));var a=(0,l.default)((0,u.getIntermediateAddress)(n.shippingAddress),r);h("onShippingChanged",R(e),a)}),[h]),I=(0,s.useCallback)((function(e){var t=e.shippingOption,n=D.current;n.setSelectedRates.apply(n,(0,a.default)((0,u.getSelectedShippingOption)(t.id))),h("onShippingChanged",R(e))}),[h]),L=(0,s.useCallback)((function(e){var t=e.paymentMethod,n=e.payerName,r=void 0===n?null:n,a=e.payerEmail,o=void 0===a?null:a,i=e.payerPhone,s={payerName:r,payerEmail:o,payerPhone:void 0===i?null:i};null!=t&&t.billing_details.address&&(s=m(t.billing_details.address,s)),g.billingData=s,e.shippingAddress&&(g.shippingAddress=m(e.shippingAddress)),y(t.id),e.complete("success")}),[]);return{paymentRequest:M}}},3893:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useProcessCheckoutError=void 0;var r=n(9307);t.useProcessCheckoutError=function(e){var t=e.responseTypes,n=e.subscriber,a=e.messageContext,o=void 0===a?null:a;(0,r.useEffect)((function(){var e=n((function(e){var n;return null!=e&&null!==(n=e.processingResponse.paymentDetails)&&void 0!==n&&n.stripeErrorMessage?{type:t.ERROR,message:e.processingResponse.paymentDetails.stripeErrorMessage,messageContext:o}:null}));return function(){return e()}}),[t,n])}},4332:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useProcessPaymentIntent=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(9713)),s=r(n(3038)),c=n(9307),u=n(6664),l=n(1134);function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.useProcessPaymentIntent=function(e){var t=e.getData,n=e.billing,r=e.shippingData,p=e.onPaymentProcessing,m=e.emitResponse,f=e.error,y=e.onSubmit,g=e.activePaymentMethod,v=e.paymentType,h=void 0===v?"card":v,b=e.setupIntent,P=void 0===b?null:b,E=e.removeSetupIntent,O=void 0===E?null:E,S=e.shouldSavePayment,_=void 0!==S&&S,w=e.exportedValues,C=void 0===w?{}:w,M=e.getPaymentMethodArgs,k=void 0===M?function(){return{}}:M,j=n.billingData,D=r.shippingAddress,x=m.responseTypes,R=(0,c.useState)(null),A=(0,s.default)(R,2),I=A[0],L=A[1],T=(0,u.useStripe)(),N=(0,c.useRef)(k),B=(0,c.useRef)({});(0,c.useEffect)((function(){N.current=k}),[k]);var F=(0,c.useCallback)((function(e){B.current=d(d({},B.current),e)}),[]),q=(0,c.useCallback)((function(){return d(d({},{type:h,billing_details:(0,l.getBillingDetailsFromAddress)(null!=C&&C.billingData?C.billingData:j)}),N.current())}),[j,h,k]),X=(0,c.useCallback)((function(e,n){var r,a={meta:{paymentMethodData:d((r={},(0,i.default)(r,"".concat(t("name"),"_token_key"),e),(0,i.default)(r,"".concat(t("name"),"_save_source_key"),n),r),B.current)}};return null!=C&&C.billingData&&(a.meta.billingData=C.billingData),null!=C&&C.shippingAddress&&(a.meta.shippingData={address:C.shippingAddress}),a}),[j,D]);return(0,c.useEffect)((function(){I&&"string"==typeof I&&y()}),[I,y]),(0,c.useEffect)((function(){var e=p((0,o.default)(a.default.mark((function e(){var n,r;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(g===t("name")){e.next=2;break}return e.abrupt("return",null);case 2:if(n=null,r=null,e.prev=3,!f){e.next=6;break}throw new l.StripeError(f);case 6:if(!P){e.next=16;break}return e.next=9,T.confirmCardSetup(P.client_secret,{payment_method:q()});case 9:if(!(n=e.sent).error){e.next=12;break}throw new l.StripeError(n.error);case 12:r=n.setupIntent.payment_method,O(),e.next=26;break;case 16:if(!I){e.next=20;break}r=I,e.next=26;break;case 20:return e.next=22,T.createPaymentMethod(q());case 22:if(!(n=e.sent).error){e.next=25;break}throw new l.StripeError(n.error);case 25:r=n.paymentMethod.id;case 26:return e.abrupt("return",(0,l.ensureSuccessResponse)(x,X(r,_)));case 29:return e.prev=29,e.t0=e.catch(3),console.log(e.t0),L(null),e.abrupt("return",(0,l.ensureErrorResponse)(x,e.t0.error));case 34:case"end":return e.stop()}}),e,null,[[3,29]])}))));return function(){return e()}}),[I,j,p,T,P,g,_]),{setPaymentMethod:L,getCreatePaymentMethodArgs:q,addPaymentMethodData:F}}},6107:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useSetupIntent=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(3038)),s=n(9307),c=r(n(6989)),u=n(1134);t.useSetupIntent=function(e){var t=e.cartTotal,n=e.setError,r=(0,s.useState)((0,u.getFromCache)("setupIntent")),l=(0,i.default)(r,2),p=l[0],d=l[1];(0,s.useEffect)((function(){var e=function(){var e=(0,o.default)(a.default.mark((function e(){var t;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!p){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,(0,c.default)({url:(0,u.getRoute)("create/setup_intent"),method:"POST"});case 4:(t=e.sent).code?n(t.message):((0,u.storeInCache)("setupIntent",t.intent),d(t.intent));case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();(0,u.cartContainsPreOrder)()||(0,u.cartContainsSubscription)()&&0==t.value?p||e():d(null)}),[t.value]);var m=(0,s.useCallback)((function(){(0,u.deleteFromCache)("setupIntent")}),[t.value]);return{setupIntent:p,removeSetupIntent:m}}},2715:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useStripeError=void 0;var a=r(n(3038)),o=n(9307);t.useStripeError=function(){var e=(0,o.useState)(!1),t=(0,a.default)(e,2);return[t[0],t[1]]}},1225:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useUpdatePaymentIntent=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(9713)),s=n(9307),c=n(6664),u=n(1134);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.useUpdatePaymentIntent=function(e){var t=e.clientSecret,n=e.billingData,r=e.eventRegistration,l=e.responseTypes,d=e.name,m=e.shouldSavePayment,f=e.noticeContexts,y=r.onPaymentProcessing,g=r.onCheckoutAfterProcessingWithSuccess,v=(0,s.useRef)({billingData:n}),h=(0,s.useRef)({}),b=(0,c.useStripe)(),P=(0,c.useElements)(),E=(0,s.useCallback)((function(e,t){var n;return{meta:{paymentMethodData:p((n={},(0,i.default)(n,"".concat(d,"_token_key"),e),(0,i.default)(n,"".concat(d,"_save_source_key"),t),n),h.current)}}}),[]),O=(0,s.useCallback)((function(e){h.current=p(p({},h.current),e)}),[]),S=(0,s.useCallback)((0,o.default)(a.default.mark((function e(){var t;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=v.current.billingData,e.next=3,b.updatePaymentIntent({elements:P,params:{payment_method_data:{billing_details:(0,u.getBillingDetailsFromAddress)(t)}}});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)}))),[b,P]),_=(0,s.useCallback)((0,o.default)(a.default.mark((function e(){var t;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=v.current.billingData,e.next=3,b.confirmPayment({elements:P,confirmParams:{payment_method_data:{billing_details:(0,u.getBillingDetailsFromAddress)(t)}},redirect:"if_required"});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)}))),[b,P]);return(0,s.useEffect)((function(){v.current={billingData:n}})),(0,s.useEffect)((function(){var e=y((0,o.default)(a.default.mark((function e(){var n,r;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n=null,e.next=4,b.retrievePaymentIntent(t);case 4:if("requires_action"!==(r=e.sent).paymentIntent.status){e.next=11;break}return n=r.paymentIntent.payment_method,e.next=9,_();case 9:e.next=17;break;case 11:return e.next=13,S();case 13:if(!(r=e.sent).error){e.next=16;break}throw new u.StripeError(r.error);case 16:n=r.paymentIntent.payment_method;case 17:return e.abrupt("return",(0,u.ensureSuccessResponse)(l,E(n,m)));case 20:return e.prev=20,e.t0=e.catch(0),e.abrupt("return",(0,u.ensureErrorResponse)(l,e.t0,{messageContext:f.PAYMENTS}));case 23:case"end":return e.stop()}}),e,null,[[0,20]])}))));return function(){return e()}}),[y,S,_,t,m]),(0,s.useEffect)((function(){var e=g(function(){var e=(0,o.default)(a.default.mark((function e(t){var n;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.redirectUrl,e.next=3,(0,u.handleCardAction)({redirectUrl:n,responseTypes:l,name:d,method:"confirmCardPayment",savePaymentMethod:m});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());return function(){return e()}}),[g,_,m,d]),{updatePaymentIntent:S,addPaymentMethodData:O}}},318:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(9874);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}))},9874:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useLink=void 0;var a=r(n(1284)),o=r(n(9713)),i=r(n(8926)),s=r(n(3038)),c=r(n(6479)),u=n(9307),l=n(6664),p=n(1134);function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var f=(0,p.toCartAddress)();t.useLink=function(e){var t=e.email,n=e.eventRegistration,r=e.onClick,o=e.onSubmit,d=e.isActive,y=e.responseTypes,g=((0,c.default)(e,["email","eventRegistration","onClick","onSubmit","isActive","responseTypes"]),(0,u.useState)()),v=(0,s.default)(g,2),h=v[0],b=v[1],P=(0,l.useStripe)(),E=(0,l.useElements)(),O=(0,u.useRef)(),S=(0,u.useRef)(),_=n.onPaymentProcessing;return(0,u.useEffect)((function(){O.current={onClick:r,onSubmit:o}})),(0,u.useEffect)((function(){P&&E&&b(null==P?void 0:P.linkAutofillModal(E))}),[P,E]),(0,u.useEffect)((function(){h&&h.launch({email:t})}),[h,t]),(0,u.useEffect)((function(){h&&(h.on("autofill",(function(e){S.current=e,O.current.onSubmit()})),h.on("authenticated",(function(e){O.current.onClick()})))}),[h]),(0,u.useEffect)((function(){if(d){var e=_((0,i.default)(a.default.mark((function e(){var t,n,r,o,i,s,c;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={meta:{}},n=S.current.value,r=n.shippingAddress,o=void 0===r?null:r,i=n.billingAddress,(s=void 0===i?null:i)&&(t.meta.billingData=f(m(m({},s.address),{},{recipient:s.name}))),o&&(t.meta.shippingData=f(m(m({},o.address),{},{recipient:o.name}))),e.prev=4,e.next=7,P.updatePaymentIntent({elements:E,params:{payment_method_data:{billing_details:(0,p.getBillingDetailsFromAddress)(t.meta.billingData)}}});case 7:c=e.sent,t.meta.paymentMethodData={stripe_cc_token_key:c.paymentIntent.payment_method,stripe_cc_save_source_key:!1},e.next=14;break;case 11:e.prev=11,e.t0=e.catch(4),console.log(e.t0);case 14:return e.abrupt("return",(0,p.ensureSuccessResponse)(y,t));case 15:case"end":return e.stop()}}),e,null,[[4,11]])}))));return function(){return e()}}}),[d,_,P,E]),h}},3474:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.LinkComponent=void 0;var o=a(n(6479)),i=(n(9307),n(6664)),s=n(4613),c=n(318),u=n(1134),l=(0,u.getSettings)("stripe_link_checkout_data"),p=function(e){var t,n,a=e.cartData,s=(0,o.default)(e,["cartData"]),c=null==a||null===(t=a.extensions)||void 0===t||null===(n=t.stripe_link_checkout)||void 0===n?void 0:n.clientSecret;return c?r.createElement(i.Elements,{stripe:u.initStripe,options:{clientSecret:c}},r.createElement(d,s)):null};t.LinkComponent=p;var d=function(e){var t=e.billing,n=(e.shipping,e.eventRegistration),a=e.onClick,s=e.onSubmit,u=e.activePaymentMethod,p=e.emitResponse,d=((0,o.default)(e,["billing","shipping","eventRegistration","onClick","onSubmit","activePaymentMethod","emitResponse"]),t.billingData),m=(t.currency,p.responseTypes),f=(p.noticeContexts,d.email),y=u===l("name");return(0,c.useLink)({email:f,eventRegistration:n,onClick:a,onSubmit:s,isActive:y,responseTypes:m}),r.createElement("div",{style:{display:"none"}},r.createElement(i.PaymentElement,null))};(0,s.registerExpressPaymentMethod)({name:l("name"),canMakePayment:function(e){return!0},content:r.createElement(p,null),edit:r.createElement(p,null),supports:{showSavedCards:l("showSavedCards"),showSaveOption:l("showSaveOption"),features:l("features")}})},6480:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(6479)),i=a(n(9713)),s=a(n(3038)),c=n(9307),u=n(4613),l=n(1134),p=n(3539),d=n(3187),m=n(6664),f=n(5736),y=n(3554),g=n(8817);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?v(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var b,P=(0,l.getSettings)("stripe_afterpay_data"),E=function(e){var t=e.total,n=e.currency,r=e.needsShipping,a=!1,o=P("requiredParams"),i=P("accountCountry"),s=!!o.hasOwnProperty(n)&&o[n];return s&&(a=i===(null==s?void 0:s[0])&&r&&t>(null==s?void 0:s[1])&&t<(null==s?void 0:s[2])),a},O=function(e){var t=e.getData,n=(0,c.useState)({amount:t("cartTotal"),currency:t("currency"),isEligible:t("msgOptions").isEligible}),a=(0,s.default)(n,2),o=a[0],i=a[1];return b=i,r.createElement(m.Elements,{stripe:l.initStripe,options:t("elementOptions")},r.createElement("div",{className:"wc-stripe-blocks-afterpay__label"},r.createElement(m.AfterpayClearpayMessageElement,{options:h(h({},t("msgOptions")),{amount:o.amount,currency:o.currency,isEligible:o.isEligible})})))},S=function(e){var t=e.content,n=e.billing,a=e.shippingData,i=(0,o.default)(e,["content","billing","shippingData"]),s=t,u=n.cartTotal,l=n.currency,p=a.needsShipping;return(0,c.useEffect)((function(){b({amount:u.value,currency:l.code,isEligible:p})}),[u.value,l.code,p]),r.createElement(r.Fragment,null,p&&r.createElement("div",{className:"wc-stripe-blocks-payment-method-content"},r.createElement("div",{className:"wc-stripe-blocks-afterpay-offsite__container"},r.createElement("div",{className:"wc-stripe-blocks-afterpay__offsite"},r.createElement("img",{src:P("offSiteSrc")}),r.createElement("p",null,(0,f.sprintf)((0,f.__)('After clicking "%s", you will be redirected to Afterpay to complete your purchase securely.',"woo-stripe-payment"),P("placeOrderButtonLabel"))))),r.createElement(s,h(h({},i),{},{billing:n,shippingData:a}))))},_=function(e){var t=e.cart,n=(e.extensions,e.context,t.cartTotals),a=t.cartNeedsShipping,o=(n.total_price,n.currency_code),i=parseInt(n.total_price),s=parseInt(n.total_price)/Math.pow(10,n.currency_minor_unit);return E({total:s,currency:o,needsShipping:a})?r.createElement(y.TotalsWrapper,null,r.createElement(m.Elements,{stripe:l.initStripe,options:P("elementOptions")},r.createElement("div",{className:"wc-stripe-blocks-afterpay-totals__item wc-block-components-totals-item"},r.createElement(m.AfterpayClearpayMessageElement,{options:h(h({},P("msgOptions")),{amount:i,currency:o,isEligible:a})})))):null};P()&&((0,u.registerPaymentMethod)({name:P("name"),label:r.createElement(O,{getData:P}),ariaLabel:(0,f.__)("Afterpay","woo-stripe-payment"),placeOrderButtonLabel:P("placeOrderButtonLabel"),canMakePayment:(0,p.canMakePayment)(P,(function(e){var t=e.settings,n=e.cartTotals,r=e.cartNeedsShipping,a=n.currency_code,o=n.currency_minor_unit,i=n.total_price;b&&b({amount:parseInt(n.total_price),currency:a,isEligible:r});var s=parseInt(i)/Math.pow(10,o),c=E({total:s,currency:a,needsShipping:r});return!c&&!t("hideIneligible")||c})),content:r.createElement(S,{content:p.LocalPaymentIntentContent,getData:P,confirmationMethod:"confirmAfterpayClearpayPayment"}),edit:r.createElement(d.PaymentMethod,{content:p.LocalPaymentIntentContent,getData:P}),supports:{showSavedCards:!1,showSaveOption:!1,features:P("features")}}),(0,g.registerPlugin)("wc-stripe",{render:function(){return r.createElement(y.ExperimentalOrderMeta,null,r.createElement(_,null))},scope:"woocommerce-checkout"}))},39:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(2029),c=n(3187),u=(0,o.getSettings)("stripe_alipay_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"Alipay",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(c.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmAlipayPayment",getData:u}),edit:r.createElement(c.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},8641:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_bancontact_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"Bancontact",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmBancontactPayment",getData:c}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},5176:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_becs_data"),l=function(e){return r.createElement(r.Fragment,null,r.createElement(s.PaymentMethod,e),r.createElement("div",{className:"wc-stripe-blocks-mandate becs-mandate",dangerouslySetInnerHTML:{__html:e.getData("mandate")}}))};u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"BECS",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(l,{content:i.LocalPaymentIntentContent,getData:u,confirmationMethod:"confirmAuBecsDebitPayment",component:c.AuBankAccountElement}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},4990:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(7154)),i=a(n(9713)),s=a(n(3038)),c=a(n(6479)),u=n(9307),l=n(5736),p=n(4613),d=a(n(4184)),m=n(1134),f=n(3539),y=n(3187);function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var h=(0,m.getSettings)("stripe_boleto_data");h()&&(0,p.registerPaymentMethod)({name:h("name"),label:r.createElement(y.PaymentMethodLabel,{title:h("title"),paymentMethod:h("name"),icons:h("icon")}),ariaLabel:"Boleto",placeOrderButtonLabel:h("placeOrderButtonLabel"),canMakePayment:(0,f.canMakePayment)(h),content:r.createElement(y.PaymentMethod,{content:function(e){var t=e.eventRegistration,n=(0,c.default)(e,["eventRegistration"]),a=(0,u.useState)(""),i=(0,s.default)(a,2),p=i[0],y=i[1],g=(0,u.useState)(!1),h=(0,s.default)(g,2),b=h[0],P=h[1],E=t.onPaymentProcessing,O=(0,u.useCallback)((function(){return{boleto:{tax_id:p}}}),[p]);return(0,u.useEffect)((function(){var e=E((function(){return!!p||(0,m.ensureErrorResponse)(n.emitResponse.responseTypes,(0,l.__)("Please enter a valid CPF/CNPJ value","woo-stripe-payment"))}));return function(){return e()}}),[E,p]),r.createElement(r.Fragment,null,r.createElement("div",{className:(0,d.default)("wc-block-components-text-input",{"is-active":b||p})},r.createElement("input",{type:"text",id:"wc-stripe-boleto-tax_id",onChange:function(e){return y(e.target.value)},onFocus:function(){return P(!0)},onBlur:function(){return P(!1)}}),r.createElement("label",{htmlFor:"wc-stripe-boleto-tax_id"},(0,l.__)(" CPF / CNPJ"," woo-stripe-payment"))),(0,m.isTestMode)()&&r.createElement("div",{className:"wc-stripe-boleto__description"},r.createElement("p",null,(0,l.__)("Test mode values","woo-stripe-payment")),r.createElement("div",null,r.createElement("label",null,"CPF:")," ",r.createElement("span",null,"000.000.000-00")),r.createElement("div",null,r.createElement("label",null,"CNPJ:")," ",r.createElement("span",null,"00.000.000/0000-00"))),!(0,m.isTestMode)()&&r.createElement("div",{className:"wc-stripe-boleto__description"},r.createElement("p",null,(0,l.__)("Accepted formats","woo-stripe-payment")),r.createElement("div",null,r.createElement("label",null,"CPF:")," ",r.createElement("span",null,(0,l.__)("XXX.XXX.XXX-XX or XXXXXXXXXXX","woo-stripe-payment"))),r.createElement("div",null,r.createElement("label",null,"CNPJ:")," ",r.createElement("span",null,(0,l.__)("XX.XXX.XXX/XXXX-XX or XXXXXXXXXXXXXX","woo-stripe-payment")))),r.createElement(f.LocalPaymentIntentContent,(0,o.default)({callback:O},v(v({},n),{eventRegistration:t}))))},getData:h,confirmationMethod:"confirmBoletoPayment"}),edit:r.createElement(y.PaymentMethod,{content:f.LocalPaymentIntentContent,getData:h}),supports:{showSavedCards:!1,showSaveOption:!1,features:h("features")}})},4494:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_eps_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"EPS",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmEpsPayment",component:c.EpsBankElement,getData:u}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},4031:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_fpx_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"FPX",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u,confirmationMethod:"confirmIdealPayment",component:c.FpxBankElement}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},3817:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_giropay_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"Giropay",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmGiropayPayment",getData:c}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},3140:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_grabpay_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"GrabPay",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c,confirmationMethod:"confirmGrabPayPayment"}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},8522:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(3160);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(3994);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(878);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}))},3160:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useAfterProcessLocalPayment=void 0;var a=r(n(1284)),o=r(n(9713)),i=r(n(6479)),s=r(n(8926)),c=n(9307),u=n(6664),l=n(1134);function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.useAfterProcessLocalPayment=function(e){var t=e.getData,n=e.billingData,r=e.eventRegistration,o=e.responseTypes,p=e.activePaymentMethod,m=e.confirmationMethod,f=e.getPaymentMethodArgs,y=void 0===f?function(){return{}}:f,g=(0,u.useStripe)(),v=r.onCheckoutAfterProcessingWithSuccess,h=r.onCheckoutAfterProcessingWithError,b=(0,c.useRef)(n),P=(0,c.useRef)(y);(0,c.useEffect)((function(){b.current=n}),[n]),(0,c.useEffect)((function(){P.current=y}),[y]),(0,c.useEffect)((function(){var e=v(function(){var e=(0,s.default)(a.default.mark((function e(n){var r,s,c,u,f,y,v;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.redirectUrl,t("name")!==p){e.next=18;break}if(e.prev=2,!(s=r.match(/#response=(.+)/))){e.next=12;break}return c=JSON.parse(window.atob(decodeURIComponent(s[1]))),u=c.client_secret,f=c.return_url,y=(0,i.default)(c,["client_secret","return_url"]),e.next=8,g[m](u,{payment_method:d({billing_details:(0,l.getBillingDetailsFromAddress)(b.current)},P.current(b.current)),return_url:f});case 8:if(!(v=e.sent).error){e.next=11;break}throw new l.StripeError(v.error);case 11:window.location=decodeURI(y.order_received_url);case 12:e.next=18;break;case 14:return e.prev=14,e.t0=e.catch(2),console.log(e.t0),e.abrupt("return",(0,l.ensureErrorResponse)(o,e.t0.error));case 18:case"end":return e.stop()}}),e,null,[[2,14]])})));return function(t){return e.apply(this,arguments)}}());return function(){return e()}}),[g,v,h])}},878:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useCreateSource=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(9713)),s=r(n(3038)),c=n(9307),u=n(1134),l=n(6664),p=n(5736);t.useCreateSource=function(e){var t=e.getData,n=e.billing,r=e.shippingAddress,d=e.onPaymentProcessing,m=e.responseTypes,f=e.getSourceArgs,y=void 0!==f&&f,g=e.element,v=void 0!==g&&g,h=(0,c.useState)(!1),b=(0,s.default)(h,2),P=b[0],E=b[1],O=(0,c.useState)(!1),S=(0,s.default)(O,2),_=S[0],w=S[1],C=(0,c.useRef)({billing:n,shippingAddress:r}),M=(0,l.useStripe)(),k=(0,l.useElements)();(0,c.useEffect)((function(){C.current={billing:n,shippingAddress:r}}));var j=(0,c.useCallback)((function(){var e=C.current.billing,n=e.cartTotal,r=e.currency,a=e.billingData,o=(0,u.getDefaultSourceArgs)({type:t("paymentType"),amount:n.value,billingData:a,currency:r.code,returnUrl:t("returnUrl")});return y&&(o=y(o,{billingData:a})),o}),[]),D=(0,c.useCallback)((function(e){return{meta:{paymentMethodData:(0,i.default)({},"".concat(t("name"),"_token_key"),e)}}}),[]);return(0,c.useEffect)((function(){var e=d((0,o.default)(a.default.mark((function e(){var t;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!P){e.next=2;break}return e.abrupt("return",(0,u.ensureSuccessResponse)(m,D(P.id)));case 2:if(e.prev=2,!v){e.next=11;break}if(_){e.next=6;break}throw(0,p.__)("Please enter your payment info before proceeding.","woo-stripe-payment");case 6:return e.next=8,M.createSource(k.getElement(v),j());case 8:t=e.sent,e.next=14;break;case 11:return e.next=13,M.createSource(j());case 13:t=e.sent;case 14:if(!t.error){e.next=16;break}throw new u.StripeError(t.error);case 16:return E(t.source),e.abrupt("return",(0,u.ensureSuccessResponse)(m,D(t.source.id)));case 20:return e.prev=20,e.t0=e.catch(2),console.log(e.t0),e.abrupt("return",(0,u.ensureErrorResponse)(m,e.t0.error||e.t0));case 24:case"end":return e.stop()}}),e,null,[[2,20]])}))));return function(){return e()}}),[P,d,M,m,v,_,w]),{setIsValid:w}}},3994:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useValidateCheckout=void 0;var a=r(n(3038)),o=n(9307),i=n(1134),s=n(5736);t.useValidateCheckout=function(e){var t=e.subscriber,n=e.responseTypes,r=e.component,c=void 0===r?null:r,u=e.msg,l=void 0===u?(0,s.__)("Please enter your payment info before proceeding.","woo-stripe-payment"):u,p=(0,o.useState)(!1),d=(0,a.default)(p,2),m=d[0],f=d[1];return(0,o.useEffect)((function(){var e=t((function(){return!(c&&!m)||(0,i.ensureErrorResponse)(n,l)}));return function(){return e()}}),[t,m,f,n,c]),{isValid:m,setIsValid:f}}},9474:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_ideal_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"Ideal",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u,confirmationMethod:"confirmIdealPayment",component:c.IdealBankElement}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},9738:(e,t,n)=>{n(5142),n(9474),n(3868),n(8641),n(3817),n(4494),n(4784),n(1192),n(7894),n(3766),n(4031),n(5176),n(3140),n(39),n(6480),n(4990),n(5748)},5142:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(5736),u=(0,o.getSettings)("stripe_klarna_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"Klarna",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u,(function(e){var t=e.settings,n=e.billingData,r=e.cartTotals,a=n.country,o=r.currency_code,i=t("requiredParams");return[o]in i&&i[o].includes(a)})),content:r.createElement(s.PaymentMethod,{content:function(e){return r.createElement(r.Fragment,null,(0,o.isTestMode)()&&r.createElement("div",{className:"wc-stripe-klarna__testmode"},r.createElement("label",null,(0,c.__)("Test mode sms","woo-stripe-payment"),":")," ",r.createElement("span",null,"123456")),r.createElement(i.LocalPaymentIntentContent,e))},getData:u,confirmationMethod:"confirmKlarnaPayment"}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},3539:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.LocalPaymentSourceContent=t.LocalPaymentIntentContent=t.canMakePayment=void 0;var o=a(n(7154)),i=a(n(9713)),s=a(n(6479)),c=n(9307),u=n(6664),l=n(1134),p=n(8522),d=n(3636);function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?m(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.canMakePayment=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(n){var r=n.billingData,a=n.cartTotals,o=(0,s.default)(n,["billingData","cartTotals"]),i=a.currency_code,c=r.country,u=e("countries"),p=e("allowedCountries"),d=e("features"),m=!1;if(e("isAdmin"))m=!0;else{if((0,l.cartContainsSubscription)()&&!d.includes("subscriptions"))return!1;if((0,l.cartContainsPreOrder)()&&!d.includes("pre-orders"))return!1;e("currencies").includes(i)&&(m="all_except"===p?!e("exceptCountries").includes(c):"specific"===p?e("specificCountries").includes(c):!(u.length>0)||u.includes(c)),t&&m&&(m=t(f({settings:e,billingData:r,cartTotals:a},o)))}return m}},t.LocalPaymentIntentContent=function(e){var t=e.getData,n=(0,s.default)(e,["getData"]);return r.createElement(u.Elements,{stripe:l.initStripe,options:t("elementOptions")},r.createElement(g,f(f({},n),{},{getData:t})))},t.LocalPaymentSourceContent=function(e){return r.createElement(u.Elements,{stripe:l.initStripe},r.createElement(y,e))};var y=function(e){var t=e.getData,n=e.billing,a=e.shippingData,o=e.emitResponse,i=e.eventRegistration,s=e.getSourceArgs,c=void 0!==s&&s,u=e.element,l=void 0!==u&&u,d=a.shippingAddress,m=i.onPaymentProcessing,f=(i.onCheckoutAfterProcessingWithError,o.responseTypes),y=(o.noticeContexts,(0,p.useCreateSource)({getData:t,billing:n,shippingAddress:d,onPaymentProcessing:m,responseTypes:f,getSourceArgs:c,element:l}).setIsValid);return l?r.createElement(v,{name:t("name"),options:t("paymentElementOptions"),onChange:function(e){y(e.complete)},element:l}):null},g=function(e){var t=e.getData,n=e.billing,a=e.emitResponse,o=e.eventRegistration,s=e.activePaymentMethod,l=e.confirmationMethod,m=void 0===l?null:l,f=e.component,y=void 0===f?null:f,g=e.callback,h=void 0===g?null:g,b=(0,u.useElements)(),P=n.billingData,E=o.onPaymentProcessing,O=o.onCheckoutAfterProcessingWithError,S=a.responseTypes,_=a.noticeContexts,w=(0,c.useCallback)((function(e){return y?(0,i.default)({},t("paymentType"),b.getElement(y)):h?h(e):{}}),[b,h]),C=(0,p.useValidateCheckout)({subscriber:E,responseTypes:S,component:y}).setIsValid;return(0,p.useAfterProcessLocalPayment)({getData:t,billingData:P,eventRegistration:o,responseTypes:S,activePaymentMethod:s,confirmationMethod:m,getPaymentMethodArgs:w}),(0,d.useProcessCheckoutError)({responseTypes:S,subscriber:O,messageContext:_.PAYMENT}),y?r.createElement(v,{name:t("name"),options:t("paymentElementOptions"),onChange:function(e){return C(!e.empty)},element:y,callback:h}):null},v=function(e){var t=e.name,n=e.onChange,a=e.element,i=e.options,c=(0,s.default)(e,["name","onChange","element","options"]),u=a;return r.createElement("div",{className:"wc-stripe-local-payment-container ".concat(t," ").concat(u.displayName)},r.createElement(u,(0,o.default)({options:i,onChange:n},c)))}},4784:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_multibanco_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"MultiBanco",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentSourceContent,getData:c}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentSourceContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},5748:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(n(6664),(0,o.getSettings)("stripe_oxxo_data"));c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"OXXO",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c,confirmationMethod:"confirmOxxoPayment"}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},3868:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_p24_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"P24",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u,confirmationMethod:"confirmP24Payment",component:c.P24BankElement}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},1192:(e,t,n)=>{var r,a=n(9307),o=n(4613),i=n(1134),s=n(3187),c=n(3539),u=n(6664),l=(0,i.getSettings)("stripe_sepa_data"),p=(r=s.PaymentMethod,function(e){return a.createElement(a.Fragment,null,a.createElement(r,e),a.createElement("div",{className:"wc-stripe-blocks-mandate sepa-mandate",dangerouslySetInnerHTML:{__html:e.getData("mandate")}}))});l()&&(0,o.registerPaymentMethod)({name:l("name"),label:a.createElement(s.PaymentMethodLabel,{title:l("title"),paymentMethod:l("name"),icons:l("icon")}),ariaLabel:"SEPA",placeOrderButtonLabel:l("placeOrderButtonLabel"),canMakePayment:(0,c.canMakePayment)(l),content:a.createElement(p,{content:c.LocalPaymentIntentContent,getData:l,confirmationMethod:"confirmSepaDebitPayment",component:u.IbanElement}),edit:a.createElement(s.PaymentMethod,{content:c.LocalPaymentIntentContent,getData:l}),supports:{showSavedCards:!1,showSaveOption:!1,features:l("features")}})},7894:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_sofort_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"Sofort",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmSofortPayment",getData:c,callback:function(e){return{sofort:{country:e.country}}}}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},3766:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(1284)),i=a(n(8926)),s=a(n(9713)),c=a(n(3038)),u=n(9307),l=n(4613),p=n(1134),d=n(3187),m=n(3539),f=n(6664),y=n(8522),g=n(5736),v=n(3636),h=(0,p.getSettings)("stripe_wechat_data"),b=function(e){return r.createElement(f.Elements,{stripe:p.initStripe},r.createElement(P,e))},P=function(e){var t=e.getData,n=e.billing,a=(e.shippingData,e.emitResponse),o=e.eventRegistration,i=e.components,s=parseInt(t("qrSize")),c=a.responseTypes,l=o.onPaymentProcessing,d=o.onCheckoutAfterProcessingWithSuccess,m=i.ValidationInputError,f=(0,y.useValidateCheckout)({subscriber:o.onPaymentProcessing,responseTypes:a.responseTypes,msg:(0,g.__)("Please scan your QR code to continue with payment.","woo-stripe-payment")}),v=(f.isValid,f.setIsValid),h=O({getData:t,billing:n,responseTypes:c,subscriber:l}),b=h.source,P=h.error,S=h.deleteSourceFromStorage;return(0,u.useEffect)((function(){var e=d((function(){return S(),(0,p.ensureSuccessResponse)(c)}));return function(){return e()}}),[b,d,S]),(0,u.useEffect)((function(){b&&v(!0)}),[b]),b?r.createElement(E,{text:b.wechat.qr_code_url,width:s,height:s}):P?r.createElement("div",{className:"wechat-validation-error"},r.createElement(m,{errorMessage:(0,p.getErrorMessage)(P)})):(0,p.isAddressValid)(n.billingData)?null:(0,g.__)("Please fill out all the required fields in order to complete the WeChat payment.","woo-stripe-payment")},E=function(e){var t=e.text,n=e.width,a=void 0===n?128:n,o=e.height,i=void 0===o?128:o,s=e.colorDark,c=void 0===s?"#424770":s,l=e.colorLight,d=void 0===l?"#f8fbfd":l,m=e.correctLevel,f=void 0===m?QRCode.CorrectLevel.H:m,y=(0,u.useRef)();return(0,u.useEffect)((function(){new QRCode(y.current,{text:t,width:a,height:i,colorDark:c,colorLight:d,correctLevel:f})}),[y]),r.createElement(r.Fragment,null,r.createElement("div",{id:"wc-stripe-block-qrcode",ref:y}),(0,p.isTestMode)()&&r.createElement("p",null,(0,g.__)("Test mode: Click the Place Order button to proceed.","woo-stripe-payment")),!(0,p.isTestMode)()&&r.createElement("p",null,(0,g.__)("Scan the QR code using your WeChat app. Once scanned click the Place Order button.","woo-stripe-payment")))},O=function(e){var t=e.getData,n=e.billing,r=e.responseTypes,a=e.subscriber,l=(0,f.useStripe)(),d=(0,v.useStripeError)(),m=(0,c.default)(d,2),y=m[0],g=m[1],h=(0,u.useState)((0,p.getFromCache)("wechat:source")),b=(0,c.default)(h,2),P=b[0],E=b[1],O=(0,u.useRef)(null),S=n.cartTotal,_=n.billingData,w=n.currency;(0,u.useEffect)((function(){var e=a((function(){return(0,p.ensureSuccessResponse)(r,{meta:{paymentMethodData:(0,s.default)({},"".concat(t("name"),"_token_key"),P.id)}})}));return function(){return e()}}),[P,a]);var C=(0,u.useCallback)((0,i.default)(o.default.mark((function e(){var n;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,y||!(0,p.isAddressValid)(_)){e.next=9;break}return e.next=4,l.createSource((0,p.getDefaultSourceArgs)({type:t("paymentType"),amount:S.value,billingData:_,currency:w.code,returnUrl:t("returnUrl")}));case 4:if(!(n=e.sent).error){e.next=7;break}throw new p.StripeError(n.error);case 7:E(n.source),(0,p.storeInCache)("wechat:source",n.source);case 9:e.next=15;break;case 11:e.prev=11,e.t0=e.catch(0),console.log("error: ",e.t0),g(e.t0.error);case 15:case"end":return e.stop()}}),e,null,[[0,11]])}))),[l,P,S.value,_,w,y]),M=(0,u.useCallback)((function(){(0,p.deleteFromCache)("wechat:source")}),[]);return(0,u.useEffect)((function(){l&&!P&&(clearTimeout(O.current),O.current=setTimeout(C,1e3))}),[l,P,C]),{source:P,setSource:E,error:y,deleteSourceFromStorage:M}};h()&&(0,l.registerPaymentMethod)({name:h("name"),label:r.createElement(d.PaymentMethodLabel,{title:h("title"),paymentMethod:h("name"),icons:h("icon")}),ariaLabel:"WeChat",canMakePayment:(0,m.canMakePayment)(h),content:r.createElement(d.PaymentMethod,{content:b,getData:h}),edit:r.createElement(d.PaymentMethod,{content:b,getData:h}),supports:{showSavedCards:!1,showSaveOption:!1,features:h("features")}})},5180:(e,t,n)=>{n(3139),n(3726)},3726:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(3038)),i=a(n(6479)),s=n(9307),c=n(4613),u=n(1134),l=n(3636),p=n(6664),d=(0,u.getSettings)("stripe_payment_request_data"),m=function(e){return r.createElement("div",{className:"wc-stripe-payment-request-container"},r.createElement(p.Elements,{stripe:u.initStripe},r.createElement(f,e)))},f=function(e){var t=e.getData,n=e.onClick,a=e.onClose,c=e.billing,u=e.shippingData,d=e.eventRegistration,m=e.emitResponse,f=e.onSubmit,y=e.activePaymentMethod,g=((0,i.default)(e,["getData","onClick","onClose","billing","shippingData","eventRegistration","emitResponse","onSubmit","activePaymentMethod"]),d.onPaymentProcessing),v=m.responseTypes,h=m.noticeContexts,b=(0,p.useStripe)(),P=(0,l.useStripeError)(),E=(0,o.default)(P,1)[0],O=(0,l.useExportedValues)();(0,l.useExpressBreakpointWidth)({payment_method:t("name"),width:300});var S=(0,l.useProcessPaymentIntent)({getData:t,billing:c,shippingData:u,onPaymentProcessing:g,emitResponse:m,error:E,onSubmit:f,activePaymentMethod:y,exportedValues:O}).setPaymentMethod;(0,l.useAfterProcessingPayment)({getData:t,eventRegistration:d,responseTypes:v,activePaymentMethod:y,messageContext:h.EXPRESS_PAYMENTS});var _=(0,l.usePaymentRequest)({getData:t,onClose:a,stripe:b,billing:c,shippingData:u,eventRegistration:d,setPaymentMethod:S,exportedValues:O,canPay:function(e){return null!=e&&!e.applePay}}).paymentRequest,w=(0,s.useMemo)((function(){return{paymentRequest:_,style:{paymentRequestButton:t("paymentRequestButton")}}}),[_]);return _?r.createElement(p.PaymentRequestButtonElement,{options:w,onClick:n}):null},y=function(e){e.getData,(0,i.default)(e,["getData"]);var t=(0,s.useRef)();return(0,s.useEffect)((function(){var e=window.devicePixelRatio;t.current.width=20*e,t.current.height=20*e;var n=t.current.getContext("2d");n.scale(e,e),n.beginPath(),n.arc(10,10,10,0,2*Math.PI),n.fillStyle="#986fff",n.fill()})),r.createElement("div",{className:"payment-request-block-editor"},r.createElement("div",{className:"icon-container"},r.createElement("span",null,"Buy now"),r.createElement("canvas",{className:"PaymentRequestButton-icon",ref:t}),r.createElement("i",{className:"payment-request-arrow"})))};(0,c.registerExpressPaymentMethod)({name:d("name"),canMakePayment:function(e){var t=e.cartTotals;if(d("isAdmin"))return!0;var n=t.currency_code,r=t.total_price;return(0,u.canMakePayment)({country:d("countryCode"),currency:n.toLowerCase(),total:{label:d("totalLabel"),amount:parseInt(r)}},(function(e){return null!=e&&!e.applePay}))},content:r.createElement(m,{getData:d}),edit:r.createElement(y,{getData:d}),supports:{showSavedCards:d("showSavedCards"),showSaveOption:d("showSaveOption"),features:d("features")}})},1065:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(1284)),o=r(n(8926)),i=n(9307),s=n(1134);t.default=function(e){var t=e.eventRegistration,n=e.emitResponse,r=e.getData,c=e.method,u=void 0===c?"handleCardAction":c,l=t.onCheckoutAfterProcessingWithSuccess,p=n.responseTypes,d=(0,i.useCallback)(function(){var e=(0,o.default)(a.default.mark((function e(t){var n;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.redirectUrl,e.next=3,(0,s.handleCardAction)({redirectUrl:n,getData:r,responseTypes:p,method:u});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[]);return(0,i.useEffect)((function(){var e=l(d);return function(){return e()}}),[l,d]),null}},1134:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.isNextActionRequired=t.isCheckoutPage=t.isCartPage=t.versionCompare=t.deleteFromCache=t.getFromCache=t.storeInCache=t.isTestMode=t.getDefaultSourceArgs=t.cartContainsSubscription=t.cartContainsPreOrder=t.getLocalPaymentMethods=t.registerLocalPaymentMethod=t.canMakePayment=t.getDisplayItems=t.getShippingOptionId=t.getShippingOptions=t.formatPrice=t.filterEmptyValues=t.getIntermediateAddress=t.toCartAddress=t.handleCardAction=t.isUserLoggedIn=t.hasShippingRates=t.getSelectedShippingOption=t.isFieldRequired=t.getLocaleFields=t.isAddressValid=t.removeNumberPrecision=t.isEmpty=t.StripeError=t.getSettings=t.getBillingDetailsFromAddress=t.getErrorMessage=t.ensureErrorResponse=t.ensureSuccessResponse=t.getRoute=t.getCreditCardForm=t.registerCreditCardForm=t.initStripe=void 0;var a=r(n(319)),o=r(n(1284)),i=r(n(8926)),s=r(n(3038)),c=r(n(8)),u=r(n(4575)),l=r(n(2205)),p=r(n(8585)),d=r(n(9754)),m=r(n(5957)),f=r(n(9713)),y=r(n(6479)),g=n(4465),v=n(4617),h=r(n(6989)),b=n(4293);function P(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?E(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){s=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(s)throw o}}}}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function O(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function S(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?O(Object(n),!0).forEach((function(t){(0,f.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var _=(0,v.getSetting)("stripeGeneralData"),w=_.publishableKey,C=_.stripeParams,M=(0,v.getSetting)("stripeErrorMessages"),k=(0,v.getSetting)("countryLocale",{}),j=/^([\w]+)\:(.+)$/,D=(0,v.getSetting)("stripeGeneralData").routes,x={},R=[],A={recipient:function(e,t){return e.first_name=t.split(" ").slice(0,-1).join(" "),e.last_name=t.split(" ").pop(),e},payerName:function(e,t){return e.first_name=t.split(" ").slice(0,-1).join(" "),e.last_name=t.split(" ").pop(),e},country:"country",addressLine:function(e,t){return t[0]&&(e.address_1=t[0]),t[1]&&(e.address_2=t[1]),e},line1:"address_1",line2:"address_2",city:"city",region:"state",state:"state",postalCode:"postcode",postal_code:"postcode",payerEmail:"email",payerPhone:"phone"},I=new Promise((function(e,t){(0,g.loadStripe)(w,C).then((function(t){e(t)})).catch((function(t){e({error:t})}))}));t.initStripe=I,t.registerCreditCardForm=function(e){var t=e.id,n=(0,y.default)(e,["id"]);x[t]=n},t.getCreditCardForm=function(e){return x.hasOwnProperty(e)?x[e]:{}};var L=function(e){return null!=D&&D[e]?D[e]:console.log("".concat(e," is not a valid route"))};t.getRoute=L;var T=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return S({type:e.SUCCESS},t)};t.ensureSuccessResponse=T;var N=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return S({type:e.ERROR,message:B(t)},n)};t.ensureErrorResponse=N;var B=function(e){return"string"==typeof e?e:null!=e&&e.code&&null!=M&&M[e.code]?M[e.code]:null!=e&&e.statusCode?null!=M&&M[e.statusCode]?M[e.statusCode]:e.statusMessage:e.message};t.getErrorMessage=B;var F=function(e){var t={name:"".concat(e.first_name," ").concat(e.last_name),address:{city:e.city||null,country:e.country||null,line1:e.address_1||null,line2:e.address_2||null,postal_code:e.postcode||null,state:e.state||null}};return null!=e&&e.phone&&(t.phone=e.phone),null!=e&&e.email&&(t.email=e.email),t};t.getBillingDetailsFromAddress=F,t.getSettings=function(e){return function(t){return t?(0,v.getSetting)(e)[t]:(0,v.getSetting)(e)}};var q=function(e){(0,l.default)(a,e);var t,n,r=(t=a,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,d.default)(t);if(n){var a=(0,d.default)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,p.default)(this,e)});function a(e){var t;return(0,u.default)(this,a),(t=r.call(this,e.message)).error=e,t}return a}((0,m.default)(Error));t.StripeError=q;var X=function(e){return"string"==typeof e?0==e.length||""==e:Array.isArray(e)?0==array.length:"object"!==(0,c.default)(e)||0==Object.keys(e).length};t.isEmpty=X,t.removeNumberPrecision=function(e,t){return e/Math.pow(10,t)},t.isAddressValid=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=U(e.country),r=0,a=Object.entries(e);r<a.length;r++){var o=(0,s.default)(a[r],2),i=o[0],c=o[1];if(!t.includes(i)&&null!=n&&n[i]&&n[i].required&&X(c))return!1}return!0};var U=function(e){var t=S({},k.default);return e&&null!=k&&k[e]&&(t=Object.entries(k[e]).reduce((function(e,t){var n=(0,s.default)(t,2),r=n[0],a=n[1];return e[r]=S(S({},e[r]),a),e}),t),["phone","email"].forEach((function(e){var n=document.getElementById(e);n&&(t[e]={required:n.required})}))),t};t.getLocaleFields=U,t.isFieldRequired=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=U(t);return[e]in n&&n[e].required},t.getSelectedShippingOption=function(e){var t=e.match(j);if(t){var n=t[1];return[t[2],n]}return[]},t.hasShippingRates=function(e){return e.map((function(e){return e.shipping_rates.length>0})).filter(Boolean).length>0},t.isUserLoggedIn=function(e){return e>0};var V=function(){var e=(0,i.default)(o.default.mark((function e(t){var n,r,a,i,s,c,u,l,p,d,m,y,g,v,b,P;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.redirectUrl,r=t.responseTypes,a=t.name,i=t.method,s=void 0===i?"handleCardAction":i,c=t.savePaymentMethod,u=void 0!==c&&c,e.prev=1,!(l=n.match(/#response=(.+)/))){e.next=22;break}return p=JSON.parse(window.atob(decodeURIComponent(l[1]))),d=p.client_secret,m=p.order_id,y=p.order_key,e.next=7,I;case 7:return g=e.sent,e.next=10,g[s](d);case 10:if(!(v=e.sent).error){e.next=13;break}return e.abrupt("return",N(r,v.error));case 13:return b=(0,f.default)({order_id:m,order_key:y},"".concat(a,"_save_source_key"),u),e.next=16,(0,h.default)({url:L("process/payment"),method:"POST",data:b});case 16:if(!(P=e.sent).messages){e.next=19;break}return e.abrupt("return",N(r,P.messages));case 19:return e.abrupt("return",T(r,{redirectUrl:P.redirect}));case 22:return e.abrupt("return",T(r));case 23:e.next=29;break;case 25:return e.prev=25,e.t0=e.catch(1),console.log(e.t0),e.abrupt("return",N(r,e.t0));case 29:case"end":return e.stop()}}),e,null,[[1,25]])})));return function(t){return e.apply(this,arguments)}}();t.handleCardAction=V,t.toCartAddress=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:A;return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={};t=S(S({},t),W(n));for(var a=0,o=Object.entries(e);a<o.length;a++){var i,c=(0,s.default)(o[a],2),u=c[0],l=c[1];null!==(i=t)&&void 0!==i&&i[u]&&("function"==typeof l?l(r,t[u]):r[l]=t[u])}return r}},t.getIntermediateAddress=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["city","postcode","state","country"],r={},a=P(n);try{for(a.s();!(t=a.n()).done;){var o=t.value;r[o]=e[o]}}catch(e){a.e(e)}finally{a.f()}return r};var W=function(e){return Object.keys(e).filter((function(t){return Boolean(e[t])})).reduce((function(t,n){return S(S({},t),{},(0,f.default)({},n,e[n]))}),{})};t.filterEmptyValues=W;var Y=function(e,t){var n,r=(0,b.getCurrency)(t),a=r.prefix,o=r.suffix,i=r.decimalSeparator,s=r.minorUnit,c=r.thousandSeparator;if(""==e||void 0===e)return e;e="string"==typeof e?parseInt(e,10):e;var u="",l=(e=(e/=Math.pow(10,s)).toString().replace(".",i)).indexOf(i);l<0?s>0&&(e+="".concat(i).concat(new Array(s+1).join("0"))):(u=e.substr(l+1)).length<s&&(e+=new Array(s-u.length+1).join("0"));var p=e.match(new RegExp("(\\d+)\\".concat(i,"(\\d+)")));return p&&(e=p[1],u=p[2]),e=e.replace(new RegExp("\\B(?=(\\d{3})+(?!\\d))","g"),"".concat(c)),a+(e=(null===(n=u)||void 0===n?void 0:n.length)>0?e+i+u:e)+o};t.formatPrice=Y,t.getShippingOptions=function(e){var t=[];return e.forEach((function(e,n){e.shipping_rates.sort((function(e){return e.selected?-1:1}));var r=e.shipping_rates.map((function(e){var t=document.createElement("textarea");return t.innerHTML=e.name,Y(e.price,e.currency_code),{id:H(n,e.rate_id),label:t.value,amount:parseInt(e.price,10)}}));t=[].concat((0,a.default)(t),(0,a.default)(r))})),t};var H=function(e,t){return"".concat(e,":").concat(t)};t.getShippingOptionId=H,t.getDisplayItems=function(e,t){t.minorUnit;var n=[],r=["total_tax","total_shipping"];return e.forEach((function(e){(0<e.value||e.key&&r.includes(e.key))&&n.push({label:e.label,pending:!1,amount:e.value})})),n};var G={};t.canMakePayment=function(e,t){var n=e.country,r=e.currency,a=e.total;return new Promise((function(e,o){var i=[n,r,a.amount].reduce((function(e,t){return"".concat(e,"-").concat(t)}));return r?i in G?e(G[i]):I.then((function(s){if(s.error)return o(s.error);s.paymentRequest({country:n,currency:r,total:a}).canMakePayment().then((function(n){return G[i]=t(n),e(G[i])}))})).catch(o):e(!1)}))},t.registerLocalPaymentMethod=function(e){R.push(e)},t.getLocalPaymentMethods=function(){return R},t.cartContainsPreOrder=function(){var e=(0,v.getSetting)("stripePaymentData");return e&&e.pre_order},t.cartContainsSubscription=function(){var e=(0,v.getSetting)("stripePaymentData");return e&&e.subscription},t.getDefaultSourceArgs=function(e){var t=e.type,n=e.amount,r=e.billingData,a=e.currency,o=e.returnUrl;return{type:t,amount:n,currency:a,owner:F(r),redirect:{return_url:o}}},t.isTestMode=function(){return"test"===(0,v.getSetting)("stripeGeneralData").mode};var J=function(e){return"".concat("stripe:").concat(e)};t.storeInCache=function(e,t){var n=Math.floor((new Date).getTime()/1e3)+900;"sessionStorage"in window&&sessionStorage.setItem(J(e),JSON.stringify({value:t,exp:n}))},t.getFromCache=function(e){if("sessionStorage"in window)try{var t=JSON.parse(sessionStorage.getItem(J(e)));if(t){var n=t.value,r=t.exp;if(!(Math.floor((new Date).getTime()/1e3)>r))return n;z(J(e))}}catch(e){}return null};var z=function(e){"sessionStorage"in window&&sessionStorage.removeItem(J(e))};t.deleteFromCache=z,t.versionCompare=function(e,t,n){switch(n){case"<":return e<t;case">":return e>t;case"<=":return e<=t;case">=":return e>=t;case"=":return e==t}return!1},t.isCartPage=function(){return"cart"===(0,v.getSetting)("stripeGeneralData").page},t.isCheckoutPage=function(){return"checkout"===(0,v.getSetting)("stripeGeneralData").page},t.isNextActionRequired=function(e){var t=e.match(/#response=(.+)/),n=null;return t&&(n=JSON.parse(window.atob(decodeURIComponent(t[1])))),n}},4184:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)&&n.length){var i=a.apply(null,n);i&&e.push(i)}else if("object"===o)for(var s in n)r.call(n,s)&&n[s]&&e.push(s)}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(n=function(){return a}.apply(t,[]))||(e.exports=n)}()},1465:()=>{},7776:()=>{},4836:()=>{},85:()=>{},3110:()=>{},8356:()=>{},5773:()=>{},9509:()=>{},3139:()=>{}}]);
3
  //# sourceMappingURL=commons.js.map
1
  /*! For license information please see commons.js.LICENSE.txt */
2
+ (self.webpackChunkwc_stripe=self.webpackChunkwc_stripe||[]).push([[351],{7228:e=>{e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}},2858:e=>{e.exports=function(e){if(Array.isArray(e))return e}},3646:(e,t,n)=>{var r=n(7228);e.exports=function(e){if(Array.isArray(e))return r(e)}},1506:e=>{e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},8926:e=>{function t(e,t,n,r,a,o,i){try{var s=e[o](i),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,a)}e.exports=function(e){return function(){var n=this,r=arguments;return new Promise((function(a,o){var i=e.apply(n,r);function s(e){t(i,a,o,s,c,"next",e)}function c(e){t(i,a,o,s,c,"throw",e)}s(void 0)}))}}},4575:e=>{e.exports=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},9100:(e,t,n)=>{var r=n(9489),a=n(7067);function o(t,n,i){return a()?e.exports=o=Reflect.construct:e.exports=o=function(e,t,n){var a=[null];a.push.apply(a,t);var o=new(Function.bind.apply(e,a));return n&&r(o,n.prototype),o},o.apply(null,arguments)}e.exports=o},3913:e=>{function t(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}e.exports=function(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),e}},9713:e=>{e.exports=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}},7154:e=>{function t(){return e.exports=t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},t.apply(this,arguments)}e.exports=t},9754:e=>{function t(n){return e.exports=t=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},t(n)}e.exports=t},2205:(e,t,n)=>{var r=n(9489);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}},5318:e=>{e.exports=function(e){return e&&e.__esModule?e:{default:e}}},430:e=>{e.exports=function(e){return-1!==Function.toString.call(e).indexOf("[native code]")}},7067:e=>{e.exports=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}},6860:e=>{e.exports=function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}},3884:e=>{e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,a=!1,o=void 0;try{for(var i,s=e[Symbol.iterator]();!(r=(i=s.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){a=!0,o=e}finally{try{r||null==s.return||s.return()}finally{if(a)throw o}}return n}}},521:e=>{e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},8206:e=>{e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},6479:(e,t,n)=>{var r=n(7316);e.exports=function(e,t){if(null==e)return{};var n,a,o=r(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)n=i[a],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}},7316:e=>{e.exports=function(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}},8585:(e,t,n)=>{var r=n(8),a=n(1506);e.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?a(e):t}},9489:e=>{function t(n,r){return e.exports=t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},t(n,r)}e.exports=t},3038:(e,t,n)=>{var r=n(2858),a=n(3884),o=n(379),i=n(521);e.exports=function(e,t){return r(e)||a(e,t)||o(e,t)||i()}},319:(e,t,n)=>{var r=n(3646),a=n(6860),o=n(379),i=n(8206);e.exports=function(e){return r(e)||a(e)||o(e)||i()}},8:e=>{function t(n){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=t=function(e){return typeof e}:e.exports=t=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(n)}e.exports=t},379:(e,t,n)=>{var r=n(7228);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}},5957:(e,t,n)=>{var r=n(9754),a=n(9489),o=n(430),i=n(9100);function s(t){var n="function"==typeof Map?new Map:void 0;return e.exports=s=function(e){if(null===e||!o(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return i(e,arguments,r(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),a(t,e)},s(t)}e.exports=s},6664:function(e,t,n){!function(e,t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;function n(){}function r(){}r.resetWarningCache=n;var a,o,i=(a=function(e){e.exports=function(){function e(e,t,n,r,a,o){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==o){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var a={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:r,resetWarningCache:n};return a.PropTypes=a,a}()},a(o={exports:{}},o.exports),o.exports);function s(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?s(Object(n),!0).forEach((function(t){l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):s(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u(e){return u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},u(e)}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null!=n){var r,a,o=[],i=!0,s=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(o.push(r.value),!t||o.length!==t);i=!0);}catch(e){s=!0,a=e}finally{try{i||null==n.return||n.return()}finally{if(s)throw a}}return o}}(e,t)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?d(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var m=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e}),[e]),n.current},f=function(e){return null!==e&&"object"===u(e)},y="[object Object]",g=function e(t,n){if(!f(t)||!f(n))return t===n;var r=Array.isArray(t);if(r!==Array.isArray(n))return!1;var a=Object.prototype.toString.call(t)===y;if(a!==(Object.prototype.toString.call(n)===y))return!1;if(!a&&!r)return t===n;var o=Object.keys(t),i=Object.keys(n);if(o.length!==i.length)return!1;for(var s={},c=0;c<o.length;c+=1)s[o[c]]=!0;for(var u=0;u<i.length;u+=1)s[i[u]]=!0;var l=Object.keys(s);if(l.length!==o.length)return!1;var p=t,d=n;return l.every((function(t){return e(p[t],d[t])}))},v=function(e,t,n){return f(e)?Object.keys(e).reduce((function(r,a){var o=!f(t)||!g(e[a],t[a]);return n.includes(a)?(o&&console.warn("Unsupported prop change: options.".concat(a," is not a mutable property.")),r):o?c(c({},r||{}),{},l({},a,e[a])):r}),null):null},h=function(e){if(null===e||f(t=e)&&"function"==typeof t.elements&&"function"==typeof t.createToken&&"function"==typeof t.createPaymentMethod&&"function"==typeof t.confirmCardPayment)return e;var t;throw new Error("Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.")},b=function(e){if(function(e){return f(e)&&"function"==typeof e.then}(e))return{tag:"async",stripePromise:Promise.resolve(e).then(h)};var t=h(e);return null===t?{tag:"empty"}:{tag:"sync",stripe:t}},P=t.createContext(null);P.displayName="ElementsContext";var E=function(e){var n=e.stripe,r=e.options,a=e.children,o=t.useMemo((function(){return b(n)}),[n]),i=p(t.useState((function(){return{stripe:"sync"===o.tag?o.stripe:null,elements:"sync"===o.tag?o.stripe.elements(r):null}})),2),s=i[0],c=i[1];t.useEffect((function(){var e=!0;return"async"!==o.tag||s.stripe?"sync"!==o.tag||s.stripe||c({stripe:o.stripe,elements:o.stripe.elements(r)}):o.stripePromise.then((function(t){t&&e&&c({stripe:t,elements:t.elements(r)})})),function(){e=!1}}),[o,s,r]);var u=m(n);t.useEffect((function(){null!==u&&u!==n&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")}),[u,n]);var l=m(r);return t.useEffect((function(){if(s.elements){var e=v(r,l,["clientSecret","fonts"]);e&&s.elements.update(e)}}),[r,l,s.elements]),t.useEffect((function(){var e=s.stripe;e&&e._registerWrapper&&e.registerAppInfo&&(e._registerWrapper({name:"react-stripe-js",version:"1.8.0"}),e.registerAppInfo({name:"react-stripe-js",version:"1.8.0",url:"https://stripe.com/docs/stripe-js/react"}))}),[s.stripe]),t.createElement(P.Provider,{value:s},a)};E.propTypes={stripe:i.any,options:i.object};var O=function(e){return function(e,t){if(!e)throw new Error("Could not find Elements context; You need to wrap the part of your app that ".concat(t," in an <Elements> provider."));return e}(t.useContext(P),e)},S=function(e){return(0,e.children)(O("mounts <ElementsConsumer>"))};S.propTypes={children:i.func.isRequired};var _=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e}),[e]),function(){n.current&&n.current.apply(n,arguments)}},w=function(){},C=function(e,n){var r,a="".concat((r=e).charAt(0).toUpperCase()+r.slice(1),"Element"),o=n?function(e){O("mounts <".concat(a,">"));var n=e.id,r=e.className;return t.createElement("div",{id:n,className:r})}:function(n){var r=n.id,o=n.className,i=n.options,s=void 0===i?{}:i,c=n.onBlur,u=void 0===c?w:c,l=n.onFocus,p=void 0===l?w:l,d=n.onReady,f=void 0===d?w:d,y=n.onChange,g=void 0===y?w:y,h=n.onEscape,b=void 0===h?w:h,P=n.onClick,E=void 0===P?w:P,S=O("mounts <".concat(a,">")).elements,C=t.useRef(null),M=t.useRef(null),k=_(f),j=_(u),D=_(p),x=_(E),R=_(g),A=_(b);t.useLayoutEffect((function(){if(null==C.current&&S&&null!=M.current){var t=S.create(e,s);C.current=t,t.mount(M.current),t.on("ready",(function(){return k(t)})),t.on("change",R),t.on("blur",j),t.on("focus",D),t.on("escape",A),t.on("click",x)}}));var I=m(s);return t.useEffect((function(){if(C.current){var e=v(s,I,["paymentRequest"]);e&&C.current.update(e)}}),[s,I]),t.useLayoutEffect((function(){return function(){C.current&&(C.current.destroy(),C.current=null)}}),[]),t.createElement("div",{id:r,className:o,ref:M})};return o.propTypes={id:i.string,className:i.string,onChange:i.func,onBlur:i.func,onFocus:i.func,onReady:i.func,onClick:i.func,options:i.object},o.displayName=a,o.__elementType=e,o},M="undefined"==typeof window,k=C("auBankAccount",M),j=C("card",M),D=C("cardNumber",M),x=C("cardExpiry",M),R=C("cardCvc",M),A=C("fpxBank",M),I=C("iban",M),L=C("idealBank",M),T=C("p24Bank",M),N=C("epsBank",M),B=C("payment",M),F=C("paymentRequestButton",M),q=C("linkAuthentication",M),X=C("shippingAddress",M),U=C("affirmMessage",M),V=C("afterpayClearpayMessage",M);e.AffirmMessageElement=U,e.AfterpayClearpayMessageElement=V,e.AuBankAccountElement=k,e.CardCvcElement=R,e.CardElement=j,e.CardExpiryElement=x,e.CardNumberElement=D,e.Elements=E,e.ElementsConsumer=S,e.EpsBankElement=N,e.FpxBankElement=A,e.IbanElement=I,e.IdealBankElement=L,e.LinkAuthenticationElement=q,e.P24BankElement=T,e.PaymentElement=B,e.PaymentRequestButtonElement=F,e.ShippingAddressElement=X,e.useElements=function(){return O("calls useElements()").elements},e.useStripe=function(){return O("calls useStripe()").stripe},Object.defineProperty(e,"__esModule",{value:!0})}(t,n(9196))},4465:(e,t,n)=>{"use strict";n.r(t),n.d(t,{loadStripe:()=>l});var r="https://js.stripe.com/v3",a=/^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/,o="loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used",i=null,s=function(e,t,n){if(null===e)return null;var r=e.apply(void 0,t);return function(e,t){e&&e._registerWrapper&&e._registerWrapper({name:"stripe-js",version:"1.12.1",startTime:t})}(r,n),r},c=Promise.resolve().then((function(){return e=null,null!==i||(i=new Promise((function(t,n){if("undefined"!=typeof window)if(window.Stripe&&e&&console.warn(o),window.Stripe)t(window.Stripe);else try{var i=function(){for(var e=document.querySelectorAll('script[src^="'.concat(r,'"]')),t=0;t<e.length;t++){var n=e[t];if(a.test(n.src))return n}return null}();i&&e?console.warn(o):i||(i=function(e){var t=e&&!e.advancedFraudSignals?"?advancedFraudSignals=false":"",n=document.createElement("script");n.src="".concat(r).concat(t);var a=document.head||document.body;if(!a)throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element.");return a.appendChild(n),n}(e)),i.addEventListener("load",(function(){window.Stripe?t(window.Stripe):n(new Error("Stripe.js not available"))})),i.addEventListener("error",(function(){n(new Error("Failed to load Stripe.js"))}))}catch(e){return void n(e)}else t(null)}))),i;var e})),u=!1;c.catch((function(e){u||console.warn(e)}));var l=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];u=!0;var r=Date.now();return c.then((function(e){return s(e,t,r)}))}},3187:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(2029);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(8744);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(4901);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}));var i=n(3193);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}}))}))},3193:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Installments=void 0;var o=a(n(1284)),i=a(n(8926)),s=a(n(3038)),c=n(9307),u=n(5736),l=a(n(6989)),p=a(n(4184)),d=n(1134);n(1465);var m=function(e){var t=e.paymentMethodName,n=(e.getCreatePaymentMethodArgs,e.cardFormComplete),a=void 0!==n&&n,p=e.addPaymentMethodData,m=void 0===p?null:p,g=e.getPaymentMethod,v=(0,c.useState)(null),h=(0,s.default)(v,2),b=h[0],P=h[1],E=(0,c.useState)(""),O=(0,s.default)(E,2),S=O[0],_=O[1],w=(0,c.useState)(!1),C=(0,s.default)(w,2),M=C[0],k=C[1];return(0,c.useEffect)((function(){a&&(k(!0),_(""),g().then(function(){var e=(0,i.default)(o.default.mark((function e(n){var r,a;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!n){e.next=6;break}return e.next=3,(0,l.default)({url:(0,d.getRoute)("create/payment_intent"),method:"POST",data:{payment_method_id:n,payment_method:t}});case 3:a=e.sent,P(a.installments),null!==(r=Object.keys(a.installments))&&void 0!==r&&r.length&&_(Object.keys(a.installments)[0]);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){console.log(e)})).finally((function(){return k(!1)})))}),[a,g]),r.createElement("div",{className:"wc-stripe-installments__container"},r.createElement("label",null,(0,u.__)("Pay in installments:","woo-stripe-payment"),r.createElement(y,{loading:M})),r.createElement(f,{installment:S,onChange:function(e){_(e.target.value),m&&m({_stripe_installment_plan:e.target.value})},installments:b,isLoading:M}))};t.Installments=m;var f=function(e){var t,n=e.installment,a=e.installments,o=e.onChange,i=e.isLoading;return t=i?r.createElement("option",{value:"",disabled:!0},(0,u.__)("Loading installments...","woo-stripe-payment")):null===a?r.createElement("option",{value:"",disabled:!0},(0,u.__)("Fill out card form for eligibility.","woo-stripe-payment")):Object.keys(a).map((function(e){return r.createElement("option",{key:e,value:e,dangerouslySetInnerHTML:{__html:a[e].text}})})),r.createElement("select",{value:n,onChange:o,className:(0,p.default)({loading:i})},t)},y=function(e){var t=e.loading;return r.createElement("div",{className:"wc-stripe-installment-loader__container"},t&&r.createElement("div",{className:"wc-stripe-installment-loader"},r.createElement("div",null),r.createElement("div",null),r.createElement("div",null)))},g=m;t.default=g},2029:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.PaymentMethodLabel=void 0;var o=a(n(6479));n(7776),t.PaymentMethodLabel=function(e){var t=e.title,n=e.icons,a=e.paymentMethod,i=(0,o.default)(e,["title","icons","paymentMethod"]).components,s=i.PaymentMethodLabel,c=i.PaymentMethodIcons;return Array.isArray(n)||(n=[n]),r.createElement("span",{className:"wc-stripe-label-container ".concat(a)},r.createElement(s,{text:t}),r.createElement(c,{icons:n,align:"left"}))}},4901:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.PaymentMethod=void 0;var o=a(n(9713)),i=a(n(6479)),s=n(9307);function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.PaymentMethod=function(e){var t=e.getData,n=e.content,a=(0,i.default)(e,["getData","content"]),o=n,c=t("description"),p=(0,s.useRef)(null);return(0,s.useEffect)((function(){p.current&&0==p.current.childNodes.length&&p.current.classList.add("no-content")})),r.createElement(r.Fragment,null,c&&r.createElement(l,{desc:c,payment_method:t("name")}),r.createElement("div",{ref:p,className:"wc-stripe-blocks-payment-method-content"},r.createElement(o,u(u({},a),{},{getData:t}))))};var l=function(e){var t=e.desc,n=e.payment_method;return r.createElement("div",{className:"wc-stripe-blocks-payment-method__desc ".concat(n)},r.createElement("p",null,t))}},8744:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.RadioControlOption=void 0;var o=a(n(4184)),i=function(e){var t=e.checked,n=e.onChange,a=e.value,i=e.label;return r.createElement("label",{className:(0,o.default)("wc-stripe-blocks-radio-control__option",{"wc-stripe-blocks-radio-control__option-checked":t})},r.createElement("input",{className:"wc-stripe-blocks-radio-control__input",type:"radio",value:a,checked:t,onChange:function(e){return n(e.target.value)}}),r.createElement("div",{className:"wc-stripe-blocks-radio-control__label"},r.createElement("span",null,i)))};t.RadioControlOption=i;var s=i;t.default=s},7260:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(1293);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(7150);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(5201);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}))},1293:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useCreateLinkToken=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(3038)),s=n(9307),c=r(n(6989)),u=n(1134);t.useCreateLinkToken=function(e){var t=e.setValidationError,n=(0,s.useState)(!1),r=(0,i.default)(n,2),l=r[0],p=r[1],d=(0,s.useCallback)((0,o.default)(a.default.mark((function e(){var n;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,c.default)({url:(0,u.getRoute)("create/linkToken"),method:"POST",data:{}});case 3:(n=e.sent).token&&((0,u.storeInCache)("linkToken",n.token),p(n.token)),e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),t(e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])}))),[]);return(0,s.useEffect)((function(){if(!l){var e=(0,u.getFromCache)("linkToken");e?p(e):d()}}),[l,p]),l}},7150:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useInitializePlaid=void 0;var a=n(9307),o=r(n(9625)),i=n(1134);t.useInitializePlaid=function(e){var t=e.getData,n=e.linkToken,r=(0,a.useRef)(null),s=(0,a.useRef)(null),c=(0,a.useCallback)((function(){return new Promise((function(e,t){s.current={resolve:e,reject:t},r.current.open()}))}),[]);return(0,a.useEffect)((function(){n&&(r.current=o.default.create({clientName:t("clientName"),env:t("plaidEnvironment"),product:["auth"],token:n,selectAccount:!0,countryCodes:["US"],onSuccess:function(e,t){s.current.resolve({publicToken:e,metaData:t})},onExit:function(e){s.current.reject(!!e&&(0,i.getErrorMessage)(e.error_message))}}))}),[n]),c}},5201:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useProcessPayment=void 0;var a=r(n(1284)),o=r(n(9713)),i=r(n(8926)),s=n(9307),c=n(1134);t.useProcessPayment=function(e){var t=e.openLinkPopup,n=e.onPaymentProcessing,r=e.responseTypes,u=e.paymentMethod;(0,s.useEffect)((function(){var e=n((0,i.default)(a.default.mark((function e(){var n,i,s,l;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,t();case 3:return i=e.sent,s=i.publicToken,l=i.metaData,(0,c.deleteFromCache)("linkToken"),e.abrupt("return",(0,c.ensureSuccessResponse)(r,{meta:{paymentMethodData:(n={},(0,o.default)(n,"".concat(u,"_token_key"),s),(0,o.default)(n,"".concat(u,"_metadata"),JSON.stringify(l)),n)}}));case 9:return e.prev=9,e.t0=e.catch(0),e.abrupt("return",(0,c.ensureErrorResponse)(r,e.t0));case 12:case"end":return e.stop()}}),e,null,[[0,9]])}))));return function(){return e()}}),[n,r,t])}},5605:(e,t,n)=>{n(4836),n(4888)},4888:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(3038)),i=a(n(6479)),s=n(9307),c=n(4613),u=n(1134),l=n(3187),p=a(n(1065)),d=n(7260),m=n(3636),f=n(5736),y=(0,u.getSettings)("stripe_ach_data"),g=function(e){var t=e.getData,n=e.eventRegistration,a=e.components,c=e.emitResponse,l=e.onSubmit,p=((0,i.default)(e,["getData","eventRegistration","components","emitResponse","onSubmit"]),c.responseTypes),f=n.onPaymentProcessing,y=n.onCheckoutAfterProcessingWithError,g=a.ValidationInputError,h=a.LoadingMask,b=(0,s.useState)(!1),P=(0,o.default)(b,2),E=P[0],O=P[1],S=(0,d.useCreateLinkToken)({setValidationError:O});(0,m.useProcessCheckoutError)({responseTypes:p,subscriber:y});var _=(0,d.useInitializePlaid)({getData:t,linkToken:S,onSubmit:l});return(0,d.useProcessPayment)({openLinkPopup:_,onPaymentProcessing:f,responseTypes:p,paymentMethod:t("name")}),r.createElement(h,{isLoading:!E&&!S,showSpinner:!0},u.isTestMode&&r.createElement(v,null),E&&r.createElement(g,{errorMessage:E}))},v=function(){return r.createElement("div",{className:"wc-stripe-blocks-ach__creds"},r.createElement("label",{className:"wc-stripe-blocks-ach__creds-label"},(0,f.__)("Test Credentials","woo-stripe-payment")),r.createElement("div",{className:"wc-stripe-blocks-ach__username"},r.createElement("div",null,r.createElement("strong",null,(0,f.__)("username","woo-stripe-payment")),": user_good"),r.createElement("div",null,r.createElement("strong",null,(0,f.__)("password","woo-stripe-payment")),": pass_good"),r.createElement("div",null,r.createElement("strong",null,(0,f.__)("pin","woo-stripe-payment")),": credential_good")))};(0,c.registerPaymentMethod)({name:y("name"),label:r.createElement(l.PaymentMethodLabel,{title:y("title"),paymentMethod:y("name"),icons:y("icons")}),ariaLabel:"ACH Payment",canMakePayment:function(e){return"USD"===e.cartTotals.currency_code},content:r.createElement(l.PaymentMethod,{getData:y,content:g}),savedTokenComponent:r.createElement(p.default,{getData:y}),edit:r.createElement(g,{getData:y}),placeOrderButtonLabel:y("placeOrderButtonLabel"),supports:{showSavedCards:y("showSavedCards"),showSaveOption:!1,features:y("features")}})},3846:(e,t,n)=>{n(85),n(660)},660:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(3038)),i=a(n(6479)),s=n(9307),c=n(4613),u=n(1134),l=n(6664),p=a(n(7082)),d=n(3636),m=(0,u.getSettings)("stripe_applepay_data"),f=function(e){return r.createElement(p.default,null,r.createElement("div",{className:"wc-stripe-apple-pay-container"},r.createElement(l.Elements,{stripe:u.initStripe},r.createElement(y,e))))},y=function(e){var t=e.getData,n=e.onClick,a=e.onClose,c=e.billing,u=e.shippingData,p=e.eventRegistration,m=e.emitResponse,f=e.onSubmit,y=e.activePaymentMethod,g=((0,i.default)(e,["getData","onClick","onClose","billing","shippingData","eventRegistration","emitResponse","onSubmit","activePaymentMethod"]),p.onPaymentProcessing),v=m.responseTypes,h=m.noticeContexts,b=(0,l.useStripe)(),P=(0,d.useStripeError)(),E=(0,o.default)(P,1)[0],O=(0,d.useExportedValues)();(0,d.useExpressBreakpointWidth)({payment_method:t("name"),width:300});var S=(0,d.useProcessPaymentIntent)({getData:t,billing:c,shippingData:u,onPaymentProcessing:g,emitResponse:m,error:E,onSubmit:f,activePaymentMethod:y,exportedValues:O}).setPaymentMethod;(0,d.useAfterProcessingPayment)({getData:t,eventRegistration:p,responseTypes:v,activePaymentMethod:y,messageContext:h.EXPRESS_PAYMENTS});var _=(0,d.usePaymentRequest)({getData:t,onClose:a,stripe:b,billing:c,shippingData:u,eventRegistration:p,setPaymentMethod:S,exportedValues:O,canPay:function(e){return null!=e&&e.applePay}}).paymentRequest,w=(0,s.useCallback)((function(e){_&&(e.preventDefault(),n(),_.show())}),[_,n]);return _?r.createElement("button",{className:"apple-pay-button ".concat(t("buttonStyle")),style:{"-apple-pay-button-type":t("buttonType")},onClick:w}):null},g=function(e){var t=e.getData;return(0,i.default)(e,["getData"]),r.createElement("div",{className:"apple-pay-block-editor"},r.createElement("img",{src:t("editorIcon")}))};(0,c.registerExpressPaymentMethod)({name:m("name"),canMakePayment:function(e){var t=e.cartTotals;if((0,i.default)(e,["cartTotals"]),m("isAdmin"))return!0;var n=t.currency_code,r=t.total_price;return(0,u.canMakePayment)({country:m("countryCode"),currency:n.toLowerCase(),total:{label:m("totalLabel"),amount:parseInt(r)}},(function(e){return null!=e&&e.applePay}))},content:r.createElement(f,{getData:m}),edit:r.createElement(g,{getData:m}),supports:{showSavedCards:m("showSavedCards"),showSaveOption:m("showSaveOption"),features:m("features")}})},7354:(e,t,n)=>{var r=n(9307);n(3110);var a=n(1134),o=n(6664),i=n(5736),s=function(e){var t=e.CardIcon,n=e.options,a=e.onChange;return r.createElement("div",{className:"wc-stripe-bootstrap-form"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col-md-6 mb-3"},r.createElement(o.CardNumberElement,{className:"md-form md-outline stripe-input",options:n.cardNumber,onChange:a(o.CardNumberElement)}),r.createElement("label",{htmlFor:"stripe-card-number"},(0,i.__)("Card Number","woo-stripe-payment")),t),r.createElement("div",{className:"col-md-3 mb-3"},r.createElement(o.CardExpiryElement,{className:"md-form md-outline stripe-input",options:n.cardExpiry,onChange:a(o.CardExpiryElement)}),r.createElement("label",{htmlFor:"stripe-exp"},(0,i.__)("Exp","woo-stripe-payment"))),r.createElement("div",{className:"col-md-3 mb-3"},r.createElement(o.CardCvcElement,{className:"md-form md-outline stripe-input",options:n.cardCvc,onChange:a(o.CardCvcElement)}),r.createElement("label",{htmlFor:"stripe-cvv"},(0,i.__)("CVV","woo-stripe-payment")))))};(0,a.registerCreditCardForm)({id:"bootstrap",breakpoint:475,component:r.createElement(s,null)})},3329:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(9713)),i=a(n(3038)),s=n(1134),c=n(9307),u=n(6664),l=n(5736),p=n(3636);function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var f={focus:"focused",empty:"empty",invalid:"invalid"},y=function(e){var t=e.type,n=e.src;return t?r.createElement("img",{className:"wc-stripe-card ".concat(t),src:n}):null};t.default=function(e){var t=e.getData,n=e.onChange,a=e.onComplete,o=(0,c.useState)(""),d=(0,i.default)(o,2),g=d[0],v=d[1],h=(0,c.useRef)([]),b=(0,c.useState)(null),P=(0,i.default)(b,2),E=P[0],O=P[1],S=(0,u.useElements)(),_=t("customForm"),w=(0,s.getCreditCardForm)(_),C=w.component,M=void 0===C?null:C,k=w.breakpoint,j=void 0===k?475:k,D=t("postalCodeEnabled"),x={},R=(0,c.useRef)({cardNumber:{},cardExpiry:{},cardCvc:{}});["cardNumber","cardExpiry","cardCvc"].forEach((function(e){x[e]=m(m({classes:f},t("cardOptions")),t("customFieldOptions")[e])}));var A=(0,c.useCallback)((function(e){h.current.includes(e)||h.current.push(e)}),[]);(0,p.useBreakpointWidth)({name:"creditCardForm",width:j,node:E,className:"small-form"});var I=(0,c.useCallback)((function(e){for(var n=0,r=Object.keys(t("cards"));n<r.length;n++){var a=r[n];if(a===e)return t("cards")[a]}return""}),[]);return M?r.createElement("div",{className:"wc-stripe-custom-form ".concat(_),ref:O},(0,c.cloneElement)(M,{postalCodeEnabled:D,options:x,onChange:function(e){return A(e),function(t){if(n(t),R.current[t.elementType]=t,"cardNumber"===t.elementType&&("unknown"===t.brand?v(""):v(t.brand)),t.complete){var r=h.current.indexOf(e);if(h.current[r+1]){var o=h.current[r+1];S.getElement(o).focus()}}var i;a((i=R.current,Object.keys(i).filter((function(e){return!!i[e].complete})).length===Object.keys(i).length))}},CardIcon:r.createElement(y,{type:g,src:I(g)})})):r.createElement("div",{className:"wc-stripe-custom-form-error"},r.createElement("p",null,(0,l.sprintf)((0,l.__)("%s is not a valid blocks Stripe custom form. Please choose another custom form option in the Credit Card Settings.","woo-stripe-payment"),t("customFormLabels")[_])))}},6835:(e,t,n)=>{var r=n(9307);n(8356);var a=n(1134),o=n(6664),i=n(5736),s=n(9307),c=function(e){var t=e.CardIcon,n=e.options,a=e.onChange;return(0,s.useEffect)((function(){}),[]),r.createElement("div",{className:"wc-stripe-simple-form"},r.createElement("div",{className:"row"},r.createElement("div",{className:"field"},r.createElement("div",{className:"field-item"},r.createElement(o.CardNumberElement,{id:"stripe-card-number",className:"input empty",options:n.cardNumber,onChange:a(o.CardNumberElement)}),r.createElement("label",{htmlFor:"stripe-card-number","data-tid":""},(0,i.__)("Card Number","woo-stripe-payment")),r.createElement("div",{className:"baseline"}),t))),r.createElement("div",{className:"row"},r.createElement("div",{className:"field half-width"},r.createElement("div",{className:"field-item"},r.createElement(o.CardExpiryElement,{id:"stripe-exp",className:"input empty",options:n.cardExpiry,onChange:a(o.CardExpiryElement)}),r.createElement("label",{htmlFor:"stripe-exp","data-tid":""},(0,i.__)("Expiration","woo-stripe-payment")),r.createElement("div",{className:"baseline"}))),r.createElement("div",{className:"field half-width cvc"},r.createElement("div",{className:"field-item"},r.createElement(o.CardCvcElement,{id:"stripe-cvv",className:"input empty",options:n.cardCvc,onChange:a(o.CardCvcElement)}),r.createElement("label",{htmlFor:"stripe-cvv","data-tid":""},(0,i.__)("CVV","woo-stripe-payment")),r.createElement("div",{className:"baseline"})))))};(0,a.registerCreditCardForm)({id:"simple",component:r.createElement(c,null),breakpoint:375})},9775:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(9713)),i=n(6664),s=n(1134),c=n(9307);function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.default=function(e){var t=e.getData,n=e.billing,a=e.onChange,o=e.onComplete,u={card:{}},p=(0,c.useMemo)((function(){var e;return l(l({},{value:{postalCode:null==n||null===(e=n.billingData)||void 0===e?void 0:e.postcode},hidePostalCode:(0,s.isFieldRequired)("postcode"),iconStyle:"default"}),t("cardOptions"))}),[n.billingData]);return r.createElement("div",{className:"wc-stripe-inline-form"},r.createElement(i.CardElement,{options:p,onChange:function(e){a(e),u[e.elementType]=e,o(Object.keys(u).filter((function(e){return!!u[e].complete})).length===Object.keys(u).length)}}))}},627:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),n(5773);var r=n(7205);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))})),n(7354),n(6835)},4664:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.PaymentElementComponent=void 0;var o=a(n(1284)),i=a(n(8926)),s=a(n(3038)),c=a(n(7154)),u=a(n(9713)),l=a(n(6479)),p=n(9307),d=n(6664),m=n(1134),f=n(3187),y=n(3636);function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){(0,u.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var h=(0,m.getSettings)("stripe_cc_data"),b=function(e){var t,n,a=e.cartData,o=(0,l.default)(e,["cartData"]),i=null==a||null===(t=a.extensions)||void 0===t||null===(n=t.stripe_cc)||void 0===n?void 0:n.clientSecret;return r.createElement(r.Fragment,null,r.createElement(d.Elements,{stripe:m.initStripe,options:v(v({},h("elementOptions")),{},{clientSecret:i})},r.createElement(P,(0,c.default)({},o,{clientSecret:i}))))};t.PaymentElementComponent=b;var P=function(e){e.onComplete;var t=e.clientSecret,n=(0,l.default)(e,["onComplete","clientSecret"]),a=(0,p.useState)(!1),c=(0,s.default)(a,2),u=c[0],m=c[1],g=h("installmentsActive"),v=((0,d.useElements)(),(0,d.useStripe)()),b=n.billing.billingData,P=n.eventRegistration,E=n.emitResponse,O=n.shouldSavePayment,S=(P.onPaymentProcessing,P.onCheckoutAfterProcessingWithError),_=E.responseTypes,w=E.noticeContexts,C=h("name"),M=(0,p.useCallback)((function(e){m(e.complete)}),[]),k=(0,y.useUpdatePaymentIntent)({clientSecret:t,billingData:b,eventRegistration:P,responseTypes:_,shouldSavePayment:O,noticeContexts:w,name:C}),j=k.updatePaymentIntent,D=k.addPaymentMethodData;(0,y.useProcessCheckoutError)({responseTypes:_,subscriber:S,messageContext:w.PAYMENTS});var x=(0,p.useCallback)((0,i.default)(o.default.mark((function e(){var t,n,r;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,e.next=3,j();case 3:return null!=(r=e.sent)&&null!==(t=r.paymentIntent)&&void 0!==t&&t.payment_method&&(n=r.paymentIntent.payment_method),e.abrupt("return",n);case 6:case"end":return e.stop()}}),e)}))),[j]);return r.createElement(r.Fragment,null,r.createElement(d.PaymentElement,{options:{fields:{billingDetails:"never"},wallets:{applePay:"never",googlePay:"never"}},onChange:M}),g&&r.createElement(f.Installments,{paymentMethodName:h("name"),stripe:v,cardFormComplete:u,getPaymentMethod:x,addPaymentMethodData:D}))},E=b;t.default=E},7205:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(1284)),i=a(n(8926)),s=a(n(3038)),c=n(9307),u=n(4613),l=n(1134),p=n(6664),d=n(3187),m=a(n(1065)),f=a(n(3329)),y=a(n(9775)),g=a(n(4664)),v=n(3636),h=(0,l.getSettings)("stripe_cc_data"),b=function(e){var t=(0,c.useState)(!1),n=(0,s.default)(t,2),a=n[0],o=n[1];if((0,c.useEffect)((function(){l.initStripe.catch((function(e){o(e)}))}),[o]),a)throw new Error(a);return h("isPaymentElement")?r.createElement(g.default,e):r.createElement(p.Elements,{stripe:l.initStripe,options:h("elementOptions")},r.createElement(P,e))},P=function(e){var t=e.getData,n=e.billing,a=e.shippingData,u=e.emitResponse,l=e.eventRegistration,m=e.activePaymentMethod,g=e.shouldSavePayment,h=(0,v.useStripeError)(),b=(0,s.default)(h,2),P=b[0],E=b[1],O=(0,c.useState)(!1),S=(0,s.default)(O,2),_=S[0],w=S[1],C=l.onPaymentProcessing,M=(0,p.useStripe)(),k=(0,p.useElements)(),j=(0,c.useCallback)((function(){var e=t("customFormActive")?p.CardNumberElement:p.CardElement;return{card:k.getElement(e)}}),[M,k]),D=(0,v.useSetupIntent)({getData:t,cartTotal:n.cartTotal,setError:E}),x=D.setupIntent,R=D.removeSetupIntent,A=(0,v.useProcessPaymentIntent)({getData:t,billing:n,shippingData:a,emitResponse:u,error:P,onPaymentProcessing:C,shouldSavePayment:g,setupIntent:x,removeSetupIntent:R,getPaymentMethodArgs:j,activePaymentMethod:m}),I=A.getCreatePaymentMethodArgs,L=A.addPaymentMethodData;(0,v.useAfterProcessingPayment)({getData:t,eventRegistration:l,responseTypes:u.responseTypes,activePaymentMethod:m,shouldSavePayment:g});var T=(0,c.useCallback)((0,i.default)(o.default.mark((function e(){var t,n,r;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=null,e.next=3,M.createPaymentMethod(I());case 3:return null!=(r=e.sent)&&null!==(t=r.paymentMethod)&&void 0!==t&&t.id&&(n=r.paymentMethod.id),e.abrupt("return",n);case 6:case"end":return e.stop()}}),e)}))),[M,I]),N=t("customFormActive")?f.default:y.default;return r.createElement("div",{className:"wc-stripe-card-container"},r.createElement(N,{getData:t,billing:n,onChange:function(e){e.error?E(e.error):E(!1)},onComplete:w}),t("installmentsActive")&&r.createElement(d.Installments,{paymentMethodName:t("name"),cardFormComplete:_,addPaymentMethodData:L,getPaymentMethod:T}))};(0,u.registerPaymentMethod)({name:h("name"),label:r.createElement(d.PaymentMethodLabel,{title:h("title"),paymentMethod:h("name"),icons:h("icons")}),ariaLabel:"Credit Cards",canMakePayment:function(){return l.initStripe},content:r.createElement(d.PaymentMethod,{content:b,getData:h}),savedTokenComponent:r.createElement(m.default,{getData:h,method:h("isPaymentElement")?"confirmCardPayment":"handleCardAction"}),edit:r.createElement(d.PaymentMethod,{content:b,getData:h}),supports:{showSavedCards:h("showSavedCards"),showSaveOption:!0,features:h("features")}})},7082:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(4575)),i=a(n(3913)),s=a(n(2205)),c=a(n(8585)),u=a(n(9754));var l=function(e){(0,s.default)(l,e);var t,n,a=(t=l,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,u.default)(t);if(n){var a=(0,u.default)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,c.default)(this,e)});function l(e){var t;return(0,o.default)(this,l),(t=a.call(this,e)).state={hasError:!1,error:null,errorInfo:null},t}return(0,i.default)(l,[{key:"componentDidCatch",value:function(e,t){this.setState({hasError:!0,error:e,errorInfo:t})}},{key:"render",value:function(){return this.state.hasError?r.createElement(r.Fragment,null,this.state.error&&r.createElement("div",{className:"wc-stripe-block-error"},this.state.error.toString()),this.state.errorInfo&&r.createElement("div",{className:"wc-stripe-block-error"},this.state.errorInfo.componentStack)):this.props.children}}]),l}(n(9307).Component);t.default=l},5212:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=a(n(3038)),i=a(n(6479)),s=n(9307),c=n(5516),u=n(3636),l=(0,n(1134).getSettings)("stripeGeneralData")().publishableKey;t.default=function(e){var t=e.getData,n=e.setErrorMessage,a=e.billing,p=e.shippingData,d=e.canMakePayment,m=e.checkoutStatus,f=e.eventRegistration,y=e.activePaymentMethod,g=e.onClick,v=e.onClose,h=(0,i.default)(e,["getData","setErrorMessage","billing","shippingData","canMakePayment","checkoutStatus","eventRegistration","activePaymentMethod","onClick","onClose"]),b={merchantId:t("merchantId"),merchantName:t("merchantName")},P=(0,u.useStripeError)(),E=(0,o.default)(P,2),O=E[0],S=(E[1],(0,s.useRef)()),_=h.onSubmit,w=h.emitResponse,C=f.onPaymentProcessing,M=(0,u.useExportedValues)(),k="long"===t("buttonStyle").buttonType?390:300,j=(0,u.useProcessPaymentIntent)({getData:t,billing:a,shippingData:p,onPaymentProcessing:C,emitResponse:w,error:O,exportedValues:M,onSubmit:_,checkoutStatus:m,activePaymentMethod:y}).setPaymentMethod,D=(0,c.usePaymentRequest)({getData:t,publishableKey:l,merchantInfo:b,billing:a,shippingData:p}),x=(0,c.usePaymentsClient)({merchantInfo:b,paymentRequest:D,billing:a,shippingData:p,eventRegistration:f,canMakePayment:d,setErrorMessage:n,onSubmit:_,setPaymentMethod:j,exportedValues:M,onClick:g,onClose:v,getData:t}),R=x.button,A=x.removeButton;return(0,u.useAfterProcessingPayment)({getData:t,eventRegistration:f,responseTypes:w.responseTypes,activePaymentMethod:y}),(0,u.useExpressBreakpointWidth)({payment_method:t("name"),width:k}),(0,s.useEffect)((function(){R&&(A(S.current),S.current.append(R))}),[R]),r.createElement("div",{className:"wc-stripe-gpay-button-container",ref:S})}},3097:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BASE_PAYMENT_REQUEST=t.BASE_PAYMENT_METHOD=void 0,t.BASE_PAYMENT_METHOD={type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY"],allowedCardNetworks:["AMEX","DISCOVER","INTERAC","JCB","MASTERCARD","VISA"],assuranceDetailsRequired:!0}},t.BASE_PAYMENT_REQUEST={apiVersion:2,apiVersionMinor:0}},5516:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(1674);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(1735);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(9808);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}))},9808:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useErrorMessage=void 0;var a=r(n(3038)),o=n(9307);t.useErrorMessage=function(){var e=(0,o.useState)(!1),t=(0,a.default)(e,2);return{errorMessage:t[0],setErrorMessage:t[1]}}},1735:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.usePaymentRequest=void 0;var a=r(n(319)),o=r(n(9713)),i=n(9307),s=n(3097),c=n(1134),u=n(8664);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.usePaymentRequest=function(e){var t=e.getData,n=e.publishableKey,r=e.merchantInfo,o=e.billing,l=e.shippingData,d=o.billingData,m=l.shippingRates,f=t(),y=f.processingCountry,g=f.totalPriceLabel;return(0,i.useMemo)((function(){var e=p(p({},{emailRequired:(0,c.isEmpty)(d.email),merchantInfo:r,allowedPaymentMethods:[p(p({},{type:"CARD",tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:"stripe","stripe:version":"2018-10-31","stripe:publishableKey":n}}}),s.BASE_PAYMENT_METHOD)],shippingAddressRequired:l.needsShipping,transactionInfo:(0,u.getTransactionInfo)({billing:o,processingCountry:y,totalPriceLabel:g}),callbackIntents:["PAYMENT_AUTHORIZATION"]}),s.BASE_PAYMENT_REQUEST);if(e.allowedPaymentMethods[0].parameters.billingAddressRequired=!0,e.allowedPaymentMethods[0].parameters.billingAddressParameters={format:"FULL",phoneNumberRequired:(0,c.isFieldRequired)("phone",d.country)&&(0,c.isEmpty)(d.phone)},e.shippingAddressRequired){e.callbackIntents=[].concat((0,a.default)(e.callbackIntents),["SHIPPING_ADDRESS","SHIPPING_OPTION"]),e.shippingOptionRequired=!0;var t=(0,u.getShippingOptionParameters)(m);t.shippingOptions.length>0&&(e=p(p({},e),{},{shippingOptionParameters:t}))}return e}),[o.cartTotal,o.cartTotalItems,d,l])}},1674:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.usePaymentsClient=void 0;var a=r(n(319)),o=r(n(9713)),i=r(n(1284)),s=r(n(8926)),c=r(n(3038)),u=n(9307),l=r(n(9127)),p=n(1134),d=n(6664),m=n(8664),f=n(5736),y=n(3636);function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.usePaymentsClient=function(e){var t=e.merchantInfo,n=e.paymentRequest,r=e.billing,g=e.shippingData,h=e.eventRegistration,b=e.canMakePayment,P=e.setErrorMessage,E=e.setPaymentMethod,O=e.exportedValues,S=e.onClick,_=e.onClose,w=e.getData,C=w().environment,M=(0,u.useState)(),k=(0,c.default)(M,2),j=k[0],D=k[1],x=(0,u.useState)(null),R=(0,c.default)(x,2),A=R[0],I=R[1],L=(0,u.useRef)(r),T=(0,u.useRef)(g),N=(0,d.useStripe)(),B=(0,y.usePaymentEvents)({billing:r,shippingData:g,eventRegistration:h}).addPaymentEvent;(0,u.useEffect)((function(){L.current=r,T.current=g}));var F=(0,u.useCallback)((function(e){var t,n;if(null!=e&&null!==(t=e.paymentMethodData)&&void 0!==t&&null!==(n=t.info)&&void 0!==n&&n.billingAddress){var r,a=e.paymentMethodData.info.billingAddress;(0,p.isAddressValid)(L.current.billingData,["phone","email"])&&(0,p.isEmpty)(null===(r=L.current.billingData)||void 0===r?void 0:r.phone)&&(a={phoneNumber:a.phoneNumber}),O.billingData=L.current.billingData=(0,m.toCartAddress)(a,{email:e.email})}null!=e&&e.shippingAddress&&(O.shippingAddress=(0,m.toCartAddress)(e.shippingAddress))}),[O,n]),q=(0,u.useCallback)((function(e){for(;e.firstChild;)e.removeChild(e.firstChild)}),[A]),X=(0,u.useCallback)((0,s.default)(i.default.mark((function e(){var t,r,a;return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return S(),e.prev=1,e.next=4,j.loadPaymentData(n);case 4:return t=e.sent,F(t),r=JSON.parse(t.paymentMethodData.tokenizationData.token),e.next=9,N.createPaymentMethod({type:"card",card:{token:r.id},billing_details:(0,p.getBillingDetailsFromAddress)(L.current.billingData)});case 9:if(!(a=e.sent).error){e.next=12;break}throw new p.StripeError(a.error);case 12:E(a.paymentMethod.id),e.next=18;break;case 15:e.prev=15,e.t0=e.catch(1),"CANCELED"===(null===e.t0||void 0===e.t0?void 0:e.t0.statusCode)?_():(console.log((0,p.getErrorMessage)(e.t0)),P((0,p.getErrorMessage)(e.t0)));case 18:case"end":return e.stop()}}),e,null,[[1,15]])}))),[N,j,S]),U=(0,u.useCallback)((0,s.default)(i.default.mark((function e(){return i.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,!j||A||!N){e.next=5;break}return e.next=4,b;case 4:I(j.createButton(v({onClick:X},w("buttonStyle"))));case 5:e.next=10;break;case 7:e.prev=7,e.t0=e.catch(0),console.log(e.t0);case 10:case"end":return e.stop()}}),e,null,[[0,7]])}))),[N,A,j,X]),V=(0,u.useMemo)((function(){var e={environment:C,merchantInfo:t,paymentDataCallbacks:{onPaymentAuthorized:function(){return Promise.resolve({transactionState:"SUCCESS"})}}};return n.shippingAddressRequired&&(e.paymentDataCallbacks.onPaymentDataChanged=function(e){return new Promise((function(t,n){var r,i=T.current,s=e.shippingAddress,c=e.shippingOptionData,u=(0,m.toCartAddress)(s),d=(0,p.getSelectedShippingOption)(c.id),y=(0,l.default)((0,p.getIntermediateAddress)(i.shippingAddress),u),g=(0,l.default)(i.selectedRates,(0,o.default)({},d[1],d[0]));B("onShippingChanged",(function(e,n){var r=n.billing,a=n.shipping;t(e?(0,m.getPaymentRequestUpdate)({billing:r,shippingData:{needsShipping:!0,shippingRates:a.shippingRates},processingCountry:w("processingCountry"),totalPriceLabel:w("totalPriceLabel")}):{error:{reason:"SHIPPING_ADDRESS_UNSERVICEABLE",message:(0,f.__)("Your shipping address is not serviceable.","woo-stripe-payment"),intent:"SHIPPING_ADDRESS"}})}),y&&g),T.current.setShippingAddress(v(v({},T.current.shippingAddress),u)),"shipping_option_unselected"!==c.id&&(r=T.current).setSelectedRates.apply(r,(0,a.default)(d))}))}),e}),[n]);return(0,u.useEffect)((function(){D(new google.payments.api.PaymentsClient(V))}),[V]),(0,u.useEffect)((function(){U()}),[U]),{button:A,removeButton:q}}},5341:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),n(9509);var r=n(9031);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}))},9031:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(7154)),i=a(n(6479)),s=a(n(9713)),c=n(4613),u=n(1134),l=n(5516),p=a(n(5212)),d=n(3097),m=a(n(1417)),f=n(6664);function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?y(Object(n),!0).forEach((function(t){(0,s.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var v,h,b=(0,u.getSettings)("stripe_googlepay_data"),P=(v=new m.default.payments.api.PaymentsClient({environment:b("environment"),merchantInfo:{merchantId:b("merchantId"),merchantName:b("merchantName")}}),h=g(g({},d.BASE_PAYMENT_REQUEST),{},{allowedPaymentMethods:[d.BASE_PAYMENT_METHOD]}),v.isReadyToPay(h).then((function(){return!0})).catch((function(e){return console.log(e),!1}))),E=function(e){var t=e.getData,n=e.components,a=(0,i.default)(e,["getData","components"]),s=n.ValidationInputError,c=(0,l.useErrorMessage)(),d=c.errorMessage,m=c.setErrorMessage;return r.createElement("div",{className:"wc-stripe-gpay-container"},r.createElement(f.Elements,{stripe:u.initStripe},r.createElement(p.default,(0,o.default)({getData:t,canMakePayment:P,setErrorMessage:m},a)),d&&r.createElement(s,{errorMessage:d})))},O=function(e){var t,n=e.getData,a=((0,i.default)(e,["getData"]),n("buttonStyle").buttonType),o=(null===(t=n("editorIcons"))||void 0===t?void 0:t[a])||"long";return r.createElement("div",{className:"gpay-block-editor ".concat(a)},r.createElement("img",{src:o}))};(0,c.registerExpressPaymentMethod)({name:b("name"),canMakePayment:function(){return b("isAdmin")?!(0,u.isCartPage)()||b("cartCheckoutEnabled"):!((0,u.isCartPage)()&&!b("cartCheckoutEnabled"))&&u.initStripe.then((function(e){return e.error?e:P}))},content:r.createElement(E,{getData:b}),edit:r.createElement(O,{getData:b}),supports:{showSavedCards:b("showSavedCards"),showSaveOption:b("showSaveOption"),features:b("features")}})},8664:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.toCartAddress=t.getShippingOptions=t.getShippingOptionParameters=t.getPaymentRequestUpdate=t.getTransactionInfo=void 0;var a=r(n(319)),o=n(1134),i=((0,n(4617).getSetting)("stripeGeneralData"),function(e){var t=e.billing,n=e.processingCountry,r=e.totalPriceLabel,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ESTIMATED",i=t.cartTotal,c=t.cartTotalItems,u=t.currency,l={countryCode:n,currencyCode:u.code,totalPriceStatus:a,totalPrice:(0,o.removeNumberPrecision)(i.value,u.minorUnit).toString(),displayItems:s(c,u.minorUnit),totalPriceLabel:r};return l});t.getTransactionInfo=i,t.getPaymentRequestUpdate=function(e){var t=e.billing,n=e.shippingData,r=e.processingCountry,a=e.totalPriceLabel,o=n.needsShipping,s=n.shippingRates,u={newTransactionInfo:i({billing:t,processingCountry:r,totalPriceLabel:a},"FINAL")};return o&&(u.newShippingOptionParameters=c(s)),u};var s=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2,n=[],r=["total_tax","total_shipping"];return e.forEach((function(e){(0<e.value||e.key&&r.includes(e.key))&&n.push({label:e.label,type:"LINE_ITEM",price:(0,o.removeNumberPrecision)(e.value,t).toString()})})),n},c=function(e){var t=u(e),n=t.map((function(e){return e.id})).slice(0,1).shift();return e.forEach((function(e,t){e.shipping_rates.forEach((function(e){e.selected&&(n=(0,o.getShippingOptionId)(t,e.rate_id))}))})),{shippingOptions:t,defaultSelectedOptionId:n}};t.getShippingOptionParameters=c;var u=function(e){var t=[];return e.forEach((function(e,n){var r=e.shipping_rates.map((function(e){var t=document.createElement("textarea");t.innerHTML=e.name;var r=(0,o.formatPrice)(e.price,e.currency_code);return{id:(0,o.getShippingOptionId)(n,e.rate_id),label:t.value,description:"".concat(r)}}));t=[].concat((0,a.default)(t),(0,a.default)(r))})),t};t.getShippingOptions=u;var l=(0,o.toCartAddress)({name:function(e,t){return e.first_name=t.split(" ").slice(0,-1).join(" "),e.last_name=t.split(" ").pop(),e},countryCode:"country",address1:"address_1",address2:"address_2",locality:"city",administrativeArea:"state",postalCode:"postcode",email:"email",phoneNumber:"phone"});t.toCartAddress=l},3636:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(4332);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(1261);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(6107);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}));var i=n(2715);Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===i[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}}))}));var s=n(2343);Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===s[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return s[e]}}))}));var c=n(1500);Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===c[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return c[e]}}))}));var u=n(6095);Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===u[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return u[e]}}))}));var l=n(5554);Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===l[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return l[e]}}))}));var p=n(3893);Object.keys(p).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===p[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return p[e]}}))}));var d=n(1225);Object.keys(d).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===d[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return d[e]}}))}))},1261:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useAfterProcessingPayment=void 0;var a=r(n(1284)),o=r(n(8926)),i=n(9307),s=n(6664),c=n(1134),u=n(3893);t.useAfterProcessingPayment=function(e){var t=e.getData,n=e.eventRegistration,r=e.responseTypes,l=e.activePaymentMethod,p=e.shouldSavePayment,d=void 0!==p&&p,m=e.messageContext,f=void 0===m?null:m,y=(0,s.useStripe)(),g=n.onCheckoutAfterProcessingWithSuccess,v=n.onCheckoutAfterProcessingWithError;(0,u.useProcessCheckoutError)({responseTypes:r,subscriber:v,messageContext:f}),(0,i.useEffect)((function(){var e=g(function(){var e=(0,o.default)(a.default.mark((function e(n){var o;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=n.redirectUrl,t("name")!==l){e.next=5;break}return e.next=4,(0,c.handleCardAction)({redirectUrl:o,responseTypes:r,name:l,savePaymentMethod:d});case 4:return e.abrupt("return",e.sent);case 5:return e.abrupt("return",null);case 6:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());return function(){return e()}}),[y,r,g,l,d])}},5554:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useExpressBreakpointWidth=t.useBreakpointWidth=void 0;var a=r(n(3038)),o=n(9307),i=n(1134),s=function(e){var t=e.name,n=e.width,r=e.node,s=e.className,c=(0,o.useState)(window.innerWidth),u=(0,a.default)(c,2),l=u[0],p=u[1],d=(0,o.useCallback)((function(e){var t=(0,i.getFromCache)(e);return t?parseInt(t):0}),[]),m=(0,o.useCallback)((function(e,t){return(0,i.storeInCache)(e,t)}),[]);(0,o.useEffect)((function(){var e="function"==typeof r?r():r;if(e){var a=d(t);(!a||n>a)&&m(t,n),e.clientWidth<n?e.classList.add(s):e.clientWidth>a&&e.classList.remove(s)}}),[l,r]),(0,o.useEffect)((function(){var e=function(){return p(window.innerWidth)};return window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}))};t.useBreakpointWidth=s,t.useExpressBreakpointWidth=function(e){var t=e.payment_method,n=e.width,r=(0,o.useCallback)((function(){var e=document.getElementById("express-payment-method-".concat(t));return e?e.parentNode:null}),[]);s({name:"expressMaxWidth",width:n,node:r,className:"wc-stripe-express__sm"})}},2343:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useExportedValues=void 0;var r=n(9307);t.useExportedValues=function(){return(0,r.useRef)({}).current}},6095:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.usePaymentEvents=void 0;var a=r(n(9713)),o=r(n(3038)),i=n(9307),s=n(1134);function c(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function u(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?c(Object(n),!0).forEach((function(t){(0,a.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.usePaymentEvents=function(e){var t=e.billing,n=e.shippingData,r=e.eventRegistration,c=r.onShippingRateSuccess,l=r.onShippingRateFail,p=r.onShippingRateSelectSuccess,d=(0,i.useRef)(t),m=(0,i.useRef)(n),f=(0,i.useState)(null),y=(0,o.default)(f,2),g=y[0],v=y[1],h=(0,i.useState)({onShippingChanged:!1}),b=(0,o.default)(h,2),P=b[0],E=b[1],O=(0,i.useCallback)((function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];n?v((0,a.default)({},e,t)):E(u(u({},P),{},(0,a.default)({},e,t)))}),[P,E]),S=(0,i.useCallback)((function(e){P[e]&&(delete P[e],E(P))}),[P]),_=(0,i.useCallback)((function(){var e=m.current,t=d.current;if(P.onShippingChanged&&!e.isSelectingRate&&!e.shippingRatesLoading){var n=P.onShippingChanged,r=!0;(0,s.hasShippingRates)(e.shippingRates)||(r=!1),n(r,{billing:t,shipping:e}),S("onShippingChanged")}}),[P,S]);return(0,i.useEffect)((function(){d.current=t,m.current=n})),(0,i.useEffect)((function(){g&&g.onShippingChanged&&(g.onShippingChanged(!0,{billing:d.current,shipping:m.current}),v(null))}),[g]),(0,i.useEffect)((function(){var e=c(_),t=p(_),n=l((function(e){e.hasInvalidAddress,e.hasError,P.onShippingChanged&&((0,P.onShippingChanged)(!1),S("onShippingChanged"))}));return function(){e(),n(),t()}}),[P,c,l,p]),{addPaymentEvent:O,removePaymentEvent:S}}},1500:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.usePaymentRequest=void 0;var a=r(n(319)),o=r(n(9713)),i=r(n(3038)),s=n(9307),c=n(6095),u=n(1134),l=r(n(9127));function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var m=(0,u.toCartAddress)();t.usePaymentRequest=function(e){var t=e.getData,n=e.onClose,r=e.stripe,o=e.billing,p=e.shippingData,f=e.eventRegistration,y=e.setPaymentMethod,g=e.exportedValues,v=e.canPay,h=(0,c.usePaymentEvents)({billing:o,shippingData:p,eventRegistration:f}).addPaymentEvent,b=(p.shippingAddress,p.needsShipping),P=p.shippingRates,E=o.billingData,O=o.cartTotalItems,S=o.currency,_=o.cartTotal,w=(0,s.useState)(null),C=(0,i.default)(w,2),M=C[0],k=C[1],j=(0,s.useRef)({}),D=(0,s.useRef)(p),x=(0,s.useRef)(o);(0,s.useEffect)((function(){D.current=p,x.current=o}),[p]),(0,s.useEffect)((function(){if(r){var e={country:t("countryCode"),currency:null==S?void 0:S.code.toLowerCase(),total:{amount:_.value,label:_.label,pending:!0},requestPayerName:!0,requestPayerEmail:(0,u.isFieldRequired)("email",E.country),requestPayerPhone:(0,u.isFieldRequired)("phone",E.country),requestShipping:b,displayItems:(0,u.getDisplayItems)(O,S)};e.requestShipping&&(e.shippingOptions=(0,u.getShippingOptions)(P)),j.current=e;var n=r.paymentRequest(j.current);n.canMakePayment().then((function(e){v(e)?k(n):k(null)}))}}),[r,_.value,E.country,P,O,S.code]),(0,s.useEffect)((function(){M&&(j.current.requestShipping&&(M.on("shippingaddresschange",A),M.on("shippingoptionchange",I)),M.on("cancel",n),M.on("paymentmethod",L))}),[M,A,n,L]);var R=(0,s.useCallback)((function(e){return function(t,n){var r=n.billing,a=n.shipping,o=r.cartTotal,i=r.cartTotalItems,s=r.currency,c=a.shippingRates;t?e.updateWith({status:"success",total:{amount:o.value,label:o.label,pending:!1},displayItems:(0,u.getDisplayItems)(i,s),shippingOptions:(0,u.getShippingOptions)(c)}):e.updateWith({status:"invalid_shipping_address"})}}),[]),A=(0,s.useCallback)((function(e){var t=e.shippingAddress,n=D.current,r=m(t);n.setShippingAddress(d(d({},n.shippingAddress),r));var a=(0,l.default)((0,u.getIntermediateAddress)(n.shippingAddress),r);h("onShippingChanged",R(e),a)}),[h]),I=(0,s.useCallback)((function(e){var t=e.shippingOption,n=D.current;n.setSelectedRates.apply(n,(0,a.default)((0,u.getSelectedShippingOption)(t.id))),h("onShippingChanged",R(e))}),[h]),L=(0,s.useCallback)((function(e){var t=e.paymentMethod,n=e.payerName,r=void 0===n?null:n,a=e.payerEmail,o=void 0===a?null:a,i=e.payerPhone,s={payerName:r,payerEmail:o,payerPhone:void 0===i?null:i};null!=t&&t.billing_details.address&&(s=m(t.billing_details.address,s)),g.billingData=s,e.shippingAddress&&(g.shippingAddress=m(e.shippingAddress)),y(t.id),e.complete("success")}),[]);return{paymentRequest:M}}},3893:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.useProcessCheckoutError=void 0;var r=n(9307);t.useProcessCheckoutError=function(e){var t=e.responseTypes,n=e.subscriber,a=e.messageContext,o=void 0===a?null:a;(0,r.useEffect)((function(){var e=n((function(e){var n;return null!=e&&null!==(n=e.processingResponse.paymentDetails)&&void 0!==n&&n.stripeErrorMessage?{type:t.ERROR,message:e.processingResponse.paymentDetails.stripeErrorMessage,messageContext:o}:null}));return function(){return e()}}),[t,n])}},4332:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useProcessPaymentIntent=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(9713)),s=r(n(3038)),c=n(9307),u=n(6664),l=n(1134);function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.useProcessPaymentIntent=function(e){var t=e.getData,n=e.billing,r=e.shippingData,p=e.onPaymentProcessing,m=e.emitResponse,f=e.error,y=e.onSubmit,g=e.activePaymentMethod,v=e.paymentType,h=void 0===v?"card":v,b=e.setupIntent,P=void 0===b?null:b,E=e.removeSetupIntent,O=void 0===E?null:E,S=e.shouldSavePayment,_=void 0!==S&&S,w=e.exportedValues,C=void 0===w?{}:w,M=e.getPaymentMethodArgs,k=void 0===M?function(){return{}}:M,j=n.billingData,D=r.shippingAddress,x=m.responseTypes,R=(0,c.useState)(null),A=(0,s.default)(R,2),I=A[0],L=A[1],T=(0,u.useStripe)(),N=(0,c.useRef)(k),B=(0,c.useRef)({});(0,c.useEffect)((function(){N.current=k}),[k]);var F=(0,c.useCallback)((function(e){B.current=d(d({},B.current),e)}),[]),q=(0,c.useCallback)((function(){return d(d({},{type:h,billing_details:(0,l.getBillingDetailsFromAddress)(null!=C&&C.billingData?C.billingData:j)}),N.current())}),[j,h,k]),X=(0,c.useCallback)((function(e,n){var r,a={meta:{paymentMethodData:d((r={},(0,i.default)(r,"".concat(t("name"),"_token_key"),e),(0,i.default)(r,"".concat(t("name"),"_save_source_key"),n),r),B.current)}};return null!=C&&C.billingData&&(a.meta.billingData=C.billingData),null!=C&&C.shippingAddress&&(a.meta.shippingData={address:C.shippingAddress}),a}),[j,D]);return(0,c.useEffect)((function(){I&&"string"==typeof I&&y()}),[I,y]),(0,c.useEffect)((function(){var e=p((0,o.default)(a.default.mark((function e(){var n,r;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(g===t("name")){e.next=2;break}return e.abrupt("return",null);case 2:if(n=null,r=null,e.prev=3,!f){e.next=6;break}throw new l.StripeError(f);case 6:if(!P){e.next=16;break}return e.next=9,T.confirmCardSetup(P.client_secret,{payment_method:q()});case 9:if(!(n=e.sent).error){e.next=12;break}throw new l.StripeError(n.error);case 12:r=n.setupIntent.payment_method,O(),e.next=26;break;case 16:if(!I){e.next=20;break}r=I,e.next=26;break;case 20:return e.next=22,T.createPaymentMethod(q());case 22:if(!(n=e.sent).error){e.next=25;break}throw new l.StripeError(n.error);case 25:r=n.paymentMethod.id;case 26:return e.abrupt("return",(0,l.ensureSuccessResponse)(x,X(r,_)));case 29:return e.prev=29,e.t0=e.catch(3),console.log(e.t0),L(null),e.abrupt("return",(0,l.ensureErrorResponse)(x,e.t0.error));case 34:case"end":return e.stop()}}),e,null,[[3,29]])}))));return function(){return e()}}),[I,j,p,T,P,g,_]),{setPaymentMethod:L,getCreatePaymentMethodArgs:q,addPaymentMethodData:F}}},6107:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useSetupIntent=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(3038)),s=n(9307),c=r(n(6989)),u=n(1134);t.useSetupIntent=function(e){var t=e.cartTotal,n=e.setError,r=(0,s.useState)((0,u.getFromCache)("setupIntent")),l=(0,i.default)(r,2),p=l[0],d=l[1];(0,s.useEffect)((function(){var e=function(){var e=(0,o.default)(a.default.mark((function e(){var t;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!p){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,(0,c.default)({url:(0,u.getRoute)("create/setup_intent"),method:"POST"});case 4:(t=e.sent).code?n(t.message):((0,u.storeInCache)("setupIntent",t.intent),d(t.intent));case 6:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();(0,u.cartContainsPreOrder)()||(0,u.cartContainsSubscription)()&&0==t.value?p||e():d(null)}),[t.value]);var m=(0,s.useCallback)((function(){(0,u.deleteFromCache)("setupIntent")}),[t.value]);return{setupIntent:p,removeSetupIntent:m}}},2715:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useStripeError=void 0;var a=r(n(3038)),o=n(9307);t.useStripeError=function(){var e=(0,o.useState)(!1),t=(0,a.default)(e,2);return[t[0],t[1]]}},1225:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useUpdatePaymentIntent=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(9713)),s=n(9307),c=n(6664),u=n(1134);function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.useUpdatePaymentIntent=function(e){var t=e.clientSecret,n=e.billingData,r=e.eventRegistration,l=e.responseTypes,d=e.name,m=e.shouldSavePayment,f=e.noticeContexts,y=r.onPaymentProcessing,g=r.onCheckoutAfterProcessingWithSuccess,v=(0,s.useRef)({billingData:n}),h=(0,s.useRef)({}),b=(0,c.useStripe)(),P=(0,c.useElements)(),E=(0,s.useCallback)((function(e,t){var n;return{meta:{paymentMethodData:p((n={},(0,i.default)(n,"".concat(d,"_token_key"),e),(0,i.default)(n,"".concat(d,"_save_source_key"),t),n),h.current)}}}),[]),O=(0,s.useCallback)((function(e){h.current=p(p({},h.current),e)}),[]),S=(0,s.useCallback)((0,o.default)(a.default.mark((function e(){var t;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=v.current.billingData,e.next=3,b.updatePaymentIntent({elements:P,params:{payment_method_data:{billing_details:(0,u.getBillingDetailsFromAddress)(t)}}});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)}))),[b,P]),_=(0,s.useCallback)((0,o.default)(a.default.mark((function e(){var t;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=v.current.billingData,e.next=3,b.confirmPayment({elements:P,confirmParams:{payment_method_data:{billing_details:(0,u.getBillingDetailsFromAddress)(t)}},redirect:"if_required"});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)}))),[b,P]);return(0,s.useEffect)((function(){v.current={billingData:n}})),(0,s.useEffect)((function(){var e=y((0,o.default)(a.default.mark((function e(){var n,r;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,n=null,e.next=4,b.retrievePaymentIntent(t);case 4:if("requires_action"!==(r=e.sent).paymentIntent.status){e.next=11;break}return n=r.paymentIntent.payment_method,e.next=9,_();case 9:e.next=17;break;case 11:return e.next=13,S();case 13:if(!(r=e.sent).error){e.next=16;break}throw new u.StripeError(r.error);case 16:n=r.paymentIntent.payment_method;case 17:return e.abrupt("return",(0,u.ensureSuccessResponse)(l,E(n,m)));case 20:return e.prev=20,e.t0=e.catch(0),e.abrupt("return",(0,u.ensureErrorResponse)(l,e.t0,{messageContext:f.PAYMENTS}));case 23:case"end":return e.stop()}}),e,null,[[0,20]])}))));return function(){return e()}}),[y,S,_,t,m]),(0,s.useEffect)((function(){var e=g(function(){var e=(0,o.default)(a.default.mark((function e(t){var n;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.redirectUrl,e.next=3,(0,u.handleCardAction)({redirectUrl:n,responseTypes:l,name:d,method:"confirmCardPayment",savePaymentMethod:m});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}());return function(){return e()}}),[g,_,m,d]),{updatePaymentIntent:S,addPaymentMethodData:O}}},318:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(9874);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}))},9874:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useLink=void 0;var a=r(n(1284)),o=r(n(9713)),i=r(n(8926)),s=r(n(3038)),c=r(n(6479)),u=n(9307),l=n(6664),p=n(1134);function d(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function m(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?d(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var f=(0,p.toCartAddress)();t.useLink=function(e){var t=e.email,n=e.eventRegistration,r=e.onClick,o=e.onSubmit,d=e.isActive,y=e.responseTypes,g=((0,c.default)(e,["email","eventRegistration","onClick","onSubmit","isActive","responseTypes"]),(0,u.useState)()),v=(0,s.default)(g,2),h=v[0],b=v[1],P=(0,l.useStripe)(),E=(0,l.useElements)(),O=(0,u.useRef)(),S=(0,u.useRef)(),_=n.onPaymentProcessing;return(0,u.useEffect)((function(){O.current={onClick:r,onSubmit:o}})),(0,u.useEffect)((function(){P&&E&&b(null==P?void 0:P.linkAutofillModal(E))}),[P,E]),(0,u.useEffect)((function(){h&&h.launch({email:t})}),[h,t]),(0,u.useEffect)((function(){h&&(h.on("autofill",(function(e){S.current=e,O.current.onSubmit()})),h.on("authenticated",(function(e){O.current.onClick()})))}),[h]),(0,u.useEffect)((function(){if(d){var e=_((0,i.default)(a.default.mark((function e(){var t,n,r,o,i,s,c;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={meta:{}},n=S.current.value,r=n.shippingAddress,o=void 0===r?null:r,i=n.billingAddress,(s=void 0===i?null:i)&&(t.meta.billingData=f(m(m({},s.address),{},{recipient:s.name}))),o&&(t.meta.shippingData={address:f(m(m({},o.address),{},{recipient:o.name}))}),e.prev=4,e.next=7,P.updatePaymentIntent({elements:E,params:{payment_method_data:{billing_details:(0,p.getBillingDetailsFromAddress)(t.meta.billingData)}}});case 7:c=e.sent,t.meta.paymentMethodData={stripe_cc_token_key:c.paymentIntent.payment_method,stripe_cc_save_source_key:!1},e.next=14;break;case 11:e.prev=11,e.t0=e.catch(4),console.log(e.t0);case 14:return e.abrupt("return",(0,p.ensureSuccessResponse)(y,t));case 15:case"end":return e.stop()}}),e,null,[[4,11]])}))));return function(){return e()}}}),[d,_,P,E]),h}},3474:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.LinkComponent=void 0;var o=a(n(6479)),i=(n(9307),n(6664)),s=n(4613),c=n(318),u=n(1134),l=(0,u.getSettings)("stripe_link_checkout_data"),p=function(e){var t,n,a=e.cartData,s=(0,o.default)(e,["cartData"]),c=null==a||null===(t=a.extensions)||void 0===t||null===(n=t.stripe_link_checkout)||void 0===n?void 0:n.clientSecret;return c?r.createElement(i.Elements,{stripe:u.initStripe,options:{clientSecret:c}},r.createElement(d,s)):null};t.LinkComponent=p;var d=function(e){var t=e.billing,n=(e.shipping,e.eventRegistration),a=e.onClick,s=e.onSubmit,u=e.activePaymentMethod,p=e.emitResponse,d=((0,o.default)(e,["billing","shipping","eventRegistration","onClick","onSubmit","activePaymentMethod","emitResponse"]),t.billingData),m=(t.currency,p.responseTypes),f=(p.noticeContexts,d.email),y=u===l("name");return(0,c.useLink)({email:f,eventRegistration:n,onClick:a,onSubmit:s,isActive:y,responseTypes:m}),r.createElement("div",{style:{display:"none"}},r.createElement(i.PaymentElement,null))};(0,s.registerExpressPaymentMethod)({name:l("name"),canMakePayment:function(e){return!0},content:r.createElement(p,null),edit:r.createElement(p,null),supports:{showSavedCards:l("showSavedCards"),showSaveOption:l("showSaveOption"),features:l("features")}})},6480:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(6479)),i=a(n(9713)),s=a(n(3038)),c=n(9307),u=n(4613),l=n(1134),p=n(3539),d=n(3187),m=n(6664),f=n(5736),y=n(3554),g=n(8817);function v(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?v(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):v(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var b,P=(0,l.getSettings)("stripe_afterpay_data"),E=function(e){var t=e.total,n=e.currency,r=e.needsShipping,a=!1,o=P("requiredParams"),i=P("accountCountry"),s=!!o.hasOwnProperty(n)&&o[n];return s&&(a=i===(null==s?void 0:s[0])&&r&&t>(null==s?void 0:s[1])&&t<(null==s?void 0:s[2])),a},O=function(e){var t=e.getData,n=(0,c.useState)({amount:t("cartTotal"),currency:t("currency"),isEligible:t("msgOptions").isEligible}),a=(0,s.default)(n,2),o=a[0],i=a[1];return b=i,r.createElement(m.Elements,{stripe:l.initStripe,options:t("elementOptions")},r.createElement("div",{className:"wc-stripe-blocks-afterpay__label"},r.createElement(m.AfterpayClearpayMessageElement,{options:h(h({},t("msgOptions")),{amount:o.amount,currency:o.currency,isEligible:o.isEligible})})))},S=function(e){var t=e.content,n=e.billing,a=e.shippingData,i=(0,o.default)(e,["content","billing","shippingData"]),s=t,u=n.cartTotal,l=n.currency,p=a.needsShipping;return(0,c.useEffect)((function(){b({amount:u.value,currency:l.code,isEligible:p})}),[u.value,l.code,p]),r.createElement(r.Fragment,null,p&&r.createElement("div",{className:"wc-stripe-blocks-payment-method-content"},r.createElement("div",{className:"wc-stripe-blocks-afterpay-offsite__container"},r.createElement("div",{className:"wc-stripe-blocks-afterpay__offsite"},r.createElement("img",{src:P("offSiteSrc")}),r.createElement("p",null,(0,f.sprintf)((0,f.__)('After clicking "%s", you will be redirected to Afterpay to complete your purchase securely.',"woo-stripe-payment"),P("placeOrderButtonLabel"))))),r.createElement(s,h(h({},i),{},{billing:n,shippingData:a}))))},_=function(e){var t=e.cart,n=(e.extensions,e.context,t.cartTotals),a=t.cartNeedsShipping,o=(n.total_price,n.currency_code),i=parseInt(n.total_price),s=parseInt(n.total_price)/Math.pow(10,n.currency_minor_unit);return E({total:s,currency:o,needsShipping:a})?r.createElement(y.TotalsWrapper,null,r.createElement(m.Elements,{stripe:l.initStripe,options:P("elementOptions")},r.createElement("div",{className:"wc-stripe-blocks-afterpay-totals__item wc-block-components-totals-item"},r.createElement(m.AfterpayClearpayMessageElement,{options:h(h({},P("msgOptions")),{amount:i,currency:o,isEligible:a})})))):null};P()&&((0,u.registerPaymentMethod)({name:P("name"),label:r.createElement(O,{getData:P}),ariaLabel:(0,f.__)("Afterpay","woo-stripe-payment"),placeOrderButtonLabel:P("placeOrderButtonLabel"),canMakePayment:(0,p.canMakePayment)(P,(function(e){var t=e.settings,n=e.cartTotals,r=e.cartNeedsShipping,a=n.currency_code,o=n.currency_minor_unit,i=n.total_price;b&&b({amount:parseInt(n.total_price),currency:a,isEligible:r});var s=parseInt(i)/Math.pow(10,o),c=E({total:s,currency:a,needsShipping:r});return!c&&!t("hideIneligible")||c})),content:r.createElement(S,{content:p.LocalPaymentIntentContent,getData:P,confirmationMethod:"confirmAfterpayClearpayPayment"}),edit:r.createElement(d.PaymentMethod,{content:p.LocalPaymentIntentContent,getData:P}),supports:{showSavedCards:!1,showSaveOption:!1,features:P("features")}}),(0,g.registerPlugin)("wc-stripe",{render:function(){return r.createElement(y.ExperimentalOrderMeta,null,r.createElement(_,null))},scope:"woocommerce-checkout"}))},39:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(2029),c=n(3187),u=(0,o.getSettings)("stripe_alipay_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"Alipay",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(c.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmAlipayPayment",getData:u}),edit:r.createElement(c.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},8641:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_bancontact_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"Bancontact",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmBancontactPayment",getData:c}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},5176:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_becs_data"),l=function(e){return r.createElement(r.Fragment,null,r.createElement(s.PaymentMethod,e),r.createElement("div",{className:"wc-stripe-blocks-mandate becs-mandate",dangerouslySetInnerHTML:{__html:e.getData("mandate")}}))};u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"BECS",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(l,{content:i.LocalPaymentIntentContent,getData:u,confirmationMethod:"confirmAuBecsDebitPayment",component:c.AuBankAccountElement}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},4990:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(7154)),i=a(n(9713)),s=a(n(3038)),c=a(n(6479)),u=n(9307),l=n(5736),p=n(4613),d=a(n(4184)),m=n(1134),f=n(3539),y=n(3187);function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var h=(0,m.getSettings)("stripe_boleto_data");h()&&(0,p.registerPaymentMethod)({name:h("name"),label:r.createElement(y.PaymentMethodLabel,{title:h("title"),paymentMethod:h("name"),icons:h("icon")}),ariaLabel:"Boleto",placeOrderButtonLabel:h("placeOrderButtonLabel"),canMakePayment:(0,f.canMakePayment)(h),content:r.createElement(y.PaymentMethod,{content:function(e){var t=e.eventRegistration,n=(0,c.default)(e,["eventRegistration"]),a=(0,u.useState)(""),i=(0,s.default)(a,2),p=i[0],y=i[1],g=(0,u.useState)(!1),h=(0,s.default)(g,2),b=h[0],P=h[1],E=t.onPaymentProcessing,O=(0,u.useCallback)((function(){return{boleto:{tax_id:p}}}),[p]);return(0,u.useEffect)((function(){var e=E((function(){return!!p||(0,m.ensureErrorResponse)(n.emitResponse.responseTypes,(0,l.__)("Please enter a valid CPF/CNPJ value","woo-stripe-payment"))}));return function(){return e()}}),[E,p]),r.createElement(r.Fragment,null,r.createElement("div",{className:(0,d.default)("wc-block-components-text-input",{"is-active":b||p})},r.createElement("input",{type:"text",id:"wc-stripe-boleto-tax_id",onChange:function(e){return y(e.target.value)},onFocus:function(){return P(!0)},onBlur:function(){return P(!1)}}),r.createElement("label",{htmlFor:"wc-stripe-boleto-tax_id"},(0,l.__)(" CPF / CNPJ"," woo-stripe-payment"))),(0,m.isTestMode)()&&r.createElement("div",{className:"wc-stripe-boleto__description"},r.createElement("p",null,(0,l.__)("Test mode values","woo-stripe-payment")),r.createElement("div",null,r.createElement("label",null,"CPF:")," ",r.createElement("span",null,"000.000.000-00")),r.createElement("div",null,r.createElement("label",null,"CNPJ:")," ",r.createElement("span",null,"00.000.000/0000-00"))),!(0,m.isTestMode)()&&r.createElement("div",{className:"wc-stripe-boleto__description"},r.createElement("p",null,(0,l.__)("Accepted formats","woo-stripe-payment")),r.createElement("div",null,r.createElement("label",null,"CPF:")," ",r.createElement("span",null,(0,l.__)("XXX.XXX.XXX-XX or XXXXXXXXXXX","woo-stripe-payment"))),r.createElement("div",null,r.createElement("label",null,"CNPJ:")," ",r.createElement("span",null,(0,l.__)("XX.XXX.XXX/XXXX-XX or XXXXXXXXXXXXXX","woo-stripe-payment")))),r.createElement(f.LocalPaymentIntentContent,(0,o.default)({callback:O},v(v({},n),{eventRegistration:t}))))},getData:h,confirmationMethod:"confirmBoletoPayment"}),edit:r.createElement(y.PaymentMethod,{content:f.LocalPaymentIntentContent,getData:h}),supports:{showSavedCards:!1,showSaveOption:!1,features:h("features")}})},4494:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_eps_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"EPS",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmEpsPayment",component:c.EpsBankElement,getData:u}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},4031:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_fpx_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"FPX",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u,confirmationMethod:"confirmIdealPayment",component:c.FpxBankElement}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},3817:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_giropay_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"Giropay",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmGiropayPayment",getData:c}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},3140:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_grabpay_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"GrabPay",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c,confirmationMethod:"confirmGrabPayPayment"}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},8522:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0});var r=n(3160);Object.keys(r).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===r[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return r[e]}}))}));var a=n(3994);Object.keys(a).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===a[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return a[e]}}))}));var o=n(878);Object.keys(o).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===o[e]||Object.defineProperty(t,e,{enumerable:!0,get:function(){return o[e]}}))}))},3160:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useAfterProcessLocalPayment=void 0;var a=r(n(1284)),o=r(n(9713)),i=r(n(6479)),s=r(n(8926)),c=n(9307),u=n(6664),l=n(1134);function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){(0,o.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.useAfterProcessLocalPayment=function(e){var t=e.getData,n=e.billingData,r=e.eventRegistration,o=e.responseTypes,p=e.activePaymentMethod,m=e.confirmationMethod,f=e.getPaymentMethodArgs,y=void 0===f?function(){return{}}:f,g=(0,u.useStripe)(),v=r.onCheckoutAfterProcessingWithSuccess,h=r.onCheckoutAfterProcessingWithError,b=(0,c.useRef)(n),P=(0,c.useRef)(y);(0,c.useEffect)((function(){b.current=n}),[n]),(0,c.useEffect)((function(){P.current=y}),[y]),(0,c.useEffect)((function(){var e=v(function(){var e=(0,s.default)(a.default.mark((function e(n){var r,s,c,u,f,y,v;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.redirectUrl,t("name")!==p){e.next=18;break}if(e.prev=2,!(s=r.match(/#response=(.+)/))){e.next=12;break}return c=JSON.parse(window.atob(decodeURIComponent(s[1]))),u=c.client_secret,f=c.return_url,y=(0,i.default)(c,["client_secret","return_url"]),e.next=8,g[m](u,{payment_method:d({billing_details:(0,l.getBillingDetailsFromAddress)(b.current)},P.current(b.current)),return_url:f});case 8:if(!(v=e.sent).error){e.next=11;break}throw new l.StripeError(v.error);case 11:window.location=decodeURI(y.order_received_url);case 12:e.next=18;break;case 14:return e.prev=14,e.t0=e.catch(2),console.log(e.t0),e.abrupt("return",(0,l.ensureErrorResponse)(o,e.t0.error));case 18:case"end":return e.stop()}}),e,null,[[2,14]])})));return function(t){return e.apply(this,arguments)}}());return function(){return e()}}),[g,v,h])}},878:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useCreateSource=void 0;var a=r(n(1284)),o=r(n(8926)),i=r(n(9713)),s=r(n(3038)),c=n(9307),u=n(1134),l=n(6664),p=n(5736);t.useCreateSource=function(e){var t=e.getData,n=e.billing,r=e.shippingAddress,d=e.onPaymentProcessing,m=e.responseTypes,f=e.getSourceArgs,y=void 0!==f&&f,g=e.element,v=void 0!==g&&g,h=(0,c.useState)(!1),b=(0,s.default)(h,2),P=b[0],E=b[1],O=(0,c.useState)(!1),S=(0,s.default)(O,2),_=S[0],w=S[1],C=(0,c.useRef)({billing:n,shippingAddress:r}),M=(0,l.useStripe)(),k=(0,l.useElements)();(0,c.useEffect)((function(){C.current={billing:n,shippingAddress:r}}));var j=(0,c.useCallback)((function(){var e=C.current.billing,n=e.cartTotal,r=e.currency,a=e.billingData,o=(0,u.getDefaultSourceArgs)({type:t("paymentType"),amount:n.value,billingData:a,currency:r.code,returnUrl:t("returnUrl")});return y&&(o=y(o,{billingData:a})),o}),[]),D=(0,c.useCallback)((function(e){return{meta:{paymentMethodData:(0,i.default)({},"".concat(t("name"),"_token_key"),e)}}}),[]);return(0,c.useEffect)((function(){var e=d((0,o.default)(a.default.mark((function e(){var t;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!P){e.next=2;break}return e.abrupt("return",(0,u.ensureSuccessResponse)(m,D(P.id)));case 2:if(e.prev=2,!v){e.next=11;break}if(_){e.next=6;break}throw(0,p.__)("Please enter your payment info before proceeding.","woo-stripe-payment");case 6:return e.next=8,M.createSource(k.getElement(v),j());case 8:t=e.sent,e.next=14;break;case 11:return e.next=13,M.createSource(j());case 13:t=e.sent;case 14:if(!t.error){e.next=16;break}throw new u.StripeError(t.error);case 16:return E(t.source),e.abrupt("return",(0,u.ensureSuccessResponse)(m,D(t.source.id)));case 20:return e.prev=20,e.t0=e.catch(2),console.log(e.t0),e.abrupt("return",(0,u.ensureErrorResponse)(m,e.t0.error||e.t0));case 24:case"end":return e.stop()}}),e,null,[[2,20]])}))));return function(){return e()}}),[P,d,M,m,v,_,w]),{setIsValid:w}}},3994:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.useValidateCheckout=void 0;var a=r(n(3038)),o=n(9307),i=n(1134),s=n(5736);t.useValidateCheckout=function(e){var t=e.subscriber,n=e.responseTypes,r=e.component,c=void 0===r?null:r,u=e.msg,l=void 0===u?(0,s.__)("Please enter your payment info before proceeding.","woo-stripe-payment"):u,p=(0,o.useState)(!1),d=(0,a.default)(p,2),m=d[0],f=d[1];return(0,o.useEffect)((function(){var e=t((function(){return!(c&&!m)||(0,i.ensureErrorResponse)(n,l)}));return function(){return e()}}),[t,m,f,n,c]),{isValid:m,setIsValid:f}}},9474:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_ideal_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"Ideal",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u,confirmationMethod:"confirmIdealPayment",component:c.IdealBankElement}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},9738:(e,t,n)=>{n(5142),n(9474),n(3868),n(8641),n(3817),n(4494),n(4784),n(1192),n(7894),n(3766),n(4031),n(5176),n(3140),n(39),n(6480),n(4990),n(5748)},5142:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(5736),u=(0,o.getSettings)("stripe_klarna_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"Klarna",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u,(function(e){var t=e.settings,n=e.billingData,r=e.cartTotals,a=n.country,o=r.currency_code,i=t("requiredParams");return[o]in i&&i[o].includes(a)})),content:r.createElement(s.PaymentMethod,{content:function(e){return r.createElement(r.Fragment,null,(0,o.isTestMode)()&&r.createElement("div",{className:"wc-stripe-klarna__testmode"},r.createElement("label",null,(0,c.__)("Test mode sms","woo-stripe-payment"),":")," ",r.createElement("span",null,"123456")),r.createElement(i.LocalPaymentIntentContent,e))},getData:u,confirmationMethod:"confirmKlarnaPayment"}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},3539:(e,t,n)=>{var r=n(9307),a=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.LocalPaymentSourceContent=t.LocalPaymentIntentContent=t.canMakePayment=void 0;var o=a(n(7154)),i=a(n(9713)),s=a(n(6479)),c=n(9307),u=n(6664),l=n(1134),p=n(8522),d=n(3636);function m(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function f(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?m(Object(n),!0).forEach((function(t){(0,i.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):m(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}t.canMakePayment=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(n){var r=n.billingData,a=n.cartTotals,o=(0,s.default)(n,["billingData","cartTotals"]),i=a.currency_code,c=r.country,u=e("countries"),p=e("allowedCountries"),d=e("features"),m=!1;if(e("isAdmin"))m=!0;else{if((0,l.cartContainsSubscription)()&&!d.includes("subscriptions"))return!1;if((0,l.cartContainsPreOrder)()&&!d.includes("pre-orders"))return!1;e("currencies").includes(i)&&(m="all_except"===p?!e("exceptCountries").includes(c):"specific"===p?e("specificCountries").includes(c):!(u.length>0)||u.includes(c)),t&&m&&(m=t(f({settings:e,billingData:r,cartTotals:a},o)))}return m}},t.LocalPaymentIntentContent=function(e){var t=e.getData,n=(0,s.default)(e,["getData"]);return r.createElement(u.Elements,{stripe:l.initStripe,options:t("elementOptions")},r.createElement(g,f(f({},n),{},{getData:t})))},t.LocalPaymentSourceContent=function(e){return r.createElement(u.Elements,{stripe:l.initStripe},r.createElement(y,e))};var y=function(e){var t=e.getData,n=e.billing,a=e.shippingData,o=e.emitResponse,i=e.eventRegistration,s=e.getSourceArgs,c=void 0!==s&&s,u=e.element,l=void 0!==u&&u,d=a.shippingAddress,m=i.onPaymentProcessing,f=(i.onCheckoutAfterProcessingWithError,o.responseTypes),y=(o.noticeContexts,(0,p.useCreateSource)({getData:t,billing:n,shippingAddress:d,onPaymentProcessing:m,responseTypes:f,getSourceArgs:c,element:l}).setIsValid);return l?r.createElement(v,{name:t("name"),options:t("paymentElementOptions"),onChange:function(e){y(e.complete)},element:l}):null},g=function(e){var t=e.getData,n=e.billing,a=e.emitResponse,o=e.eventRegistration,s=e.activePaymentMethod,l=e.confirmationMethod,m=void 0===l?null:l,f=e.component,y=void 0===f?null:f,g=e.callback,h=void 0===g?null:g,b=(0,u.useElements)(),P=n.billingData,E=o.onPaymentProcessing,O=o.onCheckoutAfterProcessingWithError,S=a.responseTypes,_=a.noticeContexts,w=(0,c.useCallback)((function(e){return y?(0,i.default)({},t("paymentType"),b.getElement(y)):h?h(e):{}}),[b,h]),C=(0,p.useValidateCheckout)({subscriber:E,responseTypes:S,component:y}).setIsValid;return(0,p.useAfterProcessLocalPayment)({getData:t,billingData:P,eventRegistration:o,responseTypes:S,activePaymentMethod:s,confirmationMethod:m,getPaymentMethodArgs:w}),(0,d.useProcessCheckoutError)({responseTypes:S,subscriber:O,messageContext:_.PAYMENT}),y?r.createElement(v,{name:t("name"),options:t("paymentElementOptions"),onChange:function(e){return C(!e.empty)},element:y,callback:h}):null},v=function(e){var t=e.name,n=e.onChange,a=e.element,i=e.options,c=(0,s.default)(e,["name","onChange","element","options"]),u=a;return r.createElement("div",{className:"wc-stripe-local-payment-container ".concat(t," ").concat(u.displayName)},r.createElement(u,(0,o.default)({options:i,onChange:n},c)))}},4784:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_multibanco_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"MultiBanco",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentSourceContent,getData:c}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentSourceContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},5748:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(n(6664),(0,o.getSettings)("stripe_oxxo_data"));c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"OXXO",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c,confirmationMethod:"confirmOxxoPayment"}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},3868:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=n(6664),u=(0,o.getSettings)("stripe_p24_data");u()&&(0,a.registerPaymentMethod)({name:u("name"),label:r.createElement(s.PaymentMethodLabel,{title:u("title"),paymentMethod:u("name"),icons:u("icon")}),ariaLabel:"P24",placeOrderButtonLabel:u("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(u),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u,confirmationMethod:"confirmP24Payment",component:c.P24BankElement}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:u}),supports:{showSavedCards:!1,showSaveOption:!1,features:u("features")}})},1192:(e,t,n)=>{var r,a=n(9307),o=n(4613),i=n(1134),s=n(3187),c=n(3539),u=n(6664),l=(0,i.getSettings)("stripe_sepa_data"),p=(r=s.PaymentMethod,function(e){return a.createElement(a.Fragment,null,a.createElement(r,e),a.createElement("div",{className:"wc-stripe-blocks-mandate sepa-mandate",dangerouslySetInnerHTML:{__html:e.getData("mandate")}}))});l()&&(0,o.registerPaymentMethod)({name:l("name"),label:a.createElement(s.PaymentMethodLabel,{title:l("title"),paymentMethod:l("name"),icons:l("icon")}),ariaLabel:"SEPA",placeOrderButtonLabel:l("placeOrderButtonLabel"),canMakePayment:(0,c.canMakePayment)(l),content:a.createElement(p,{content:c.LocalPaymentIntentContent,getData:l,confirmationMethod:"confirmSepaDebitPayment",component:u.IbanElement}),edit:a.createElement(s.PaymentMethod,{content:c.LocalPaymentIntentContent,getData:l}),supports:{showSavedCards:!1,showSaveOption:!1,features:l("features")}})},7894:(e,t,n)=>{var r=n(9307),a=n(4613),o=n(1134),i=n(3539),s=n(3187),c=(0,o.getSettings)("stripe_sofort_data");c()&&(0,a.registerPaymentMethod)({name:c("name"),label:r.createElement(s.PaymentMethodLabel,{title:c("title"),paymentMethod:c("name"),icons:c("icon")}),ariaLabel:"Sofort",placeOrderButtonLabel:c("placeOrderButtonLabel"),canMakePayment:(0,i.canMakePayment)(c),content:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,confirmationMethod:"confirmSofortPayment",getData:c,callback:function(e){return{sofort:{country:e.country}}}}),edit:r.createElement(s.PaymentMethod,{content:i.LocalPaymentIntentContent,getData:c}),supports:{showSavedCards:!1,showSaveOption:!1,features:c("features")}})},3766:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(1284)),i=a(n(8926)),s=a(n(9713)),c=a(n(3038)),u=n(9307),l=n(4613),p=n(1134),d=n(3187),m=n(3539),f=n(6664),y=n(8522),g=n(5736),v=n(3636),h=(0,p.getSettings)("stripe_wechat_data"),b=function(e){return r.createElement(f.Elements,{stripe:p.initStripe},r.createElement(P,e))},P=function(e){var t=e.getData,n=e.billing,a=(e.shippingData,e.emitResponse),o=e.eventRegistration,i=e.components,s=parseInt(t("qrSize")),c=a.responseTypes,l=o.onPaymentProcessing,d=o.onCheckoutAfterProcessingWithSuccess,m=i.ValidationInputError,f=(0,y.useValidateCheckout)({subscriber:o.onPaymentProcessing,responseTypes:a.responseTypes,msg:(0,g.__)("Please scan your QR code to continue with payment.","woo-stripe-payment")}),v=(f.isValid,f.setIsValid),h=O({getData:t,billing:n,responseTypes:c,subscriber:l}),b=h.source,P=h.error,S=h.deleteSourceFromStorage;return(0,u.useEffect)((function(){var e=d((function(){return S(),(0,p.ensureSuccessResponse)(c)}));return function(){return e()}}),[b,d,S]),(0,u.useEffect)((function(){b&&v(!0)}),[b]),b?r.createElement(E,{text:b.wechat.qr_code_url,width:s,height:s}):P?r.createElement("div",{className:"wechat-validation-error"},r.createElement(m,{errorMessage:(0,p.getErrorMessage)(P)})):(0,p.isAddressValid)(n.billingData)?null:(0,g.__)("Please fill out all the required fields in order to complete the WeChat payment.","woo-stripe-payment")},E=function(e){var t=e.text,n=e.width,a=void 0===n?128:n,o=e.height,i=void 0===o?128:o,s=e.colorDark,c=void 0===s?"#424770":s,l=e.colorLight,d=void 0===l?"#f8fbfd":l,m=e.correctLevel,f=void 0===m?QRCode.CorrectLevel.H:m,y=(0,u.useRef)();return(0,u.useEffect)((function(){new QRCode(y.current,{text:t,width:a,height:i,colorDark:c,colorLight:d,correctLevel:f})}),[y]),r.createElement(r.Fragment,null,r.createElement("div",{id:"wc-stripe-block-qrcode",ref:y}),(0,p.isTestMode)()&&r.createElement("p",null,(0,g.__)("Test mode: Click the Place Order button to proceed.","woo-stripe-payment")),!(0,p.isTestMode)()&&r.createElement("p",null,(0,g.__)("Scan the QR code using your WeChat app. Once scanned click the Place Order button.","woo-stripe-payment")))},O=function(e){var t=e.getData,n=e.billing,r=e.responseTypes,a=e.subscriber,l=(0,f.useStripe)(),d=(0,v.useStripeError)(),m=(0,c.default)(d,2),y=m[0],g=m[1],h=(0,u.useState)((0,p.getFromCache)("wechat:source")),b=(0,c.default)(h,2),P=b[0],E=b[1],O=(0,u.useRef)(null),S=n.cartTotal,_=n.billingData,w=n.currency;(0,u.useEffect)((function(){var e=a((function(){return(0,p.ensureSuccessResponse)(r,{meta:{paymentMethodData:(0,s.default)({},"".concat(t("name"),"_token_key"),P.id)}})}));return function(){return e()}}),[P,a]);var C=(0,u.useCallback)((0,i.default)(o.default.mark((function e(){var n;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,y||!(0,p.isAddressValid)(_)){e.next=9;break}return e.next=4,l.createSource((0,p.getDefaultSourceArgs)({type:t("paymentType"),amount:S.value,billingData:_,currency:w.code,returnUrl:t("returnUrl")}));case 4:if(!(n=e.sent).error){e.next=7;break}throw new p.StripeError(n.error);case 7:E(n.source),(0,p.storeInCache)("wechat:source",n.source);case 9:e.next=15;break;case 11:e.prev=11,e.t0=e.catch(0),console.log("error: ",e.t0),g(e.t0.error);case 15:case"end":return e.stop()}}),e,null,[[0,11]])}))),[l,P,S.value,_,w,y]),M=(0,u.useCallback)((function(){(0,p.deleteFromCache)("wechat:source")}),[]);return(0,u.useEffect)((function(){l&&!P&&(clearTimeout(O.current),O.current=setTimeout(C,1e3))}),[l,P,C]),{source:P,setSource:E,error:y,deleteSourceFromStorage:M}};h()&&(0,l.registerPaymentMethod)({name:h("name"),label:r.createElement(d.PaymentMethodLabel,{title:h("title"),paymentMethod:h("name"),icons:h("icon")}),ariaLabel:"WeChat",canMakePayment:(0,m.canMakePayment)(h),content:r.createElement(d.PaymentMethod,{content:b,getData:h}),edit:r.createElement(d.PaymentMethod,{content:b,getData:h}),supports:{showSavedCards:!1,showSaveOption:!1,features:h("features")}})},5180:(e,t,n)=>{n(3139),n(3726)},3726:(e,t,n)=>{var r=n(9307),a=n(5318),o=a(n(3038)),i=a(n(6479)),s=n(9307),c=n(4613),u=n(1134),l=n(3636),p=n(6664),d=(0,u.getSettings)("stripe_payment_request_data"),m=function(e){return r.createElement("div",{className:"wc-stripe-payment-request-container"},r.createElement(p.Elements,{stripe:u.initStripe},r.createElement(f,e)))},f=function(e){var t=e.getData,n=e.onClick,a=e.onClose,c=e.billing,u=e.shippingData,d=e.eventRegistration,m=e.emitResponse,f=e.onSubmit,y=e.activePaymentMethod,g=((0,i.default)(e,["getData","onClick","onClose","billing","shippingData","eventRegistration","emitResponse","onSubmit","activePaymentMethod"]),d.onPaymentProcessing),v=m.responseTypes,h=m.noticeContexts,b=(0,p.useStripe)(),P=(0,l.useStripeError)(),E=(0,o.default)(P,1)[0],O=(0,l.useExportedValues)();(0,l.useExpressBreakpointWidth)({payment_method:t("name"),width:300});var S=(0,l.useProcessPaymentIntent)({getData:t,billing:c,shippingData:u,onPaymentProcessing:g,emitResponse:m,error:E,onSubmit:f,activePaymentMethod:y,exportedValues:O}).setPaymentMethod;(0,l.useAfterProcessingPayment)({getData:t,eventRegistration:d,responseTypes:v,activePaymentMethod:y,messageContext:h.EXPRESS_PAYMENTS});var _=(0,l.usePaymentRequest)({getData:t,onClose:a,stripe:b,billing:c,shippingData:u,eventRegistration:d,setPaymentMethod:S,exportedValues:O,canPay:function(e){return null!=e&&!e.applePay}}).paymentRequest,w=(0,s.useMemo)((function(){return{paymentRequest:_,style:{paymentRequestButton:t("paymentRequestButton")}}}),[_]);return _?r.createElement(p.PaymentRequestButtonElement,{options:w,onClick:n}):null},y=function(e){e.getData,(0,i.default)(e,["getData"]);var t=(0,s.useRef)();return(0,s.useEffect)((function(){var e=window.devicePixelRatio;t.current.width=20*e,t.current.height=20*e;var n=t.current.getContext("2d");n.scale(e,e),n.beginPath(),n.arc(10,10,10,0,2*Math.PI),n.fillStyle="#986fff",n.fill()})),r.createElement("div",{className:"payment-request-block-editor"},r.createElement("div",{className:"icon-container"},r.createElement("span",null,"Buy now"),r.createElement("canvas",{className:"PaymentRequestButton-icon",ref:t}),r.createElement("i",{className:"payment-request-arrow"})))};(0,c.registerExpressPaymentMethod)({name:d("name"),canMakePayment:function(e){var t=e.cartTotals;if(d("isAdmin"))return!0;var n=t.currency_code,r=t.total_price;return(0,u.canMakePayment)({country:d("countryCode"),currency:n.toLowerCase(),total:{label:d("totalLabel"),amount:parseInt(r)}},(function(e){return null!=e&&!e.applePay}))},content:r.createElement(m,{getData:d}),edit:r.createElement(y,{getData:d}),supports:{showSavedCards:d("showSavedCards"),showSaveOption:d("showSaveOption"),features:d("features")}})},1065:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=r(n(1284)),o=r(n(8926)),i=n(9307),s=n(1134);t.default=function(e){var t=e.eventRegistration,n=e.emitResponse,r=e.getData,c=e.method,u=void 0===c?"handleCardAction":c,l=t.onCheckoutAfterProcessingWithSuccess,p=n.responseTypes,d=(0,i.useCallback)(function(){var e=(0,o.default)(a.default.mark((function e(t){var n;return a.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.redirectUrl,e.next=3,(0,s.handleCardAction)({redirectUrl:n,getData:r,responseTypes:p,method:u});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[]);return(0,i.useEffect)((function(){var e=l(d);return function(){return e()}}),[l,d]),null}},1134:(e,t,n)=>{var r=n(5318);Object.defineProperty(t,"__esModule",{value:!0}),t.isNextActionRequired=t.isCheckoutPage=t.isCartPage=t.versionCompare=t.deleteFromCache=t.getFromCache=t.storeInCache=t.isTestMode=t.getDefaultSourceArgs=t.cartContainsSubscription=t.cartContainsPreOrder=t.getLocalPaymentMethods=t.registerLocalPaymentMethod=t.canMakePayment=t.getDisplayItems=t.getShippingOptionId=t.getShippingOptions=t.formatPrice=t.filterEmptyValues=t.getIntermediateAddress=t.toCartAddress=t.handleCardAction=t.isUserLoggedIn=t.hasShippingRates=t.getSelectedShippingOption=t.isFieldRequired=t.getLocaleFields=t.isAddressValid=t.removeNumberPrecision=t.isEmpty=t.StripeError=t.getSettings=t.getBillingDetailsFromAddress=t.getErrorMessage=t.ensureErrorResponse=t.ensureSuccessResponse=t.getRoute=t.getCreditCardForm=t.registerCreditCardForm=t.initStripe=void 0;var a=r(n(319)),o=r(n(1284)),i=r(n(8926)),s=r(n(3038)),c=r(n(8)),u=r(n(4575)),l=r(n(2205)),p=r(n(8585)),d=r(n(9754)),m=r(n(5957)),f=r(n(9713)),y=r(n(6479)),g=n(4465),v=n(4617),h=r(n(6989)),b=n(4293);function P(e,t){var n;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return E(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?E(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,i=!0,s=!1;return{s:function(){n=e[Symbol.iterator]()},n:function(){var e=n.next();return i=e.done,e},e:function(e){s=!0,o=e},f:function(){try{i||null==n.return||n.return()}finally{if(s)throw o}}}}function E(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function O(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function S(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?O(Object(n),!0).forEach((function(t){(0,f.default)(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):O(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var _=(0,v.getSetting)("stripeGeneralData"),w=_.publishableKey,C=_.stripeParams,M=(0,v.getSetting)("stripeErrorMessages"),k=(0,v.getSetting)("countryLocale",{}),j=/^([\w]+)\:(.+)$/,D=(0,v.getSetting)("stripeGeneralData").routes,x={},R=[],A={recipient:function(e,t){return e.first_name=t.split(" ").slice(0,-1).join(" "),e.last_name=t.split(" ").pop(),e},payerName:function(e,t){return e.first_name=t.split(" ").slice(0,-1).join(" "),e.last_name=t.split(" ").pop(),e},country:"country",addressLine:function(e,t){return t[0]&&(e.address_1=t[0]),t[1]&&(e.address_2=t[1]),e},line1:"address_1",line2:"address_2",city:"city",region:"state",state:"state",postalCode:"postcode",postal_code:"postcode",payerEmail:"email",payerPhone:"phone"},I=new Promise((function(e,t){(0,g.loadStripe)(w,C).then((function(t){e(t)})).catch((function(t){e({error:t})}))}));t.initStripe=I,t.registerCreditCardForm=function(e){var t=e.id,n=(0,y.default)(e,["id"]);x[t]=n},t.getCreditCardForm=function(e){return x.hasOwnProperty(e)?x[e]:{}};var L=function(e){return null!=D&&D[e]?D[e]:console.log("".concat(e," is not a valid route"))};t.getRoute=L;var T=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return S({type:e.SUCCESS},t)};t.ensureSuccessResponse=T;var N=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return S({type:e.ERROR,message:B(t)},n)};t.ensureErrorResponse=N;var B=function(e){return"string"==typeof e?e:null!=e&&e.code&&null!=M&&M[e.code]?M[e.code]:null!=e&&e.statusCode?null!=M&&M[e.statusCode]?M[e.statusCode]:e.statusMessage:e.message};t.getErrorMessage=B;var F=function(e){var t={name:"".concat(e.first_name," ").concat(e.last_name),address:{city:e.city||null,country:e.country||null,line1:e.address_1||null,line2:e.address_2||null,postal_code:e.postcode||null,state:e.state||null}};return null!=e&&e.phone&&(t.phone=e.phone),null!=e&&e.email&&(t.email=e.email),t};t.getBillingDetailsFromAddress=F,t.getSettings=function(e){return function(t){return t?(0,v.getSetting)(e)[t]:(0,v.getSetting)(e)}};var q=function(e){(0,l.default)(a,e);var t,n,r=(t=a,n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=(0,d.default)(t);if(n){var a=(0,d.default)(this).constructor;e=Reflect.construct(r,arguments,a)}else e=r.apply(this,arguments);return(0,p.default)(this,e)});function a(e){var t;return(0,u.default)(this,a),(t=r.call(this,e.message)).error=e,t}return a}((0,m.default)(Error));t.StripeError=q;var X=function(e){return"string"==typeof e?0==e.length||""==e:Array.isArray(e)?0==array.length:"object"!==(0,c.default)(e)||0==Object.keys(e).length};t.isEmpty=X,t.removeNumberPrecision=function(e,t){return e/Math.pow(10,t)},t.isAddressValid=function(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=U(e.country),r=0,a=Object.entries(e);r<a.length;r++){var o=(0,s.default)(a[r],2),i=o[0],c=o[1];if(!t.includes(i)&&null!=n&&n[i]&&n[i].required&&X(c))return!1}return!0};var U=function(e){var t=S({},k.default);return e&&null!=k&&k[e]&&(t=Object.entries(k[e]).reduce((function(e,t){var n=(0,s.default)(t,2),r=n[0],a=n[1];return e[r]=S(S({},e[r]),a),e}),t),["phone","email"].forEach((function(e){var n=document.getElementById(e);n&&(t[e]={required:n.required})}))),t};t.getLocaleFields=U,t.isFieldRequired=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=U(t);return[e]in n&&n[e].required},t.getSelectedShippingOption=function(e){var t=e.match(j);if(t){var n=t[1];return[t[2],n]}return[]},t.hasShippingRates=function(e){return e.map((function(e){return e.shipping_rates.length>0})).filter(Boolean).length>0},t.isUserLoggedIn=function(e){return e>0};var V=function(){var e=(0,i.default)(o.default.mark((function e(t){var n,r,a,i,s,c,u,l,p,d,m,y,g,v,b,P;return o.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.redirectUrl,r=t.responseTypes,a=t.name,i=t.method,s=void 0===i?"handleCardAction":i,c=t.savePaymentMethod,u=void 0!==c&&c,e.prev=1,!(l=n.match(/#response=(.+)/))){e.next=22;break}return p=JSON.parse(window.atob(decodeURIComponent(l[1]))),d=p.client_secret,m=p.order_id,y=p.order_key,e.next=7,I;case 7:return g=e.sent,e.next=10,g[s](d);case 10:if(!(v=e.sent).error){e.next=13;break}return e.abrupt("return",N(r,v.error));case 13:return b=(0,f.default)({order_id:m,order_key:y},"".concat(a,"_save_source_key"),u),e.next=16,(0,h.default)({url:L("process/payment"),method:"POST",data:b});case 16:if(!(P=e.sent).messages){e.next=19;break}return e.abrupt("return",N(r,P.messages));case 19:return e.abrupt("return",T(r,{redirectUrl:P.redirect}));case 22:return e.abrupt("return",T(r));case 23:e.next=29;break;case 25:return e.prev=25,e.t0=e.catch(1),console.log(e.t0),e.abrupt("return",N(r,e.t0));case 29:case"end":return e.stop()}}),e,null,[[1,25]])})));return function(t){return e.apply(this,arguments)}}();t.handleCardAction=V,t.toCartAddress=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:A;return function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r={};t=S(S({},t),W(n));for(var a=0,o=Object.entries(e);a<o.length;a++){var i,c=(0,s.default)(o[a],2),u=c[0],l=c[1];null!==(i=t)&&void 0!==i&&i[u]&&("function"==typeof l?l(r,t[u]):r[l]=t[u])}return r}},t.getIntermediateAddress=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:["city","postcode","state","country"],r={},a=P(n);try{for(a.s();!(t=a.n()).done;){var o=t.value;r[o]=e[o]}}catch(e){a.e(e)}finally{a.f()}return r};var W=function(e){return Object.keys(e).filter((function(t){return Boolean(e[t])})).reduce((function(t,n){return S(S({},t),{},(0,f.default)({},n,e[n]))}),{})};t.filterEmptyValues=W;var Y=function(e,t){var n,r=(0,b.getCurrency)(t),a=r.prefix,o=r.suffix,i=r.decimalSeparator,s=r.minorUnit,c=r.thousandSeparator;if(""==e||void 0===e)return e;e="string"==typeof e?parseInt(e,10):e;var u="",l=(e=(e/=Math.pow(10,s)).toString().replace(".",i)).indexOf(i);l<0?s>0&&(e+="".concat(i).concat(new Array(s+1).join("0"))):(u=e.substr(l+1)).length<s&&(e+=new Array(s-u.length+1).join("0"));var p=e.match(new RegExp("(\\d+)\\".concat(i,"(\\d+)")));return p&&(e=p[1],u=p[2]),e=e.replace(new RegExp("\\B(?=(\\d{3})+(?!\\d))","g"),"".concat(c)),a+(e=(null===(n=u)||void 0===n?void 0:n.length)>0?e+i+u:e)+o};t.formatPrice=Y,t.getShippingOptions=function(e){var t=[];return e.forEach((function(e,n){e.shipping_rates.sort((function(e){return e.selected?-1:1}));var r=e.shipping_rates.map((function(e){var t=document.createElement("textarea");return t.innerHTML=e.name,Y(e.price,e.currency_code),{id:H(n,e.rate_id),label:t.value,amount:parseInt(e.price,10)}}));t=[].concat((0,a.default)(t),(0,a.default)(r))})),t};var H=function(e,t){return"".concat(e,":").concat(t)};t.getShippingOptionId=H,t.getDisplayItems=function(e,t){t.minorUnit;var n=[],r=["total_tax","total_shipping"];return e.forEach((function(e){(0<e.value||e.key&&r.includes(e.key))&&n.push({label:e.label,pending:!1,amount:e.value})})),n};var G={};t.canMakePayment=function(e,t){var n=e.country,r=e.currency,a=e.total;return new Promise((function(e,o){var i=[n,r,a.amount].reduce((function(e,t){return"".concat(e,"-").concat(t)}));return r?i in G?e(G[i]):I.then((function(s){if(s.error)return o(s.error);s.paymentRequest({country:n,currency:r,total:a}).canMakePayment().then((function(n){return G[i]=t(n),e(G[i])}))})).catch(o):e(!1)}))},t.registerLocalPaymentMethod=function(e){R.push(e)},t.getLocalPaymentMethods=function(){return R},t.cartContainsPreOrder=function(){var e=(0,v.getSetting)("stripePaymentData");return e&&e.pre_order},t.cartContainsSubscription=function(){var e=(0,v.getSetting)("stripePaymentData");return e&&e.subscription},t.getDefaultSourceArgs=function(e){var t=e.type,n=e.amount,r=e.billingData,a=e.currency,o=e.returnUrl;return{type:t,amount:n,currency:a,owner:F(r),redirect:{return_url:o}}},t.isTestMode=function(){return"test"===(0,v.getSetting)("stripeGeneralData").mode};var J=function(e){return"".concat("stripe:").concat(e)};t.storeInCache=function(e,t){var n=Math.floor((new Date).getTime()/1e3)+900;"sessionStorage"in window&&sessionStorage.setItem(J(e),JSON.stringify({value:t,exp:n}))},t.getFromCache=function(e){if("sessionStorage"in window)try{var t=JSON.parse(sessionStorage.getItem(J(e)));if(t){var n=t.value,r=t.exp;if(!(Math.floor((new Date).getTime()/1e3)>r))return n;z(J(e))}}catch(e){}return null};var z=function(e){"sessionStorage"in window&&sessionStorage.removeItem(J(e))};t.deleteFromCache=z,t.versionCompare=function(e,t,n){switch(n){case"<":return e<t;case">":return e>t;case"<=":return e<=t;case">=":return e>=t;case"=":return e==t}return!1},t.isCartPage=function(){return"cart"===(0,v.getSetting)("stripeGeneralData").page},t.isCheckoutPage=function(){return"checkout"===(0,v.getSetting)("stripeGeneralData").page},t.isNextActionRequired=function(e){var t=e.match(/#response=(.+)/),n=null;return t&&(n=JSON.parse(window.atob(decodeURIComponent(t[1])))),n}},4184:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var o=typeof n;if("string"===o||"number"===o)e.push(n);else if(Array.isArray(n)&&n.length){var i=a.apply(null,n);i&&e.push(i)}else if("object"===o)for(var s in n)r.call(n,s)&&n[s]&&e.push(s)}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(n=function(){return a}.apply(t,[]))||(e.exports=n)}()},1465:()=>{},7776:()=>{},4836:()=>{},85:()=>{},3110:()=>{},8356:()=>{},5773:()=>{},9509:()=>{},3139:()=>{}}]);
3
  //# sourceMappingURL=commons.js.map
packages/blocks/build/commons.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"commons.js","mappings":";kFAUAA,EAAOC,QAVP,SAA2BC,EAAKC,IACnB,MAAPA,GAAeA,EAAMD,EAAIE,UAAQD,EAAMD,EAAIE,QAE/C,IAAK,IAAIC,EAAI,EAAGC,EAAO,IAAIC,MAAMJ,GAAME,EAAIF,EAAKE,IAC9CC,EAAKD,GAAKH,EAAIG,GAGhB,OAAOC,aCHTN,EAAOC,QAJP,SAAyBC,GACvB,GAAIK,MAAMC,QAAQN,GAAM,OAAOA,mBCDjC,IAAIO,EAAmB,EAAQ,MAM/BT,EAAOC,QAJP,SAA4BC,GAC1B,GAAIK,MAAMC,QAAQN,GAAM,OAAOO,EAAiBP,cCKlDF,EAAOC,QARP,SAAgCS,GAC9B,QAAa,IAATA,EACF,MAAM,IAAIC,eAAe,6DAG3B,OAAOD,aCLT,SAASE,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQC,EAAKC,GACpE,IACE,IAAIC,EAAOP,EAAIK,GAAKC,GAChBE,EAAQD,EAAKC,MACjB,MAAOC,GAEP,YADAP,EAAOO,GAILF,EAAKG,KACPT,EAAQO,GAERG,QAAQV,QAAQO,GAAOI,KAAKT,EAAOC,GAwBvCjB,EAAOC,QApBP,SAA2ByB,GACzB,OAAO,WACL,IAAIhB,EAAOiB,KACPC,EAAOC,UACX,OAAO,IAAIL,SAAQ,SAAUV,EAASC,GACpC,IAAIF,EAAMa,EAAGI,MAAMpB,EAAMkB,GAEzB,SAASZ,EAAMK,GACbT,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQ,OAAQI,GAGlE,SAASJ,EAAOc,GACdnB,EAAmBC,EAAKC,EAASC,EAAQC,EAAOC,EAAQ,QAASc,GAGnEf,OAAMgB,kBCzBZhC,EAAOC,QANP,SAAyBgC,EAAUC,GACjC,KAAMD,aAAoBC,GACxB,MAAM,IAAIC,UAAU,sDCFxB,IAAIC,EAAiB,EAAQ,MAEzBC,EAA2B,EAAQ,MAEvC,SAASC,EAAWC,EAAQX,EAAMY,GAchC,OAbIH,IACFrC,EAAOC,QAAUqC,EAAaG,QAAQC,UAEtC1C,EAAOC,QAAUqC,EAAa,SAAoBC,EAAQX,EAAMY,GAC9D,IAAIG,EAAI,CAAC,MACTA,EAAEC,KAAKd,MAAMa,EAAGf,GAChB,IACIK,EAAW,IADGY,SAASC,KAAKhB,MAAMS,EAAQI,IAG9C,OADIH,GAAOJ,EAAeH,EAAUO,EAAMO,WACnCd,GAIJK,EAAWR,MAAM,KAAMD,WAGhC7B,EAAOC,QAAUqC,YCrBjB,SAASU,EAAkBC,EAAQC,GACjC,IAAK,IAAI7C,EAAI,EAAGA,EAAI6C,EAAM9C,OAAQC,IAAK,CACrC,IAAI8C,EAAaD,EAAM7C,GACvB8C,EAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,UAAWF,IAAYA,EAAWG,UAAW,GACjDC,OAAOC,eAAeP,EAAQE,EAAWjC,IAAKiC,IAUlDnD,EAAOC,QANP,SAAsBiC,EAAauB,EAAYC,GAG7C,OAFID,GAAYT,EAAkBd,EAAYa,UAAWU,GACrDC,GAAaV,EAAkBd,EAAawB,GACzCxB,aCETlC,EAAOC,QAfP,SAAyB0D,EAAKzC,EAAKG,GAYjC,OAXIH,KAAOyC,EACTJ,OAAOC,eAAeG,EAAKzC,EAAK,CAC9BG,MAAOA,EACP+B,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZK,EAAIzC,GAAOG,EAGNsC,aCZT,SAASC,IAeP,OAdA5D,EAAOC,QAAU2D,EAAWL,OAAOM,QAAU,SAAUZ,GACrD,IAAK,IAAI5C,EAAI,EAAGA,EAAIwB,UAAUzB,OAAQC,IAAK,CACzC,IAAIyD,EAASjC,UAAUxB,GAEvB,IAAK,IAAIa,KAAO4C,EACVP,OAAOR,UAAUgB,eAAeC,KAAKF,EAAQ5C,KAC/C+B,EAAO/B,GAAO4C,EAAO5C,IAK3B,OAAO+B,GAGFW,EAAS9B,MAAMH,KAAME,WAG9B7B,EAAOC,QAAU2D,YClBjB,SAASK,EAAgBC,GAIvB,OAHAlE,EAAOC,QAAUgE,EAAkBV,OAAOnB,eAAiBmB,OAAOY,eAAiB,SAAyBD,GAC1G,OAAOA,EAAEE,WAAab,OAAOY,eAAeD,IAEvCD,EAAgBC,GAGzBlE,EAAOC,QAAUgE,kBCPjB,IAAI7B,EAAiB,EAAQ,MAiB7BpC,EAAOC,QAfP,SAAmBoE,EAAUC,GAC3B,GAA0B,mBAAfA,GAA4C,OAAfA,EACtC,MAAM,IAAInC,UAAU,sDAGtBkC,EAAStB,UAAYQ,OAAOgB,OAAOD,GAAcA,EAAWvB,UAAW,CACrEyB,YAAa,CACXnD,MAAOgD,EACPf,UAAU,EACVD,cAAc,KAGdiB,GAAYlC,EAAeiC,EAAUC,cCR3CtE,EAAOC,QANP,SAAgC0D,GAC9B,OAAOA,GAAOA,EAAIc,WAAad,EAAM,CACnC,QAAWA,aCEf3D,EAAOC,QAJP,SAA2ByB,GACzB,OAAgE,IAAzDmB,SAAS6B,SAASV,KAAKtC,GAAIiD,QAAQ,4BCY5C3E,EAAOC,QAbP,WACE,GAAuB,oBAAZwC,UAA4BA,QAAQC,UAAW,OAAO,EACjE,GAAID,QAAQC,UAAUkC,KAAM,OAAO,EACnC,GAAqB,mBAAVC,MAAsB,OAAO,EAExC,IAEE,OADAC,KAAK/B,UAAU2B,SAASV,KAAKvB,QAAQC,UAAUoC,KAAM,IAAI,iBAClD,EACP,MAAOC,GACP,OAAO,cCLX/E,EAAOC,QAJP,SAA0B+E,GACxB,GAAsB,oBAAXC,QAA0BA,OAAOC,YAAY3B,OAAOyB,GAAO,OAAOzE,MAAM4E,KAAKH,cC0B1FhF,EAAOC,QA3BP,SAA+BC,EAAKG,GAClC,GAAsB,oBAAX4E,QAA4BA,OAAOC,YAAY3B,OAAOrD,GAAjE,CACA,IAAIkF,EAAO,GACPC,GAAK,EACLC,GAAK,EACLC,OAAKvD,EAET,IACE,IAAK,IAAiCwD,EAA7BC,EAAKvF,EAAI+E,OAAOC,cAAmBG,GAAMG,EAAKC,EAAGC,QAAQnE,QAChE6D,EAAKxC,KAAK4C,EAAGnE,QAEThB,GAAK+E,EAAKhF,SAAWC,GAH8CgF,GAAK,IAK9E,MAAOtD,GACPuD,GAAK,EACLC,EAAKxD,EACL,QACA,IACOsD,GAAsB,MAAhBI,EAAW,QAAWA,EAAW,SAC5C,QACA,GAAIH,EAAI,MAAMC,GAIlB,OAAOH,aCpBTpF,EAAOC,QAJP,WACE,MAAM,IAAIkC,UAAU,wJCGtBnC,EAAOC,QAJP,WACE,MAAM,IAAIkC,UAAU,yJCDtB,IAAIwD,EAA+B,EAAQ,MAqB3C3F,EAAOC,QAnBP,SAAkC6D,EAAQ8B,GACxC,GAAc,MAAV9B,EAAgB,MAAO,GAC3B,IACI5C,EAAKb,EADL4C,EAAS0C,EAA6B7B,EAAQ8B,GAGlD,GAAIrC,OAAOsC,sBAAuB,CAChC,IAAIC,EAAmBvC,OAAOsC,sBAAsB/B,GAEpD,IAAKzD,EAAI,EAAGA,EAAIyF,EAAiB1F,OAAQC,IACvCa,EAAM4E,EAAiBzF,GACnBuF,EAASjB,QAAQzD,IAAQ,GACxBqC,OAAOR,UAAUgD,qBAAqB/B,KAAKF,EAAQ5C,KACxD+B,EAAO/B,GAAO4C,EAAO5C,IAIzB,OAAO+B,aCHTjD,EAAOC,QAfP,SAAuC6D,EAAQ8B,GAC7C,GAAc,MAAV9B,EAAgB,MAAO,GAC3B,IAEI5C,EAAKb,EAFL4C,EAAS,GACT+C,EAAazC,OAAO0C,KAAKnC,GAG7B,IAAKzD,EAAI,EAAGA,EAAI2F,EAAW5F,OAAQC,IACjCa,EAAM8E,EAAW3F,GACbuF,EAASjB,QAAQzD,IAAQ,IAC7B+B,EAAO/B,GAAO4C,EAAO5C,IAGvB,OAAO+B,mBCZT,IAAIiD,EAAU,EAAQ,GAElBC,EAAwB,EAAQ,MAUpCnG,EAAOC,QARP,SAAoCS,EAAMsD,GACxC,OAAIA,GAA2B,WAAlBkC,EAAQlC,IAAsC,mBAATA,EAI3CmC,EAAsBzF,GAHpBsD,aCNX,SAASoC,EAAgBlC,EAAGmC,GAM1B,OALArG,EAAOC,QAAUmG,EAAkB7C,OAAOnB,gBAAkB,SAAyB8B,EAAGmC,GAEtF,OADAnC,EAAEE,UAAYiC,EACPnC,GAGFkC,EAAgBlC,EAAGmC,GAG5BrG,EAAOC,QAAUmG,kBCTjB,IAAIE,EAAiB,EAAQ,MAEzBC,EAAuB,EAAQ,MAE/BC,EAA6B,EAAQ,KAErCC,EAAkB,EAAQ,KAM9BzG,EAAOC,QAJP,SAAwBC,EAAKG,GAC3B,OAAOiG,EAAepG,IAAQqG,EAAqBrG,EAAKG,IAAMmG,EAA2BtG,EAAKG,IAAMoG,oBCTtG,IAAIC,EAAoB,EAAQ,MAE5BC,EAAkB,EAAQ,MAE1BH,EAA6B,EAAQ,KAErCI,EAAoB,EAAQ,MAMhC5G,EAAOC,QAJP,SAA4BC,GAC1B,OAAOwG,EAAkBxG,IAAQyG,EAAgBzG,IAAQsG,EAA2BtG,IAAQ0G,YCT9F,SAASV,EAAQvC,GAaf,MAVsB,mBAAXsB,QAAoD,iBAApBA,OAAOC,SAChDlF,EAAOC,QAAUiG,EAAU,SAAiBvC,GAC1C,cAAcA,GAGhB3D,EAAOC,QAAUiG,EAAU,SAAiBvC,GAC1C,OAAOA,GAAyB,mBAAXsB,QAAyBtB,EAAIa,cAAgBS,QAAUtB,IAAQsB,OAAOlC,UAAY,gBAAkBY,GAItHuC,EAAQvC,GAGjB3D,EAAOC,QAAUiG,iBChBjB,IAAIzF,EAAmB,EAAQ,MAW/BT,EAAOC,QATP,SAAqCiE,EAAG2C,GACtC,GAAK3C,EAAL,CACA,GAAiB,iBAANA,EAAgB,OAAOzD,EAAiByD,EAAG2C,GACtD,IAAIC,EAAIvD,OAAOR,UAAU2B,SAASV,KAAKE,GAAG6C,MAAM,GAAI,GAEpD,MADU,WAAND,GAAkB5C,EAAEM,cAAasC,EAAI5C,EAAEM,YAAYwC,MAC7C,QAANF,GAAqB,QAANA,EAAoBvG,MAAM4E,KAAKjB,GACxC,cAAN4C,GAAqB,2CAA2CG,KAAKH,GAAWrG,EAAiByD,EAAG2C,QAAxG,oBCRF,IAAI1C,EAAiB,EAAQ,MAEzB/B,EAAiB,EAAQ,MAEzB8E,EAAmB,EAAQ,KAE3BxE,EAAY,EAAQ,MAExB,SAASyE,EAAiB3E,GACxB,IAAI4E,EAAwB,mBAARC,IAAqB,IAAIA,SAAQrF,EA8BrD,OA5BAhC,EAAOC,QAAUkH,EAAmB,SAA0B3E,GAC5D,GAAc,OAAVA,IAAmB0E,EAAiB1E,GAAQ,OAAOA,EAEvD,GAAqB,mBAAVA,EACT,MAAM,IAAIL,UAAU,sDAGtB,QAAsB,IAAXiF,EAAwB,CACjC,GAAIA,EAAOE,IAAI9E,GAAQ,OAAO4E,EAAOG,IAAI/E,GAEzC4E,EAAOI,IAAIhF,EAAOiF,GAGpB,SAASA,IACP,OAAO/E,EAAUF,EAAOX,UAAWsC,EAAexC,MAAM6C,aAW1D,OARAiD,EAAQ1E,UAAYQ,OAAOgB,OAAO/B,EAAMO,UAAW,CACjDyB,YAAa,CACXnD,MAAOoG,EACPrE,YAAY,EACZE,UAAU,EACVD,cAAc,KAGXjB,EAAeqF,EAASjF,IAG1B2E,EAAiB3E,GAG1BxC,EAAOC,QAAUkH,yBCtCT,SAAWlH,EAASyH,GAAS,aAEpCA,EAAQA,GAASnE,OAAOR,UAAUgB,eAAeC,KAAK0D,EAAO,WAAaA,EAAe,QAAIA,EAgB7F,SAASC,KAET,SAASC,KAETA,EAAuBC,kBAAoBF,EAE3C,IApB8BjG,EAAI1B,EAgE9B8H,GAhE0BpG,EAgEO,SAAU1B,GAU7CA,EAAOC,QAtDsB,WAC7B,SAAS8H,EAAK7E,EAAO8E,EAAUC,EAAeC,EAAUC,EAAcC,GACpE,GAXuB,iDAWnBA,EAAJ,CAKA,IAAIrG,EAAM,IAAIsG,MAAM,mLAEpB,MADAtG,EAAIiF,KAAO,sBACLjF,GAIR,SAASuG,IACP,OAAOP,EAHTA,EAAKQ,WAAaR,EAOlB,IAAIS,EAAiB,CACnBC,MAAOV,EACPW,KAAMX,EACNY,KAAMZ,EACNa,OAAQb,EACRc,OAAQd,EACRe,OAAQf,EACRgB,OAAQhB,EACRiB,IAAKjB,EACLkB,QAASX,EACTY,QAASnB,EACToB,YAAapB,EACbqB,WAAYd,EACZe,KAAMtB,EACNuB,SAAUhB,EACViB,MAAOjB,EACPkB,UAAWlB,EACXmB,MAAOnB,EACPoB,MAAOpB,EACPqB,eAAgB/B,EAChBC,kBAAmBF,GAGrB,OADAa,EAAeoB,UAAYpB,EACpBA,EAaUqB,IAzEenI,EAA1B1B,EAAS,CAAEC,QAAS,IAAiBD,EAAOC,SAAUD,EAAOC,SA6ErE,SAAS6J,EAAQjB,EAAQkB,GACvB,IAAI9D,EAAO1C,OAAO0C,KAAK4C,GAEvB,GAAItF,OAAOsC,sBAAuB,CAChC,IAAImE,EAAUzG,OAAOsC,sBAAsBgD,GAEvCkB,IACFC,EAAUA,EAAQC,QAAO,SAAUC,GACjC,OAAO3G,OAAO4G,yBAAyBtB,EAAQqB,GAAK9G,eAIxD6C,EAAKrD,KAAKd,MAAMmE,EAAM+D,GAGxB,OAAO/D,EAGT,SAASmE,EAAenH,GACtB,IAAK,IAAI5C,EAAI,EAAGA,EAAIwB,UAAUzB,OAAQC,IAAK,CACzC,IAAIyD,EAAyB,MAAhBjC,UAAUxB,GAAawB,UAAUxB,GAAK,GAE/CA,EAAI,EACNyJ,EAAQvG,OAAOO,IAAS,GAAMuG,SAAQ,SAAUnJ,GAC9CoJ,EAAgBrH,EAAQ/B,EAAK4C,EAAO5C,OAE7BqC,OAAOgH,0BAChBhH,OAAOiH,iBAAiBvH,EAAQM,OAAOgH,0BAA0BzG,IAEjEgG,EAAQvG,OAAOO,IAASuG,SAAQ,SAAUnJ,GACxCqC,OAAOC,eAAeP,EAAQ/B,EAAKqC,OAAO4G,yBAAyBrG,EAAQ5C,OAKjF,OAAO+B,EAGT,SAASiD,EAAQvC,GAaf,OATEuC,EADoB,mBAAXjB,QAAoD,iBAApBA,OAAOC,SACtC,SAAUvB,GAClB,cAAcA,GAGN,SAAUA,GAClB,OAAOA,GAAyB,mBAAXsB,QAAyBtB,EAAIa,cAAgBS,QAAUtB,IAAQsB,OAAOlC,UAAY,gBAAkBY,GAItHuC,EAAQvC,GAGjB,SAAS2G,EAAgB3G,EAAKzC,EAAKG,GAYjC,OAXIH,KAAOyC,EACTJ,OAAOC,eAAeG,EAAKzC,EAAK,CAC9BG,MAAOA,EACP+B,YAAY,EACZC,cAAc,EACdC,UAAU,IAGZK,EAAIzC,GAAOG,EAGNsC,EAGT,SAAS8G,EAAevK,EAAKG,GAC3B,OAGF,SAAyBH,GACvB,GAAIK,MAAMC,QAAQN,GAAM,OAAOA,EAJxBwK,CAAgBxK,IAOzB,SAA+BA,EAAKG,GAClC,IAAIoF,EAAKvF,IAA0B,oBAAX+E,QAA0B/E,EAAI+E,OAAOC,WAAahF,EAAI,eAE9E,GAAU,MAANuF,EAAJ,CACA,IAIID,EAAID,EAJJH,EAAO,GACPC,GAAK,EACLC,GAAK,EAIT,IACE,IAAKG,EAAKA,EAAGzB,KAAK9D,KAAQmF,GAAMG,EAAKC,EAAGC,QAAQnE,QAC9C6D,EAAKxC,KAAK4C,EAAGnE,QAEThB,GAAK+E,EAAKhF,SAAWC,GAH4BgF,GAAK,IAK5D,MAAOtD,GACPuD,GAAK,EACLC,EAAKxD,EACL,QACA,IACOsD,GAAsB,MAAhBI,EAAW,QAAWA,EAAW,SAC5C,QACA,GAAIH,EAAI,MAAMC,GAIlB,OAAOH,GAlCwBuF,CAAsBzK,EAAKG,IAqC5D,SAAqC6D,EAAG2C,GACtC,GAAK3C,EAAL,CACA,GAAiB,iBAANA,EAAgB,OAAO0G,EAAkB1G,EAAG2C,GACvD,IAAIC,EAAIvD,OAAOR,UAAU2B,SAASV,KAAKE,GAAG6C,MAAM,GAAI,GAEpD,MADU,WAAND,GAAkB5C,EAAEM,cAAasC,EAAI5C,EAAEM,YAAYwC,MAC7C,QAANF,GAAqB,QAANA,EAAoBvG,MAAM4E,KAAKjB,GACxC,cAAN4C,GAAqB,2CAA2CG,KAAKH,GAAW8D,EAAkB1G,EAAG2C,QAAzG,GA3CgEgE,CAA4B3K,EAAKG,IAsDnG,WACE,MAAM,IAAI8B,UAAU,6IAvDmF2I,GA8CzG,SAASF,EAAkB1K,EAAKC,IACnB,MAAPA,GAAeA,EAAMD,EAAIE,UAAQD,EAAMD,EAAIE,QAE/C,IAAK,IAAIC,EAAI,EAAGC,EAAO,IAAIC,MAAMJ,GAAME,EAAIF,EAAKE,IAAKC,EAAKD,GAAKH,EAAIG,GAEnE,OAAOC,EAOT,IAAIyK,EAAc,SAAqB1J,GACrC,IAAI2J,EAAMtD,EAAMuD,OAAO5J,GAIvB,OAHAqG,EAAMwD,WAAU,WACdF,EAAIG,QAAU9J,IACb,CAACA,IACG2J,EAAIG,SAGTC,EAAkB,SAAyBC,GAC7C,OAAe,OAARA,GAAiC,WAAjBnF,EAAQmF,IAY7BC,EAAmB,kBACnBC,EAAU,SAASA,EAAQC,EAAMC,GACnC,IAAKL,EAAgBI,KAAUJ,EAAgBK,GAC7C,OAAOD,IAASC,EAGlB,IAAIC,EAAYnL,MAAMC,QAAQgL,GAE9B,GAAIE,IADanL,MAAMC,QAAQiL,GACD,OAAO,EACrC,IAAIE,EAAkBpI,OAAOR,UAAU2B,SAASV,KAAKwH,KAAUF,EAE/D,GAAIK,KADmBpI,OAAOR,UAAU2B,SAASV,KAAKyH,KAAWH,GACvB,OAAO,EAGjD,IAAKK,IAAoBD,EAAW,OAAOF,IAASC,EACpD,IAAIG,EAAWrI,OAAO0C,KAAKuF,GACvBK,EAAYtI,OAAO0C,KAAKwF,GAC5B,GAAIG,EAASxL,SAAWyL,EAAUzL,OAAQ,OAAO,EAGjD,IAFA,IAAI0L,EAAS,GAEJzL,EAAI,EAAGA,EAAIuL,EAASxL,OAAQC,GAAK,EACxCyL,EAAOF,EAASvL,KAAM,EAGxB,IAAK,IAAIoF,EAAK,EAAGA,EAAKoG,EAAUzL,OAAQqF,GAAM,EAC5CqG,EAAOD,EAAUpG,KAAO,EAG1B,IAAIsG,EAAUxI,OAAO0C,KAAK6F,GAE1B,GAAIC,EAAQ3L,SAAWwL,EAASxL,OAC9B,OAAO,EAGT,IAAI4L,EAAIR,EACJS,EAAIR,EAMR,OAAOM,EAAQG,OAJJ,SAAchL,GACvB,OAAOqK,EAAQS,EAAE9K,GAAM+K,EAAE/K,QAMzBiL,EAA+B,SAAsCC,EAASC,EAAaC,GAC7F,OAAKlB,EAAgBgB,GAId7I,OAAO0C,KAAKmG,GAASG,QAAO,SAAUC,EAAYtL,GACvD,IAAIuL,GAAarB,EAAgBiB,KAAiBd,EAAQa,EAAQlL,GAAMmL,EAAYnL,IAEpF,OAAIoL,EAAcI,SAASxL,IACrBuL,GACFE,QAAQC,KAAK,oCAAoCC,OAAO3L,EAAK,gCAGxDsL,GAGJC,EAIErC,EAAeA,EAAe,GAAIoC,GAAc,IAAK,GAAIlC,EAAgB,GAAIpJ,EAAKkL,EAAQlL,KAHxFsL,IAIR,MAnBM,MA0BPM,EAAiB,SAAwBC,GAC3C,GAAoB,OAAhBA,GA5EG3B,EADwBC,EA6EM0B,IA5EkB,mBAAjB1B,EAAI2B,UAAsD,mBAApB3B,EAAI4B,aAAiE,mBAA5B5B,EAAI6B,qBAAwE,mBAA3B7B,EAAI8B,mBA6ExK,OAAOJ,EA9EI,IAAkB1B,EAiF/B,MAAM,IAAIhD,MATe,uMAYvB+E,EAAkB,SAAyB/B,GAC7C,GA3Fc,SAAmBA,GACjC,OAAOD,EAAgBC,IAA4B,mBAAbA,EAAI5J,KA0FtC4L,CAAUhC,GACZ,MAAO,CACLiC,IAAK,QACLC,cAAe/L,QAAQV,QAAQuK,GAAK5J,KAAKqL,IAI7C,IAAIU,EAASV,EAAezB,GAE5B,OAAe,OAAXmC,EACK,CACLF,IAAK,SAIF,CACLA,IAAK,OACLE,OAAQA,IAIRC,EAA+B/F,EAAMgG,cAAc,MACvDD,EAAgBE,YAAc,kBAC9B,IAkBIC,EAAW,SAAkBC,GAC/B,IAAIC,EAAgBD,EAAKL,OACrBpB,EAAUyB,EAAKzB,QACf2B,EAAWF,EAAKE,SAChBC,EAAStG,EAAMuG,SAAQ,WACzB,OAAOb,EAAgBU,KACtB,CAACA,IAQAI,EAAmBzD,EAND/C,EAAMyG,UAAS,WACnC,MAAO,CACLX,OAAuB,SAAfQ,EAAOV,IAAiBU,EAAOR,OAAS,KAChDR,SAAyB,SAAfgB,EAAOV,IAAiBU,EAAOR,OAAOR,SAASZ,GAAW,SAGjB,GACnDgC,EAAMF,EAAiB,GACvBG,EAAaH,EAAiB,GAElCxG,EAAMwD,WAAU,WACd,IAAIoD,GAAY,EAsBhB,MApBmB,UAAfN,EAAOV,KAAoBc,EAAIZ,OAYT,SAAfQ,EAAOV,KAAmBc,EAAIZ,QAEvCa,EAAW,CACTb,OAAQQ,EAAOR,OACfR,SAAUgB,EAAOR,OAAOR,SAASZ,KAfnC4B,EAAOT,cAAc9L,MAAK,SAAU+L,GAC9BA,GAAUc,GAIZD,EAAW,CACTb,OAAQA,EACRR,SAAUQ,EAAOR,SAASZ,QAY3B,WACLkC,GAAY,KAEb,CAACN,EAAQI,EAAKhC,IAEjB,IAAImC,EAAaxD,EAAY+C,GAC7BpG,EAAMwD,WAAU,WACK,OAAfqD,GAAuBA,IAAeT,GACxCnB,QAAQC,KAAK,gGAEd,CAAC2B,EAAYT,IAEhB,IAAIzB,EAActB,EAAYqB,GA+B9B,OA9BA1E,EAAMwD,WAAU,WACd,GAAKkD,EAAIpB,SAAT,CAIA,IAAIwB,EAAUrC,EAA6BC,EAASC,EAAa,CAAC,eAAgB,UAE9EmC,GACFJ,EAAIpB,SAASyB,OAAOD,MAErB,CAACpC,EAASC,EAAa+B,EAAIpB,WAE9BtF,EAAMwD,WAAU,WACd,IAAIwD,EAAYN,EAAIZ,OAEfkB,GAAcA,EAAUC,kBAAqBD,EAAUE,kBAI5DF,EAAUC,iBAAiB,CACzB3H,KAAM,kBACN6H,QAAS,UAGXH,EAAUE,gBAAgB,CACxB5H,KAAM,kBACN6H,QAAS,QACTC,IAAK,+CAEN,CAACV,EAAIZ,SACY9F,EAAMqH,cAActB,EAAgBuB,SAAU,CAChE3N,MAAO+M,GACNL,IAELH,EAAS9F,UAAY,CACnB0F,OAAQ1F,EAAUkB,IAClBoD,QAAStE,EAAUe,QAErB,IAAIoG,EAAgC,SAAuCC,GAEzE,OAhHyB,SAA8Bd,EAAKe,GAC5D,IAAKf,EACH,MAAM,IAAI/F,MAAM,+EAA+EwE,OAAOsC,EAAS,gCAGjH,OAAOf,EA2GAgB,CADG1H,EAAM2H,WAAW5B,GACMyB,IA0B/BI,EAAmB,SAA0BC,GAI/C,OAAOxB,EAHQwB,EAAMxB,UACXkB,EAA8B,+BAI1CK,EAAiBxH,UAAY,CAC3BiG,SAAUjG,EAAUa,KAAKJ,YAG3B,IAAIiH,EAAuB,SAA8BC,GACvD,IAAIzE,EAAMtD,EAAMuD,OAAOwE,GAIvB,OAHA/H,EAAMwD,WAAU,WACdF,EAAIG,QAAUsE,IACb,CAACA,IACG,WACDzE,EAAIG,SACNH,EAAIG,QAAQrJ,MAAMkJ,EAAKnJ,aAKzB6N,EAAO,aAMPC,EAAyB,SAAgCC,EAAMC,GACjE,IALqCC,EAKjCnC,EAAc,GAAGd,QALgBiD,EAKGF,GAJ7BG,OAAO,GAAGC,cAAgBF,EAAI/I,MAAM,GAIA,WAwF3CkJ,EAAUJ,EAXM,SAAuB3M,GAEzC+L,EAA8B,WAAWpC,OAAOc,EAAa,MAC7D,IAAIuC,EAAKhN,EAAMgN,GACXC,EAAYjN,EAAMiN,UACtB,OAAoBzI,EAAMqH,cAAc,MAAO,CAC7CmB,GAAIA,EACJC,UAAWA,KAlFK,SAAuBtC,GACzC,IAAIqC,EAAKrC,EAAKqC,GACVC,EAAYtC,EAAKsC,UACjBC,EAAevC,EAAKzB,QACpBA,OAA2B,IAAjBgE,EAA0B,GAAKA,EACzCC,EAAcxC,EAAKyC,OACnBA,OAAyB,IAAhBD,EAAyBX,EAAOW,EACzCE,EAAe1C,EAAK2C,QACpBA,OAA2B,IAAjBD,EAA0Bb,EAAOa,EAC3CE,EAAe5C,EAAK6C,QACpBA,OAA2B,IAAjBD,EAA0Bf,EAAOe,EAC3CE,EAAgB9C,EAAK+C,SACrBA,OAA6B,IAAlBD,EAA2BjB,EAAOiB,EAC7CE,EAAgBhD,EAAKiD,SACrBA,OAA6B,IAAlBD,EAA2BnB,EAAOmB,EAC7CE,EAAelD,EAAKmD,QACpBA,OAA2B,IAAjBD,EAA0BrB,EAAOqB,EAG3C/D,EADwBiC,EAA8B,WAAWpC,OAAOc,EAAa,MACpDX,SAEjCiE,EAAavJ,EAAMuD,OAAO,MAC1BiG,EAAUxJ,EAAMuD,OAAO,MACvBkG,EAAc3B,EAAqBkB,GACnCU,EAAa5B,EAAqBc,GAClCe,EAAc7B,EAAqBgB,GACnCc,EAAc9B,EAAqBwB,GACnCO,EAAe/B,EAAqBoB,GACpCY,EAAehC,EAAqBsB,GACxCpJ,EAAM+J,iBAAgB,WACpB,GAA0B,MAAtBR,EAAW9F,SAAmB6B,GAA+B,MAAnBkE,EAAQ/F,QAAiB,CACrE,IAAIjC,EAAU8D,EAASzI,OAAOqL,EAAMxD,GACpC6E,EAAW9F,QAAUjC,EACrBA,EAAQwI,MAAMR,EAAQ/F,SACtBjC,EAAQyI,GAAG,SAAS,WAClB,OAAOR,EAAYjI,MAErBA,EAAQyI,GAAG,SAAUJ,GACrBrI,EAAQyI,GAAG,OAAQP,GACnBlI,EAAQyI,GAAG,QAASN,GACpBnI,EAAQyI,GAAG,SAAUH,GAIrBtI,EAAQyI,GAAG,QAASL,OAGxB,IAAIjF,EAActB,EAAYqB,GAoB9B,OAnBA1E,EAAMwD,WAAU,WACd,GAAK+F,EAAW9F,QAAhB,CAIA,IAAIqD,EAAUrC,EAA6BC,EAASC,EAAa,CAAC,mBAE9DmC,GACFyC,EAAW9F,QAAQsD,OAAOD,MAE3B,CAACpC,EAASC,IACb3E,EAAM+J,iBAAgB,WACpB,OAAO,WACDR,EAAW9F,UACb8F,EAAW9F,QAAQyG,UACnBX,EAAW9F,QAAU,SAGxB,IACiBzD,EAAMqH,cAAc,MAAO,CAC7CmB,GAAIA,EACJC,UAAWA,EACXnF,IAAKkG,KA6BT,OAZAjB,EAAQnI,UAAY,CAClBoI,GAAIpI,EAAUgB,OACdqH,UAAWrI,EAAUgB,OACrB8H,SAAU9I,EAAUa,KACpB2H,OAAQxI,EAAUa,KAClB6H,QAAS1I,EAAUa,KACnB+H,QAAS5I,EAAUa,KACnBqI,QAASlJ,EAAUa,KACnByD,QAAStE,EAAUe,QAErBoH,EAAQtC,YAAcA,EACtBsC,EAAQ4B,cAAgBjC,EACjBK,GAGLJ,EAA6B,oBAAXiC,OAQlBC,EAAuBpC,EAAuB,gBAAiBE,GAK/DmC,EAAcrC,EAAuB,OAAQE,GAK7CoC,EAAoBtC,EAAuB,aAAcE,GAKzDqC,EAAoBvC,EAAuB,aAAcE,GAKzDsC,EAAiBxC,EAAuB,UAAWE,GAKnDuC,EAAiBzC,EAAuB,UAAWE,GAKnDwC,EAAc1C,EAAuB,OAAQE,GAK7CyC,EAAmB3C,EAAuB,YAAaE,GAKvD0C,EAAiB5C,EAAuB,UAAWE,GAKnD2C,EAAiB7C,EAAuB,UAAWE,GACnD4C,EAAiB9C,EAAuB,UAAWE,GAKnD6C,EAA8B/C,EAAuB,uBAAwBE,GAQ7E8C,EAA4BhD,EAAuB,qBAAsBE,GAQzE+C,EAAyBjD,EAAuB,kBAAmBE,GAKnEgD,EAAuBlD,EAAuB,gBAAiBE,GAK/DiD,EAAiCnD,EAAuB,0BAA2BE,GAEvF5P,EAAQ4S,qBAAuBA,EAC/B5S,EAAQ6S,+BAAiCA,EACzC7S,EAAQ8R,qBAAuBA,EAC/B9R,EAAQkS,eAAiBA,EACzBlS,EAAQ+R,YAAcA,EACtB/R,EAAQiS,kBAAoBA,EAC5BjS,EAAQgS,kBAAoBA,EAC5BhS,EAAQ2N,SAAWA,EACnB3N,EAAQqP,iBAAmBA,EAC3BrP,EAAQuS,eAAiBA,EACzBvS,EAAQmS,eAAiBA,EACzBnS,EAAQoS,YAAcA,EACtBpS,EAAQqS,iBAAmBA,EAC3BrS,EAAQ0S,0BAA4BA,EACpC1S,EAAQsS,eAAiBA,EACzBtS,EAAQwS,eAAiBA,EACzBxS,EAAQyS,4BAA8BA,EACtCzS,EAAQ2S,uBAAyBA,EACjC3S,EAAQ8S,YAlQU,WAIhB,OAH4B9D,EAA8B,uBACrBjC,UAiQvC/M,EAAQ+S,UAzPQ,WAId,OAH6B/D,EAA8B,qBACvBzB,QAyPtCjK,OAAOC,eAAevD,EAAS,aAAc,CAAEoB,OAAO,IA7sBS4R,CAAQhT,EAAS,EAAQ,qECDzF,IAAIiT,EAAS,2BACTC,EAAe,4CACfC,EAA0B,mJA2C1B7F,EAAgB,KAkDhB8F,EAAa,SAAoBtG,EAAanL,EAAM0R,GACtD,GAAoB,OAAhBvG,EACF,OAAO,KAGT,IAAIS,EAAST,EAAYjL,WAAME,EAAWJ,GAE1C,OArEoB,SAAyB4L,EAAQ8F,GAChD9F,GAAWA,EAAOmB,kBAIvBnB,EAAOmB,iBAAiB,CACtB3H,KAAM,YACN6H,QAAS,SACTyE,UAAWA,IA4DbC,CAAgB/F,EAAQ8F,GACjB9F,GAKLgG,EAAkBhS,QAAQV,UAAUW,MAAK,WAC3C,OA9DmCgS,EA8DjB,KA5DI,OAAlBlG,IAIJA,EAAgB,IAAI/L,SAAQ,SAAUV,EAASC,GAC7C,GAAsB,oBAAX+Q,OAWX,GAJIA,OAAO4B,QAAUD,GACnB9G,QAAQC,KAAKwG,GAGXtB,OAAO4B,OACT5S,EAAQgR,OAAO4B,aAIjB,IACE,IAAIC,EAnEO,WAGf,IAFA,IAAIC,EAAUC,SAASC,iBAAiB,gBAAiBjH,OAAOqG,EAAQ,OAE/D7S,EAAI,EAAGA,EAAIuT,EAAQxT,OAAQC,IAAK,CACvC,IAAIsT,EAASC,EAAQvT,GAErB,GAAK8S,EAAalM,KAAK0M,EAAOI,KAI9B,OAAOJ,EAGT,OAAO,KAsDUK,GAETL,GAAUF,EACZ9G,QAAQC,KAAKwG,GACHO,IACVA,EAxDW,SAAsBF,GACvC,IAAIQ,EAAcR,IAAWA,EAAOS,qBAAuB,8BAAgC,GACvFP,EAASE,SAAS9E,cAAc,UACpC4E,EAAOI,IAAM,GAAGlH,OAAOqG,GAAQrG,OAAOoH,GACtC,IAAIE,EAAaN,SAASO,MAAQP,SAASQ,KAE3C,IAAKF,EACH,MAAM,IAAI9L,MAAM,+EAIlB,OADA8L,EAAWG,YAAYX,GAChBA,EA6CQY,CAAad,IAGxBE,EAAOa,iBAAiB,QAAQ,WAC1B1C,OAAO4B,OACT5S,EAAQgR,OAAO4B,QAEf3S,EAAO,IAAIsH,MAAM,+BAGrBsL,EAAOa,iBAAiB,SAAS,WAC/BzT,EAAO,IAAIsH,MAAM,gCAEnB,MAAO/G,GAEP,YADAP,EAAOO,QAjCPR,EAAQ,UAPHyM,EAHM,IAAoBkG,KAgEjCgB,GAAa,EACjBjB,EAAuB,OAAE,SAAUzR,GAC5B0S,GACH9H,QAAQC,KAAK7K,MAGjB,IAAI2S,EAAa,WACf,IAAK,IAAIC,EAAO9S,UAAUzB,OAAQwB,EAAO,IAAIrB,MAAMoU,GAAOC,EAAO,EAAGA,EAAOD,EAAMC,IAC/EhT,EAAKgT,GAAQ/S,UAAU+S,GAGzBH,GAAa,EACb,IAAInB,EAAYxO,KAAK+P,MACrB,OAAOrB,EAAgB/R,MAAK,SAAUsL,GACpC,OAAOsG,EAAWtG,EAAanL,EAAM0R,wEC5HzC,oLACA,oLACA,oLACA,wVCHA,UACA,UACA,aACA,aACA,UACA,QAEO,IAAMwB,EAAe,SAAC,GAOnB,IALFC,EAKE,EALFA,kBAKE,KAJFC,2BAIE,EAHFC,kBAAAA,OAGE,aAFFC,qBAAAA,OAEE,MAFqB,KAErB,EADFC,EACE,EADFA,iBACE,GACkC,IAAAhH,UAAS,MAD3C,qBACCiH,EADD,KACeC,EADf,QAEgC,IAAAlH,UAAS,IAFzC,qBAECmH,EAFD,KAEcC,EAFd,QAGwB,IAAApH,WAAS,GAHjC,qBAGCqH,EAHD,KAGUC,EAHV,KAoCN,OAzBA,IAAAvK,YAAU,WACF+J,IAEAQ,GAAW,GACXF,EAAe,IAEfJ,IAAmB1T,KAAnB,+CAAwB,WAAMiU,GAAN,mFAChBA,EADgB,iCAGK,aAAS,CAC1B5G,KAAK,IAAA6G,UAAS,yBACdC,OAAQ,OACRC,KAAM,CAACC,kBAAmBJ,EAAeK,eAAgBhB,KAN7C,OAGViB,EAHU,OAQhBX,EAAgBW,EAAOZ,cACvB,UAAI7R,OAAO0C,KAAK+P,EAAOZ,qBAAvB,OAAI,EAAkChV,QAClCmV,EAAehS,OAAO0C,KAAK+P,EAAOZ,cAAc,IAVpC,2CAAxB,uDAaGa,OAAM,SAAA3U,GACLqL,QAAQuJ,IAAI5U,MACb6U,SAAQ,kBAAMV,GAAW,SAEjC,CAACR,EAAkBE,IAGlB,uBAAKhF,UAAU,qCACX,8BACK,IAAAiG,IAAG,uBAAwB,sBAC5B,gBAACC,EAAD,CAAQb,QAASA,KAErB,gBAACc,EAAD,CACIhB,YAAaA,EACb1E,SAxCkB,SAAC7L,GAC3BwQ,EAAexQ,EAAE9B,OAAO5B,OACpB6T,GACAA,EAAqB,CAACqB,yBAA0BxR,EAAE9B,OAAO5B,SAsCrD+T,aAAcA,EACdoB,UAAWhB,uBAK3B,IAAMc,EAAqB,SAAC,GAAqD,IACzEG,EADqBnB,EAAoD,EAApDA,YAAaF,EAAuC,EAAvCA,aAAcxE,EAAyB,EAAzBA,SAAU4F,EAAe,EAAfA,UAa9D,OAVIC,EADAD,EACU,0BAAQnV,MAAM,GAAGqV,UAAQ,IAAE,IAAAN,IAAG,0BAA2B,uBAE9C,OAAjBhB,EACU,0BAAQ/T,MAAM,GAAGqV,UAAQ,IAAE,IAAAN,IAAG,sCAAuC,uBAErE7S,OAAO0C,KAAKmP,GAAcuB,KAAI,SAAAzG,GACpC,OAAO,0BAAQhP,IAAKgP,EAAI7O,MAAO6O,EAAI0G,wBAAyB,CAACC,OAAQzB,EAAalF,GAAI4G,WAK9F,0BAAQzV,MAAOiU,EAAa1E,SAAUA,EAAUT,WAAW,aAAW,CAACqF,QAASgB,KAC3EC,IAKPJ,EAAS,SAAC,GAAc,IAAbb,EAAa,EAAbA,QACb,OACI,uBAAKrF,UAAU,2CACVqF,GAAW,uBAAKrF,UAAU,gCACvB,4BACA,4BACA,iCAKD2E,oJChGf,6BAEkC,SAAC,GAA4C,IAA3CiC,EAA2C,EAA3CA,MAAOC,EAAoC,EAApCA,MAAOtB,EAA6B,EAA7BA,cAA6B,qDACNuB,WAA1CC,EADgD,EACpEC,mBAA+CC,EADqB,EACzCC,mBAIlC,OAHK9W,MAAMC,QAAQwW,KACfA,EAAQ,CAACA,IAGT,wBAAM7G,UAAS,oCAA+BuF,IAC1C,gBAACwB,EAAD,CAAOJ,KAAMC,IACb,gBAACK,EAAD,CAAOJ,MAAOA,EAAOM,MAAM,yJCVvC,qmBAE6B,SAAC,GAAiC,IAAhCC,EAAgC,EAAhCA,QAASC,EAAuB,EAAvBA,QAAYtU,GAAW,sCACrDuU,EAAUD,EACVE,EAAOH,EAAQ,eACfI,GAAK,IAAA1M,QAAO,MAMlB,OALA,IAAAC,YAAU,WACFyM,EAAGxM,SAA2C,GAAhCwM,EAAGxM,QAAQyM,WAAWxX,QACpCuX,EAAGxM,QAAQ0M,UAAUC,IAAI,iBAI7B,gCACKJ,GAAQ,gBAACK,EAAD,CAAaL,KAAMA,EAAM3B,eAAgBwB,EAAQ,UAC1D,uBAAKvM,IAAK2M,EAAIxH,UAAU,2CACpB,gBAACsH,EAAD,OAAiBvU,GAAjB,IAAwBqU,QAAAA,QAKxC,IAAMQ,EAAc,SAAC,GAA2B,IAA1BL,EAA0B,EAA1BA,KAAM3B,EAAoB,EAApBA,eACxB,OACI,uBAAK5F,UAAS,gDAA2C4F,IACrD,yBAAI2B,oICvBhB,iBAEaM,EAAqB,SAAC,GAAsC,IAArCC,EAAqC,EAArCA,QAASrH,EAA4B,EAA5BA,SAAUvP,EAAkB,EAAlBA,MAAO6W,EAAW,EAAXA,MAC1D,OACI,yBACI/H,WAAW,aAAW,yCAA0C,CAC5D,iDAAkD8H,KAEtD,yBACI9H,UAAU,wCACVP,KAAK,QACLvO,MAAOA,EACP4W,QAASA,EACTrH,SAAU,SAACuH,GAAD,OAAWvH,EAASuH,EAAMlV,OAAO5B,UAC/C,uBAAK8O,UAAU,yCACX,4BAAO+H,mCAMRF,+ECrBf,oLACA,oLACA,0UCFA,UACA,aACA,+BAEkC,SAAC,GAGzB,IADFI,EACE,EADFA,mBACE,GAC4B,IAAAjK,WAAS,GADrC,qBACCkK,EADD,KACYC,EADZ,KAGArL,GAAc,IAAAsL,cAAA,6BAAY,oHAED,aAAS,CAC5BzJ,KAAK,IAAA6G,UAAS,oBACdC,OAAQ,OACRC,KAAM,KALc,QAElB2C,EAFkB,QAOXC,SACT,IAAAC,cAAa,YAAaF,EAASC,OACnCH,EAAaE,EAASC,QATF,gDAYxBL,EAAmB,EAAD,IAZM,yDAc7B,IAiBH,OAfA,IAAAlN,YAAU,WACN,IAAKmN,EAAW,CACZ,IAAMI,GAAQ,IAAAE,cAAa,aACvBF,EAEAH,EAAaG,GAGbxL,OAGT,CACCoL,EACAC,IAEGD,8GCzCX,cACA,aACA,+BAEkC,SAAC,GAIzB,IAFFd,EAEE,EAFFA,QACAc,EACE,EADFA,UAEEO,GAAc,IAAA3N,QAAO,MACrB4N,GAAe,IAAA5N,QAAO,MACtB6N,GAAgB,IAAAP,cAAY,kBAAM,IAAI/W,SAAQ,SAACV,EAASC,GAC1D8X,EAAa1N,QAAU,CAACrK,QAAAA,EAASC,OAAAA,GACjC6X,EAAYzN,QAAQ4N,YACpB,IAsBJ,OAnBA,IAAA7N,YAAU,WACFmN,IACAO,EAAYzN,QAAU6N,EAAAA,QAAMzU,OAAO,CAC/B0U,WAAY1B,EAAQ,cACpB2B,IAAK3B,EAAQ,oBACb4B,QAAS,CAAC,QACVV,MAAOJ,EACPe,eAAe,EACfC,aAAc,CAAC,MACfC,UAAW,SAACC,EAAaC,GACrBX,EAAa1N,QAAQrK,QAAQ,CAACyY,YAAAA,EAAaC,SAAAA,KAE/CC,OAAQ,SAAC1X,GACL8W,EAAa1N,QAAQpK,SAAOgB,IAAM,IAAA2X,iBAAgB3X,EAAI4X,sBAInE,CAACtB,IAEGS,wJCpCX,UACA,8BAEiC,SAAC,GAOxB,IALFA,EAKE,EALFA,cACAc,EAIE,EAJFA,oBACAC,EAGE,EAHFA,cACAnE,EAEE,EAFFA,eAIJ,IAAAxK,YAAU,WACN,IAAM4O,EAAcF,GAAmB,6BAAC,yHAGXd,IAHW,cAG1B9C,EAH0B,OAIzBuD,EAAyBvD,EAAzBuD,YAAaC,EAAYxD,EAAZwD,UAEpB,IAAAO,iBAAgB,aANgB,mBAOzB,IAAAC,uBAAsBH,EAAe,CACxCI,KAAM,CACFC,mBAAiB,+BACTxE,EADS,cACmB6D,IADnB,yBAET7D,EAFS,aAEkByE,KAAKC,UAAUZ,IAFjC,OATO,0DAgBzB,IAAAa,qBAAoBR,EAApB,OAhByB,0DAmBxC,OAAO,kBAAMC,OACd,CACCF,EACAC,EACAf,qBCpCR,QACA,0ECDA,UACA,UACA,UACA,UACA,aACA,UACA,UACA,UAEMvB,GAAU,IAAA+C,aAAY,mBAEtBC,EAAoB,SAAC,GAQjB,IANFhD,EAME,EANFA,QACAiD,EAKE,EALFA,kBACAvD,EAIE,EAJFA,WACAwD,EAGE,EAHFA,aACAC,EAEE,EAFFA,SAGGb,IADD,uFACkBY,EAAjBZ,eACAD,EAA2DY,EAA3DZ,oBAAqBe,EAAsCH,EAAtCG,mCACrBC,EAAqC3D,EAArC2D,qBAAsBC,EAAe5D,EAAf4D,YAHvB,GAIwC,IAAA1M,WAAS,GAJjD,qBAIC2M,EAJD,KAIkB1C,EAJlB,KAMAC,GAAY,IAAA0C,oBAAmB,CAAC3C,mBAAAA,KAEtC,IAAA4C,yBAAwB,CACpBnB,cAAAA,EACAoB,WAAYN,IAGhB,IAAM7B,GAAgB,IAAAoC,oBAAmB,CACrC3D,QAAAA,EACAc,UAAAA,EACAqC,SAAAA,IASJ,OANA,IAAAS,mBAAkB,CACdrC,cAAAA,EACAc,oBAAAA,EACAC,cAAAA,EACAnE,cAAe6B,EAAQ,UAGvB,gBAACsD,EAAD,CAAarE,WAAYsE,IAAoBzC,EAAW+C,aAAa,GAChEC,EAAAA,YAAc,gBAACC,EAAD,MACdR,GAAmB,gBAACF,EAAD,CAAsBW,aAAcT,MAK9DQ,EAAyB,WAC3B,OACI,uBAAKnL,UAAU,+BACX,yBAAOA,UAAU,sCAAqC,IAAAiG,IAAG,mBAAoB,uBAC7E,uBAAKjG,UAAU,kCACX,2BACI,+BAAS,IAAAiG,IAAG,WAAY,uBAD5B,eAGA,2BACI,+BAAS,IAAAA,IAAG,WAAY,uBAD5B,eAGA,2BACI,+BAAS,IAAAA,IAAG,MAAO,uBADvB,yBAQhB,IAAAoF,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CAAoBJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,WAC1CkE,UAAW,cACXC,eAAgB,kBAA+C,QAA/C,EAAEC,WAA2BC,eAC7CpE,QAAS,gBAAC,EAAAqE,cAAD,CACLtE,QAASA,EACTC,QAAS+C,IACbuB,oBAAqB,gBAAC,UAAD,CAAoBvE,QAASA,IAClDwE,KAAM,gBAACxB,EAAD,CAAmBhD,QAASA,IAClCyE,sBAAuBzE,EAAQ,yBAC/B0E,SAAU,CACNC,eAAgB3E,EAAQ,kBACxB4E,gBAAgB,EAChBC,SAAU7E,EAAQ,+BCvF1B,MAEA,wECFA,UACA,UACA,UACA,UACA,aACA,UASMA,GAAU,IAAA+C,aAAY,wBAEtB+B,EAAkB,SAACnZ,GACrB,OACI,gBAAC,UAAD,KACI,uBAAKiN,UAAU,iCACX,gBAAC,EAAAvC,SAAD,CAAUJ,OAAQkH,EAAAA,YACd,gBAAC4H,EAAmBpZ,OAOlCoZ,EAAiB,SAAC,GAYd,IAVF/E,EAUE,EAVFA,QACAvG,EASE,EATFA,QACAuL,EAQE,EARFA,QACAC,EAOE,EAPFA,QACAC,EAME,EANFA,aACAjC,EAKE,EALFA,kBACAC,EAIE,EAJFA,aACAC,EAGE,EAHFA,SACAgC,EAEE,EAFFA,oBAGG9C,IADD,6IACwBY,EAAvBZ,qBACAC,EAAiCY,EAAjCZ,cAAe8C,EAAkBlC,EAAlBkC,eAChBnP,GAAS,IAAAwF,aAHT,GAIU,IAAA4J,kBAATtb,GAJD,qBAMAub,GAAiB,IAAAC,sBACvB,IAAAC,2BAA0B,CAAChH,eAAgBwB,EAAQ,QAASyF,MAAO,MAP7D,IAQCC,GAAoB,IAAAC,yBAAwB,CAC/C3F,QAAAA,EACAiF,QAAAA,EACAC,aAAAA,EACA7C,oBAAAA,EACAa,aAAAA,EACAnZ,MAAAA,EACAoZ,SAAAA,EACAgC,oBAAAA,EACAG,eAAAA,IATGI,kBAWP,IAAAE,2BAA0B,CACtB5F,QAAAA,EACAiD,kBAAAA,EACAX,cAAAA,EACA6C,oBAAAA,EACAU,eAAgBT,EAAeU,mBAxB7B,IA0BCC,GAAkB,IAAAC,mBAAkB,CACvChG,QAAAA,EACAgF,QAAAA,EACA/O,OAAAA,EACAgP,QAAAA,EACAC,aAAAA,EACAjC,kBAAAA,EACAyC,iBAAAA,EACAJ,eAAAA,EACAW,OA9BW,SAACxH,GAAD,OAAsB,MAAVA,GAAkBA,EAAOyH,YAqB7CH,eAYDI,GAAc,IAAAnF,cAAY,SAACxT,GACzBuY,IACAvY,EAAE4Y,iBACF3M,IACAsM,EAAeM,UAEpB,CAACN,EAAgBtM,IAEpB,OAAIsM,EAEI,0BACInN,UAAS,2BAAsBoH,EAAQ,gBACvCsG,MAAO,CACH,yBAA0BtG,EAAQ,eAEtCvG,QAAS0M,IAId,MAGLI,EAAe,SAAC,GAAwB,IAAvBvG,EAAuB,EAAvBA,QACnB,OAD0C,4BAEtC,uBAAKpH,UAAW,0BACZ,uBAAK4D,IAAKwD,EAAQ,mBAK9B,IAAAwG,8BAA6B,CACzB/W,KAAMuQ,EAAQ,QACdmE,eAAgB,YAA4B,IAA1BC,EAA0B,EAA1BA,WACd,IADwC,+BACpCpE,EAAQ,WACR,OAAO,EAF6B,IAIlByG,EAAyBrC,EAAxCC,cAAyBqC,EAAetC,EAAfsC,YAChC,OAAO,IAAAvC,gBAAe,CAClBwC,QAAS3G,EAAQ,eACjByG,SAAUA,EAASG,cACnBC,MAAO,CACHlG,MAAOX,EAAQ,cACf8G,OAAQC,SAASL,MAEtB,SAACjI,GAAD,OAAsB,MAAVA,GAAkBA,EAAOyH,aAE5CjG,QAAS,gBAAC6E,EAAD,CAAiB9E,QAASA,IACnCwE,KAAM,gBAAC+B,EAAD,CAAcvG,QAASA,IAC7B0E,SAAU,CACNC,eAAgB3E,EAAQ,kBACxB4E,eAAgB5E,EAAQ,kBACxB6E,SAAU7E,EAAQ,6CCjI1B,QACA,cACA,UACA,UAEMgH,EAAY,SAAC,GAAkC,IAAjCC,EAAiC,EAAjCA,SAAUpS,EAAuB,EAAvBA,QAASwE,EAAc,EAAdA,SACnC,OACI,uBAAKT,UAAU,4BACX,uBAAKA,UAAU,OACX,uBAAKA,UAAU,iBACX,gBAAC,EAAA8B,kBAAD,CAAmB9B,UAAU,kCAAkC/D,QAASA,EAAO,WAC5DwE,SAAUA,EAASqB,EAAAA,qBACtC,yBAAOwM,QAAQ,uBAAsB,IAAArI,IAAG,cAAe,uBACtDoI,GAEL,uBAAKrO,UAAU,iBACX,gBAAC,EAAA+B,kBAAD,CAAmB/B,UAAU,kCAAkC/D,QAASA,EAAO,WAC5DwE,SAAUA,EAASsB,EAAAA,qBACtC,yBAAOuM,QAAQ,eAAc,IAAArI,IAAG,MAAO,wBAE3C,uBAAKjG,UAAU,iBACX,gBAAC,EAAAgC,eAAD,CAAgBhC,UAAU,kCAAkC/D,QAASA,EAAO,QAC5DwE,SAAUA,EAASuB,EAAAA,kBACnC,yBAAOsM,QAAQ,eAAc,IAAArI,IAAG,MAAO,4BAO3D,IAAAsI,wBAAuB,CACnBxO,GAAI,YACJyO,WAAY,IACZC,UAAW,gBAACL,EAAD,gJCjCf,UACA,UACA,UACA,UACA,qlBAEA,IAAMM,EAAU,CACZC,MAAO,UACPC,MAAO,QACPC,QAAS,WA0FPR,EAAW,SAAC,GAAgB,IAAf5O,EAAe,EAAfA,KAAMmE,EAAS,EAATA,IACrB,OAAInE,EACO,uBAAKO,UAAS,yBAAoBP,GAAQmE,IAAKA,IAEnD,gBA3FY,SAAC,GAKd,IAHFwD,EAGE,EAHFA,QACU0H,EAER,EAFFrO,SACAsO,EACE,EADFA,WACE,GAC0B,IAAA/Q,UAAS,IADnC,qBACCgR,EADD,KACWC,EADX,KAEAC,GAAe,IAAApU,QAAO,IAFtB,GAG4B,IAAAkD,UAAS,MAHrC,qBAGCmR,EAHD,KAGYC,EAHZ,KAIAvS,GAAW,IAAA+F,eACX7C,EAAKqH,EAAQ,cALb,GAMiD,IAAAiI,mBAAkBtP,GANnE,IAMC0O,UAAWa,OANZ,MAMuB,KANvB,MAM6Bd,WAAAA,OAN7B,MAM0C,IAN1C,EAOAe,EAAoBnI,EAAQ,qBAC5BnL,EAAU,GACVuT,GAAgB,IAAA1U,QAAO,CAAC,WAAc,GAAI,WAAc,GAAI,QAAW,KAC7E,CAAC,aAAc,aAAc,WAAWZ,SAAQ,SAAAuF,GAC5CxD,EAAQwD,GAAR,KACIiP,QAAAA,GACGtH,EAAQ,gBACRA,EAAQ,sBAAsB3H,OAGzC,IA4BMgQ,GAAkB,IAAArH,cAAY,SAACrP,GAC5BmW,EAAalU,QAAQuB,SAASxD,IAC/BmW,EAAalU,QAAQvI,KAAKsG,KAE/B,KAEH,IAAA2W,oBAAmB,CAAC7Y,KAAM,iBAAkBgW,MAAO2B,EAAYtV,KAAMiW,EAAWnP,UAAW,eAE3F,IAAM2P,GAAiB,IAAAvH,cAAY,SAAC3I,GAChC,cAAerM,OAAO0C,KAAKsR,EAAQ,UAAnC,eAA8C,CAAzC,IAAIrH,EAAE,KACP,GAAIA,IAAON,EACP,OAAO2H,EAAQ,SAASrH,GAGhC,MAAO,KACR,IAEH,OAAKuP,EAQD,uBAAKtP,UAAS,gCAA2BD,GAAMlF,IAAKuU,IAC/C,IAAAQ,cAAaN,EAAU,CACpBC,kBAAAA,EACAtT,QAAAA,EACAwE,SAzDK,SAAC1H,GAEd,OADA0W,EAAgB1W,GACT,SAACiP,GAUJ,GATA8G,EAAY9G,GACZwH,EAAcxU,QAAQgN,EAAMhP,aAAegP,EACjB,eAAtBA,EAAMhP,cACc,YAAhBgP,EAAM6H,MACNZ,EAAY,IAEZA,EAAYjH,EAAM6H,QAGtB7H,EAAM8H,SAAU,CAChB,IAAMC,EAAMb,EAAalU,QAAQxG,QAAQuE,GACzC,GAAImW,EAAalU,QAAQ+U,EAAM,GAAI,CAC/B,IAAMC,EAAcd,EAAalU,QAAQ+U,EAAM,GAC/ClT,EAASoT,WAAWD,GAAarB,SAO1B,IACfuB,EALAnB,GAKAmB,EAASV,EAAcxU,QACpB5H,OAAO0C,KAAKoa,GAAQpW,QAAO,SAAA/I,GAAG,QAAMmf,EAAOnf,GAAK+e,YAAU7f,SAAWmD,OAAO0C,KAAKoa,GAAQjgB,WAiCxFoe,SAAU,gBAACA,EAAD,CAAU5O,KAAMuP,EAAUpL,IAAK+L,EAAeX,QAX5D,uBAAKhP,UAAU,+BACX,0BAAI,IAAAmQ,UAAQ,IAAAlK,IAAG,qHAAsH,sBAAuBmB,EAAQ,oBAAoBrH,qCClFxM,QACA,cACA,UACA,UACA,UAEMqQ,EAAa,SAAC,GAAkC,IAAjC/B,EAAiC,EAAjCA,SAAUpS,EAAuB,EAAvBA,QAASwE,EAAc,EAAdA,SAGpC,OAFA,IAAA1F,YAAU,cACP,IAEC,uBAAKiF,UAAU,yBACX,uBAAKA,UAAU,OACX,uBAAKA,UAAU,SACX,uBAAKA,UAAU,cACX,gBAAC,EAAA8B,kBAAD,CAAmB/B,GAAG,qBAAqBC,UAAU,cAClC/D,QAASA,EAAO,WAChBwE,SAAUA,EAASqB,EAAAA,qBACtC,yBAAOwM,QAAQ,qBACR,WAAS,KAAI,IAAArI,IAAG,cAAe,uBACtC,uBAAKjG,UAAU,aACdqO,KAIb,uBAAKrO,UAAU,OACX,uBAAKA,UAAU,oBACX,uBAAKA,UAAU,cACX,gBAAC,EAAA+B,kBAAD,CAAmBhC,GAAG,aAAaC,UAAU,cAAc/D,QAASA,EAAO,WACxDwE,SAAUA,EAASsB,EAAAA,qBACtC,yBAAOuM,QAAQ,aACR,WAAS,KAAI,IAAArI,IAAG,aAAc,uBACrC,uBAAKjG,UAAU,eAGvB,uBAAKA,UAAU,wBACX,uBAAKA,UAAU,cACX,gBAAC,EAAAgC,eAAD,CAAgBjC,GAAG,aAAaC,UAAU,cAAc/D,QAASA,EAAO,QACxDwE,SAAUA,EAASuB,EAAAA,kBACnC,yBAAOsM,QAAQ,aACR,WAAS,KAAI,IAAArI,IAAG,MAAO,uBAC9B,uBAAKjG,UAAU,mBAQvC,IAAAuO,wBAAuB,CACnBxO,GAAI,SACJ0O,UAAW,gBAAC2B,EAAD,MACX5B,WAAY,iICnDhB,UACA,UACA,+lBAEuB,SAAC,GAA0D,IAAzDpH,EAAyD,EAAzDA,QAASiF,EAAgD,EAAhDA,QAAmByC,EAA6B,EAAvCrO,SAAuBsO,EAAgB,EAAhBA,WACxDS,EAAgB,CAACa,KAAM,IASvBC,GAAc,IAAAxS,UAAQ,WAAM,MAC9B,cACO,CACC5M,MAAO,CACHqf,WAAYlE,MAAAA,GAAF,UAAEA,EAASmE,mBAAX,aAAE,EAAsBC,UAEtCC,gBAAgB,IAAAC,iBAAgB,YAChCC,UAAW,YACTxJ,EAAQ,kBAEnB,CAACiF,EAAQmE,cACZ,OACI,uBAAKxQ,UAAU,yBACX,gBAAC,EAAA6B,YAAD,CAAa5F,QAASqU,EAAa7P,SArB1B,SAACuH,GACd8G,EAAY9G,GACZwH,EAAcxH,EAAMhP,aAAegP,EACnC+G,EAGO3b,OAAO0C,KAAK0Z,GAAe1V,QAAO,SAAA2F,GAAI,QAAM+P,EAAc/P,GAAMqQ,YAAU7f,SAAWmD,OAAO0C,KAAK0Z,GAAevf,6ECZ/H,QAEA,oLAEA,QACA,8NCLA,UACA,UACA,UAKA,UAEA,qlBAGA,IAAMmX,GAAU,IAAA+C,aAAY,kBAEf0G,EAA0B,SAAC,GAAyB,QAAxBC,EAAwB,EAAxBA,SAAa/d,GAAW,6BACvDge,EAAeD,MAAAA,GAAH,UAAGA,EAAUE,kBAAb,iBAAG,EAAsBC,iBAAzB,aAAG,EAAiCF,aACtD,OACI,gCACI,gBAAC,EAAAtT,SAAD,CAAUJ,OAAQkH,EAAAA,WAAYtI,QAAO,OAAMmL,EAAQ,mBAAd,IAAiC2J,aAAAA,KAClE,gBAAClP,GAAD,gBAAiB9O,EAAjB,CAAwBge,aAAcA,oCAMtD,IAAMlP,EAAc,SAAC,GAAyC,EAAxCkN,WAAwC,IAA5BgC,EAA4B,EAA5BA,aAAiBhe,GAAW,iDAClB,IAAAiL,WAAS,GADS,qBACnDkT,EADmD,KACrCC,EADqC,KAEpDC,EAAqBhK,EAAQ,sBAE7B/J,IADW,IAAAuF,gBACF,IAAAC,cACE2N,EAAoEzd,EAA9EsZ,QAAUmE,YAAcnG,EAAsDtX,EAAtDsX,kBAAmBC,EAAmCvX,EAAnCuX,aAAc+G,EAAqBte,EAArBse,kBACpC7G,GAAsCH,EAA3DZ,oBAA2DY,EAAtCG,oCACrBd,EAAiCY,EAAjCZ,cAAe8C,EAAkBlC,EAAlBkC,eAChB3V,EAAOuQ,EAAQ,QACf3G,GAAW,IAAA2H,cAAY,SAACJ,GAC1BmJ,EAAgBnJ,EAAM8H,YACvB,IAXuD,GAYN,IAAAwB,wBAAuB,CACvEP,aAAAA,EACAP,YAAAA,EACAnG,kBAAAA,EACAX,cAAAA,EACA2H,kBAAAA,EACA7E,eAAAA,EACA3V,KAAAA,IAPG0a,EAZmD,EAYnDA,oBAAqBxM,EAZ8B,EAY9BA,sBAU5B,IAAA8F,yBAAwB,CACpBnB,cAAAA,EACAoB,WAAYN,EACZyC,eAAgBT,EAAegF,WAGnC,IAAMxM,GAAmB,IAAAoD,cAAA,6BAAY,qGAC7B7C,EAAgB,KADa,SAEZgM,IAFY,cAG7B1L,OADEA,EAF2B,SAGjC,UAAIA,EAAQ4L,qBAAZ,OAAI,EAAuB7L,iBACvBL,EAAgBM,EAAO4L,cAAc7L,gBAJR,kBAM1BL,GAN0B,2CAOlC,CAACgM,IAQJ,OACI,gCACI,gBAAC,EAAAjP,eAAD,CAAgBrG,QARR,CACZyV,OAAQ,CACJC,eAAgB,SAEpBC,QAAS,CAACtE,SAAU,QAASuE,UAAW,UAIFpR,SAAUA,IAC3C2Q,GAAsB,gBAAC,EAAAzM,aAAD,CACnBC,kBAAmBwC,EAAQ,QAC3B/J,OAAQA,EACRyH,iBAAkBoM,EAClBlM,iBAAkBA,EAClBD,qBAAsBA,QAKvB8L,6FCjFf,UACA,UACA,UAIA,UACA,UACA,aACA,aACA,aAEA,aACA,UAOMzJ,GAAU,IAAA+C,aAAY,kBAEtB2H,EAAoB,SAAC/e,GAAU,OACP,IAAAiL,WAAS,GADF,qBAC1B7M,EAD0B,KACnB4gB,EADmB,KAOjC,IALA,IAAAhX,YAAU,WACNwJ,EAAAA,WAAWuB,OAAM,SAAA3U,GACb4gB,EAAS5gB,QAEd,CAAC4gB,IACA5gB,EACA,MAAM,IAAI+G,MAAM/G,GAEpB,OAAIiW,EAAQ,oBAEJ,gBAAC,UAA4BrU,GAIjC,gBAAC,EAAA0K,SAAD,CAAUJ,OAAQkH,EAAAA,WAAYtI,QAASmL,EAAQ,mBAC3C,gBAAC4K,EAAsBjf,KAK7Bif,EAAoB,SAAC,GASjB,IAPF5K,EAOE,EAPFA,QACAiF,EAME,EANFA,QACAC,EAKE,EALFA,aACAhC,EAIE,EAJFA,aACAD,EAGE,EAHFA,kBACAkC,EAEE,EAFFA,oBACA8E,EACE,EADFA,kBACE,GACoB,IAAA5E,kBADpB,qBACCtb,EADD,KACQ4gB,EADR,QAEkC,IAAA/T,WAAS,GAF3C,qBAECkT,EAFD,KAEeC,EAFf,KAGC1H,EAAuBY,EAAvBZ,oBACDpM,GAAS,IAAAwF,aACThG,GAAW,IAAA+F,eACXqP,GAAuB,IAAA7J,cAAY,WACrC,IAAM8J,EAAS9K,EAAQ,oBAAsBtF,EAAAA,kBAAoBD,EAAAA,YACjE,MAAO,CAACwO,KAAMxT,EAASoT,WAAWiC,MACnC,CAAC7U,EAAQR,IATN,GAWmC,IAAAsV,gBAAe,CACpD/K,QAAAA,EACAgL,UAAW/F,EAAQ+F,UACnBL,SAAAA,IAHGM,EAXD,EAWCA,YAAaC,EAXd,EAWcA,kBAXd,GAiBqD,IAAAvF,yBAAwB,CAC/E3F,QAAAA,EACAiF,QAAAA,EACAC,aAAAA,EACAhC,aAAAA,EACAnZ,MAAAA,EACAsY,oBAAAA,EACA4H,kBAAAA,EACAgB,YAAAA,EACAC,kBAAAA,EACAL,qBAAAA,EACA1F,oBAAAA,IAXG1H,EAjBD,EAiBCA,2BAA4BE,EAjB7B,EAiB6BA,sBAanC,IAAAiI,2BAA0B,CACtB5F,QAAAA,EACAiD,kBAAAA,EACAX,cAAeY,EAAaZ,cAC5B6C,oBAAAA,EACA8E,kBAAAA,IAGJ,IAQMrM,GAAmB,IAAAoD,cAAA,6BAAY,qGAC7B7C,EAAgB,KADa,SAEZlI,EAAON,oBAAoB8H,KAFf,cAG7BgB,OADEA,EAF2B,SAGjC,UAAIA,EAAQN,qBAAZ,OAAI,EAAuBxF,KACvBwF,EAAgBM,EAAON,cAAcxF,IAJR,kBAM1BwF,GAN0B,2CAOlC,CAAClI,EAAQwH,IAEN0N,EAAMnL,EAAQ,oBAAsBoL,EAAAA,QAAiBC,EAAAA,QAC3D,OACI,uBAAKzS,UAAU,4BACX,gBAACuS,EAAD,CAAUnL,QAAAA,EAASiF,QAAAA,EAAS5L,SApBnB,SAACuH,GACVA,EAAM7W,MACN4gB,EAAS/J,EAAM7W,OAEf4gB,GAAS,IAgB8BhD,WAAYoC,IAClD/J,EAAQ,uBAAyB,gBAAC,EAAAzC,aAAD,CAC9BC,kBAAmBwC,EAAQ,QAC3BtC,iBAAkBoM,EAClBnM,qBAAsBA,EACtBC,iBAAkBA,OAMlC,IAAAqG,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CACHJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,WACnBkE,UAAW,eACXC,eAAgB,kBAAMhH,EAAAA,YACtB8C,QAAS,gBAAC,EAAAqE,cAAD,CAAerE,QAASyK,EAAmB1K,QAASA,IAC7DuE,oBAAqB,gBAAC,UAAD,CAAoBvE,QAASA,EAAS3B,OAAQ2B,EAAQ,oBAAsB,qBAAuB,qBACxHwE,KAAM,gBAAC,EAAAF,cAAD,CAAerE,QAASyK,EAAmB1K,QAASA,IAC1D0E,SAAU,CACNC,eAAgB3E,EAAQ,kBACxB4E,gBAAgB,EAChBC,SAAU7E,EAAQ,oMCtIpBsL,SAAAA,kdACF,WAAY3f,GAAO,mCACf,cAAMA,IACD4f,MAAQ,CAACC,UAAU,EAAOzhB,MAAO,KAAM0hB,UAAW,MAFxC,wDAKnB,SAAkB1hB,EAAO0hB,GACrBrhB,KAAKshB,SAAS,CACVF,UAAU,EACVzhB,MAAAA,EACA0hB,UAAAA,0BAIR,WACI,OAAIrhB,KAAKmhB,MAAMC,SAEP,gCACKphB,KAAKmhB,MAAMxhB,OAAS,uBAAK6O,UAAU,yBAAyBxO,KAAKmhB,MAAMxhB,MAAMoD,YAC7E/C,KAAKmhB,MAAME,WACZ,uBAAK7S,UAAU,yBAAyBxO,KAAKmhB,MAAME,UAAUE,iBAIlEvhB,KAAKuB,MAAM6K,eAxBpB8U,CAFN,QAE4BM,+JCF5B,UACA,UACA,UAQOC,GAAkB,EAFzB,QAEyB9I,aAAY,oBAAZ,GAAlB8I,yBAEiB,SAAC,GAaf,IAXF7L,EAWE,EAXFA,QACA8L,EAUE,EAVFA,gBACA7G,EASE,EATFA,QACAC,EAQE,EARFA,aACAf,EAOE,EAPFA,eACA4H,EAME,EANFA,eACA9I,EAKE,EALFA,kBACAkC,EAIE,EAJFA,oBACA1L,EAGE,EAHFA,QACAuL,EAEE,EAFFA,QACGrZ,GACD,uKACAqgB,EAAe,CACjBC,WAAYjM,EAAQ,cACpBkM,aAAclM,EAAQ,iBAHpB,GAKoB,IAAAqF,kBALpB,qBAKCtb,EALD,KAMAoiB,GANA,MAMkB,IAAAzY,WACjByP,EAA0BxX,EAA1BwX,SAAUD,EAAgBvX,EAAhBuX,aACVb,EAAuBY,EAAvBZ,oBACDiD,GAAiB,IAAAC,qBACjBE,EAA8C,SAAtCzF,EAAQ,eAAeoM,WAAwB,IAAM,IAC5D1G,GAAoB,IAAAC,yBAAwB,CAC/C3F,QAAAA,EACAiF,QAAAA,EACAC,aAAAA,EACA7C,oBAAAA,EACAa,aAAAA,EACAnZ,MAAAA,EACAub,eAAAA,EACAnC,SAAAA,EACA4I,eAAAA,EACA5G,oBAAAA,IAVGO,iBAaDK,GAAiB,IAAAC,mBAAkB,CACrChG,QAAAA,EACA6L,eAAAA,EACAG,aAAAA,EACA/G,QAAAA,EACAC,aAAAA,IA7BE,GAgCyB,IAAAmH,mBAAkB,CAC7CL,aAAAA,EACAjG,eAAAA,EACAd,QAAAA,EACAC,aAAAA,EACAjC,kBAAAA,EACAkB,eAAAA,EACA2H,gBAAAA,EACA3I,SAAAA,EACAuC,iBAAAA,EACAJ,eAAAA,EACA7L,QAAAA,EACAuL,QAAAA,EACAhF,QAAAA,IAbGsM,EAhCD,EAgCCA,OAAQC,EAhCT,EAgCSA,aAiCf,OAjBA,IAAA3G,2BAA0B,CACtB5F,QAAAA,EACAiD,kBAAAA,EACAX,cAAeY,EAAaZ,cAC5B6C,oBAAAA,KAGJ,IAAAK,2BAA0B,CAAChH,eAAgBwB,EAAQ,QAASyF,MAAAA,KAE5D,IAAA9R,YAAU,WACF2Y,IAEAC,EAAaJ,EAAgBvY,SAC7BuY,EAAgBvY,QAAQ4Y,OAAOF,MAEpC,CAACA,IAGA,uBAAK1T,UAAU,kCAAkCnF,IAAK0Y,8IC3F3B,CAC/B9T,KAAM,OACNoU,WAAY,CACRC,mBAAoB,CAAC,YACrBC,oBAAqB,CAAC,OAAQ,WAAY,UAAW,MAAO,aAAc,QAC1EC,0BAA0B,2BAIE,CAChCC,WAAY,EACZC,gBAAiB,oECXrB,oLACA,oLACA,6SCFA,4BAE+B,WAAM,OACO,IAAAlW,WAAS,GADhB,qBAEjC,MAAO,CAACoN,aAFyB,KAEX8H,gBAFW,8ICFrC,UACA,UACA,UACA,ymBAEiC,SAAC,GAAmE,IAAlE9L,EAAkE,EAAlEA,QAAS6L,EAAyD,EAAzDA,eAAgBG,EAAyC,EAAzCA,aAAc/G,EAA2B,EAA3BA,QAASC,EAAkB,EAAlBA,aACxEkE,EAAenE,EAAfmE,YACA2D,EAAiB7H,EAAjB6H,cAF0F,EAGpD/M,IAAtCgN,EAH0F,EAG1FA,kBAAmBC,EAHuE,EAGvEA,gBAiD1B,OA/CuB,IAAAvW,UAAQ,WAC3B,IAAI7B,EAAU,EAAH,KACJ,CACCqY,eAAe,IAAAC,SAAQ/D,EAAYgE,OACnCpB,aAAAA,EACAqB,sBAAuB,CAAC,EAAD,KAChB,CACChV,KAAM,OACNiV,0BAA2B,CACvBjV,KAAM,kBACNoU,WAAY,CACRc,QAAS,SACT,iBAAkB,aAClB,wBAAyB1B,MAG/B2B,EAAAA,sBAEVC,wBAAyBvI,EAAawI,cACtCC,iBAAiB,IAAAC,oBAAmB,CAChC3I,QAAAA,EACA+H,kBAAAA,EACAC,gBAAAA,IAEJY,gBAAiB,CAAC,2BAChBC,EAAAA,sBAOV,GALAjZ,EAAQwY,sBAAsB,GAAGZ,WAAWsB,wBAAyB,EACrElZ,EAAQwY,sBAAsB,GAAGZ,WAAWuB,yBAA2B,CACnEC,OAAQ,OACRC,qBAAqB,IAAA3E,iBAAgB,QAASH,EAAYzC,WAAY,IAAAwG,SAAQ/D,EAAY+E,QAE1FtZ,EAAQ4Y,wBAAyB,CACjC5Y,EAAQgZ,gBAAR,wBAA8BhZ,EAAQgZ,iBAAoB,CAAC,mBAAoB,oBAC/EhZ,EAAQuZ,wBAAyB,EACjC,IAAMC,GAA2B,IAAAC,6BAA4BvB,GACzDsB,EAAyBE,gBAAgB1lB,OAAS,IAClDgM,EAAU,EAAH,KAAOA,GAAP,IAAgBwZ,yBAAAA,KAG/B,OAAOxZ,IACR,CACCoQ,EAAQ+F,UACR/F,EAAQuJ,eACRpF,EACAlE,mLCvDR,UACA,aACA,UASA,UACA,UACA,UACA,ymBAEiC,SAAC,GAcxB,IAZF8G,EAYE,EAZFA,aACAjG,EAWE,EAXFA,eACAd,EAUE,EAVFA,QACAC,EASE,EATFA,aACAjC,EAQE,EARFA,kBACAkB,EAOE,EAPFA,eACA2H,EAME,EANFA,gBACApG,EAKE,EALFA,iBACAJ,EAIE,EAJFA,eACA7L,EAGE,EAHFA,QACAuL,EAEE,EAFFA,QACAhF,EACE,EADFA,QAEGyO,EAAezO,IAAfyO,YADD,GAEsC,IAAA7X,YAFtC,qBAEC8X,EAFD,KAEiBC,EAFjB,QAGsB,IAAA/X,UAAS,MAH/B,qBAGC0V,EAHD,KAGSsC,EAHT,KAIAC,GAAiB,IAAAnb,QAAOuR,GACxB6J,GAAkB,IAAApb,QAAOwR,GACzBjP,GAAS,IAAAwF,aACRsT,GAAmB,IAAAC,kBAAiB,CACvC/J,QAAAA,EACAC,aAAAA,EACAjC,kBAAAA,IAHG8L,iBAKP,IAAApb,YAAU,WACNkb,EAAejb,QAAUqR,EACzB6J,EAAgBlb,QAAUsR,KAG9B,IAAM+J,GAAiB,IAAAjO,cAAY,SAACkO,GAAgB,QAChD,GAAIA,MAAAA,GAAJ,UAAIA,EAAavM,yBAAjB,iBAAI,EAAgC9Y,YAApC,OAAI,EAAsCslB,eAAgB,OAClDA,EAAiBD,EAAYvM,kBAAkB9Y,KAAKslB,gBACpD,IAAAC,gBAAeP,EAAejb,QAAQwV,YAAa,CAAC,QAAS,YAAa,IAAA+D,SAAA,UAAQ0B,EAAejb,QAAQwV,mBAA/B,aAAQ,EAAoC+E,SACtHgB,EAAiB,CAACE,YAAaF,EAAeE,cAElD/J,EAAe8D,YAAcyF,EAAejb,QAAQwV,aAAc,IAAAkG,eAAcH,EAAgB,CAAC/B,MAAO8B,EAAY9B,QAEpH8B,MAAAA,GAAAA,EAAaK,kBACbjK,EAAeiK,iBAAkB,IAAAD,eAAcJ,EAAYK,oBAEhE,CAACjK,EAAgBS,IAEdwG,GAAe,IAAAvL,cAAY,SAACwO,GAC9B,KAAOA,EAAcC,YACjBD,EAAcE,YAAYF,EAAcC,cAE7C,CAACnD,IACEnG,GAAc,IAAAnF,cAAA,6BAAY,qGAC5BvH,IAD4B,kBAGAiV,EAAeiB,gBAAgB5J,GAH/B,cAGpBmJ,EAHoB,OAMxBD,EAAeC,GAET5Q,EAAOsE,KAAKgN,MAAMV,EAAYvM,kBAAkBkN,iBAAiB3O,OAR/C,SAULjL,EAAON,oBAAoB,CAC1C0C,KAAM,OACN4Q,KAAM,CAAC/H,MAAO5C,EAAK3F,IACnBmX,iBAAiB,IAAAC,8BAA6BlB,EAAejb,QAAQwV,eAbjD,YAUpB3K,EAVoB,QAgBb1U,MAhBa,uBAiBd,IAAIimB,EAAAA,YAAYvR,EAAO1U,OAjBT,QAoBxB2b,EAAiBjH,EAAON,cAAcxF,IApBd,kDAsBA,cAApB,uCAAKsX,YACLjL,KAEA5P,QAAQuJ,KAAI,IAAAwD,iBAAA,OACZ2J,GAAgB,IAAA3J,iBAAA,QA1BI,0DA6B7B,CACClM,EACAyY,EACAjV,IAGEyW,GAAe,IAAAlP,cAAA,6BAAY,iGAErB0N,GAAmBpC,IAAUrW,EAFR,gCAGfkO,EAHe,OAIrByK,EAAUF,EAAewB,aAAf,GACNzW,QAAS0M,GACNnG,EAAQ,kBANM,uDAUzB5K,QAAQuJ,IAAR,MAVyB,yDAY9B,CACC1I,EACAqW,EACAoC,EACAvI,IAGEgK,GAAiB,IAAAzZ,UAAQ,WAC3B,IAAI7B,EAAU,CACV4Z,YAAAA,EACAzC,aAAAA,EACAoE,qBAAsB,CAClBC,oBAAqB,kBAAMpmB,QAAQV,QAAQ,CAAC+mB,iBAAkB,eA2CtE,OAxCIvK,EAAe0H,0BACf5Y,EAAQub,qBAAqBG,qBAAuB,SAACrB,GACjD,OAAO,IAAIjlB,SAAQ,SAACV,EAASC,GACzB,IA+B4D,EA/BtDgnB,EAAW1B,EAAgBlb,QACT6c,EAA+BvB,EAAhDK,gBAA0BmB,EAAsBxB,EAAtBwB,mBAC3BC,GAAsB,IAAArB,eAAcmB,GAEpCG,GAAgB,IAAAC,2BAA0BH,EAAmB/X,IAC7DmY,GAAe,cAAe,IAAAC,wBAAuBP,EAASjB,iBAAkBoB,GAChFK,GAAgB,aAAeR,EAASI,eAAxB,gBACjBA,EAAc,GAAKA,EAAc,KAEtC7B,EAAgB,qBAAqB,SAACkC,EAAD,GAAkC,IAAvBhM,EAAuB,EAAvBA,QAASuL,EAAc,EAAdA,SAEjDjnB,EADA0nB,GACQ,IAAAC,yBAAwB,CAC5BjM,QAAAA,EACAC,aAAc,CACVwI,eAAe,EACfX,cAAeyD,EAASzD,eAE5BC,kBAAmBhN,EAAQ,qBAC3BiN,gBAAiBjN,EAAQ,qBAGrB,CACJjW,MAAO,CACHonB,OAAQ,iCACRC,SAAS,IAAAvS,IAAG,4CAA6C,sBACzDwS,OAAQ,wBAIrBP,GAAgBE,GACnBlC,EAAgBlb,QAAQ0d,mBAAxB,OAA+CxC,EAAgBlb,QAAQ2b,iBAAoBoB,IAC7D,+BAA1BD,EAAmB/X,KACnB,EAAAmW,EAAgBlb,SAAQ2d,iBAAxB,sBAA4CX,SAKrD/b,IACR,CAACkR,IAUJ,OARA,IAAApS,YAAU,WACNgb,EAAkB,IAAI6C,OAAOC,SAASC,IAAIC,eAAexB,MAC1D,CAACA,KAEJ,IAAAxc,YAAU,WACNuc,MACD,CAACA,IAEG,CACH5D,OAAAA,EACAC,aAAAA,qECpLR,QAEA,mQCFA,UACA,UACA,UACA,aACA,UACA,aACA,qlBAEA,IAGUmC,EAOAkD,EAVJ5R,GAAU,IAAA+C,aAAY,yBAEtBoB,GACIuK,EAAiB,IAAI8C,EAAAA,QAAOC,SAASC,IAAIC,eAAe,CAC1DlD,YAAazO,EAAQ,eACrBgM,aAAc,CACVC,WAAYjM,EAAQ,cACpBkM,aAAclM,EAAQ,mBAGxB4R,EAAsB,EAAH,KAAO9D,EAAAA,sBAAP,IAA6BT,sBAAuB,CAACG,EAAAA,uBACvEkB,EAAemD,aAAaD,GAAqB1nB,MAAK,WACzD,OAAO,KACRwU,OAAM,SAAAlU,GAEL,OADA4K,QAAQuJ,IAAInU,IACL,MAITsnB,EAAmB,SAAC,GAAoC,IAAnC9R,EAAmC,EAAnCA,QAASN,EAA0B,EAA1BA,WAAe/T,GAAW,yCACnD0X,EAAwB3D,EAAxB2D,qBADmD,GAElB,IAAA0O,mBAAjC/N,EAFmD,EAEnDA,aAAc8H,EAFqC,EAErCA,gBACrB,OACI,uBAAKlT,UAAU,4BACX,gBAAC,EAAAvC,SAAD,CAAUJ,OAAQkH,EAAAA,YACd,gBAAC,WAAD,cAAiB6C,QAASA,EACTmE,eAAgBA,EAChB2H,gBAAiBA,GACbngB,IACpBqY,GAAgB,gBAACX,EAAD,CAAsBW,aAAcA,OAM/DgO,EAAgB,SAAC,GAAwB,MAAvBhS,EAAuB,EAAvBA,QACdoM,IADqC,4BACxBpM,EAAQ,eAAeoM,YACpC5P,GAAM,UAAAwD,EAAQ,sBAAR,eAAyBoM,KAAe,OACpD,OACI,uBAAKxT,UAAS,4BAAuBwT,IACjC,uBAAK5P,IAAKA,OAKtB,IAAAgK,8BAA6B,CACzB/W,KAAMuQ,EAAQ,QACdmE,eAAgB,WACZ,OAAInE,EAAQ,aACJ,IAAAiS,eACOjS,EAAQ,0BAInB,IAAAiS,gBAAiBjS,EAAQ,yBAGtB7C,EAAAA,WAAWjT,MAAK,SAAA+L,GACnB,OAAIA,EAAOlM,MACAkM,EAEJkO,MAGflE,QAAS,gBAAC6R,EAAD,CAAkB9R,QAASA,IACpCwE,KAAM,gBAACwN,EAAD,CAAehS,QAASA,IAC9B0E,SAAU,CACNC,eAAgB3E,EAAQ,kBACxB4E,eAAgB5E,EAAQ,kBACxB6E,SAAU7E,EAAQ,uOC7E1B,UAsBa4N,IAlBO,EAFpB,QAEoBsE,YAAW,qBAkBG,SAAC,GAAwE,IAAvEjN,EAAuE,EAAvEA,QAAS+H,EAA8D,EAA9DA,kBAAmBC,EAA2C,EAA3CA,gBAAkBnE,EAAyB,uDAAhB,YAChFkC,EAAuC/F,EAAvC+F,UAAWwD,EAA4BvJ,EAA5BuJ,eAAgB/H,EAAYxB,EAAZwB,SAC5BkH,EAAkB,CACpBwE,YAAanF,EACboF,aAAc3L,EAAS4L,KACvBC,iBAAkBxJ,EAClByJ,YAAY,IAAAC,uBAAsBxH,EAAUlhB,MAAO2c,EAASgM,WAAWtlB,WACvEulB,aAAcC,EAAgBnE,EAAgB/H,EAASgM,WACvDxF,gBAAAA,GAEJ,OAAOU,qDAG4B,SAAC,GAAgE,IAA/D1I,EAA+D,EAA/DA,QAASC,EAAsD,EAAtDA,aAAc8H,EAAwC,EAAxCA,kBAAmBC,EAAqB,EAArBA,gBACxES,EAAgCxI,EAAhCwI,cAAeX,EAAiB7H,EAAjB6H,cAClB7V,EAAS,CACT0b,mBAAoBhF,EAAmB,CACnC3I,QAAAA,EAAS+H,kBAAAA,EAAmBC,gBAAAA,GAC7B,UAKP,OAHIS,IACAxW,EAAO2b,4BAA8BvE,EAA4BvB,IAE9D7V,GASX,IAAMyb,EAAkB,SAACnE,GAA6B,IAAbsE,EAAa,uDAAN,EACxCC,EAAQ,GACNrkB,EAAO,CAAC,YAAa,kBAU3B,OATA8f,EAAe1b,SAAQ,SAAAkgB,IACf,EAAIA,EAAKlpB,OAAUkpB,EAAKrpB,KAAO+E,EAAKyG,SAAS6d,EAAKrpB,OAClDopB,EAAM1nB,KAAK,CACPsV,MAAOqS,EAAKrS,MACZtI,KAAM,YACN4a,OAAO,IAAAT,uBAAsBQ,EAAKlpB,MAAOgpB,GAAM3lB,gBAIpD4lB,GAGEzE,EAA8B,SAACvB,GACxC,IAAMwB,EAAkB2E,EAAmBnG,GAEvCoG,EADsB5E,EAAgBnP,KAAI,SAAAgU,GAAM,OAAIA,EAAOza,MACfnJ,MAAM,EAAG,GAAG6jB,QAQ5D,OAPAtG,EAAcja,SAAQ,SAACwgB,EAAiB3K,GACpC2K,EAAgBC,eAAezgB,SAAQ,SAAA0gB,GAC/BA,EAAKC,WACLN,GAA0B,IAAAO,qBAAoB/K,EAAK6K,EAAKG,gBAI7D,CACHpF,gBAAAA,EACA4E,wBAAAA,oCAKD,IAAMD,EAAqB,SAACnG,GAC/B,IAAIlY,EAAU,GAcd,OAbAkY,EAAcja,SAAQ,SAACwgB,EAAiB3K,GACpC,IAAIiL,EAAQN,EAAgBC,eAAenU,KAAI,SAAAoU,GAC3C,IAAIK,EAAMvX,SAAS9E,cAAc,YACjCqc,EAAIC,UAAYN,EAAK/jB,KACrB,IAAIwjB,GAAQ,IAAAc,aAAYP,EAAKP,MAAOO,EAAKnP,eACzC,MAAO,CACH1L,IAAI,IAAA+a,qBAAoB/K,EAAK6K,EAAKG,SAClChT,MAAOkT,EAAI/pB,MACXkqB,YAAa,GAAF,OAAKf,OAGxBpe,EAAU,GAAH,qBAAOA,IAAP,aAAmB+e,OAEvB/e,0BAGJ,IAAMya,GAAgB,mBAnGJ,CACrB7f,KAAM,SAACghB,EAAShhB,GAGZ,OAFAghB,EAAQwD,WAAaxkB,EAAKykB,MAAM,KAAK1kB,MAAM,GAAI,GAAG2kB,KAAK,KACvD1D,EAAQ2D,UAAY3kB,EAAKykB,MAAM,KAAKG,MAC7B5D,GAEX0B,YAAa,UACbmC,SAAU,YACVC,SAAU,YACVC,SAAU,OACVC,mBAAoB,QACpBtL,WAAY,WACZiE,MAAO,QACPiC,YAAa,6FCnBjB,oLACA,oLACA,oLACA,oLACA,oLACA,oLACA,oLACA,oLACA,oLACA,oUCTA,UACA,UACA,UACA,sCAEyC,SAAC,GAQhC,IANFrP,EAME,EANFA,QACAiD,EAKE,EALFA,kBACAX,EAIE,EAJFA,cACA6C,EAGE,EAHFA,oBAGE,IAFF8E,kBAAAA,OAEE,aADFpE,eAAAA,OACE,MADe,KACf,EACA5P,GAAS,IAAAwF,aACRiZ,EAA4EzR,EAA5EyR,qCAAsCtR,EAAsCH,EAAtCG,oCAC7C,IAAAK,yBAAwB,CACpBnB,cAAAA,EACAoB,WAAYN,EACZyC,eAAAA,KAEJ,IAAAlS,YAAU,WACN,IAAIghB,EAAwCD,EAAoC,+CAAC,8FAAQE,EAAR,EAAQA,YACjF5U,EAAQ,UAAYmF,EADqD,iCAG5D,IAAA0P,kBAAiB,CAC1BD,YAAAA,EACAtS,cAAAA,EACA7S,KAAM0V,EACN2P,kBAAmB7K,IAPkD,wEAUtE,MAVsE,2CAAD,uDAYhF,OAAO,kBAAM0K,OACd,CACC1e,EACAqM,EACAoS,EACAvP,EACA8E,6JCxCR,UACA,UAEa3B,EAAqB,SAAC,GAMzB,IAJF7Y,EAIE,EAJFA,KACAgW,EAGE,EAHFA,MACA3T,EAEE,EAFFA,KACA8G,EACE,EADFA,UACE,GAC+B,IAAAhC,UAAS2D,OAAOwa,YAD/C,qBACCC,EADD,KACcC,EADd,KAEAC,GAAc,IAAAlU,cAAY,SAACvR,GAC7B,IAAM0lB,GAAW,IAAA/T,cAAa3R,GAC9B,OAAO0lB,EAAWpO,SAASoO,GAAY,IACxC,IACGC,GAAc,IAAApU,cAAY,SAACvR,EAAMgW,GAAP,OAAiB,IAAAtE,cAAa1R,EAAMgW,KAAQ,KAE5E,IAAA9R,YAAU,WACN,IAAMyM,EAAqB,mBAATtO,EAAsBA,IAASA,EAEjD,GAAIsO,EAAI,CACJ,IAAM+U,EAAWD,EAAYzlB,KACxB0lB,GAAY1P,EAAQ0P,IACrBC,EAAY3lB,EAAMgW,GAElBrF,EAAGiV,YAAc5P,EACjBrF,EAAGE,UAAUC,IAAI3H,GAEbwH,EAAGiV,YAAcF,GACjB/U,EAAGE,UAAUgV,OAAO1c,MAIjC,CAACoc,EAAaljB,KACjB,IAAA6B,YAAU,WACN,IAAM4hB,EAAe,kBAAMN,EAAc1a,OAAOwa,aAEhD,OADAxa,OAAO0C,iBAAiB,SAAUsY,GAC3B,kBAAMhb,OAAOib,oBAAoB,SAAUD,2DAIjB,SAAC,GAIhC,IAFF/W,EAEE,EAFFA,eACAiH,EACE,EADFA,MAEE3T,GAAO,IAAAkP,cAAY,WACrB,IAAMZ,EAAK9D,SAASmZ,eAAT,iCAAkDjX,IAC7D,OAAO4B,EAAKA,EAAGsV,WAAa,OAC7B,IACHpN,EAAmB,CACf7Y,KAAM,kBACNgW,MAAAA,EACA3T,KAAAA,EACA8G,UAAW,uHCtDnB,kCAEiC,WAE7B,OADuB,IAAAlF,QAAO,IACRE,gJCJ1B,UACA,wmBAEgC,SAAC,GAKvB,IAHFqR,EAGE,EAHFA,QACAC,EAEE,EAFFA,aACAjC,EACE,EADFA,kBAEG0S,EAA0E1S,EAA1E0S,sBAAuBC,EAAmD3S,EAAnD2S,mBAAoBC,EAA+B5S,EAA/B4S,4BAC5ChH,GAAiB,IAAAnb,QAAOuR,GACxB6J,GAAkB,IAAApb,QAAOwR,GAHzB,GAIwB,IAAAtO,UAAS,MAJjC,qBAICkf,EAJD,KAIUC,EAJV,QAKmC,IAAAnf,UAAS,CAC9Cof,mBAAmB,IANjB,qBAKCC,EALD,KAKgBC,EALhB,KAQAnH,GAAkB,IAAA/N,cAAY,SAACvR,EAAMqmB,GAA6B,IAApBK,EAAoB,wDAChEA,EACAJ,GAAW,EAAD,cAAGtmB,EAAOqmB,IAEpBI,EAAgB,EAAD,KAAKD,GAAL,oBAAqBxmB,EAAOqmB,OAEhD,CAACG,EAAeC,IACbE,GAAqB,IAAApV,cAAY,SAACvR,GAChCwmB,EAAcxmB,YACPwmB,EAAcxmB,GACrBymB,EAAgBD,MAErB,CAACA,IAEED,GAAoB,IAAAhV,cAAY,WAClC,IAAMwP,EAAW1B,EAAgBlb,QAC3BqR,EAAU4J,EAAejb,QAC/B,GAAIqiB,EAAcD,oBAAsBxF,EAAS6F,kBAAoB7F,EAAS8F,qBAAsB,CAChG,IAAMR,EAAUG,EAAcD,kBAC1B/E,GAAU,GACT,IAAAsF,kBAAiB/F,EAASzD,iBAC3BkE,GAAU,GAEd6E,EAAQ7E,EAAS,CACbhM,QAAAA,EACAuL,SAAAA,IAEJ4F,EAAmB,wBAExB,CAACH,EAAeG,IA0CnB,OAxCA,IAAAziB,YAAU,WACNkb,EAAejb,QAAUqR,EACzB6J,EAAgBlb,QAAUsR,MAG9B,IAAAvR,YAAU,WACFmiB,GACIA,EAAQE,oBACRF,EAAQE,mBAAkB,EAAM,CAC5B/Q,QAAS4J,EAAejb,QACxB4c,SAAU1B,EAAgBlb,UAE9BmiB,EAAW,SAGpB,CAACD,KAEJ,IAAAniB,YAAU,WACN,IAAM6iB,EAAiCb,EAAsBK,GACvDS,EAAuCZ,EAA4BG,GACnEU,EAA8Bd,GAAmB,YAAmC,EAAjCe,kBAAiC,EAAdnL,SACpEyK,EAAcD,qBAEdF,EADgBG,EAAcD,oBACtB,GACRI,EAAmB,yBAI3B,OAAO,WACHI,IACAE,IACAD,OAEL,CACCR,EACAN,EACAC,EACAC,IAGG,CAAC9G,gBAAAA,EAAiBqH,mBAAAA,wJCvF7B,UACA,UACA,UACA,wlBASA,IAAM9G,GAAgB,yCAEW,SAAC,GAWxB,IATFtP,EASE,EATFA,QACAgF,EAQE,EARFA,QACA/O,EAOE,EAPFA,OACAgP,EAME,EANFA,QACAC,EAKE,EALFA,aACAjC,EAIE,EAJFA,kBACAyC,EAGE,EAHFA,iBACAJ,EAEE,EAFFA,eACAW,EACE,EADFA,OAEG8I,GAAmB,IAAAC,kBAAiB,CACvC/J,QAAAA,EACAC,aAAAA,EACAjC,kBAAAA,IAHG8L,gBAKiBrB,GAAgCxI,EAAjDqK,gBAAiDrK,EAAhCwI,eAAeX,EAAiB7H,EAAjB6H,cAChC3D,EAAoDnE,EAApDmE,YAAaoF,EAAuCvJ,EAAvCuJ,eAAgB/H,EAAuBxB,EAAvBwB,SAAUuE,EAAa/F,EAAb+F,UAPxC,GAQsC,IAAApU,UAAS,MAR/C,qBAQCmP,EARD,KAQiB6Q,EARjB,KASAC,GAAwB,IAAAnjB,QAAO,IAC/Bob,GAAkB,IAAApb,QAAOwR,GACzB2J,GAAiB,IAAAnb,QAAOuR,IAE9B,IAAAtR,YAAU,WACNmb,EAAgBlb,QAAUsR,EAC1B2J,EAAejb,QAAUqR,IAC1B,CAACC,KAEJ,IAAAvR,YAAU,WACN,GAAIsC,EAAQ,CACR,IAAMpB,EAAU,CACZ8R,QAAS3G,EAAQ,eACjByG,SAAUA,MAAAA,OAAF,EAAEA,EAAU4L,KAAKzL,cACzBC,MAAO,CACHC,OAAQkE,EAAUlhB,MAClB6W,MAAOqK,EAAUrK,MACjBmW,SAAS,GAEbC,kBAAkB,EAClBC,mBAAmB,IAAAzN,iBAAgB,QAASH,EAAYzC,SACxDsQ,mBAAmB,IAAA1N,iBAAgB,QAASH,EAAYzC,SACxDuQ,gBAAiBxJ,EACjBgF,cAAc,IAAAC,iBAAgBnE,EAAgB/H,IAE9C5R,EAAQqiB,kBACRriB,EAAQ0Z,iBAAkB,IAAA2E,oBAAmBnG,IAEjD8J,EAAsBjjB,QAAUiB,EAChC,IAAMkR,EAAiB9P,EAAO8P,eAAe8Q,EAAsBjjB,SACnEmS,EAAe5B,iBAAiBja,MAAK,SAAAuU,GAC7BwH,EAAOxH,GACPmY,EAAkB7Q,GAElB6Q,EAAkB,YAI/B,CACC3gB,EACA+U,EAAUlhB,MACVsf,EAAYzC,QACZoG,EACAyB,EACA/H,EAAS4L,QAGb,IAAA1e,YAAU,WACFoS,IACI8Q,EAAsBjjB,QAAQsjB,kBAC9BnR,EAAe3L,GAAG,wBAAyB+c,GAC3CpR,EAAe3L,GAAG,uBAAwBgd,IAE9CrR,EAAe3L,GAAG,SAAU4K,GAC5Be,EAAe3L,GAAG,gBAAiBid,MAExC,CACCtR,EACAoR,EACAnS,EACAqS,IAGJ,IAAMC,GAAqB,IAAAtW,cAAY,SAACJ,GAAD,OAAW,SAACqQ,EAAD,GAAkC,IAAvBhM,EAAuB,EAAvBA,QAASuL,EAAc,EAAdA,SAC3DxF,EAAuC/F,EAAvC+F,UAAWwD,EAA4BvJ,EAA5BuJ,eAAgB/H,EAAYxB,EAAZwB,SAC3BsG,EAAiByD,EAAjBzD,cACHkE,EACArQ,EAAM2W,WAAW,CACbzO,OAAQ,UACRjC,MAAO,CACHC,OAAQkE,EAAUlhB,MAClB6W,MAAOqK,EAAUrK,MACjBmW,SAAS,GAEbpE,cAAc,IAAAC,iBAAgBnE,EAAgB/H,GAC9C8H,iBAAiB,IAAA2E,oBAAmBnG,KAGxCnM,EAAM2W,WAAW,CAACzO,OAAQ,gCAE/B,IAEGqO,GAA0B,IAAAnW,cAAY,SAAAJ,GAAS,IAC1C2O,EAAmB3O,EAAnB2O,gBACDiB,EAAW1B,EAAgBlb,QAC3B+c,EAAsBrB,EAAcC,GAC1CiB,EAASc,mBAAT,OAAgCd,EAASjB,iBAAoBoB,IAC7D,IAAMG,GAAe,cAAe,IAAAC,wBAAuBP,EAASjB,iBAAkBoB,GACtF5B,EAAgB,oBAAqBuI,EAAmB1W,GAAQkQ,KACjE,CAAC/B,IAEEqI,GAAyB,IAAApW,cAAY,SAAAJ,GAAS,IACzC4W,EAAkB5W,EAAlB4W,eACDhH,EAAW1B,EAAgBlb,QACjC4c,EAASe,iBAAT,MAAAf,GAAQ,cAAqB,IAAAK,2BAA0B2G,EAAe7e,MACtEoW,EAAgB,oBAAqBuI,EAAmB1W,MACzD,CAACmO,IAEEsI,GAA0B,IAAArW,cAAY,SAACyW,GAAoB,IACtDtZ,EAAyEsZ,EAAzEtZ,cADsD,EACmBsZ,EAA1DC,UAAAA,OADuC,MAC3B,KAD2B,IACmBD,EAAxCE,WAAAA,OADqB,MACR,KADQ,IACmBF,EAArBG,WAEvDxO,EAAc,CAACsO,UAAAA,EAAWC,WAAAA,EAAYC,gBAHmB,MACW,KADX,GAIzDzZ,MAAAA,GAAAA,EAAe2R,gBAAgBW,UAC/BrH,EAAckG,EAAcnR,EAAc2R,gBAAgBW,QAASrH,IAEvE9D,EAAe8D,YAAcA,EAEzBqO,EAAgBlI,kBAChBjK,EAAeiK,gBAAkBD,EAAcmI,EAAgBlI,kBAInE7J,EAAiBvH,EAAcxF,IAC/B8e,EAAgB/O,SAAS,aAC1B,IAEH,MAAO,CAAC3C,eAAAA,sGCtJZ,wCAEuC,SAAC,GAK9B,IAHFzD,EAGE,EAHFA,cACAoB,EAEE,EAFFA,WAEE,IADFmC,eAAAA,OACE,MADe,KACf,GACN,IAAAlS,YAAU,WACN,IAAM4O,EAAcmB,GAAW,SAACpF,GAAS,MACrC,OAAIA,MAAAA,GAAJ,UAAIA,EAAMuZ,mBAAmBC,sBAA7B,OAAI,EAAyCC,mBAClC,CACH1f,KAAMiK,EAAc0V,MACpB5G,QAAS9S,EAAKuZ,mBAAmBC,eAAeC,mBAChDlS,eAAAA,GAGD,QAEX,OAAO,kBAAMtD,OACd,CAACD,EAAeoB,6KCpBvB,UACA,UACA,+mBAOuC,SAAC,GAgB9B,IAdF1D,EAcE,EAdFA,QACAiF,EAaE,EAbFA,QACAC,EAYE,EAZFA,aACA7C,EAWE,EAXFA,oBACAa,EAUE,EAVFA,aACAnZ,EASE,EATFA,MACAoZ,EAQE,EARFA,SACAgC,EAOE,EAPFA,oBAOE,IANF8S,YAAAA,OAME,MANY,OAMZ,MALFhN,YAAAA,OAKE,MALY,KAKZ,MAJFC,kBAAAA,OAIE,MAJkB,KAIlB,MAHFjB,kBAAAA,OAGE,aAFF3E,eAAAA,OAEE,MAFe,GAEf,MADFuF,qBAAAA,OACE,MADqB,iBAAO,IAC5B,EACCzB,EAAenE,EAAfmE,YACAmG,EAAmBrK,EAAnBqK,gBACAjN,EAAiBY,EAAjBZ,cAHD,GAIoC,IAAA1L,UAAS,MAJ7C,qBAICuH,EAJD,KAIgBuH,EAJhB,KAKAzP,GAAS,IAAAwF,aACTyc,GAA2B,IAAAxkB,QAAOmX,GAClClI,GAAoB,IAAAjP,QAAO,KACjC,IAAAC,YAAU,WACNukB,EAAyBtkB,QAAUiX,IACpC,CAACA,IAEJ,IAAMlN,GAAuB,IAAAqD,cAAY,SAAC1C,GACtCqE,EAAkB/O,QAAlB,OAAgC+O,EAAkB/O,SAAY0K,KAC/D,IAEGb,GAA6B,IAAAuD,cAAY,WAK3C,cAJa,CACT3I,KAAM4f,EACNnI,iBAAiB,IAAAC,8BAA6BzK,MAAAA,GAAAA,EAAgB8D,YAAc9D,EAAe8D,YAAcA,KAEzF8O,EAAyBtkB,aAC9C,CAACwV,EAAa6O,EAAapN,IAExBsN,GAAqB,IAAAnX,cAAY,SAACoX,EAAiBnO,GAAsB,MACrEhJ,EAAW,CACbyB,KAAM,CACFC,kBAAmB,GAAF,+BACT3C,EAAQ,QADC,cACqBoY,IADrB,yBAETpY,EAAQ,QAFC,oBAE2BiK,GAF3B,GAGVtH,EAAkB/O,WAUjC,OANI0R,MAAAA,GAAAA,EAAgB8D,cAChBnI,EAASyB,KAAK0G,YAAc9D,EAAe8D,aAE3C9D,MAAAA,GAAAA,EAAgBiK,kBAChBtO,EAASyB,KAAKwC,aAAe,CAACuL,QAASnL,EAAeiK,kBAEnDtO,IACR,CAACmI,EAAamG,IA0DjB,OAxDA,IAAA5b,YAAU,WACFwK,GAA0C,iBAAlBA,GACxBgF,MAEL,CAAChF,EAAegF,KAEnB,IAAAxP,YAAU,WACN,IAAM0kB,EAA+BhW,GAAmB,6BAAC,+FACjD8C,IAAwBnF,EAAQ,QADiB,yCAE1C,MAF0C,UAIhDvB,EAA4B,KAApB2Z,EAA0B,KAJc,UAM7CruB,EAN6C,sBAOvC,IAAIimB,EAAAA,YAAYjmB,GAPuB,WAS7CkhB,EAT6C,iCAU9BhV,EAAOqiB,iBAAiBrN,EAAYsN,cAAe,CAC9D/Z,eAAgBf,MAXyB,YAU7CgB,EAV6C,QAalC1U,MAbkC,uBAcnC,IAAIimB,EAAAA,YAAYvR,EAAO1U,OAdY,QAgB7CquB,EAAkB3Z,EAAOwM,YAAYzM,eACrC0M,IAjB6C,4BAoBzC/M,EApByC,iBAqBzCia,EAAkBja,EArBuB,yCAwB1BlI,EAAON,oBAAoB8H,KAxBD,aAwBzCgB,EAxByC,QAyB9B1U,MAzB8B,uBA0B/B,IAAIimB,EAAAA,YAAYvR,EAAO1U,OA1BQ,QA4BzCquB,EAAkB3Z,EAAON,cAAcxF,GA5BE,kCA+B1C,IAAA8J,uBAAsBH,EAAe6V,EAAmBC,EAAiBnO,KA/B/B,yCAiCjD7U,QAAQuJ,IAAR,MACA+G,EAAiB,MAlCgC,mBAmC1C,IAAA5C,qBAAoBR,EAAe,KAAEvY,QAnCK,2DAuCzD,OAAO,kBAAMsuB,OACd,CACCla,EACAiL,EACA/G,EACApM,EACAgV,EACA9F,EACA8E,IAEG,CACHvE,iBAAAA,EACAjI,2BAAAA,EACAE,qBAAAA,sJC/HR,UACA,aACA,2BAU8B,SAAC,GAIrB,IAFFqN,EAEE,EAFFA,UACAL,EACE,EADFA,SACE,GACgC,IAAA/T,WAAS,IAAAwK,cAAa,gBADtD,qBACC6J,EADD,KACcuN,EADd,MAGN,IAAA7kB,YAAU,WACN,IAAM8kB,EAAiB,+CAAG,8FAClBxN,EADkB,kEAKH,aAAS,CACxB1T,KAAK,IAAA6G,UAAS,uBACdC,OAAQ,SAPU,QAKlBI,EALkB,QASX4T,KACP1H,EAASlM,EAAO2S,WAEhB,IAAAjQ,cAAa,cAAe1C,EAAO4S,QACnCmH,EAAe/Z,EAAO4S,SAbJ,2CAAH,sDAgBnB,IAAAqH,0BAA2B,IAAAC,6BAAiD,GAAnB3N,EAAUlhB,MAC9DmhB,GACDwN,IAGJD,EAAe,QAEpB,CAACxN,EAAUlhB,QACd,IAAMohB,GAAoB,IAAAlK,cAAY,YAClC,IAAAwB,iBAAgB,iBACjB,CAACwI,EAAUlhB,QACd,MAAO,CAACmhB,YAAAA,EAAaC,kBAAAA,4HC/CzB,2BAE8B,WAAM,OACN,IAAAtU,WAAS,GADH,qBAEhC,MAAO,CAFyB,sKCFpC,UACA,UACA,8mBAEsC,SAAC,GAUlC,IARG+S,EAQH,EARGA,aACAP,EAOH,EAPGA,YACAnG,EAMH,EANGA,kBACAX,EAKH,EALGA,cACA7S,EAIH,EAJGA,KACAwa,EAGH,EAHGA,kBACA7E,EAEH,EAFGA,eAGG/C,EAA6DY,EAA7DZ,oBAAqBqS,EAAwCzR,EAAxCyR,qCACtBkE,GAAc,IAAAllB,QAAO,CAAC0V,YAAAA,IACtBzG,GAAoB,IAAAjP,QAAO,IAC3BuC,GAAS,IAAAwF,aACThG,GAAW,IAAA+F,eAEX2c,GAAqB,IAAAnX,cAAY,SAAC7C,EAAe8L,GAAsB,MAUzE,MATiB,CACbvH,KAAM,CACFC,kBAAmB,GAAF,+BACTlT,EADS,cACU0O,IADV,yBAET1O,EAFS,oBAEgBwa,GAFhB,GAGVtH,EAAkB/O,aAKlC,IAEG+J,GAAuB,IAAAqD,cAAY,SAAC1C,GACtCqE,EAAkB/O,QAAlB,OAAgC+O,EAAkB/O,SAAY0K,KAC/D,IAEG6L,GAAsB,IAAAnJ,cAAA,6BAAY,iGAC7BoI,EAAewP,EAAYhlB,QAA3BwV,YAD6B,SAEvBnT,EAAOkU,oBAAoB,CACpC1U,SAAAA,EACAyG,OAAQ,CACJ2c,oBAAqB,CACjB/I,iBAAiB,IAAAC,8BAA6B3G,OANtB,mFAUrC,CAACnT,EAAQR,IAENqjB,GAAiB,IAAA9X,cAAA,6BAAY,iGACxBoI,EAAewP,EAAYhlB,QAA3BwV,YADwB,SAElBnT,EAAO6iB,eAAe,CAC/BrjB,SAAAA,EACAsjB,cAAe,CACXF,oBAAqB,CACjB/I,iBAAiB,IAAAC,8BAA6B3G,KAGtD4P,SAAU,gBATiB,mFAWhC,CAAC/iB,EAAQR,IAsDZ,OApDA,IAAA9B,YAAU,WACNilB,EAAYhlB,QAAU,CAACwV,YAAAA,OAG3B,IAAAzV,YAAU,WACN,IAAM4O,EAAcF,GAAmB,6BAAC,4GAG5BlE,EAAgB,KAHY,SAIblI,EAAOgjB,sBAAsBtP,GAJhB,UAKI,qBADhClL,EAJ4B,QAKrB4L,cAAcvB,OALO,wBAM5B3K,EAAgBM,EAAO4L,cAAc7L,eANT,SAOtBsa,IAPsB,gDASb3O,IATa,aAS5B1L,EAT4B,QAUjB1U,MAViB,uBAWlB,IAAIimB,EAAAA,YAAYvR,EAAO1U,OAXL,QAa5BoU,EAAgBM,EAAO4L,cAAc7L,eAbT,kCAezB,IAAAiE,uBAAsBH,EAAe6V,EAAmBha,EAAe8L,KAf9C,4DAiBzB,IAAAnH,qBAAoBR,EAApB,KAA0C,CAACuD,eAAgBT,EAAegF,YAjBjD,2DAoBxC,OAAO,kBAAM7H,OACd,CACCF,EACA8H,EACA2O,EACAnP,EACAM,KAGJ,IAAAtW,YAAU,WACN,IAAM4O,EAAcmS,EAAoC,+CAAC,kGAAQE,EAAR,EAAQA,YAAR,UACxC,IAAAC,kBAAiB,CAC1BD,YAAAA,EACAtS,cAAAA,EACA7S,KAAAA,EACA4O,OAAQ,qBACRyW,kBAAmB7K,IAN8B,mFAAD,uDASxD,OAAO,kBAAM1H,OACd,CACCmS,EACAoE,EACA7O,EACAxa,IAGG,CACH0a,oBAAAA,EACAxM,qBAAAA,oECrHR,yVCAA,UACA,UACA,qlBAEA,IAAM2R,GAAgB,+BAEC,SAAC,GASd,IAPFlC,EAOE,EAPFA,MACAnK,EAME,EANFA,kBACAxJ,EAKE,EALFA,QACA0J,EAIE,EAJFA,SACA+V,EAGE,EAHFA,SACA5W,EAEE,EAFFA,cAEE,mGACkB,IAAA1L,aADlB,qBACCuiB,EADD,KACOC,EADP,KAEAnjB,GAAS,IAAAwF,aACThG,GAAW,IAAA+F,eACXod,GAAc,IAAAllB,UACd2lB,GAAW,IAAA3lB,UACV2O,EAAuBY,EAAvBZ,oBAiEP,OAhEA,IAAA1O,YAAU,WACNilB,EAAYhlB,QAAU,CAAC6F,QAAAA,EAAS0J,SAAAA,OAGpC,IAAAxP,YAAU,WACFsC,GAAUR,GACV2jB,EAAQnjB,MAAAA,OAAD,EAACA,EAAQqjB,kBAAkB7jB,MAEvC,CAACQ,EAAQR,KAEZ,IAAA9B,YAAU,WACFwlB,GACAA,EAAKI,OAAO,CAACnM,MAAAA,MAElB,CAAC+L,EAAM/L,KAEV,IAAAzZ,YAAU,WACFwlB,IACAA,EAAK/e,GAAG,YAAY,SAAAwG,GAChByY,EAASzlB,QAAUgN,EACnBgY,EAAYhlB,QAAQuP,cAGxBgW,EAAK/e,GAAG,iBAAiB,SAAAwG,GACrBgY,EAAYhlB,QAAQ6F,gBAG7B,CAAC0f,KAEJ,IAAAxlB,YAAU,WACN,GAAIulB,EAAU,CACV,IAAM3W,EAAcF,GAAmB,6BAAC,6GAC9BpB,EAAW,CAACyB,KAAM,IADY,EAEoB2W,EAASzlB,QAAQ9J,MAFrC,IAE7BylB,gBAAAA,OAF6B,MAEX,KAFW,MAELJ,gBAAAA,OAFK,MAEY,KAFZ,KAIhClO,EAASyB,KAAK0G,YAAckG,EAAc,EAAD,KAAKH,EAAesB,SAApB,IAA6B+I,UAAWrK,EAAe1f,SAEhG8f,IACAtO,EAASyB,KAAKwC,aAAeoK,EAAc,EAAD,KAAKC,EAAgBkB,SAArB,IAA8B+I,UAAWjK,EAAgB9f,SAPnE,kBAWXwG,EAAOkU,oBAAoB,CAC5C1U,SAAAA,EACAyG,OAAQ,CACJ2c,oBAAqB,CACjB/I,iBAAiB,IAAAC,8BAA6B9O,EAASyB,KAAK0G,iBAfxC,OAW1B3K,EAX0B,OAmBhCwC,EAASyB,KAAKC,kBAAoB,CAC9B8W,oBAAqBhb,EAAO4L,cAAc7L,eAC1Ckb,2BAA2B,GArBC,kDAwBhCtkB,QAAQuJ,IAAR,MAxBgC,kCA0B7B,IAAA8D,uBAAsBH,EAAerB,IA1BR,2DA6BxC,OAAO,kBAAMsB,QAElB,CAAC2W,EAAU7W,EAAqBpM,EAAQR,IAEpC0jB,oICrFX,GADA,QACA,SACA,UACA,SACA,UAEMnZ,GAAU,IAAA+C,aAAY,6BAEf4W,EAAgB,SAAC,GAAyB,QAAxBjQ,EAAwB,EAAxBA,SAAa/d,GAAW,6BAC7Cge,EAAeD,MAAAA,GAAH,UAAGA,EAAUE,kBAAb,iBAAG,EAAsBgQ,4BAAzB,aAAG,EAA4CjQ,aACjE,OAAIA,EAEI,gBAAC,EAAAtT,SAAD,CAAUJ,OAAQkH,EAAAA,WAAYtI,QAAS,CAAC8U,aAAAA,IACpC,gBAACkQ,EAAiBluB,IAIvB,wBAGX,IAAMkuB,EAAe,SAAC,GAUZ,IARF5U,EAQE,EARFA,QAEAhC,GAME,EAPFuN,SAOE,EANFvN,mBACAxJ,EAKE,EALFA,QACA0J,EAIE,EAJFA,SACAgC,EAGE,EAHFA,oBACAjC,EAEE,EAFFA,aAGGkG,IADD,qHAC0BnE,EAAzBmE,aACA9G,GADyB2C,EAAZwB,SACoBvD,EAAjCZ,eACA8K,GADiClK,EAAlBkC,eACNgE,EAATgE,OACD8L,EAAW/T,IAAwBnF,EAAQ,QASjD,OARA,IAAA8Z,SAAQ,CACJ1M,MAAAA,EACAnK,kBAAAA,EACAxJ,QAAAA,EACA0J,SAAAA,EACA+V,SAAAA,EACA5W,cAAAA,IAEG,uBAAKgE,MAAO,CAACyT,QAAS,SAAS,gBAAC,EAAA7e,eAAD,SAG1C,IAAAsL,8BAA6B,CACzB/W,KAAMuQ,EAAQ,QACdmE,eAAgB,SAACxY,GACb,OAAO,GAEXsU,QAAS,gBAAC0Z,EAAD,MACTnV,KAAM,gBAACmV,EAAD,MACNjV,SAAU,CACNC,eAAgB3E,EAAQ,kBACxB4E,eAAgB5E,EAAQ,kBACxB6E,SAAU7E,EAAQ,8FCxD1B,UACA,UACA,UACA,UACA,UAEA,UACA,UACA,UACA,qlBAEA,IACIga,EADEha,GAAU,IAAA+C,aAAY,wBAMtBkX,EAAc,SAAC,GAAqC,IAApCpT,EAAoC,EAApCA,MAAOJ,EAA6B,EAA7BA,SAAUiH,EAAmB,EAAnBA,cAC/BwM,GAAY,EACVC,EAAiBna,EAAQ,kBACzBoa,EAAiBpa,EAAQ,kBACzBqa,IAAmBF,EAAe3tB,eAAeia,IAAY0T,EAAe1T,GAIlF,OAHI4T,IACAH,EAAYE,KAAmBC,MAAAA,OAAL,EAAKA,EAAmB,KAAM3M,GAAkB7G,GAAQwT,MAAAA,OAAH,EAAGA,EAAmB,KAAMxT,GAAQwT,MAAAA,OAAH,EAAGA,EAAmB,KAEnIH,GAGLta,EAAqB,SAAC,GAAc,IAAbI,EAAa,EAAbA,QAAa,GACJ,IAAApJ,UAAS,CACvCkQ,OAAQ9G,EAAQ,aAChByG,SAAUzG,EAAQ,YAClBsa,WAAYta,EAAQ,cAAcsa,aAJA,qBAC/BC,EAD+B,KACpBC,EADoB,KAOtC,OArBAR,EAoBoBQ,EAEhB,gBAAC,EAAAnkB,SAAD,CAAUJ,OAAQ6F,EAAAA,WAAYjH,QAASmL,EAAQ,mBAC3C,uBAAKpH,UAAU,oCACX,gBAAC,EAAA2C,+BAAD,CAAgC1G,QAAO,OAChCmL,EAAQ,eACR,CACC8G,OAAQyT,EAAUzT,OAClBL,SAAU8T,EAAU9T,SACpB6T,WAAYC,EAAUD,kBAQxCG,EAAwB,SAAC,GAA+C,IAA9Cxa,EAA8C,EAA9CA,QAASgF,EAAqC,EAArCA,QAASC,EAA4B,EAA5BA,aAAiBvZ,GAAW,qDACpEuU,EAAUD,EACT+K,EAAuB/F,EAAvB+F,UAAWvE,EAAYxB,EAAZwB,SACXiH,EAAiBxI,EAAjBwI,cAYP,OAXA,IAAA/Z,YAAU,WACNqmB,EAAiB,CACblT,OAAQkE,EAAUlhB,MAClB2c,SAAUA,EAAS4L,KACnBiI,WAAY5M,MAEjB,CACC1C,EAAUlhB,MACV2c,EAAS4L,KACT3E,IAGA,gCACKA,GACD,uBAAK9U,UAAU,2CACX,uBAAKA,UAAU,gDACX,uBAAKA,UAAU,sCACX,uBAAK4D,IAAKwD,EAAQ,gBAClB,0BAAI,IAAA+I,UAAQ,IAAAlK,IAAG,8FAA+F,sBAAuBmB,EAAQ,6BAGrJ,gBAACE,EAAD,OAAiBvU,GAAjB,IAAwBsZ,QAAAA,EAASC,aAAAA,QAM3CwV,EAAqB,SAAC,GAAgC,IAA/BC,EAA+B,EAA/BA,KAClBvW,GADiD,EAAzBwF,WAAyB,EAAbgR,QACYD,EAAhDvW,YAA+BsJ,EAAiBiN,EAApCE,kBACgBpU,GAAYrC,EAAxCsC,YAAwCtC,EAA3BC,eACdyC,EAASC,SAAS3C,EAAWsC,aAC7BG,EAAQE,SAAS3C,EAAWsC,aAApB,SAAoC,GAAMtC,EAAW0W,qBACnE,OAAKb,EAAY,CAACpT,MAAAA,EAAOJ,SAAAA,EAAUiH,cAAAA,IAI/B,gBAAC,EAAAqN,cAAD,KACI,gBAAC,EAAA1kB,SAAD,CAAUJ,OAAQ6F,EAAAA,WAAYjH,QAASmL,EAAQ,mBAC3C,uBAAKpH,UAAU,0EACX,gBAAC,EAAA2C,+BAAD,CAAgC1G,QAAO,OAChCmL,EAAQ,eACR,CACC8G,OAAAA,EACAL,SAAAA,EACA6T,WAAY5M,SAXzB,MAoBX1N,OACA,IAAAiE,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAACf,EAAD,CACHI,QAASA,IACbkE,WAAW,IAAArF,IAAG,WAAY,sBAC1B4F,sBAAuBzE,EAAQ,yBAC/BmE,gBAAgB,IAAAA,gBAAenE,GAAS,YAA+C,IAA7Cgb,EAA6C,EAA7CA,SAAU5W,EAAmC,EAAnCA,WAAYyW,EAAuB,EAAvBA,kBACtCpU,EAA8CrC,EAA7DC,cAAyByW,EAAoC1W,EAApC0W,oBAAqBpU,EAAetC,EAAfsC,YACjDsT,GACAA,EAAiB,CACblT,OAAQC,SAAS3C,EAAWsC,aAC5BD,SAAAA,EACA6T,WAAYO,IAGpB,IAAMhU,EAAQE,SAASL,GAAT,SAAyB,GAAMoU,GACvCZ,EAAYD,EAAY,CAACpT,MAAAA,EAAOJ,SAAAA,EAAUiH,cAAemN,IAC/D,OAAKX,IAAcc,EAAS,mBAGrBd,KAEXja,QAAS,gBAACwa,EAAD,CACLxa,QAASgb,EAAAA,0BACTjb,QAASA,EACTkb,mBAAoB,mCACxB1W,KAAM,gBAAC,EAAAF,cAAD,CAAerE,QAASgb,EAAAA,0BAA2Bjb,QAASA,IAClE0E,SAAU,CACNC,gBAAgB,EAChBC,gBAAgB,EAChBC,SAAU7E,EAAQ,gBAW1B,IAAAmb,gBAAe,YAAa,CACxBC,OARW,WACX,OACI,gBAAC,EAAAC,sBAAD,KACI,gBAACX,EAAD,QAMRY,MAAO,sDCxJf,UACA,UACA,UACA,UACA,UAEMtb,GAAU,IAAA+C,aAAY,sBAExB/C,MACA,IAAAiE,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CACHJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,UACnBkE,UAAW,SACXO,sBAAuBzE,EAAQ,yBAC/BmE,gBAAgB,IAAAA,gBAAenE,GAC/BC,QAAS,gBAAC,EAAAqE,cAAD,CACLrE,QAASgb,EAAAA,0BACTC,mBAAoB,uBACpBlb,QAASA,IACbwE,KAAM,gBAAC,EAAAF,cAAD,CACFrE,QAASgb,EAAAA,0BACTjb,QAASA,IACb0E,SAAU,CACNC,gBAAgB,EAChBC,gBAAgB,EAChBC,SAAU7E,EAAQ,6CC5B9B,UACA,UACA,UACA,UAGMA,GAAU,IAAA+C,aAAY,0BAExB/C,MACA,IAAAiE,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CACHJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,UACnBkE,UAAW,aACXO,sBAAuBzE,EAAQ,yBAC/BmE,gBAAgB,IAAAA,gBAAenE,GAC/BC,QAAS,gBAAC,EAAAqE,cAAD,CACLrE,QAASgb,EAAAA,0BACTC,mBAAoB,2BACpBlb,QAASA,IACbwE,KAAM,gBAAC,EAAAF,cAAD,CACFrE,QAASgb,EAAAA,0BACTjb,QAASA,IACb0E,SAAU,CACNC,gBAAgB,EAChBC,gBAAgB,EAChBC,SAAU7E,EAAQ,6CC5B9B,UACA,UACA,UACA,UAEA,UAEMA,GAAU,IAAA+C,aAAY,oBAEtBwY,EAAoB,SAAC5vB,GACvB,OACI,gCACI,gBAAC,EAAA2Y,cAAkB3Y,GACnB,uBAAKiN,UAAW,wCACXyG,wBAAyB,CAACC,OAAQ3T,EAAMqU,QAAQ,gBAK7DA,MACA,IAAAiE,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CACHJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,UACnBkE,UAAW,OACXO,sBAAuBzE,EAAQ,yBAC/BmE,gBAAgB,IAAAA,gBAAenE,GAC/BC,QAAS,gBAACsb,EAAD,CACLtb,QAASgb,EAAAA,0BACTjb,QAASA,EACTkb,mBAAoB,4BACpB7T,UAAW7M,EAAAA,uBACfgK,KAAM,gBAAC,EAAAF,cAAD,CAAerE,QAASgb,EAAAA,0BAA2Bjb,QAASA,IAClE0E,SAAU,CACNC,gBAAgB,EAChBC,gBAAgB,EAChBC,SAAU7E,EAAQ,2GCtC9B,UACA,UACA,UACA,aACA,UACA,UACA,qlBAGA,IAAMA,GAAU,IAAA+C,aAAY,sBA+DxB/C,MACA,IAAAiE,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CACHJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,UACnBkE,UAAW,SACXO,sBAAuBzE,EAAQ,yBAC/BmE,gBAAgB,IAAAA,gBAAenE,GAC/BC,QAAS,gBAAC,EAAAqE,cAAD,CACLrE,QAxEyB,SAAC,GAAkC,IAAjCgD,EAAiC,EAAjCA,kBAAsBtX,GAAW,yCAC1C,IAAAiL,UAAS,IADiC,qBAC7D4kB,EAD6D,KACtDC,EADsD,QAEpC,IAAA7kB,WAAS,GAF2B,qBAE7DsiB,EAF6D,KAEnDwC,EAFmD,KAG7DrZ,EAAuBY,EAAvBZ,oBACDsZ,GAAW,IAAA3a,cAAY,WACzB,MAAO,CACH4a,OAAQ,CACJC,OAAQL,MAGjB,CAACA,IAWJ,OATA,IAAA7nB,YAAU,WACN,IAAM4O,EAAcF,GAAoB,WACpC,QAAKmZ,IACM,IAAA1Y,qBAAoBnX,EAAMuX,aAAaZ,eAAe,IAAAzD,IAAG,sCAAuC,0BAI/G,OAAO,kBAAM0D,OACd,CAACF,EAAqBmZ,IAErB,gCACI,uBAAK5iB,WAAW,aAAW,iCAAkC,CACzD,YAAasgB,GAAYsC,KAEzB,yBACInjB,KAAK,OACLM,GAAG,0BACHU,SAAU,SAAC7L,GAAD,OAAOiuB,EAASjuB,EAAE9B,OAAO5B,QACnCmP,QAAS,kBAAMyiB,GAAY,IAC3B3iB,OAAQ,kBAAM2iB,GAAY,MAC9B,yBAAOxU,QAAQ,4BAA2B,IAAArI,IAAG,cAAe,0BAE/D,IAAAiF,eACD,uBAAKlL,UAAU,iCACX,0BAAI,IAAAiG,IAAG,mBAAoB,uBAC3B,2BACI,qCADJ,IAC6B,+CAE7B,2BACI,sCADJ,IAC8B,sDAGhC,IAAAiF,eACF,uBAAKlL,UAAU,iCACX,0BAAI,IAAAiG,IAAG,mBAAoB,uBAC3B,2BACI,qCADJ,IAEI,6BAAO,IAAAA,IAAG,gCAAiC,wBAE/C,2BACI,sCADJ,IAEI,6BAAO,IAAAA,IAAG,uCAAwC,yBAG1D,gBAAC,EAAAoc,2BAAD,cAA2BU,SAAUA,GAArC,OAAuDhwB,GAAU,CAACsX,kBAAAA,QAiBlEjD,QAASA,EACTkb,mBAAoB,yBACxB1W,KAAM,gBAAC,EAAAF,cAAD,CAAerE,QAASgb,EAAAA,0BAA2Bjb,QAASA,IAClE0E,SAAU,CACNC,gBAAgB,EAChBC,gBAAgB,EAChBC,SAAU7E,EAAQ,6CC1F9B,UACA,UACA,UACA,UACA,UAEMA,GAAU,IAAA+C,aAAY,mBAExB/C,MACA,IAAAiE,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CACHJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,UACnBkE,UAAW,MACXO,sBAAuBzE,EAAQ,yBAC/BmE,gBAAgB,IAAAA,gBAAenE,GAC/BC,QAAS,gBAAC,EAAAqE,cAAD,CACLrE,QAASgb,EAAAA,0BACTC,mBAAoB,oBACpB7T,UAAWpM,EAAAA,eACX+E,QAASA,IACbwE,KAAM,gBAAC,EAAAF,cAAD,CAAerE,QAASgb,EAAAA,0BAA2Bjb,QAASA,IAClE0E,SAAU,CACNC,gBAAgB,EAChBC,gBAAgB,EAChBC,SAAU7E,EAAQ,6CC3B9B,UACA,UACA,UACA,UAEA,UAEMA,GAAU,IAAA+C,aAAY,mBAExB/C,MACA,IAAAiE,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CACHJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,UACnBkE,UAAW,MACXO,sBAAuBzE,EAAQ,yBAC/BmE,gBAAgB,IAAAA,gBAAenE,GAC/BC,QAAS,gBAAC,EAAAqE,cAAD,CACLrE,QAASgb,EAAAA,0BACTjb,QAASA,EACTkb,mBAAoB,sBACpB7T,UAAWxM,EAAAA,iBACf2J,KAAM,gBAAC,EAAAF,cAAD,CAAerE,QAASgb,EAAAA,0BAA2Bjb,QAASA,IAClE0E,SAAU,CACNC,gBAAgB,EAChBC,gBAAgB,EAChBC,SAAU7E,EAAQ,6CC5B9B,UACA,UACA,UACA,UAGMA,GAAU,IAAA+C,aAAY,uBAExB/C,MACA,IAAAiE,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CACHJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,UACnBkE,UAAW,UACXO,sBAAuBzE,EAAQ,yBAC/BmE,gBAAgB,IAAAA,gBAAenE,GAC/BC,QAAS,gBAAC,EAAAqE,cAAD,CACLrE,QAASgb,EAAAA,0BACTC,mBAAoB,wBACpBlb,QAASA,IACbwE,KAAM,gBAAC,EAAAF,cAAD,CAAerE,QAASgb,EAAAA,0BAA2Bjb,QAASA,IAClE0E,SAAU,CACNC,gBAAgB,EAChBC,gBAAgB,EAChBC,SAAU7E,EAAQ,6CC1B9B,UACA,UACA,UACA,UAGMA,GAAU,IAAA+C,aAAY,uBAExB/C,MACA,IAAAiE,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CACHJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,UACnBkE,UAAW,UACXO,sBAAuBzE,EAAQ,yBAC/BmE,gBAAgB,IAAAA,gBAAenE,GAC/BC,QAAS,gBAAC,EAAAqE,cAAD,CACLrE,QAASgb,EAAAA,0BACTjb,QAASA,EACTkb,mBAAoB,0BACxB1W,KAAM,gBAAC,EAAAF,cAAD,CAAerE,QAASgb,EAAAA,0BAA2Bjb,QAASA,IAClE0E,SAAU,CACNC,gBAAgB,EAChBC,gBAAgB,EAChBC,SAAU7E,EAAQ,gFC1B9B,oLACA,oLACA,+VCFA,UACA,UACA,mnBAE2C,SAAC,GAUvC,IARGA,EAQH,EARGA,QACAoJ,EAOH,EAPGA,YACAnG,EAMH,EANGA,kBACAX,EAKH,EALGA,cACA6C,EAIH,EAJGA,oBACA+V,EAGH,EAHGA,mBAGH,IAFGrQ,qBAAAA,OAEH,MAF0B,iBAAO,IAEjC,EACK5U,GAAS,IAAAwF,aACRiZ,EAA4EzR,EAA5EyR,qCAAsCtR,EAAsCH,EAAtCG,mCACvC0Y,GAAqB,IAAApoB,QAAO0V,GAC5B8O,GAA2B,IAAAxkB,QAAOmX,IACxC,IAAAlX,YAAU,WACNmoB,EAAmBloB,QAAUwV,IAC9B,CAACA,KAEJ,IAAAzV,YAAU,WACNukB,EAAyBtkB,QAAUiX,IACpC,CAACA,KAEJ,IAAAlX,YAAU,WACN,IAAMghB,EAAwCD,EAAoC,+CAAC,0GAAQE,EAAR,EAAQA,YACnF5U,EAAQ,UAAYmF,EADuD,+BAGnE4W,EAAQnH,EAAYmH,MAAM,mBAHyC,0BAKvBnZ,KAAKgN,MAAMrV,OAAOyhB,KAAKC,mBAAmBF,EAAM,MAAvFxD,EAL8D,EAK9DA,cAAe2D,EAL+C,EAK/CA,WAAeC,GALgC,wDAMhDlmB,EAAOilB,GAAoB3C,EAAe,CACzD/Z,eAAgB,EAAF,CACVsR,iBAAiB,IAAAC,8BAA6B+L,EAAmBloB,UAC9DskB,EAAyBtkB,QAAQkoB,EAAmBloB,UAE3DsoB,WAAAA,IAX+D,YAM/Dzd,EAN+D,QAaxD1U,MAbwD,uBAczD,IAAIimB,EAAAA,YAAYvR,EAAO1U,OAdkC,QAgBnEwQ,OAAO5J,SAAWyrB,UAAUD,EAAME,oBAhBiC,iEAmBvEjnB,QAAQuJ,IAAR,MAnBuE,mBAoBhE,IAAAmE,qBAAoBR,EAAe,KAAEvY,QApB2B,0DAAD,uDAwBlF,OAAO,kBAAM4qB,OACd,CACC1e,EACAye,EACAtR,oKCxDR,UACA,UAMA,UACA,4BAE+B,SAAC,GAStB,IAPFpD,EAOE,EAPFA,QACAiF,EAME,EANFA,QACAsK,EAKE,EALFA,gBACAlN,EAIE,EAJFA,oBACAC,EAGE,EAHFA,cAGE,IAFFga,cAAAA,OAEE,aADF3qB,QAAAA,OACE,YACsB,IAAAiF,WAAS,GAD/B,qBACCrK,EADD,KACSgwB,EADT,QAEwB,IAAA3lB,WAAS,GAFjC,qBAEC4lB,EAFD,KAEUC,EAFV,KAGAC,GAAgB,IAAAhpB,QAAO,CACzBuR,QAAAA,EACAsK,gBAAAA,IAEEtZ,GAAS,IAAAwF,aACThG,GAAW,IAAA+F,gBACjB,IAAA7H,YAAU,WACN+oB,EAAc9oB,QAAU,CACpBqR,QAAAA,EACAsK,gBAAAA,MAIR,IAAMoN,GAAwB,IAAA3b,cAAY,WAAM,IACrCiE,EAAWyX,EAAc9oB,QAAzBqR,QACA+F,EAAoC/F,EAApC+F,UAAWvE,EAAyBxB,EAAzBwB,SAAU2C,EAAenE,EAAfmE,YACxB/e,GAAO,IAAAuyB,sBAAqB,CAC5BvkB,KAAM2H,EAAQ,eACd8G,OAAQkE,EAAUlhB,MAClBsf,YAAAA,EACA3C,SAAUA,EAAS4L,KACnBwK,UAAW7c,EAAQ,eAKvB,OAHIsc,IACAjyB,EAAOiyB,EAAcjyB,EAAM,CAAC+e,YAAAA,KAEzB/e,IACR,IAEGyyB,GAAiB,IAAA9b,cAAY,SAAC+b,GAChC,MAAO,CACHra,KAAM,CACFC,mBAAmB,EAAF,wBACT3C,EAAQ,QADC,cACqB+c,OAI/C,IAuCH,OArCA,IAAAppB,YAAU,WACN,IAAM4O,EAAcF,GAAmB,6BAAC,8FAChC9V,EADgC,0CAEzB,IAAAkW,uBAAsBH,EAAewa,EAAevwB,EAAOoM,MAFlC,oBAO5BhH,EAP4B,oBASvB6qB,EATuB,sBAUlB,IAAA3d,IAAG,oDAAqD,sBAVtC,uBAYb5I,EAAO+mB,aAAavnB,EAASoT,WAAWlX,GAAUgrB,KAZrC,OAY5Ble,EAZ4B,gDAcbxI,EAAO+mB,aAAaL,KAdP,QAc5Ble,EAd4B,mBAgB5BA,EAAO1U,MAhBqB,uBAiBtB,IAAIimB,EAAAA,YAAYvR,EAAO1U,OAjBD,eAmBhCwyB,EAAU9d,EAAOlS,QAnBe,mBAoBzB,IAAAkW,uBAAsBH,EAAewa,EAAere,EAAOlS,OAAOoM,MApBzC,yCAsBhCvD,QAAQuJ,IAAR,MAtBgC,mBAuBzB,IAAAmE,qBAAoBR,EAAe,KAAIvY,OAAJ,OAvBV,2DA0BxC,OAAO,kBAAMwY,OACd,CACChW,EACA8V,EACApM,EACAqM,EACA3Q,EACA6qB,EACAC,IAEG,CAACA,WAAAA,iIClGZ,UACA,UACA,gCAEmC,SAAC,GAM1B,IAJF/Y,EAIE,EAJFA,WACApB,EAGE,EAHFA,cAGE,IAFF+E,UAAAA,OAEE,MAFU,KAEV,MADF4V,IAAAA,OACE,OADI,IAAApe,IAAG,oDAAqD,sBAC5D,KACwB,IAAAjI,WAAS,GADjC,qBACC4lB,EADD,KACUC,EADV,KAkBN,OAfA,IAAA9oB,YAAU,WACN,IAAM4O,EAAcmB,GAAW,WAC3B,QAAI2D,IAAcmV,KACP,IAAA1Z,qBAAoBR,EAAe2a,MAIlD,OAAO,kBAAM1a,OACd,CACCmB,EACA8Y,EACAC,EACAna,EACA+E,IAEG,CAACmV,QAAAA,EAASC,WAAAA,kCC5BrB,UACA,UACA,UACA,UAEA,UAEMzc,GAAU,IAAA+C,aAAY,qBAExB/C,MACA,IAAAiE,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CACHJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,UACnBkE,UAAW,QACXO,sBAAuBzE,EAAQ,yBAC/BmE,gBAAgB,IAAAA,gBAAenE,GAC/BC,QAAS,gBAAC,EAAAqE,cAAD,CACLrE,QAASgb,EAAAA,0BACTjb,QAASA,EACTkb,mBAAoB,sBACpB7T,UAAWtM,EAAAA,mBACfyJ,KAAM,gBAAC,EAAAF,cAAD,CAAerE,QAASgb,EAAAA,0BAA2Bjb,QAASA,IAClE0E,SAAU,CACNC,gBAAgB,EAChBC,gBAAgB,EAChBC,SAAU7E,EAAQ,+BC5B9B,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,MACA,QACA,QACA,sCChBA,UACA,UACA,UACA,UAEA,UAEMA,GAAU,IAAA+C,aAAY,sBAcxB/C,MACA,IAAAiE,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CACHJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,UACnBkE,UAAW,SACXO,sBAAuBzE,EAAQ,yBAC/BmE,gBAAgB,IAAAA,gBAAenE,GAAS,YAAyC,IAAvCgb,EAAuC,EAAvCA,SAAU5R,EAA6B,EAA7BA,YAAahF,EAAgB,EAAhBA,WACtDuC,EAAWyC,EAAXzC,QACeF,EAAYrC,EAA3BC,cACD8V,EAAiBa,EAAS,kBAChC,MAAO,CAACvU,KAAa0T,GAAkBA,EAAe1T,GAAUtR,SAASwR,MAE7E1G,QAAS,gBAAC,EAAAqE,cAAD,CACLrE,QA5BgB,SAACtU,GACzB,OACI,iCACK,IAAAmY,eACD,uBAAKlL,UAAU,8BACX,8BAAQ,IAAAiG,IAAG,gBAAiB,sBAA5B,KADJ,IACqE,uCAErE,gBAAC,EAAAoc,0BAA8BtvB,KAsB/BqU,QAASA,EACTkb,mBAAoB,yBACxB1W,KAAM,gBAAC,EAAAF,cAAD,CAAerE,QAASgb,EAAAA,0BAA2Bjb,QAASA,IAClE0E,SAAU,CACNC,gBAAgB,EAChBC,gBAAgB,EAChBC,SAAU7E,EAAQ,mOC5C9B,UACA,UACA,UACA,UACA,smBAO8B,SAACgb,GAAD,IAAWW,EAAX,+DAAgC,YAAyC,IAAvCvS,EAAuC,EAAvCA,YAAahF,EAA0B,EAA1BA,WAAezY,GAAW,6CAC5F0Y,EAAiBD,EAAjBC,cACAsC,EAAWyC,EAAXzC,QACDuW,EAAYlC,EAAS,aACrB3iB,EAAO2iB,EAAS,oBAChBtW,EAAWsW,EAAS,YACtB7W,GAAiB,EACrB,GAAI6W,EAAS,WACT7W,GAAiB,MACd,CAEH,IAAI,IAAAwU,8BAA+BjU,EAASvP,SAAS,iBACjD,OAAO,EACJ,IAAI,IAAAujB,0BAA2BhU,EAASvP,SAAS,cACpD,OAAO,EAEP6lB,EAAS,cAAc7lB,SAASkP,KAE5BF,EADS,eAAT9L,GACkB2iB,EAAS,mBAAmB7lB,SAASwR,GACvC,aAATtO,EACU2iB,EAAS,qBAAqB7lB,SAASwR,KAEvCuW,EAAUr0B,OAAS,IAAIq0B,EAAU/nB,SAASwR,IAG/DgV,GAAYxX,IACZA,EAAiBwX,EAAS,EAAD,CAAEX,SAAAA,EAAU5R,YAAAA,EAAahF,WAAAA,GAAezY,KAGzE,OAAOwY,gCAG8B,SAAC,GAAwB,IAAvBnE,EAAuB,EAAvBA,QAAYrU,GAAW,4BAC9D,OACI,gBAAC,EAAA0K,SAAD,CAAUJ,OAAQkH,EAAAA,WAAYtI,QAASmL,EAAQ,mBAC3C,gBAACmd,EAAD,OAAkCxxB,GAAlC,IAAyCqU,QAAAA,mCAKZ,SAACrU,GACtC,OACI,gBAAC,EAAA0K,SAAD,CAAUJ,OAAQkH,EAAAA,YACd,gBAACigB,EAA6BzxB,KAK1C,IAAMyxB,EAA2B,SAAC,GASxB,IAPFpd,EAOE,EAPFA,QACAiF,EAME,EANFA,QACAC,EAKE,EALFA,aACAhC,EAIE,EAJFA,aACAD,EAGE,EAHFA,kBAGE,IAFFqZ,cAAAA,OAEE,aADF3qB,QAAAA,OACE,SACC4d,EAAmBrK,EAAnBqK,gBACAlN,EAA2DY,EAA3DZ,oBACAC,GAD2DW,EAAtCG,mCACYF,EAAjCZ,eAIAma,GAJiCvZ,EAAlBkC,gBAID,IAAAiY,iBAAgB,CACjCrd,QAAAA,EACAiF,QAAAA,EACAsK,gBAAAA,EACAlN,oBAAAA,EACAC,cAAAA,EACAga,cAAAA,EACA3qB,QAAAA,IAPG8qB,YAUP,OAAI9qB,EAEI,gBAAC2rB,EAAD,CACI7tB,KAAMuQ,EAAQ,QACdnL,QAASmL,EAAQ,yBACjB3G,SAlBK,SAACuH,GACd6b,EAAW7b,EAAM8H,WAkBT/W,QAASA,IAGd,MAGLwrB,EAA2B,SAAC,GAUxB,IARFnd,EAQE,EARFA,QACAiF,EAOE,EAPFA,QACA/B,EAME,EANFA,aACAD,EAKE,EALFA,kBACAkC,EAIE,EAJFA,oBAIE,IAHF+V,mBAAAA,OAGE,MAHmB,KAGnB,MAFF7T,UAAAA,OAEE,MAFU,KAEV,MADFsU,SAAAA,OACE,MADS,KACT,EACAlmB,GAAW,IAAA+F,eACV4N,EAAenE,EAAfmE,YACA/G,EAA2DY,EAA3DZ,oBAAqBe,EAAsCH,EAAtCG,mCACrBd,EAAiCY,EAAjCZ,cAAe8C,EAAkBlC,EAAlBkC,eAChByF,GAAuB,IAAA7J,cAAY,SAACoI,GACtC,OAAI/B,GACA,gBACKrH,EAAQ,eAAiBvK,EAASoT,WAAWxB,IAE3CsU,EACAA,EAASvS,GAEb,KACR,CACC3T,EACAkmB,IAEGc,GAAc,IAAAc,qBAAoB,CACjC7Z,WAAYrB,EACZC,cAAAA,EACA+E,UAAAA,IAHDoV,WAqBP,OAdA,IAAAe,6BAA4B,CACxBxd,QAAAA,EACAoJ,YAAAA,EACAnG,kBAAAA,EACAX,cAAAA,EACA6C,oBAAAA,EACA+V,mBAAAA,EACArQ,qBAAAA,KAEJ,IAAApH,yBAAwB,CACpBnB,cAAAA,EACAoB,WAAYN,EACZyC,eAAgBT,EAAeqY,UAE/BpW,EAGI,gBAACiW,EAAD,CACI7tB,KAAMuQ,EAAQ,QACdnL,QAASmL,EAAQ,yBACjB3G,SALS,SAACuH,GAAD,OAAW6b,GAAY7b,EAAM4G,QAMtC7V,QAAS0V,EACTsU,SAAUA,IAGf,MAGL2B,EAA+B,SAAC,GAAiD,IAAhD7tB,EAAgD,EAAhDA,KAAM4J,EAA0C,EAA1CA,SAAU1H,EAAgC,EAAhCA,QAASkD,EAAuB,EAAvBA,QAAYlJ,GAAW,wDAC7Ewf,EAAMxZ,EACZ,OACI,uBAAKiH,UAAS,4CAAuCnJ,EAAvC,YAA+C0b,EAAI/U,cAC7D,gBAAC+U,GAAD,cAAKtW,QAASA,EAASwE,SAAUA,GAAc1N,oCCpK3D,UACA,UACA,UACA,UAGMqU,GAAU,IAAA+C,aAAY,0BAExB/C,MACA,IAAAiE,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CACHJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,UACnBkE,UAAW,aACXO,sBAAuBzE,EAAQ,yBAC/BmE,gBAAgB,IAAAA,gBAAenE,GAC/BC,QAAS,gBAAC,EAAAqE,cAAD,CAAerE,QAASyd,EAAAA,0BAA2B1d,QAASA,IACrEwE,KAAM,gBAAC,EAAAF,cAAD,CAAerE,QAASyd,EAAAA,0BAA2B1d,QAASA,IAClE0E,SAAU,CACNC,gBAAgB,EAChBC,gBAAgB,EAChBC,SAAU7E,EAAQ,6CCvB9B,UACA,UACA,UACA,UAIMA,GAFN,SAEgB,IAAA+C,aAAY,qBAExB/C,MACA,IAAAiE,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CACHJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,UACnBkE,UAAW,OACXO,sBAAuBzE,EAAQ,yBAC/BmE,gBAAgB,IAAAA,gBAAenE,GAC/BC,QAAS,gBAAC,EAAAqE,cAAD,CACLrE,QAASgb,EAAAA,0BACTjb,QAASA,EACTkb,mBAAoB,uBACxB1W,KAAM,gBAAC,EAAAF,cAAD,CAAerE,QAASgb,EAAAA,0BAA2Bjb,QAASA,IAClE0E,SAAU,CACNC,gBAAgB,EAChBC,gBAAgB,EAChBC,SAAU7E,EAAQ,6CC3B9B,UACA,UACA,UACA,UAEA,UAEMA,GAAU,IAAA+C,aAAY,mBAExB/C,MACA,IAAAiE,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CACHJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,UACnBkE,UAAW,MACXO,sBAAuBzE,EAAQ,yBAC/BmE,gBAAgB,IAAAA,gBAAenE,GAC/BC,QAAS,gBAAC,EAAAqE,cAAD,CACLrE,QAASgb,EAAAA,0BACTjb,QAASA,EACTkb,mBAAoB,oBACpB7T,UAAWrM,EAAAA,iBACfwJ,KAAM,gBAAC,EAAAF,cAAD,CAAerE,QAASgb,EAAAA,0BAA2Bjb,QAASA,IAClE0E,SAAU,CACNC,gBAAgB,EAChBC,gBAAgB,EAChBC,SAAU7E,EAAQ,mCCpBFsE,YAR5B,UACA,UACA,UACA,UACA,UAEMtE,GAAU,IAAA+C,aAAY,oBAYtB4a,GAVsBrZ,EAUiBA,EAAAA,cAVC,SAAC3Y,GAC3C,OACI,gCACI,gBAAC2Y,EAAkB3Y,GACnB,uBAAKiN,UAAW,wCACXyG,wBAAyB,CAACC,OAAQ3T,EAAMqU,QAAQ,iBAO7DA,MACA,IAAAiE,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CACHJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,UACnBkE,UAAW,OACXO,sBAAuBzE,EAAQ,yBAC/BmE,gBAAgB,IAAAA,gBAAenE,GAC/BC,QAAS,gBAAC0d,EAAD,CACL1d,QAASgb,EAAAA,0BACTjb,QAASA,EACTkb,mBAAoB,0BACpB7T,UAAWvM,EAAAA,cACf0J,KAAM,gBAAC,EAAAF,cAAD,CAAerE,QAASgb,EAAAA,0BAA2Bjb,QAASA,IAClE0E,SAAU,CACNC,gBAAgB,EAChBC,gBAAgB,EAChBC,SAAU7E,EAAQ,6CCvC9B,UACA,UACA,UACA,UAEMA,GAAU,IAAA+C,aAAY,sBAMxB/C,MACA,IAAAiE,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CACHJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,UACnBkE,UAAW,SACXO,sBAAuBzE,EAAQ,yBAC/BmE,gBAAgB,IAAAA,gBAAenE,GAC/BC,QAAS,gBAAC,EAAAqE,cAAD,CACLrE,QAASgb,EAAAA,0BACTC,mBAAoB,uBACpBlb,QAASA,EACT2b,SAlBgB,SAACvS,GACzB,MAAO,CAACwU,OAAQ,CAACjX,QAASyC,EAAYzC,aAkBlCnC,KAAM,gBAAC,EAAAF,cAAD,CAAerE,QAASgb,EAAAA,0BAA2Bjb,QAASA,IAClE0E,SAAU,CACNC,gBAAgB,EAChBC,gBAAgB,EAChBC,SAAU7E,EAAQ,2GC9B9B,UACA,UACA,UAaA,UACA,UACA,UACA,UACA,UAGA,UAEMA,GAAU,IAAA+C,aAAY,sBAEtB8a,EAAkB,SAAClyB,GACrB,OACI,gBAAC,EAAA0K,SAAD,CAAUJ,OAAQkH,EAAAA,YACd,gBAAC2gB,EAAwBnyB,KAK/BmyB,EAAsB,SAAC,GAQnB,IANF9d,EAME,EANFA,QACAiF,EAKE,EALFA,QAEA/B,GAGE,EAJFgC,aAIE,EAHFhC,cACAD,EAEE,EAFFA,kBACAvD,EACE,EADFA,WAEEqe,EAAOhX,SAAS/G,EAAQ,WACvBsC,EAAiBY,EAAjBZ,cACAD,EAA6DY,EAA7DZ,oBAAqBqS,EAAwCzR,EAAxCyR,qCACrBrR,EAAwB3D,EAAxB2D,qBAJD,GAKwB,IAAAka,qBAAoB,CAC9C7Z,WAAYT,EAAkBZ,oBAC9BC,cAAeY,EAAaZ,cAC5B2a,KAAK,IAAApe,IAAG,qDAAsD,wBAHlD4d,GALV,EAKCD,QALD,EAKUC,YALV,EAW2CY,EAAgB,CAC7Drd,QAAAA,EACAiF,QAAAA,EACA3C,cAAAA,EACAoB,WAAYrB,IAJT9V,EAXD,EAWCA,OAAQxC,EAXT,EAWSA,MAAOi0B,EAXhB,EAWgBA,wBA8BtB,OAlBA,IAAArqB,YAAU,WACN,IAAM4O,EAAcmS,GAAqC,WAErD,OADAsJ,KACO,IAAAvb,uBAAsBH,MAEjC,OAAO,kBAAMC,OACd,CACChW,EACAmoB,EACAsJ,KAGJ,IAAArqB,YAAU,WACFpH,GACAkwB,GAAW,KAEhB,CAAClwB,IAEAA,EAEI,gBAAC0xB,EAAD,CAAiB1e,KAAMhT,EAAO2xB,OAAOC,YAAa1Y,MAAOsY,EAAMK,OAAQL,IAEpEh0B,EAEH,uBAAK6O,UAAU,2BACX,gBAACyK,EAAD,CAAsBW,cAAc,IAAA7B,iBAAgBpY,OAKvD,IAAAqlB,gBAAenK,EAAQmE,aAIzB,MAHQ,IAAAvK,IAAG,mFAAoF,uBAMpGof,EAAkB,SAAC,GAQf,IANF1e,EAME,EANFA,KAME,IALFkG,MAAAA,OAKE,MALM,IAKN,MAJF2Y,OAAAA,OAIE,MAJO,IAIP,MAHFC,UAAAA,OAGE,MAHU,UAGV,MAFFC,WAAAA,OAEE,MAFW,UAEX,MADFC,aAAAA,OACE,MADaC,OAAOC,aAAaC,EACjC,EACAte,GAAK,IAAA1M,UAWX,OAVA,IAAAC,YAAU,WACN,IAAI6qB,OAAOpe,EAAGxM,QAAS,CACnB2L,KAAAA,EACAkG,MAAAA,EACA2Y,OAAAA,EACAC,UAAAA,EACAC,WAAAA,EACAC,aAAAA,MAEL,CAACne,IAEA,gCACI,uBAAKzH,GAAG,yBAAyBlF,IAAK2M,KACrC,IAAA0D,eAAgB,0BACZ,IAAAjF,IAAG,sDAAuD,yBAE7D,IAAAiF,eAAgB,0BACb,IAAAjF,IAAG,qFAAsF,yBAMpGwe,EAAkB,SAAC,GAMf,IAJFrd,EAIE,EAJFA,QACAiF,EAGE,EAHFA,QACA3C,EAEE,EAFFA,cACAoB,EACE,EADFA,WAEEzN,GAAS,IAAAwF,aADT,GAEoB,IAAA4J,kBAFpB,qBAECtb,EAFD,KAEQ4gB,EAFR,QAGsB,IAAA/T,WAAS,IAAAwK,cAAa,kBAH5C,qBAGC7U,EAHD,KAGSgwB,EAHT,KAIAoC,GAAwB,IAAAjrB,QAAO,MAC9BsX,EAAoC/F,EAApC+F,UAAW5B,EAAyBnE,EAAzBmE,YAAa3C,EAAYxB,EAAZwB,UAE/B,IAAA9S,YAAU,WACN,IAAM4O,EAAcmB,GAAW,WAC3B,OAAO,IAAAjB,uBAAsBH,EAAe,CACxCI,KAAM,CACFC,mBAAmB,EAAF,wBACT3C,EAAQ,QADC,cACqBzT,EAAOoM,UAKzD,OAAO,kBAAM4J,OACd,CAAChW,EAAQmX,IAEZ,IAAMsZ,GAAe,IAAAhc,cAAA,6BAAY,sGAGpBjX,KAAS,IAAAqlB,gBAAehG,GAHJ,gCAIFnT,EAAO+mB,cAAa,IAAAJ,sBAAqB,CACxDvkB,KAAM2H,EAAQ,eACd8G,OAAQkE,EAAUlhB,MAClBsf,YAAAA,EACA3C,SAAUA,EAAS4L,KACnBwK,UAAW7c,EAAQ,gBATF,YAIjBvB,EAJiB,QAWV1U,MAXU,sBAYX,IAAIimB,EAAAA,YAAYvR,EAAO1U,OAZZ,OAcrBwyB,EAAU9d,EAAOlS,SACjB,IAAA4U,cAAa,gBAAiB1C,EAAOlS,QAfhB,yDAkBzB6I,QAAQuJ,IAAI,UAAZ,MACAgM,EAAS,KAAI5gB,OAnBY,0DAqB9B,CACCkM,EACA1J,EACAye,EAAUlhB,MACVsf,EACA3C,EACA1c,IAEEi0B,GAA0B,IAAAhd,cAAY,YACxC,IAAAwB,iBAAgB,mBACjB,IAcH,OAZA,IAAA7O,YAAU,WACFsC,IAAW1J,IAEXqyB,aAAaD,EAAsB/qB,SACnC+qB,EAAsB/qB,QAAUirB,WAAW7B,EAAc,QAE9D,CACC/mB,EACA1J,EACAywB,IAGG,CAACzwB,OAAAA,EAAQgwB,UAAAA,EAAWxyB,MAAAA,EAAOi0B,wBAAAA,IAIlChe,MACA,IAAAiE,uBAAsB,CAClBxU,KAAMuQ,EAAQ,QACdW,MAAO,gBAAC,EAAAf,mBAAD,CACHJ,MAAOQ,EAAQ,SACf7B,cAAe6B,EAAQ,QACvBP,MAAOO,EAAQ,UACnBkE,UAAW,SACXC,gBAAgB,IAAAA,gBAAenE,GAC/BC,QAAS,gBAAC,EAAAqE,cAAD,CAAerE,QAAS4d,EAAiB7d,QAASA,IAC3DwE,KAAM,gBAAC,EAAAF,cAAD,CAAerE,QAAS4d,EAAiB7d,QAASA,IACxD0E,SAAU,CACNC,gBAAgB,EAChBC,gBAAgB,EAChBC,SAAU7E,EAAQ,+BChO9B,QAEA,0ECFA,UACA,UACA,UACA,UACA,UASMA,GAAU,IAAA+C,aAAY,+BAEtB+b,EAAwB,SAACnzB,GAC3B,OACI,uBAAKiN,UAAU,uCACX,gBAAC,EAAAvC,SAAD,CAAUJ,OAAQkH,EAAAA,YACd,gBAAC4hB,EAAyBpzB,MAMpCozB,EAAuB,SAAC,GAYpB,IAVF/e,EAUE,EAVFA,QACAvG,EASE,EATFA,QACAuL,EAQE,EARFA,QACAC,EAOE,EAPFA,QACAC,EAME,EANFA,aACAjC,EAKE,EALFA,kBACAC,EAIE,EAJFA,aACAC,EAGE,EAHFA,SACAgC,EAEE,EAFFA,oBAGG9C,IADD,6IACwBY,EAAvBZ,qBACAC,EAAiCY,EAAjCZ,cAAe8C,EAAkBlC,EAAlBkC,eAChBnP,GAAS,IAAAwF,aAHT,GAIU,IAAA4J,kBAATtb,GAJD,qBAMAub,GAAiB,IAAAC,sBACvB,IAAAC,2BAA0B,CAAChH,eAAgBwB,EAAQ,QAASyF,MAAO,MAP7D,IAQCC,GAAoB,IAAAC,yBAAwB,CAC/C3F,QAAAA,EACAiF,QAAAA,EACAC,aAAAA,EACA7C,oBAAAA,EACAa,aAAAA,EACAnZ,MAAAA,EACAoZ,SAAAA,EACAgC,oBAAAA,EACAG,eAAAA,IATGI,kBAWP,IAAAE,2BAA0B,CACtB5F,QAAAA,EACAiD,kBAAAA,EACAX,cAAAA,EACA6C,oBAAAA,EACAU,eAAgBT,EAAeU,mBAxB7B,IA0BCC,GAAkB,IAAAC,mBAAkB,CACvChG,QAAAA,EACAgF,QAAAA,EACA/O,OAAAA,EACAgP,QAAAA,EACAC,aAAAA,EACAjC,kBAAAA,EACAyC,iBAAAA,EACAJ,eAAAA,EACAW,OA9BW,SAACxH,GAAD,OAAsB,MAAVA,IAAmBA,EAAOyH,YAqB9CH,eAYDlR,GAAU,IAAA6B,UAAQ,WACpB,MAAO,CACHqP,eAAAA,EACAO,MAAO,CACH0Y,qBAAsBhf,EAAQ,4BAGvC,CAAC+F,IAEJ,OAAIA,EAEI,gBAAC,EAAA5K,4BAAD,CAA6BtG,QAASA,EAAS4E,QAASA,IAGzD,MAGLwlB,EAAqB,SAAC,GAAwB,EAAvBjf,SAAuB,gCAC1Ckf,GAAS,IAAAxrB,UAYf,OAXA,IAAAC,YAAU,WACN,IAAMwrB,EAAQ5kB,OAAO6kB,iBACrBF,EAAOtrB,QAAQ6R,MAAQ,GAAK0Z,EAC5BD,EAAOtrB,QAAQwqB,OAAS,GAAKe,EAC7B,IAAItoB,EAAMqoB,EAAOtrB,QAAQyrB,WAAW,MACpCxoB,EAAIsoB,MAAMA,EAAOA,GACjBtoB,EAAIyoB,YACJzoB,EAAI0oB,IAAI,GAAI,GAAI,GAAI,EAAG,EAAIC,KAAKC,IAChC5oB,EAAI6oB,UAAY,UAChB7oB,EAAI8oB,UAGJ,uBAAK/mB,UAAU,gCACX,uBAAKA,UAAW,kBACZ,uCACA,0BAAQA,UAAU,4BAA4BnF,IAAKyrB,IACnD,qBAAGtmB,UAAW,8BAM9B,IAAA4N,8BAA6B,CACzB/W,KAAMuQ,EAAQ,QACdmE,eAAgB,YAAkB,IAAhBC,EAAgB,EAAhBA,WACd,GAAIpE,EAAQ,WACR,OAAO,EAFmB,IAIRyG,EAAyBrC,EAAxCC,cAAyBqC,EAAetC,EAAfsC,YAChC,OAAO,IAAAvC,gBAAe,CAClBwC,QAAS3G,EAAQ,eACjByG,SAAUA,EAASG,cACnBC,MAAO,CACHlG,MAAOX,EAAQ,cACf8G,OAAQC,SAASL,MAEtB,SAACjI,GAAD,OAAsB,MAAVA,IAAmBA,EAAOyH,aAE7CjG,QAAS,gBAAC6e,EAAD,CAAuB9e,QAASA,IACzCwE,KAAM,gBAACya,EAAD,CAAoBjf,QAASA,IACnC0E,SAAU,CACNC,eAAgB3E,EAAQ,kBACxB4E,eAAgB5E,EAAQ,kBACxB6E,SAAU7E,EAAQ,6ICzI1B,UACA,oBAE2B,SAAC,GAMlB,IAJFiD,EAIE,EAJFA,kBACAC,EAGE,EAHFA,aACAlD,EAEE,EAFFA,QAEE,IADF3B,OAAAA,OACE,MADO,mBACP,EACCqW,EAAwCzR,EAAxCyR,qCACApS,EAAiBY,EAAjBZ,cACDsd,GAAsB,IAAA5e,aAAA,+CAAY,kGAAQ4T,EAAR,EAAQA,YAAR,UACvB,IAAAC,kBAAiB,CAACD,YAAAA,EAAa5U,QAAAA,EAASsC,cAAAA,EAAejE,OAAAA,IADhC,mFAAZ,sDAEzB,IAMH,OAJA,IAAA1K,YAAU,WACN,IAAM4O,EAAcmS,EAAqCkL,GACzD,OAAO,kBAAMrd,OACd,CAACmS,EAAsCkL,IACnC,6/BCpBX,UACA,UACA,aACA,gmDAEuC,IAAA1N,YAAW,qBAA3CrG,EAAAA,EAAAA,eAAgBgU,EAAAA,EAAAA,aACjBC,GAAW,IAAA5N,YAAW,uBACtB6N,GAAgB,IAAA7N,YAAW,gBAAiB,IAE5C8N,EAAwB,kBAExBC,GAAS,IAAA/N,YAAW,qBAAqB+N,OAEzCC,EAAkB,GAElBC,EAAsB,GAItBC,EAAmC,CACrC5G,UAAW,SAAC/I,EAAShhB,GAGjB,OAFAghB,EAAQwD,WAAaxkB,EAAKykB,MAAM,KAAK1kB,MAAM,GAAI,GAAG2kB,KAAK,KACvD1D,EAAQ2D,UAAY3kB,EAAKykB,MAAM,KAAKG,MAC7B5D,GAEXiH,UAAW,SAACjH,EAAShhB,GAGjB,OAFAghB,EAAQwD,WAAaxkB,EAAKykB,MAAM,KAAK1kB,MAAM,GAAI,GAAG2kB,KAAK,KACvD1D,EAAQ2D,UAAY3kB,EAAKykB,MAAM,KAAKG,MAC7B5D,GAEX9J,QAAS,UACT0Z,YAAa,SAAC5P,EAAS3mB,GAOnB,OANIA,EAAM,KACN2mB,EAAQ6P,UAAYx2B,EAAM,IAE1BA,EAAM,KACN2mB,EAAQ8P,UAAYz2B,EAAM,IAEvB2mB,GAEX+P,MAAO,YACPC,MAAO,YACPC,KAAM,OACNC,OAAQ,QACRpV,MAAO,QACPpC,WAAY,WACZyX,YAAa,WACbjJ,WAAY,QACZC,WAAY,SAGH9b,EAAa,IAAI7R,SAAQ,SAACV,EAASC,IAC5C,IAAA2T,YAAW0O,EAAgBgU,GAAc31B,MAAK,SAAA+L,GAC1C1M,EAAQ0M,MACTyI,OAAM,SAAAlU,GACLjB,EAAQ,CAACQ,MAAOS,kDAIc,SAAC,GAAmB,IAAlBmO,EAAkB,EAAlBA,GAAOhN,GAAW,uBACtDu0B,EAAgBvnB,GAAMhN,uBAGO,SAACgN,GAC9B,OAAOunB,EAAgB1zB,eAAemM,GAAMunB,EAAgBvnB,GAAM,IAG/D,IAAMyF,EAAW,SAACyiB,GACrB,OAAOZ,MAAAA,GAAAA,EAASY,GAASZ,EAAOY,GAASzrB,QAAQuJ,IAAR,UAAekiB,EAAf,wCAGtC,IAAMpe,EAAwB,SAACH,GAA6B,IAAdhE,EAAc,uDAAP,GACxD,UAAQjG,KAAMiK,EAAcwe,SAAYxiB,8BASrC,IAAMwE,EAAsB,SAACR,EAAevY,GAAwB,IAAjB8K,EAAiB,uDAAP,GAChE,UAAQwD,KAAMiK,EAAc0V,MAAO5G,QAASjP,EAAgBpY,IAAW8K,4BAOpE,IAAMsN,EAAkB,SAACpY,GAC5B,MAAoB,iBAATA,EACAA,EAEPA,MAAAA,GAAAA,EAAOsoB,MAAPtoB,MAAe+1B,GAAAA,EAAW/1B,EAAMsoB,MACzByN,EAAS/1B,EAAMsoB,MAEtBtoB,MAAAA,GAAAA,EAAOkmB,WACA6P,MAAAA,GAAAA,EAAW/1B,EAAMkmB,YAAc6P,EAAS/1B,EAAMkmB,YAAclmB,EAAMg3B,cAEtEh3B,EAAMqnB,6BAOV,IAAMrB,EAA+B,SAACZ,GACzC,IAAIW,EAAkB,CAClBrgB,KAAM,GAAF,OAAK0f,EAAe8E,WAApB,YAAkC9E,EAAeiF,WACrD3D,QAAS,CACLiQ,KAAMvR,EAAeuR,MAAQ,KAC7B/Z,QAASwI,EAAexI,SAAW,KACnC6Z,MAAOrR,EAAemR,WAAa,KACnCG,MAAOtR,EAAeoR,WAAa,KACnCK,YAAazR,EAAe9F,UAAY,KACxCkC,MAAO4D,EAAe5D,OAAS,OASvC,OANI4D,MAAAA,GAAAA,EAAgBhB,QAChB2B,EAAgB3B,MAAQgB,EAAehB,OAEvCgB,MAAAA,GAAAA,EAAgB/B,QAChB0C,EAAgB1C,MAAQ+B,EAAe/B,OAEpC0C,kDAGgB,SAACrgB,GAAD,OAAU,SAAC9F,GAClC,OAAIA,GACO,IAAAuoB,YAAWziB,GAAM9F,IAErB,IAAAuoB,YAAWziB,SAGTugB,EAAAA,SAAAA,kdACT,WAAYjmB,GAAO,mCACf,cAAMA,EAAMqnB,UACPrnB,MAAQA,EAFE,WADVimB,eAAoBlf,wBAY1B,IAAMqc,EAAU,SAACrjB,GACpB,MAAqB,iBAAVA,EACgB,GAAhBA,EAAMjB,QAAwB,IAATiB,EAE5Bd,MAAMC,QAAQa,GACS,GAAhBoH,MAAMrI,OAEI,YAAjB,aAAOiB,IAC6B,GAA7BkC,OAAO0C,KAAK5E,GAAOjB,4CAQG,SAACiB,EAAOgpB,GACzC,OAAOhpB,EAAQ,KAAH,IAAG,GAAMgpB,qBAQK,SAACrC,GAE3B,IAFqD,IAAjBuQ,EAAiB,uDAAP,GACxC1W,EAAS2W,EAAgBxQ,EAAQ9J,SACvC,MAA2B3a,OAAOk1B,QAAQzQ,GAA1C,eAAoD,6BAAxC9mB,EAAwC,KAAnCG,EAAmC,KAChD,IAAKk3B,EAAQ7rB,SAASxL,IAAlB,MAA0B2gB,GAAAA,EAAS3gB,IAAQ2gB,EAAO3gB,GAAKw3B,UACnDhU,EAAQrjB,GACR,OAAO,EAInB,OAAO,GAGJ,IAAMm3B,EAAkB,SAACta,GAC5B,IAAIya,EAAe,EAAH,GAAOrB,EAAcsB,SAarC,OAZI1a,GAAAA,MAAWoZ,GAAAA,EAAgBpZ,KAC3Bya,EAAep1B,OAAOk1B,QAAQnB,EAAcpZ,IAAU3R,QAAO,SAACssB,EAAD,GAA0B,yBAAhB33B,EAAgB,KAAXG,EAAW,KAEnF,OADAw3B,EAAO33B,GAAP,OAAkB23B,EAAO33B,IAASG,GAC3Bw3B,IACRF,GACH,CAAC,QAAS,SAAStuB,SAAQ,SAAAnJ,GACvB,IAAImI,EAAOwK,SAASmZ,eAAe9rB,GAC/BmI,IACAsvB,EAAaz3B,GAAO,CAACw3B,SAAUrvB,EAAKqvB,eAIzCC,yCASoB,SAACG,GAA2B,IAApB5a,EAAoB,wDACjD2D,EAAS2W,EAAgBta,GAC/B,MAAO,CAAC4a,KAAUjX,GAAUA,EAAOiX,GAAOJ,sCAGL,SAACxoB,GACtC,IAAM8F,EAAS9F,EAAGojB,MAAMiE,GACxB,GAAIvhB,EAAQ,KACE+iB,EAAuB/iB,EAA1B,GACP,MAAO,CAD0BA,EAAX,GACR+iB,GAElB,MAAO,uBAGqB,SAACzU,GAC7B,OAAOA,EAAc3N,KAAI,SAAAoU,GACrB,OAAOA,EAAKD,eAAe1qB,OAAS,KACrC6J,OAAO+uB,SAAS54B,OAAS,oBAQF,SAAC64B,GAC3B,OAAOA,EAAa,GAGxB,IAYa7M,EAAgB,+CAAG,4HAExBD,EAFwB,EAExBA,YACAtS,EAHwB,EAGxBA,cACA7S,EAJwB,EAIxBA,KAJwB,IAKxB4O,OAAAA,OALwB,MAKf,mBALe,MAMxByW,kBAAAA,OANwB,oBASpBiH,EAAQnH,EAAYmH,MAAM,mBATN,0BAWuBnZ,KAAKgN,MAAMrV,OAAOyhB,KAAKC,mBAAmBF,EAAM,MAAtFxD,EAXe,EAWfA,cAAeoJ,EAXA,EAWAA,SAAUC,EAXV,EAWUA,UAXV,SAYC9lB,EAZD,cAYd7F,EAZc,iBAaDA,EAAOoI,GAAQka,GAbd,aAahB9Z,EAbgB,QAcT1U,MAdS,0CAeT+Y,EAAoBR,EAAe7D,EAAO1U,QAfjC,eAkBhBuU,GAlBgB,cAkBRqjB,SAAAA,EAAUC,UAAAA,GAlBF,UAkBiBnyB,EAlBjB,oBAkB0CqlB,GAlB1C,WAmBC,aAAS,CAC1Bvd,IAAK6G,EAAS,mBACdC,OAAQ,OACRC,KAAAA,IAtBgB,aAmBhB2C,EAnBgB,QAwBP6e,SAxBO,0CAyBThd,EAAoBR,EAAerB,EAAS6e,WAzBnC,iCA2Bbrd,EAAsBH,EAAe,CACxCsS,YAAa3T,EAAS+X,YA5BN,iCA+BbvW,EAAsBH,IA/BT,iEAkCxBlN,QAAQuJ,IAAR,MAlCwB,kBAmCjBmE,EAAoBR,EAAD,OAnCF,0DAAH,2FA4CA,eAACuf,EAAD,uDAAoBzB,EAApB,OAAyD,SAAC3P,GAAuB,IAAdpmB,EAAc,uDAAP,GAC7Fy3B,EAAc,GACpBrR,EAAU,EAAH,KAAOA,GAAYsR,EAAkB13B,IAC5C,cAA2B2B,OAAOk1B,QAAQW,GAA1C,eAA6D,+BAAnDl4B,EAAmD,KAA9Cq4B,EAA8C,KACzD,UAAIvR,SAAJ,OAAI,EAAU9mB,KACa,mBAAZq4B,EACPA,EAAQF,EAAarR,EAAQ9mB,IAE7Bm4B,EAAYE,GAAWvR,EAAQ9mB,IAI3C,OAAOm4B,6BAQ2B,SAACrR,GAA+D,MAAtDnG,EAAsD,uDAA7C,CAAC,OAAQ,WAAY,QAAS,WAC7EqG,EAAsB,GADsE,IAElFrG,GAFkF,IAElG,2BAAwB,KAAf3gB,EAAe,QACpBgnB,EAAoBhnB,GAAO8mB,EAAQ9mB,IAH2D,8BAKlG,OAAOgnB,GAQJ,IAAMoR,EAAoB,SAACE,GAC9B,OAAOj2B,OAAO0C,KAAKuzB,GAAQvvB,QAAO,SAAA/I,GAAG,OAAI83B,QAAQQ,EAAOt4B,OAAOqL,QAAO,SAAC5I,EAAKzC,GAAN,cAC/DyC,GAD+D,oBAEjEzC,EAAMs4B,EAAOt4B,OACd,2BAGD,IAAMoqB,EAAc,SAACd,EAAOb,GAAiB,SACyB,IAAA8P,aAAY9P,GAA9E+P,EADyC,EACzCA,OAAQC,EADiC,EACjCA,OAAQC,EADyB,EACzBA,iBAAkB5P,EADO,EACPA,UAAW6P,EADJ,EACIA,kBACpD,GAAa,IAATrP,QAAyBxoB,IAAVwoB,EACf,OAAOA,EAGXA,EAAyB,iBAAVA,EAAqBlM,SAASkM,EAAO,IAAMA,EAG1D,IAAIsP,EAAa,GACXC,GAFNvP,GADAA,GAAgB,KAAH,IAAG,GAAMR,IACRtlB,WAAWs1B,QAAQ,IAAKJ,IAElBj1B,QAAQi1B,GACxBG,EAAQ,EACJ/P,EAAY,IACZQ,GAAS,GAAJ,OAAOoP,GAAP,OAA0B,IAAIr5B,MAAMypB,EAAY,GAAG0B,KAAK,QAGjEoO,EAAatP,EAAMyP,OAAOF,EAAQ,IACnB35B,OAAS4pB,IACpBQ,GAAS,IAAIjqB,MAAMypB,EAAY8P,EAAW15B,OAAS,GAAGsrB,KAAK,MAKnE,IAAM4H,EAAQ9I,EAAM8I,MAAM,IAAI4G,OAAJ,kBAAsBN,EAAtB,YAO1B,OANItG,IACK9I,EAAwB8I,EAA3B,GAAawG,EAAcxG,EAAjB,IAEhB9I,EAAQA,EAAMwP,QAAQ,IAAIE,OAAJ,0BAAsC,KAApD,UAA6DL,IAE7DH,GADRlP,GAAkB,QAAV,EAAAsP,SAAA,eAAY15B,QAAS,EAAIoqB,EAAQoP,EAAmBE,EAAatP,GAChDmP,wCAIK,SAACrV,GAC/B,IAAIlY,EAAU,GAmBd,OAlBAkY,EAAcja,SAAQ,SAACwgB,EAAiB3K,GAEpC2K,EAAgBC,eAAeqP,MAAK,SAACpP,GACjC,OAAOA,EAAKC,UAAY,EAAI,KAEhC,IAAIG,EAAQN,EAAgBC,eAAenU,KAAI,SAAAoU,GAC3C,IAAIK,EAAMvX,SAAS9E,cAAc,YAGjC,OAFAqc,EAAIC,UAAYN,EAAK/jB,KACTskB,EAAYP,EAAKP,MAAOO,EAAKnP,eAClC,CACH1L,GAAI+a,EAAoB/K,EAAK6K,EAAKG,SAClChT,MAAOkT,EAAI/pB,MAEXgd,OAAQC,SAASyM,EAAKP,MAAO,QAGrCpe,EAAU,GAAH,qBAAOA,IAAP,aAAmB+e,OAEvB/e,GAGJ,IAAM6e,EAAsB,SAACmP,EAAWC,GAAZ,gBAA0BD,EAA1B,YAAuCC,8CAE3C,SAACC,EAAD,GAA4B,EAAftQ,UAAe,IACnDM,EAAQ,GACNrkB,EAAO,CAAC,YAAa,kBAU3B,OATAq0B,EAAUjwB,SAAQ,SAAAkgB,IACV,EAAIA,EAAKlpB,OAAUkpB,EAAKrpB,KAAO+E,EAAKyG,SAAS6d,EAAKrpB,OAClDopB,EAAM1nB,KAAK,CACPsV,MAAOqS,EAAKrS,MACZmW,SAAS,EACThQ,OAAQkM,EAAKlpB,WAIlBipB,GAGX,IAAM9M,EAAS,oBAEe,SAAC,EAA4B0V,GAAa,IAAxChV,EAAwC,EAAxCA,QAASF,EAA+B,EAA/BA,SAAUI,EAAqB,EAArBA,MAC/C,OAAO,IAAI5c,SAAQ,SAACV,EAASC,GACzB,IAAMG,EAAM,CAACgd,EAASF,EAAUI,EAAMC,QAAQ9R,QAAO,SAACrL,EAAKG,GAAN,gBAAmBH,EAAnB,YAA0BG,MAC/E,OAAK2c,EAGD9c,KAAOsc,EACA1c,EAAQ0c,EAAOtc,IAEnBmS,EAAW5R,MAAK,SAAA+L,GACnB,GAAIA,EAAOlM,MACP,OAAOP,EAAOyM,EAAOlM,OAETkM,EAAO8P,eAAe,CAClCY,QAAAA,EACAF,SAAAA,EACAI,MAAAA,IAEI1C,iBAAiBja,MAAK,SAAAuU,GAE1B,OADAwH,EAAOtc,GAAOgyB,EAASld,GAChBlV,EAAQ0c,EAAOtc,UAE3B+U,MAAMlV,GAlBED,GAAQ,oCAsBe,SAAC4U,GACvCgiB,EAAoB90B,KAAK8S,6BAGS,kBAAMgiB,0BAER,WAChC,IAAM7hB,GAAO,IAAA4T,YAAW,qBACxB,OAAO5T,GAAQA,EAAK0kB,sCAGgB,WACpC,IAAM1kB,GAAO,IAAA4T,YAAW,qBACxB,OAAO5T,GAAQA,EAAK2kB,qCAGY,SAAC,GAAqD,IAApD5qB,EAAoD,EAApDA,KAAMyO,EAA8C,EAA9CA,OAAQsC,EAAsC,EAAtCA,YAAa3C,EAAyB,EAAzBA,SAAUoW,EAAe,EAAfA,UACvE,MAAO,CACHxkB,KAAAA,EACAyO,OAAAA,EACAL,SAAAA,EACAyc,MAAOnT,EAA6B3G,GACpC4P,SAAU,CACNkD,WAAYW,kBAKE,WACtB,MAAgD,UAAzC,IAAA3K,YAAW,qBAAqBiR,MAG3C,IAAMC,EAAc,SAACz5B,GAAD,gBA/bC,WA+bD,OAA2BA,mBAEnB,SAACA,EAAKG,GAC9B,IAAMu5B,EAAM7D,KAAK8D,OAAM,IAAI/1B,MAAOg2B,UAAY,KAAS,IACnD,mBAAoBhpB,QACpBipB,eAAeC,QAAQL,EAAYz5B,GAAMiZ,KAAKC,UAAU,CAAC/Y,MAAAA,EAAOu5B,IAAAA,qBAI5C,SAAC15B,GACzB,GAAI,mBAAoB4Q,OACpB,IACI,IAAMyY,EAAOpQ,KAAKgN,MAAM4T,eAAeE,QAAQN,EAAYz5B,KAC3D,GAAIqpB,EAAM,KACClpB,EAAckpB,EAAdlpB,MAAOu5B,EAAOrQ,EAAPqQ,IACd,KAAI7D,KAAK8D,OAAM,IAAI/1B,MAAOg2B,UAAY,KAAQF,GAG1C,OAAOv5B,EAFP0Y,EAAgB4gB,EAAYz5B,KAKtC,MAAOa,IAGb,OAAO,MAGJ,IAAMgY,EAAkB,SAAC7Y,GACxB,mBAAoB4Q,QACpBipB,eAAeG,WAAWP,EAAYz5B,0CAIhB,SAACi6B,EAAMC,EAAMC,GACvC,OAAQA,GACJ,IAAK,IACD,OAAOF,EAAOC,EAClB,IAAK,IACD,OAAOD,EAAOC,EAClB,IAAK,KACD,OAAOD,GAAQC,EACnB,IAAK,KACD,OAAOD,GAAQC,EACnB,IAAK,IACD,OAAOD,GAAQC,EAEvB,OAAO,gBAGe,iBAA+C,UAAzC,IAAA3R,YAAW,qBAAqB6R,uBAElC,iBAA+C,cAAzC,IAAA7R,YAAW,qBAAqB6R,6BAEhC,SAACxsB,GACjC,IAAIwkB,EAAQxkB,EAAIwkB,MAAM,kBAClB1xB,EAAO,KAIX,OAHI0xB,IACA1xB,EAAOuY,KAAKgN,MAAMrV,OAAOyhB,KAAKC,mBAAmBF,EAAM,OAEpD1xB,iBC3gBX,OAOC,WACA,aAEA,IAAI25B,EAAS,GAAGx3B,eAEhB,SAASy3B,IAGR,IAFA,IAAI3c,EAAU,GAELxe,EAAI,EAAGA,EAAIwB,UAAUzB,OAAQC,IAAK,CAC1C,IAAIc,EAAMU,UAAUxB,GACpB,GAAKc,EAAL,CAEA,IAAIs6B,SAAiBt6B,EAErB,GAAgB,WAAZs6B,GAAoC,WAAZA,EAC3B5c,EAAQjc,KAAKzB,QACP,GAAIZ,MAAMC,QAAQW,IAAQA,EAAIf,OAAQ,CAC5C,IAAIs7B,EAAQF,EAAW15B,MAAM,KAAMX,GAC/Bu6B,GACH7c,EAAQjc,KAAK84B,QAER,GAAgB,WAAZD,EACV,IAAK,IAAIv6B,KAAOC,EACXo6B,EAAOv3B,KAAK7C,EAAKD,IAAQC,EAAID,IAChC2d,EAAQjc,KAAK1B,IAMjB,OAAO2d,EAAQ6M,KAAK,KAGgB1rB,EAAOC,SAC3Cu7B,EAAW5C,QAAU4C,EACrBx7B,EAAOC,QAAUu7B,QAKhB,KAFwB,EAAF,WACtB,OAAOA,GACP,QAFoB,OAEpB,aAxCH","sources":["webpack://wc_stripe/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/construct.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/createClass.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/extends.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/inherits.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/isNativeFunction.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/typeof.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/wrapNativeSuper.js","webpack://wc_stripe/./node_modules/@stripe/react-stripe-js/dist/react-stripe.umd.js","webpack://wc_stripe/./node_modules/@stripe/stripe-js/dist/stripe.esm.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/index.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/installments/index.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/payment-method-label/index.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/payment-method/index.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/radio-option/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/hooks/use-create-link-token.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/hooks/use-initialize-plaid.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/hooks/use-process-payment.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/applepay/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/applepay/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/components/bootstrap/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/components/custom-card-form.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/components/simple/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/components/stripe-card-form.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/payment-element.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/error-boundary.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/button.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/constants.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/hooks/use-error-message.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/hooks/use-payment-request.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/hooks/use-payments-client.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/util.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-after-process-payment.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-breakpoint-width.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-exported-values.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-payment-events.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-payment-request.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-process-checkout-error.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-process-payment-intent.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-setup-intent.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-stripe-error.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-update-payment-intent.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/link/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/link/hooks/use-link.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/link/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/afterpay.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/alipay.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/bancontact.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/becs.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/boleto.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/eps.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/fpx.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/giropay.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/grabpay.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/hooks/use-after-process-local-payment.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/hooks/use-create-source.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/hooks/use-validate-checkout.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/ideal.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/klarna.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/local-payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/multibanco.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/oxxo.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/p24.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/sepa.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/sofort.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/wechat.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/payment-request/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/payment-request/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/saved-card-component.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/util.js","webpack://wc_stripe/./node_modules/classnames/index.js"],"sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct\");\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nmodule.exports = _isNativeFunction;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","var _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","var getPrototypeOf = require(\"./getPrototypeOf\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf\");\n\nvar isNativeFunction = require(\"./isNativeFunction\");\n\nvar construct = require(\"./construct\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper;","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :\n\t(global = global || self, factory(global.ReactStripe = {}, global.React));\n}(this, (function (exports, React) { 'use strict';\n\n\tReact = React && Object.prototype.hasOwnProperty.call(React, 'default') ? React['default'] : React;\n\n\tfunction createCommonjsModule(fn, module) {\n\t\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n\t}\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\n\tvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\tvar ReactPropTypesSecret_1 = ReactPropTypesSecret;\n\n\tfunction emptyFunction() {}\n\n\tfunction emptyFunctionWithReset() {}\n\n\temptyFunctionWithReset.resetWarningCache = emptyFunction;\n\n\tvar factoryWithThrowingShims = function () {\n\t function shim(props, propName, componentName, location, propFullName, secret) {\n\t if (secret === ReactPropTypesSecret_1) {\n\t // It is still safe when called from React.\n\t return;\n\t }\n\n\t var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types');\n\t err.name = 'Invariant Violation';\n\t throw err;\n\t }\n\t shim.isRequired = shim;\n\n\t function getShim() {\n\t return shim;\n\t }\n\t // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n\n\t var ReactPropTypes = {\n\t array: shim,\n\t bool: shim,\n\t func: shim,\n\t number: shim,\n\t object: shim,\n\t string: shim,\n\t symbol: shim,\n\t any: shim,\n\t arrayOf: getShim,\n\t element: shim,\n\t elementType: shim,\n\t instanceOf: getShim,\n\t node: shim,\n\t objectOf: getShim,\n\t oneOf: getShim,\n\t oneOfType: getShim,\n\t shape: getShim,\n\t exact: getShim,\n\t checkPropTypes: emptyFunctionWithReset,\n\t resetWarningCache: emptyFunction\n\t };\n\t ReactPropTypes.PropTypes = ReactPropTypes;\n\t return ReactPropTypes;\n\t};\n\n\tvar propTypes = createCommonjsModule(function (module) {\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t{\n\t // By explicitly using `prop-types` you are opting into new production behavior.\n\t // http://fb.me/prop-types-in-prod\n\t module.exports = factoryWithThrowingShims();\n\t}\n\t});\n\n\tfunction ownKeys(object, enumerableOnly) {\n\t var keys = Object.keys(object);\n\n\t if (Object.getOwnPropertySymbols) {\n\t var symbols = Object.getOwnPropertySymbols(object);\n\n\t if (enumerableOnly) {\n\t symbols = symbols.filter(function (sym) {\n\t return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n\t });\n\t }\n\n\t keys.push.apply(keys, symbols);\n\t }\n\n\t return keys;\n\t}\n\n\tfunction _objectSpread2(target) {\n\t for (var i = 1; i < arguments.length; i++) {\n\t var source = arguments[i] != null ? arguments[i] : {};\n\n\t if (i % 2) {\n\t ownKeys(Object(source), true).forEach(function (key) {\n\t _defineProperty(target, key, source[key]);\n\t });\n\t } else if (Object.getOwnPropertyDescriptors) {\n\t Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n\t } else {\n\t ownKeys(Object(source)).forEach(function (key) {\n\t Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n\t });\n\t }\n\t }\n\n\t return target;\n\t}\n\n\tfunction _typeof(obj) {\n\t \"@babel/helpers - typeof\";\n\n\t if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n\t _typeof = function (obj) {\n\t return typeof obj;\n\t };\n\t } else {\n\t _typeof = function (obj) {\n\t return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n\t };\n\t }\n\n\t return _typeof(obj);\n\t}\n\n\tfunction _defineProperty(obj, key, value) {\n\t if (key in obj) {\n\t Object.defineProperty(obj, key, {\n\t value: value,\n\t enumerable: true,\n\t configurable: true,\n\t writable: true\n\t });\n\t } else {\n\t obj[key] = value;\n\t }\n\n\t return obj;\n\t}\n\n\tfunction _slicedToArray(arr, i) {\n\t return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n\t}\n\n\tfunction _arrayWithHoles(arr) {\n\t if (Array.isArray(arr)) return arr;\n\t}\n\n\tfunction _iterableToArrayLimit(arr, i) {\n\t var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]);\n\n\t if (_i == null) return;\n\t var _arr = [];\n\t var _n = true;\n\t var _d = false;\n\n\t var _s, _e;\n\n\t try {\n\t for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n\t _arr.push(_s.value);\n\n\t if (i && _arr.length === i) break;\n\t }\n\t } catch (err) {\n\t _d = true;\n\t _e = err;\n\t } finally {\n\t try {\n\t if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n\t } finally {\n\t if (_d) throw _e;\n\t }\n\t }\n\n\t return _arr;\n\t}\n\n\tfunction _unsupportedIterableToArray(o, minLen) {\n\t if (!o) return;\n\t if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n\t var n = Object.prototype.toString.call(o).slice(8, -1);\n\t if (n === \"Object\" && o.constructor) n = o.constructor.name;\n\t if (n === \"Map\" || n === \"Set\") return Array.from(o);\n\t if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n\t}\n\n\tfunction _arrayLikeToArray(arr, len) {\n\t if (len == null || len > arr.length) len = arr.length;\n\n\t for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n\t return arr2;\n\t}\n\n\tfunction _nonIterableRest() {\n\t throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n\t}\n\n\tvar usePrevious = function usePrevious(value) {\n\t var ref = React.useRef(value);\n\t React.useEffect(function () {\n\t ref.current = value;\n\t }, [value]);\n\t return ref.current;\n\t};\n\n\tvar isUnknownObject = function isUnknownObject(raw) {\n\t return raw !== null && _typeof(raw) === 'object';\n\t};\n\tvar isPromise = function isPromise(raw) {\n\t return isUnknownObject(raw) && typeof raw.then === 'function';\n\t}; // We are using types to enforce the `stripe` prop in this lib,\n\t// but in an untyped integration `stripe` could be anything, so we need\n\t// to do some sanity validation to prevent type errors.\n\n\tvar isStripe = function isStripe(raw) {\n\t return isUnknownObject(raw) && typeof raw.elements === 'function' && typeof raw.createToken === 'function' && typeof raw.createPaymentMethod === 'function' && typeof raw.confirmCardPayment === 'function';\n\t};\n\n\tvar PLAIN_OBJECT_STR = '[object Object]';\n\tvar isEqual = function isEqual(left, right) {\n\t if (!isUnknownObject(left) || !isUnknownObject(right)) {\n\t return left === right;\n\t }\n\n\t var leftArray = Array.isArray(left);\n\t var rightArray = Array.isArray(right);\n\t if (leftArray !== rightArray) return false;\n\t var leftPlainObject = Object.prototype.toString.call(left) === PLAIN_OBJECT_STR;\n\t var rightPlainObject = Object.prototype.toString.call(right) === PLAIN_OBJECT_STR;\n\t if (leftPlainObject !== rightPlainObject) return false; // not sure what sort of special object this is (regexp is one option), so\n\t // fallback to reference check.\n\n\t if (!leftPlainObject && !leftArray) return left === right;\n\t var leftKeys = Object.keys(left);\n\t var rightKeys = Object.keys(right);\n\t if (leftKeys.length !== rightKeys.length) return false;\n\t var keySet = {};\n\n\t for (var i = 0; i < leftKeys.length; i += 1) {\n\t keySet[leftKeys[i]] = true;\n\t }\n\n\t for (var _i = 0; _i < rightKeys.length; _i += 1) {\n\t keySet[rightKeys[_i]] = true;\n\t }\n\n\t var allKeys = Object.keys(keySet);\n\n\t if (allKeys.length !== leftKeys.length) {\n\t return false;\n\t }\n\n\t var l = left;\n\t var r = right;\n\n\t var pred = function pred(key) {\n\t return isEqual(l[key], r[key]);\n\t };\n\n\t return allKeys.every(pred);\n\t};\n\n\tvar extractAllowedOptionsUpdates = function extractAllowedOptionsUpdates(options, prevOptions, immutableKeys) {\n\t if (!isUnknownObject(options)) {\n\t return null;\n\t }\n\n\t return Object.keys(options).reduce(function (newOptions, key) {\n\t var isUpdated = !isUnknownObject(prevOptions) || !isEqual(options[key], prevOptions[key]);\n\n\t if (immutableKeys.includes(key)) {\n\t if (isUpdated) {\n\t console.warn(\"Unsupported prop change: options.\".concat(key, \" is not a mutable property.\"));\n\t }\n\n\t return newOptions;\n\t }\n\n\t if (!isUpdated) {\n\t return newOptions;\n\t }\n\n\t return _objectSpread2(_objectSpread2({}, newOptions || {}), {}, _defineProperty({}, key, options[key]));\n\t }, null);\n\t};\n\n\tvar INVALID_STRIPE_ERROR = 'Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.'; // We are using types to enforce the `stripe` prop in this lib, but in a real\n\t// integration `stripe` could be anything, so we need to do some sanity\n\t// validation to prevent type errors.\n\n\tvar validateStripe = function validateStripe(maybeStripe) {\n\t if (maybeStripe === null || isStripe(maybeStripe)) {\n\t return maybeStripe;\n\t }\n\n\t throw new Error(INVALID_STRIPE_ERROR);\n\t};\n\n\tvar parseStripeProp = function parseStripeProp(raw) {\n\t if (isPromise(raw)) {\n\t return {\n\t tag: 'async',\n\t stripePromise: Promise.resolve(raw).then(validateStripe)\n\t };\n\t }\n\n\t var stripe = validateStripe(raw);\n\n\t if (stripe === null) {\n\t return {\n\t tag: 'empty'\n\t };\n\t }\n\n\t return {\n\t tag: 'sync',\n\t stripe: stripe\n\t };\n\t};\n\n\tvar ElementsContext = /*#__PURE__*/React.createContext(null);\n\tElementsContext.displayName = 'ElementsContext';\n\tvar parseElementsContext = function parseElementsContext(ctx, useCase) {\n\t if (!ctx) {\n\t throw new Error(\"Could not find Elements context; You need to wrap the part of your app that \".concat(useCase, \" in an <Elements> provider.\"));\n\t }\n\n\t return ctx;\n\t};\n\t/**\n\t * The `Elements` provider allows you to use [Element components](https://stripe.com/docs/stripe-js/react#element-components) and access the [Stripe object](https://stripe.com/docs/js/initializing) in any nested component.\n\t * Render an `Elements` provider at the root of your React app so that it is available everywhere you need it.\n\t *\n\t * To use the `Elements` provider, call `loadStripe` from `@stripe/stripe-js` with your publishable key.\n\t * The `loadStripe` function will asynchronously load the Stripe.js script and initialize a `Stripe` object.\n\t * Pass the returned `Promise` to `Elements`.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#elements-provider\n\t */\n\n\tvar Elements = function Elements(_ref) {\n\t var rawStripeProp = _ref.stripe,\n\t options = _ref.options,\n\t children = _ref.children;\n\t var parsed = React.useMemo(function () {\n\t return parseStripeProp(rawStripeProp);\n\t }, [rawStripeProp]); // For a sync stripe instance, initialize into context\n\n\t var _React$useState = React.useState(function () {\n\t return {\n\t stripe: parsed.tag === 'sync' ? parsed.stripe : null,\n\t elements: parsed.tag === 'sync' ? parsed.stripe.elements(options) : null\n\t };\n\t }),\n\t _React$useState2 = _slicedToArray(_React$useState, 2),\n\t ctx = _React$useState2[0],\n\t setContext = _React$useState2[1];\n\n\t React.useEffect(function () {\n\t var isMounted = true; // For an async stripePromise, store it in context once resolved\n\n\t if (parsed.tag === 'async' && !ctx.stripe) {\n\t parsed.stripePromise.then(function (stripe) {\n\t if (stripe && isMounted) {\n\t // Only update Elements context if the component is still mounted\n\t // and stripe is not null. We allow stripe to be null to make\n\t // handling SSR easier.\n\t setContext({\n\t stripe: stripe,\n\t elements: stripe.elements(options)\n\t });\n\t }\n\t });\n\t } else if (parsed.tag === 'sync' && !ctx.stripe) {\n\t // Or, handle a sync stripe instance going from null -> populated\n\t setContext({\n\t stripe: parsed.stripe,\n\t elements: parsed.stripe.elements(options)\n\t });\n\t }\n\n\t return function () {\n\t isMounted = false;\n\t };\n\t }, [parsed, ctx, options]); // Warn on changes to stripe prop\n\n\t var prevStripe = usePrevious(rawStripeProp);\n\t React.useEffect(function () {\n\t if (prevStripe !== null && prevStripe !== rawStripeProp) {\n\t console.warn('Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.');\n\t }\n\t }, [prevStripe, rawStripeProp]); // Apply updates to elements when options prop has relevant changes\n\n\t var prevOptions = usePrevious(options);\n\t React.useEffect(function () {\n\t if (!ctx.elements) {\n\t return;\n\t }\n\n\t var updates = extractAllowedOptionsUpdates(options, prevOptions, ['clientSecret', 'fonts']);\n\n\t if (updates) {\n\t ctx.elements.update(updates);\n\t }\n\t }, [options, prevOptions, ctx.elements]); // Attach react-stripe-js version to stripe.js instance\n\n\t React.useEffect(function () {\n\t var anyStripe = ctx.stripe;\n\n\t if (!anyStripe || !anyStripe._registerWrapper || !anyStripe.registerAppInfo) {\n\t return;\n\t }\n\n\t anyStripe._registerWrapper({\n\t name: 'react-stripe-js',\n\t version: \"1.8.0\"\n\t });\n\n\t anyStripe.registerAppInfo({\n\t name: 'react-stripe-js',\n\t version: \"1.8.0\",\n\t url: 'https://stripe.com/docs/stripe-js/react'\n\t });\n\t }, [ctx.stripe]);\n\t return /*#__PURE__*/React.createElement(ElementsContext.Provider, {\n\t value: ctx\n\t }, children);\n\t};\n\tElements.propTypes = {\n\t stripe: propTypes.any,\n\t options: propTypes.object\n\t};\n\tvar useElementsContextWithUseCase = function useElementsContextWithUseCase(useCaseMessage) {\n\t var ctx = React.useContext(ElementsContext);\n\t return parseElementsContext(ctx, useCaseMessage);\n\t};\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#useelements-hook\n\t */\n\n\tvar useElements = function useElements() {\n\t var _useElementsContextWi = useElementsContextWithUseCase('calls useElements()'),\n\t elements = _useElementsContextWi.elements;\n\n\t return elements;\n\t};\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#usestripe-hook\n\t */\n\n\tvar useStripe = function useStripe() {\n\t var _useElementsContextWi2 = useElementsContextWithUseCase('calls useStripe()'),\n\t stripe = _useElementsContextWi2.stripe;\n\n\t return stripe;\n\t};\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#elements-consumer\n\t */\n\n\tvar ElementsConsumer = function ElementsConsumer(_ref2) {\n\t var children = _ref2.children;\n\t var ctx = useElementsContextWithUseCase('mounts <ElementsConsumer>'); // Assert to satisfy the busted React.FC return type (it should be ReactNode)\n\n\t return children(ctx);\n\t};\n\tElementsConsumer.propTypes = {\n\t children: propTypes.func.isRequired\n\t};\n\n\tvar useCallbackReference = function useCallbackReference(cb) {\n\t var ref = React.useRef(cb);\n\t React.useEffect(function () {\n\t ref.current = cb;\n\t }, [cb]);\n\t return function () {\n\t if (ref.current) {\n\t ref.current.apply(ref, arguments);\n\t }\n\t };\n\t};\n\n\tvar noop = function noop() {};\n\n\tvar capitalized = function capitalized(str) {\n\t return str.charAt(0).toUpperCase() + str.slice(1);\n\t};\n\n\tvar createElementComponent = function createElementComponent(type, isServer) {\n\t var displayName = \"\".concat(capitalized(type), \"Element\");\n\n\t var ClientElement = function ClientElement(_ref) {\n\t var id = _ref.id,\n\t className = _ref.className,\n\t _ref$options = _ref.options,\n\t options = _ref$options === void 0 ? {} : _ref$options,\n\t _ref$onBlur = _ref.onBlur,\n\t onBlur = _ref$onBlur === void 0 ? noop : _ref$onBlur,\n\t _ref$onFocus = _ref.onFocus,\n\t onFocus = _ref$onFocus === void 0 ? noop : _ref$onFocus,\n\t _ref$onReady = _ref.onReady,\n\t onReady = _ref$onReady === void 0 ? noop : _ref$onReady,\n\t _ref$onChange = _ref.onChange,\n\t onChange = _ref$onChange === void 0 ? noop : _ref$onChange,\n\t _ref$onEscape = _ref.onEscape,\n\t onEscape = _ref$onEscape === void 0 ? noop : _ref$onEscape,\n\t _ref$onClick = _ref.onClick,\n\t onClick = _ref$onClick === void 0 ? noop : _ref$onClick;\n\n\t var _useElementsContextWi = useElementsContextWithUseCase(\"mounts <\".concat(displayName, \">\")),\n\t elements = _useElementsContextWi.elements;\n\n\t var elementRef = React.useRef(null);\n\t var domNode = React.useRef(null);\n\t var callOnReady = useCallbackReference(onReady);\n\t var callOnBlur = useCallbackReference(onBlur);\n\t var callOnFocus = useCallbackReference(onFocus);\n\t var callOnClick = useCallbackReference(onClick);\n\t var callOnChange = useCallbackReference(onChange);\n\t var callOnEscape = useCallbackReference(onEscape);\n\t React.useLayoutEffect(function () {\n\t if (elementRef.current == null && elements && domNode.current != null) {\n\t var element = elements.create(type, options);\n\t elementRef.current = element;\n\t element.mount(domNode.current);\n\t element.on('ready', function () {\n\t return callOnReady(element);\n\t });\n\t element.on('change', callOnChange);\n\t element.on('blur', callOnBlur);\n\t element.on('focus', callOnFocus);\n\t element.on('escape', callOnEscape); // Users can pass an onClick prop on any Element component\n\t // just as they could listen for the `click` event on any Element,\n\t // but only the PaymentRequestButton will actually trigger the event.\n\n\t element.on('click', callOnClick);\n\t }\n\t });\n\t var prevOptions = usePrevious(options);\n\t React.useEffect(function () {\n\t if (!elementRef.current) {\n\t return;\n\t }\n\n\t var updates = extractAllowedOptionsUpdates(options, prevOptions, ['paymentRequest']);\n\n\t if (updates) {\n\t elementRef.current.update(updates);\n\t }\n\t }, [options, prevOptions]);\n\t React.useLayoutEffect(function () {\n\t return function () {\n\t if (elementRef.current) {\n\t elementRef.current.destroy();\n\t elementRef.current = null;\n\t }\n\t };\n\t }, []);\n\t return /*#__PURE__*/React.createElement(\"div\", {\n\t id: id,\n\t className: className,\n\t ref: domNode\n\t });\n\t }; // Only render the Element wrapper in a server environment.\n\n\n\t var ServerElement = function ServerElement(props) {\n\t // Validate that we are in the right context by calling useElementsContextWithUseCase.\n\t useElementsContextWithUseCase(\"mounts <\".concat(displayName, \">\"));\n\t var id = props.id,\n\t className = props.className;\n\t return /*#__PURE__*/React.createElement(\"div\", {\n\t id: id,\n\t className: className\n\t });\n\t };\n\n\t var Element = isServer ? ServerElement : ClientElement;\n\t Element.propTypes = {\n\t id: propTypes.string,\n\t className: propTypes.string,\n\t onChange: propTypes.func,\n\t onBlur: propTypes.func,\n\t onFocus: propTypes.func,\n\t onReady: propTypes.func,\n\t onClick: propTypes.func,\n\t options: propTypes.object\n\t };\n\t Element.displayName = displayName;\n\t Element.__elementType = type;\n\t return Element;\n\t};\n\n\tvar isServer = typeof window === 'undefined';\n\t/**\n\t * Requires beta access:\n\t * Contact [Stripe support](https://support.stripe.com/) for more information.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar AuBankAccountElement = createElementComponent('auBankAccount', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardElement = createElementComponent('card', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardNumberElement = createElementComponent('cardNumber', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardExpiryElement = createElementComponent('cardExpiry', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardCvcElement = createElementComponent('cardCvc', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar FpxBankElement = createElementComponent('fpxBank', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar IbanElement = createElementComponent('iban', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar IdealBankElement = createElementComponent('idealBank', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar P24BankElement = createElementComponent('p24Bank', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar EpsBankElement = createElementComponent('epsBank', isServer);\n\tvar PaymentElement = createElementComponent('payment', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar PaymentRequestButtonElement = createElementComponent('paymentRequestButton', isServer);\n\t/**\n\t * Requires beta access:\n\t * Contact [Stripe support](https://support.stripe.com/) for more information.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar LinkAuthenticationElement = createElementComponent('linkAuthentication', isServer);\n\t/**\n\t * Requires beta access:\n\t * Contact [Stripe support](https://support.stripe.com/) for more information.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar ShippingAddressElement = createElementComponent('shippingAddress', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar AffirmMessageElement = createElementComponent('affirmMessage', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar AfterpayClearpayMessageElement = createElementComponent('afterpayClearpayMessage', isServer);\n\n\texports.AffirmMessageElement = AffirmMessageElement;\n\texports.AfterpayClearpayMessageElement = AfterpayClearpayMessageElement;\n\texports.AuBankAccountElement = AuBankAccountElement;\n\texports.CardCvcElement = CardCvcElement;\n\texports.CardElement = CardElement;\n\texports.CardExpiryElement = CardExpiryElement;\n\texports.CardNumberElement = CardNumberElement;\n\texports.Elements = Elements;\n\texports.ElementsConsumer = ElementsConsumer;\n\texports.EpsBankElement = EpsBankElement;\n\texports.FpxBankElement = FpxBankElement;\n\texports.IbanElement = IbanElement;\n\texports.IdealBankElement = IdealBankElement;\n\texports.LinkAuthenticationElement = LinkAuthenticationElement;\n\texports.P24BankElement = P24BankElement;\n\texports.PaymentElement = PaymentElement;\n\texports.PaymentRequestButtonElement = PaymentRequestButtonElement;\n\texports.ShippingAddressElement = ShippingAddressElement;\n\texports.useElements = useElements;\n\texports.useStripe = useStripe;\n\n\tObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","var V3_URL = 'https://js.stripe.com/v3';\nvar V3_URL_REGEX = /^https:\\/\\/js\\.stripe\\.com\\/v3\\/?(\\?.*)?$/;\nvar EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';\nvar findScript = function findScript() {\n var scripts = document.querySelectorAll(\"script[src^=\\\"\".concat(V3_URL, \"\\\"]\"));\n\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i];\n\n if (!V3_URL_REGEX.test(script.src)) {\n continue;\n }\n\n return script;\n }\n\n return null;\n};\n\nvar injectScript = function injectScript(params) {\n var queryString = params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';\n var script = document.createElement('script');\n script.src = \"\".concat(V3_URL).concat(queryString);\n var headOrBody = document.head || document.body;\n\n if (!headOrBody) {\n throw new Error('Expected document.body not to be null. Stripe.js requires a <body> element.');\n }\n\n headOrBody.appendChild(script);\n return script;\n};\n\nvar registerWrapper = function registerWrapper(stripe, startTime) {\n if (!stripe || !stripe._registerWrapper) {\n return;\n }\n\n stripe._registerWrapper({\n name: 'stripe-js',\n version: \"1.12.1\",\n startTime: startTime\n });\n};\n\nvar stripePromise = null;\nvar loadScript = function loadScript(params) {\n // Ensure that we only attempt to load Stripe.js at most once\n if (stripePromise !== null) {\n return stripePromise;\n }\n\n stripePromise = new Promise(function (resolve, reject) {\n if (typeof window === 'undefined') {\n // Resolve to null when imported server side. This makes the module\n // safe to import in an isomorphic code base.\n resolve(null);\n return;\n }\n\n if (window.Stripe && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n }\n\n if (window.Stripe) {\n resolve(window.Stripe);\n return;\n }\n\n try {\n var script = findScript();\n\n if (script && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n } else if (!script) {\n script = injectScript(params);\n }\n\n script.addEventListener('load', function () {\n if (window.Stripe) {\n resolve(window.Stripe);\n } else {\n reject(new Error('Stripe.js not available'));\n }\n });\n script.addEventListener('error', function () {\n reject(new Error('Failed to load Stripe.js'));\n });\n } catch (error) {\n reject(error);\n return;\n }\n });\n return stripePromise;\n};\nvar initStripe = function initStripe(maybeStripe, args, startTime) {\n if (maybeStripe === null) {\n return null;\n }\n\n var stripe = maybeStripe.apply(undefined, args);\n registerWrapper(stripe, startTime);\n return stripe;\n};\n\n// own script injection.\n\nvar stripePromise$1 = Promise.resolve().then(function () {\n return loadScript(null);\n});\nvar loadCalled = false;\nstripePromise$1[\"catch\"](function (err) {\n if (!loadCalled) {\n console.warn(err);\n }\n});\nvar loadStripe = function loadStripe() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n loadCalled = true;\n var startTime = Date.now();\n return stripePromise$1.then(function (maybeStripe) {\n return initStripe(maybeStripe, args, startTime);\n });\n};\n\nexport { loadStripe };\n","export * from './payment-method-label';\r\nexport * from './radio-option';\r\nexport * from './payment-method';\r\nexport * from './installments';","import {useState, useRef, useEffect} from '@wordpress/element';\r\nimport {__} from '@wordpress/i18n';\r\nimport apiFetch from '@wordpress/api-fetch';\r\nimport classnames from 'classnames';\r\nimport {StripeError, getRoute} from \"../../../payment-methods/util\";\r\nimport './style.scss';\r\n\r\nexport const Installments = (\r\n {\r\n paymentMethodName,\r\n getCreatePaymentMethodArgs = null,\r\n cardFormComplete = false,\r\n addPaymentMethodData = null,\r\n getPaymentMethod\r\n }) => {\r\n const [installments, setInstallments] = useState(null);\r\n const [installment, setInstallment] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n const onInstallmentSelected = (e) => {\r\n setInstallment(e.target.value);\r\n if (addPaymentMethodData) {\r\n addPaymentMethodData({_stripe_installment_plan: e.target.value});\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (cardFormComplete) {\r\n // fetch the installments\r\n setLoading(true);\r\n setInstallment('');\r\n\r\n getPaymentMethod().then(async paymentMethod => {\r\n if (paymentMethod) {\r\n // fetch the installment plans\r\n const result = await apiFetch({\r\n url: getRoute('create/payment_intent'),\r\n method: 'POST',\r\n data: {payment_method_id: paymentMethod, payment_method: paymentMethodName}\r\n });\r\n setInstallments(result.installments);\r\n if (Object.keys(result.installments)?.length) {\r\n setInstallment(Object.keys(result.installments)[0]);\r\n }\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n }).finally(() => setLoading(false));\r\n }\r\n }, [cardFormComplete, getPaymentMethod]);\r\n\r\n return (\r\n <div className='wc-stripe-installments__container'>\r\n <label>\r\n {__('Pay in installments:', 'woo-stripe-payment')}\r\n <Loader loading={loading}/>\r\n </label>\r\n <InstallmentOptions\r\n installment={installment}\r\n onChange={onInstallmentSelected}\r\n installments={installments}\r\n isLoading={loading}/>\r\n </div>\r\n )\r\n}\r\n\r\nconst InstallmentOptions = ({installment, installments, onChange, isLoading}) => {\r\n let OPTIONS = null;\r\n if (isLoading) {\r\n OPTIONS = <option value=\"\" disabled>{__('Loading installments...', 'woo-stripe-payment')}</option>\r\n } else {\r\n if (installments === null) {\r\n OPTIONS = <option value=\"\" disabled>{__('Fill out card form for eligibility.', 'woo-stripe-payment')}</option>\r\n } else {\r\n OPTIONS = Object.keys(installments).map(id => {\r\n return <option key={id} value={id} dangerouslySetInnerHTML={{__html: installments[id].text}}/>\r\n });\r\n }\r\n }\r\n return (\r\n <select value={installment} onChange={onChange} className={classnames({loading: isLoading})}>\r\n {OPTIONS}\r\n </select>\r\n );\r\n}\r\n\r\nconst Loader = ({loading}) => {\r\n return (\r\n <div className=\"wc-stripe-installment-loader__container\">\r\n {loading && <div className=\"wc-stripe-installment-loader\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>}\r\n </div>\r\n );\r\n}\r\nexport default Installments;","import './style.scss';\r\n\r\nexport const PaymentMethodLabel = ({title, icons, paymentMethod, ...props}) => {\r\n const {PaymentMethodLabel: Label, PaymentMethodIcons: Icons} = props.components;\r\n if (!Array.isArray(icons)) {\r\n icons = [icons];\r\n }\r\n return (\r\n <span className={`wc-stripe-label-container ${paymentMethod}`}>\r\n <Label text={title}/>\r\n <Icons icons={icons} align='left'/>\r\n </span>\r\n )\r\n}","import {useEffect, useRef} from '@wordpress/element';\r\n\r\nexport const PaymentMethod = ({getData, content, ...props}) => {\r\n const Content = content;\r\n const desc = getData('description');\r\n const el = useRef(null);\r\n useEffect(() => {\r\n if (el.current && el.current.childNodes.length == 0) {\r\n el.current.classList.add('no-content');\r\n }\r\n });\r\n return (\r\n <>\r\n {desc && <Description desc={desc} payment_method={getData('name')}/>}\r\n <div ref={el} className='wc-stripe-blocks-payment-method-content'>\r\n <Content {...{...props, getData}}/>\r\n </div>\r\n </>);\r\n}\r\n\r\nconst Description = ({desc, payment_method}) => {\r\n return (\r\n <div className={`wc-stripe-blocks-payment-method__desc ${payment_method}`}>\r\n <p>{desc}</p>\r\n </div>\r\n )\r\n}","import classnames from 'classnames';\r\n\r\nexport const RadioControlOption = ({checked, onChange, value, label}) => {\r\n return (\r\n <label\r\n className={classnames('wc-stripe-blocks-radio-control__option', {\r\n 'wc-stripe-blocks-radio-control__option-checked': checked\r\n })}>\r\n <input\r\n className='wc-stripe-blocks-radio-control__input'\r\n type='radio'\r\n value={value}\r\n checked={checked}\r\n onChange={(event) => onChange(event.target.value)}/>\r\n <div className='wc-stripe-blocks-radio-control__label'>\r\n <span>{label}</span>\r\n </div>\r\n </label>\r\n )\r\n}\r\n\r\nexport default RadioControlOption;","export * from './use-create-link-token';\r\nexport * from './use-initialize-plaid';\r\nexport * from './use-process-payment';","import {useEffect, useState, useCallback} from '@wordpress/element';\r\nimport apiFetch from '@wordpress/api-fetch';\r\nimport {getRoute, getFromCache, storeInCache} from '../../util';\r\n\r\nexport const useCreateLinkToken = (\r\n {\r\n setValidationError\r\n }) => {\r\n const [linkToken, setLinkToken] = useState(false);\r\n\r\n const createToken = useCallback(async () => {\r\n try {\r\n const response = await apiFetch({\r\n url: getRoute('create/linkToken'),\r\n method: 'POST',\r\n data: {}\r\n });\r\n if (response.token) {\r\n storeInCache('linkToken', response.token);\r\n setLinkToken(response.token);\r\n }\r\n } catch (err) {\r\n setValidationError(err);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!linkToken) {\r\n const token = getFromCache('linkToken');\r\n if (token) {\r\n // cached token exist so use it\r\n setLinkToken(token);\r\n } else {\r\n // create the Plaid Link token\r\n createToken();\r\n }\r\n }\r\n }, [\r\n linkToken,\r\n setLinkToken\r\n ]);\r\n return linkToken;\r\n}","import {useState, useEffect, useRef, useCallback} from '@wordpress/element';\r\nimport Plaid from '@plaid';\r\nimport {getErrorMessage} from \"../../util\";\r\n\r\nexport const useInitializePlaid = (\r\n {\r\n getData,\r\n linkToken\r\n }) => {\r\n const linkHandler = useRef(null);\r\n const resolvePopup = useRef(null);\r\n const openLinkPopup = useCallback(() => new Promise((resolve, reject) => {\r\n resolvePopup.current = {resolve, reject};\r\n linkHandler.current.open();\r\n }), []);\r\n\r\n // if the token exists, initialize Plaid's link handler\r\n useEffect(() => {\r\n if (linkToken) {\r\n linkHandler.current = Plaid.create({\r\n clientName: getData('clientName'),\r\n env: getData('plaidEnvironment'),\r\n product: ['auth'],\r\n token: linkToken,\r\n selectAccount: true,\r\n countryCodes: ['US'],\r\n onSuccess: (publicToken, metaData) => {\r\n resolvePopup.current.resolve({publicToken, metaData});\r\n },\r\n onExit: (err) => {\r\n resolvePopup.current.reject(err ? getErrorMessage(err.error_message) : false);\r\n }\r\n });\r\n }\r\n }, [linkToken]);\r\n\r\n return openLinkPopup;\r\n}","import {useEffect, useCallback} from '@wordpress/element';\r\nimport {ensureSuccessResponse, ensureErrorResponse, deleteFromCache} from \"../../util\";\r\n\r\nexport const useProcessPayment = (\r\n {\r\n openLinkPopup,\r\n onPaymentProcessing,\r\n responseTypes,\r\n paymentMethod\r\n\r\n }) => {\r\n\r\n useEffect(() => {\r\n const unsubscribe = onPaymentProcessing(async () => {\r\n try {\r\n // open the Plaid popup\r\n const result = await openLinkPopup();\r\n const {publicToken, metaData} = result;\r\n // remove the cached link token.\r\n deleteFromCache('linkToken');\r\n return ensureSuccessResponse(responseTypes, {\r\n meta: {\r\n paymentMethodData: {\r\n [`${paymentMethod}_token_key`]: publicToken,\r\n [`${paymentMethod}_metadata`]: JSON.stringify(metaData)\r\n }\r\n }\r\n });\r\n } catch (err) {\r\n return ensureErrorResponse(responseTypes, err);\r\n }\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n onPaymentProcessing,\r\n responseTypes,\r\n openLinkPopup\r\n ]);\r\n}","import './styles.scss';\r\nimport './payment-method'","import {useState} from '@wordpress/element';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, isTestMode} from '../util';\r\nimport {PaymentMethodLabel, PaymentMethod} from '../../components/checkout';\r\nimport SavedCardComponent from '../saved-card-component';\r\nimport {useCreateLinkToken, useInitializePlaid, useProcessPayment} from './hooks';\r\nimport {useProcessCheckoutError} from \"../hooks\";\r\nimport {__} from '@wordpress/i18n';\r\n\r\nconst getData = getSettings('stripe_ach_data');\r\n\r\nconst ACHPaymentContent = (\r\n {\r\n getData,\r\n eventRegistration,\r\n components,\r\n emitResponse,\r\n onSubmit,\r\n ...props\r\n }) => {\r\n const {responseTypes} = emitResponse;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const {ValidationInputError, LoadingMask} = components;\r\n const [validationError, setValidationError] = useState(false);\r\n\r\n const linkToken = useCreateLinkToken({setValidationError});\r\n\r\n useProcessCheckoutError({\r\n responseTypes,\r\n subscriber: onCheckoutAfterProcessingWithError\r\n });\r\n\r\n const openLinkPopup = useInitializePlaid({\r\n getData,\r\n linkToken,\r\n onSubmit\r\n });\r\n\r\n useProcessPayment({\r\n openLinkPopup,\r\n onPaymentProcessing,\r\n responseTypes,\r\n paymentMethod: getData('name')\r\n });\r\n return (\r\n <LoadingMask isLoading={!validationError && !linkToken} showSpinner={true}>\r\n {isTestMode && <ACHTestModeCredentials/>}\r\n {validationError && <ValidationInputError errorMessage={validationError}/>}\r\n </LoadingMask>\r\n )\r\n}\r\n\r\nconst ACHTestModeCredentials = () => {\r\n return (\r\n <div className='wc-stripe-blocks-ach__creds'>\r\n <label className='wc-stripe-blocks-ach__creds-label'>{__('Test Credentials', 'woo-stripe-payment')}</label>\r\n <div className='wc-stripe-blocks-ach__username'>\r\n <div>\r\n <strong>{__('username', 'woo-stripe-payment')}</strong>: user_good\r\n </div>\r\n <div>\r\n <strong>{__('password', 'woo-stripe-payment')}</strong>: pass_good\r\n </div>\r\n <div>\r\n <strong>{__('pin', 'woo-stripe-payment')}</strong>: credential_good\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nregisterPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icons')}/>,\r\n ariaLabel: 'ACH Payment',\r\n canMakePayment: ({cartTotals}) => cartTotals.currency_code === 'USD',\r\n content: <PaymentMethod\r\n getData={getData}\r\n content={ACHPaymentContent}/>,\r\n savedTokenComponent: <SavedCardComponent getData={getData}/>,\r\n edit: <ACHPaymentContent getData={getData}/>,\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n})","import './style.scss';\r\n\r\nimport './payment-method';","import {useCallback} from '@wordpress/element';\r\nimport {registerExpressPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, initStripe as loadStripe, canMakePayment} from \"../util\";\r\nimport {Elements, PaymentRequestButtonElement, useStripe} from \"@stripe/react-stripe-js\";\r\nimport ErrorBoundary from \"../error-boundary\";\r\nimport {\r\n usePaymentRequest,\r\n useProcessPaymentIntent,\r\n useExportedValues,\r\n useAfterProcessingPayment,\r\n useStripeError,\r\n useExpressBreakpointWidth\r\n} from '../hooks';\r\n\r\nconst getData = getSettings('stripe_applepay_data');\r\n\r\nconst ApplePayContent = (props) => {\r\n return (\r\n <ErrorBoundary>\r\n <div className='wc-stripe-apple-pay-container'>\r\n <Elements stripe={loadStripe}>\r\n <ApplePayButton {...props}/>\r\n </Elements>\r\n </div>\r\n </ErrorBoundary>\r\n );\r\n}\r\n\r\nconst ApplePayButton = (\r\n {\r\n getData,\r\n onClick,\r\n onClose,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n emitResponse,\r\n onSubmit,\r\n activePaymentMethod,\r\n ...props\r\n }) => {\r\n const {onPaymentProcessing} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const stripe = useStripe();\r\n const [error] = useStripeError();\r\n const canPay = (result) => result != null && result.applePay;\r\n const exportedValues = useExportedValues();\r\n useExpressBreakpointWidth({payment_method: getData('name'), width: 300});\r\n const {setPaymentMethod} = useProcessPaymentIntent({\r\n getData,\r\n billing,\r\n shippingData,\r\n onPaymentProcessing,\r\n emitResponse,\r\n error,\r\n onSubmit,\r\n activePaymentMethod,\r\n exportedValues\r\n });\r\n useAfterProcessingPayment({\r\n getData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n messageContext: noticeContexts.EXPRESS_PAYMENTS\r\n });\r\n const {paymentRequest} = usePaymentRequest({\r\n getData,\r\n onClose,\r\n stripe,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n setPaymentMethod,\r\n exportedValues,\r\n canPay\r\n });\r\n\r\n const handleClick = useCallback((e) => {\r\n if (paymentRequest) {\r\n e.preventDefault();\r\n onClick();\r\n paymentRequest.show();\r\n }\r\n }, [paymentRequest, onClick]);\r\n\r\n if (paymentRequest) {\r\n return (\r\n <button\r\n className={`apple-pay-button ${getData('buttonStyle')}`}\r\n style={{\r\n '-apple-pay-button-type': getData('buttonType')\r\n }}\r\n onClick={handleClick}/>\r\n\r\n )\r\n }\r\n return null;\r\n}\r\n\r\nconst ApplePayEdit = ({getData, ...props}) => {\r\n return (\r\n <div className={'apple-pay-block-editor'}>\r\n <img src={getData('editorIcon')}/>\r\n </div>\r\n )\r\n}\r\n\r\nregisterExpressPaymentMethod({\r\n name: getData('name'),\r\n canMakePayment: ({cartTotals, ...props}) => {\r\n if (getData('isAdmin')) {\r\n return true;\r\n }\r\n const {currency_code: currency, total_price} = cartTotals;\r\n return canMakePayment({\r\n country: getData('countryCode'),\r\n currency: currency.toLowerCase(),\r\n total: {\r\n label: getData('totalLabel'),\r\n amount: parseInt(total_price)\r\n }\r\n }, (result) => result != null && result.applePay);\r\n },\r\n content: <ApplePayContent getData={getData}/>,\r\n edit: <ApplePayEdit getData={getData}/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: getData('showSaveOption'),\r\n features: getData('features')\r\n }\r\n})","import './style.scss';\r\nimport {registerCreditCardForm} from \"@paymentplugins/stripe/util\";\r\nimport {CardNumberElement, CardExpiryElement, CardCvcElement} from '@stripe/react-stripe-js';\r\nimport {__} from \"@wordpress/i18n\";\r\n\r\nconst Bootstrap = ({CardIcon, options, onChange}) => {\r\n return (\r\n <div className='wc-stripe-bootstrap-form'>\r\n <div className='row'>\r\n <div className='col-md-6 mb-3'>\r\n <CardNumberElement className='md-form md-outline stripe-input' options={options['cardNumber']}\r\n onChange={onChange(CardNumberElement)}/>\r\n <label htmlFor=\"stripe-card-number\">{__('Card Number', 'woo-stripe-payment')}</label>\r\n {CardIcon}\r\n </div>\r\n <div className='col-md-3 mb-3'>\r\n <CardExpiryElement className='md-form md-outline stripe-input' options={options['cardExpiry']}\r\n onChange={onChange(CardExpiryElement)}/>\r\n <label htmlFor=\"stripe-exp\">{__('Exp', 'woo-stripe-payment')}</label>\r\n </div>\r\n <div className='col-md-3 mb-3'>\r\n <CardCvcElement className=\"md-form md-outline stripe-input\" options={options['cardCvc']}\r\n onChange={onChange(CardCvcElement)}/>\r\n <label htmlFor=\"stripe-cvv\">{__('CVV', 'woo-stripe-payment')}</label>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nregisterCreditCardForm({\r\n id: 'bootstrap',\r\n breakpoint: 475,\r\n component: <Bootstrap/>\r\n})","import {getCreditCardForm} from \"../../util\";\r\nimport {cloneElement, useRef, useCallback, useEffect, useState} from '@wordpress/element';\r\nimport {useElements, CardNumberElement, CardExpiryElement, CardCvcElement} from '@stripe/react-stripe-js';\r\nimport {sprintf, __} from '@wordpress/i18n';\r\nimport {useBreakpointWidth} from \"../../hooks\";\r\n\r\nconst classes = {\r\n focus: 'focused',\r\n empty: 'empty',\r\n invalid: 'invalid'\r\n}\r\n\r\nconst CustomCardForm = (\r\n {\r\n getData,\r\n onChange: eventChange,\r\n onComplete\r\n }) => {\r\n const [cardType, setCardType] = useState('');\r\n const elementOrder = useRef([]);\r\n const [container, setContainer] = useState(null);\r\n const elements = useElements();\r\n const id = getData('customForm');\r\n const {component: CardForm = null, breakpoint = 475} = getCreditCardForm(id);\r\n const postalCodeEnabled = getData('postalCodeEnabled');\r\n const options = {};\r\n const elementStatus = useRef({'cardNumber': {}, 'cardExpiry': {}, 'cardCvc': {}});\r\n ['cardNumber', 'cardExpiry', 'cardCvc'].forEach(type => {\r\n options[type] = {\r\n classes,\r\n ...getData('cardOptions'),\r\n ...getData('customFieldOptions')[type],\r\n }\r\n });\r\n const onChange = (element) => {\r\n setElementOrder(element);\r\n return (event) => {\r\n eventChange(event);\r\n elementStatus.current[event.elementType] = event;\r\n if (event.elementType === 'cardNumber') {\r\n if (event.brand === 'unknown') {\r\n setCardType('');\r\n } else {\r\n setCardType(event.brand);\r\n }\r\n }\r\n if (event.complete) {\r\n const idx = elementOrder.current.indexOf(element);\r\n if (elementOrder.current[idx + 1]) {\r\n const nextElement = elementOrder.current[idx + 1];\r\n elements.getElement(nextElement).focus();\r\n }\r\n }\r\n onComplete(isFormComplete());\r\n }\r\n }\r\n\r\n const isFormComplete = () => {\r\n let status = elementStatus.current;\r\n return Object.keys(status).filter(key => !!status[key].complete).length === Object.keys(status).length;\r\n }\r\n\r\n const setElementOrder = useCallback((element) => {\r\n if (!elementOrder.current.includes(element)) {\r\n elementOrder.current.push(element);\r\n }\r\n }, []);\r\n\r\n useBreakpointWidth({name: 'creditCardForm', width: breakpoint, node: container, className: 'small-form'});\r\n\r\n const getCardIconSrc = useCallback((type) => {\r\n for (let id of Object.keys(getData('cards'))) {\r\n if (id === type) {\r\n return getData('cards')[id];\r\n }\r\n }\r\n return '';\r\n }, []);\r\n\r\n if (!CardForm) {\r\n return (\r\n <div className='wc-stripe-custom-form-error'>\r\n <p>{sprintf(__('%s is not a valid blocks Stripe custom form. Please choose another custom form option in the Credit Card Settings.', 'woo-stripe-payment'), getData('customFormLabels')[id])}</p>\r\n </div>\r\n )\r\n }\r\n return (\r\n <div className={`wc-stripe-custom-form ${id}`} ref={setContainer}>\r\n {cloneElement(CardForm, {\r\n postalCodeEnabled,\r\n options,\r\n onChange,\r\n CardIcon: <CardIcon type={cardType} src={getCardIconSrc(cardType)}/>\r\n })}\r\n </div>\r\n )\r\n\r\n}\r\n\r\nconst CardIcon = ({type, src}) => {\r\n if (type) {\r\n return <img className={`wc-stripe-card ${type}`} src={src}/>\r\n }\r\n return null;\r\n}\r\n\r\nexport default CustomCardForm;\r\n","import './style.scss';\r\nimport {registerCreditCardForm} from \"@paymentplugins/stripe/util\";\r\nimport {CardNumberElement, CardExpiryElement, CardCvcElement} from '@stripe/react-stripe-js';\r\nimport {__} from \"@wordpress/i18n\";\r\nimport {useEffect, useCallback, useRef} from '@wordpress/element';\r\n\r\nconst SimpleForm = ({CardIcon, options, onChange}) => {\r\n useEffect(() => {\r\n }, []);\r\n return (\r\n <div className='wc-stripe-simple-form'>\r\n <div className=\"row\">\r\n <div className=\"field\">\r\n <div className='field-item'>\r\n <CardNumberElement id=\"stripe-card-number\" className=\"input empty\"\r\n options={options['cardNumber']}\r\n onChange={onChange(CardNumberElement)}/>\r\n <label htmlFor=\"stripe-card-number\"\r\n data-tid=\"\">{__('Card Number', 'woo-stripe-payment')}</label>\r\n <div className=\"baseline\"></div>\r\n {CardIcon}\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"field half-width\">\r\n <div className='field-item'>\r\n <CardExpiryElement id=\"stripe-exp\" className=\"input empty\" options={options['cardExpiry']}\r\n onChange={onChange(CardExpiryElement)}/>\r\n <label htmlFor=\"stripe-exp\"\r\n data-tid=\"\">{__('Expiration', 'woo-stripe-payment')}</label>\r\n <div className=\"baseline\"></div>\r\n </div>\r\n </div>\r\n <div className=\"field half-width cvc\">\r\n <div className='field-item'>\r\n <CardCvcElement id=\"stripe-cvv\" className=\"input empty\" options={options['cardCvc']}\r\n onChange={onChange(CardCvcElement)}/>\r\n <label htmlFor=\"stripe-cvv\"\r\n data-tid=\"\">{__('CVV', 'woo-stripe-payment')}</label>\r\n <div className=\"baseline\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nregisterCreditCardForm({\r\n id: 'simple',\r\n component: <SimpleForm/>,\r\n breakpoint: 375\r\n})","import {CardElement} from \"@stripe/react-stripe-js\";\r\nimport {isFieldRequired} from \"../../util\";\r\nimport {useMemo} from '@wordpress/element';\r\n\r\nconst StripeCardForm = ({getData, billing, onChange: eventChange, onComplete}) => {\r\n const elementStatus = {card: {}};\r\n const onChange = (event) => {\r\n eventChange(event);\r\n elementStatus[event.elementType] = event;\r\n onComplete(isFormComplete());\r\n }\r\n const isFormComplete = () => {\r\n return Object.keys(elementStatus).filter(type => !!elementStatus[type].complete).length === Object.keys(elementStatus).length;\r\n }\r\n const cardOptions = useMemo(() => {\r\n return {\r\n ...{\r\n value: {\r\n postalCode: billing?.billingData?.postcode\r\n },\r\n hidePostalCode: isFieldRequired('postcode'),\r\n iconStyle: 'default'\r\n }, ...getData('cardOptions')\r\n };\r\n }, [billing.billingData]);\r\n return (\r\n <div className='wc-stripe-inline-form'>\r\n <CardElement options={cardOptions} onChange={onChange}/>\r\n </div>\r\n )\r\n}\r\n\r\nexport default StripeCardForm;","import './style.scss';\r\n\r\nexport * from './payment-method';\r\n\r\nimport './components/bootstrap';\r\nimport './components/simple';\r\n","import {useEffect, useState, useCallback, useMemo} from '@wordpress/element';\r\nimport {Elements, PaymentElement, useStripe, useElements} from '@stripe/react-stripe-js';\r\nimport {\r\n getSettings,\r\n initStripe as loadStripe\r\n} from '../util';\r\n\r\nimport {Installments} from '../../components/checkout/';\r\n\r\nimport {useProcessCheckoutError, useUpdatePaymentIntent} from \"../hooks\";\r\n\r\n\r\nconst getData = getSettings('stripe_cc_data');\r\n\r\nexport const PaymentElementComponent = ({cartData, ...props}) => {\r\n const clientSecret = cartData?.extensions?.stripe_cc?.clientSecret;\r\n return (\r\n <>\r\n <Elements stripe={loadStripe} options={{...getData('elementOptions'), clientSecret}}>\r\n <CardElement {...props} clientSecret={clientSecret}/>\r\n </Elements>\r\n </>\r\n );\r\n}\r\n\r\nconst CardElement = ({onComplete, clientSecret, ...props}) => {\r\n const [formComplete, setFormComplete] = useState(false);\r\n const installmentsActive = getData('installmentsActive')\r\n const elements = useElements();\r\n const stripe = useStripe();\r\n const {billing: {billingData}, eventRegistration, emitResponse, shouldSavePayment} = props;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const name = getData('name');\r\n const onChange = useCallback((event) => {\r\n setFormComplete(event.complete);\r\n }, []);\r\n const {updatePaymentIntent, addPaymentMethodData} = useUpdatePaymentIntent({\r\n clientSecret,\r\n billingData,\r\n eventRegistration,\r\n responseTypes,\r\n shouldSavePayment,\r\n noticeContexts,\r\n name\r\n });\r\n\r\n useProcessCheckoutError({\r\n responseTypes,\r\n subscriber: onCheckoutAfterProcessingWithError,\r\n messageContext: noticeContexts.PAYMENTS\r\n });\r\n\r\n const getPaymentMethod = useCallback(async () => {\r\n let paymentMethod = null;\r\n const result = await updatePaymentIntent();\r\n if (result?.paymentIntent?.payment_method) {\r\n paymentMethod = result.paymentIntent.payment_method;\r\n }\r\n return paymentMethod;\r\n }, [updatePaymentIntent]);\r\n\r\n const options = {\r\n fields: {\r\n billingDetails: 'never'\r\n },\r\n wallets: {applePay: 'never', googlePay: 'never'}\r\n }\r\n return (\r\n <>\r\n <PaymentElement options={options} onChange={onChange}/>\r\n {installmentsActive && <Installments\r\n paymentMethodName={getData('name')}\r\n stripe={stripe}\r\n cardFormComplete={formComplete}\r\n getPaymentMethod={getPaymentMethod}\r\n addPaymentMethodData={addPaymentMethodData}/>}\r\n </>\r\n )\r\n}\r\n\r\nexport default PaymentElementComponent;","import {useEffect, useState, useCallback, useMemo} from '@wordpress/element';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {\r\n initStripe as loadStripe,\r\n getSettings,\r\n} from '../util';\r\nimport {Elements, CardElement, useStripe, useElements, CardNumberElement} from '@stripe/react-stripe-js';\r\nimport {PaymentMethodLabel, PaymentMethod} from '../../components/checkout';\r\nimport SavedCardComponent from '../saved-card-component';\r\nimport CustomCardForm from './components/custom-card-form';\r\nimport StripeCardForm from \"./components/stripe-card-form\";\r\nimport {Installments} from '../../components/checkout';\r\nimport PaymentElementComponent from './payment-element';\r\nimport {\r\n useProcessPaymentIntent,\r\n useAfterProcessingPayment,\r\n useSetupIntent,\r\n useStripeError\r\n} from \"../hooks\";\r\n\r\nconst getData = getSettings('stripe_cc_data');\r\n\r\nconst CreditCardContent = (props) => {\r\n const [error, setError] = useState(false);\r\n useEffect(() => {\r\n loadStripe.catch(error => {\r\n setError(error);\r\n })\r\n }, [setError]);\r\n if (error) {\r\n throw new Error(error);\r\n }\r\n if (getData('isPaymentElement')) {\r\n return (\r\n <PaymentElementComponent {...props}/>\r\n )\r\n }\r\n return (\r\n <Elements stripe={loadStripe} options={getData('elementOptions')}>\r\n <CreditCardElement {...props}/>\r\n </Elements>\r\n );\r\n};\r\n\r\nconst CreditCardElement = (\r\n {\r\n getData,\r\n billing,\r\n shippingData,\r\n emitResponse,\r\n eventRegistration,\r\n activePaymentMethod,\r\n shouldSavePayment\r\n }) => {\r\n const [error, setError] = useStripeError();\r\n const [formComplete, setFormComplete] = useState(false);\r\n const {onPaymentProcessing} = eventRegistration;\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n const getPaymentMethodArgs = useCallback(() => {\r\n const elType = getData('customFormActive') ? CardNumberElement : CardElement;\r\n return {card: elements.getElement(elType)};\r\n }, [stripe, elements]);\r\n\r\n const {setupIntent, removeSetupIntent} = useSetupIntent({\r\n getData,\r\n cartTotal: billing.cartTotal,\r\n setError\r\n })\r\n\r\n const {getCreatePaymentMethodArgs, addPaymentMethodData} = useProcessPaymentIntent({\r\n getData,\r\n billing,\r\n shippingData,\r\n emitResponse,\r\n error,\r\n onPaymentProcessing,\r\n shouldSavePayment,\r\n setupIntent,\r\n removeSetupIntent,\r\n getPaymentMethodArgs,\r\n activePaymentMethod\r\n });\r\n useAfterProcessingPayment({\r\n getData,\r\n eventRegistration,\r\n responseTypes: emitResponse.responseTypes,\r\n activePaymentMethod,\r\n shouldSavePayment\r\n });\r\n\r\n const onChange = (event) => {\r\n if (event.error) {\r\n setError(event.error);\r\n } else {\r\n setError(false);\r\n }\r\n }\r\n\r\n const getPaymentMethod = useCallback(async () => {\r\n let paymentMethod = null;\r\n const result = await stripe.createPaymentMethod(getCreatePaymentMethodArgs());\r\n if (result?.paymentMethod?.id) {\r\n paymentMethod = result.paymentMethod.id;\r\n }\r\n return paymentMethod;\r\n }, [stripe, getCreatePaymentMethodArgs]);\r\n\r\n const Tag = getData('customFormActive') ? CustomCardForm : StripeCardForm;\r\n return (\r\n <div className='wc-stripe-card-container'>\r\n <Tag {...{getData, billing, onChange}} onComplete={setFormComplete}/>\r\n {getData('installmentsActive') && <Installments\r\n paymentMethodName={getData('name')}\r\n cardFormComplete={formComplete}\r\n addPaymentMethodData={addPaymentMethodData}\r\n getPaymentMethod={getPaymentMethod}/>}\r\n\r\n </div>\r\n );\r\n}\r\n\r\nregisterPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icons')}/>,\r\n ariaLabel: 'Credit Cards',\r\n canMakePayment: () => loadStripe,\r\n content: <PaymentMethod content={CreditCardContent} getData={getData}/>,\r\n savedTokenComponent: <SavedCardComponent getData={getData} method={getData('isPaymentElement') ? 'confirmCardPayment' : 'handleCardAction'}/>,\r\n edit: <PaymentMethod content={CreditCardContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: true,\r\n features: getData('features')\r\n }\r\n})","import {Component} from '@wordpress/element';\r\n\r\nclass ErrorBoundary extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {hasError: false, error: null, errorInfo: null};\r\n }\r\n\r\n componentDidCatch(error, errorInfo) {\r\n this.setState({\r\n hasError: true,\r\n error,\r\n errorInfo\r\n })\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n return (\r\n <>\r\n {this.state.error && <div className='wc-stripe-block-error'>{this.state.error.toString()}</div>}\r\n {this.state.errorInfo &&\r\n <div className='wc-stripe-block-error'>{this.state.errorInfo.componentStack}</div>}\r\n </>\r\n )\r\n }\r\n return this.props.children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;","import {useRef, useEffect} from '@wordpress/element';\r\nimport {usePaymentsClient, usePaymentRequest} from './hooks';\r\nimport {\r\n useProcessPaymentIntent,\r\n useStripeError,\r\n useExportedValues,\r\n useExpressBreakpointWidth, useAfterProcessingPayment\r\n} from '../hooks';\r\nimport {getSettings} from '@paymentplugins/stripe/util';\r\n\r\nconst {publishableKey} = getSettings('stripeGeneralData')();\r\n\r\nconst GooglePayButton = (\r\n {\r\n getData,\r\n setErrorMessage,\r\n billing,\r\n shippingData,\r\n canMakePayment,\r\n checkoutStatus,\r\n eventRegistration,\r\n activePaymentMethod,\r\n onClick,\r\n onClose,\r\n ...props\r\n }) => {\r\n const merchantInfo = {\r\n merchantId: getData('merchantId'),\r\n merchantName: getData('merchantName')\r\n };\r\n const [error, setError] = useStripeError();\r\n const buttonContainer = useRef();\r\n const {onSubmit, emitResponse} = props;\r\n const {onPaymentProcessing} = eventRegistration;\r\n const exportedValues = useExportedValues();\r\n const width = getData('buttonStyle').buttonType === 'long' ? 390 : 300;\r\n const {setPaymentMethod} = useProcessPaymentIntent({\r\n getData,\r\n billing,\r\n shippingData,\r\n onPaymentProcessing,\r\n emitResponse,\r\n error,\r\n exportedValues,\r\n onSubmit,\r\n checkoutStatus,\r\n activePaymentMethod\r\n });\r\n\r\n const paymentRequest = usePaymentRequest({\r\n getData,\r\n publishableKey,\r\n merchantInfo,\r\n billing,\r\n shippingData\r\n })\r\n\r\n const {button, removeButton} = usePaymentsClient({\r\n merchantInfo,\r\n paymentRequest,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n canMakePayment,\r\n setErrorMessage,\r\n onSubmit,\r\n setPaymentMethod,\r\n exportedValues,\r\n onClick,\r\n onClose,\r\n getData\r\n });\r\n\r\n useAfterProcessingPayment({\r\n getData,\r\n eventRegistration,\r\n responseTypes: emitResponse.responseTypes,\r\n activePaymentMethod\r\n });\r\n\r\n useExpressBreakpointWidth({payment_method: getData('name'), width});\r\n\r\n useEffect(() => {\r\n if (button) {\r\n // prevent button duplicates\r\n removeButton(buttonContainer.current);\r\n buttonContainer.current.append(button);\r\n }\r\n }, [button]);\r\n\r\n return (\r\n <div className='wc-stripe-gpay-button-container' ref={buttonContainer}></div>\r\n )\r\n}\r\n\r\nexport default GooglePayButton;","export const BASE_PAYMENT_METHOD = {\r\n type: 'CARD',\r\n parameters: {\r\n allowedAuthMethods: [\"PAN_ONLY\"],\r\n allowedCardNetworks: [\"AMEX\", \"DISCOVER\", \"INTERAC\", \"JCB\", \"MASTERCARD\", \"VISA\"],\r\n assuranceDetailsRequired: true\r\n }\r\n};\r\n\r\nexport const BASE_PAYMENT_REQUEST = {\r\n apiVersion: 2,\r\n apiVersionMinor: 0\r\n}","export * from './use-payments-client';\r\nexport * from './use-payment-request';\r\nexport * from './use-error-message';","import {useState} from '@wordpress/element';\r\n\r\nexport const useErrorMessage = () => {\r\n const [errorMessage, setErrorMessage] = useState(false);\r\n return {errorMessage, setErrorMessage};\r\n}","import {useState, useEffect, useMemo} from '@wordpress/element';\r\nimport {BASE_PAYMENT_REQUEST, BASE_PAYMENT_METHOD} from \"../constants\";\r\nimport {isEmpty, isFieldRequired} from \"../../util\";\r\nimport {getTransactionInfo, getShippingOptionParameters} from \"../util\";\r\n\r\nexport const usePaymentRequest = ({getData, publishableKey, merchantInfo, billing, shippingData}) => {\r\n const {billingData} = billing;\r\n const {shippingRates} = shippingData;\r\n const {processingCountry, totalPriceLabel} = getData();\r\n\r\n const paymentRequest = useMemo(() => {\r\n let options = {\r\n ...{\r\n emailRequired: isEmpty(billingData.email),\r\n merchantInfo,\r\n allowedPaymentMethods: [{\r\n ...{\r\n type: 'CARD',\r\n tokenizationSpecification: {\r\n type: \"PAYMENT_GATEWAY\",\r\n parameters: {\r\n gateway: 'stripe',\r\n \"stripe:version\": \"2018-10-31\",\r\n \"stripe:publishableKey\": publishableKey\r\n }\r\n }\r\n }, ...BASE_PAYMENT_METHOD\r\n }],\r\n shippingAddressRequired: shippingData.needsShipping,\r\n transactionInfo: getTransactionInfo({\r\n billing,\r\n processingCountry,\r\n totalPriceLabel\r\n }),\r\n callbackIntents: ['PAYMENT_AUTHORIZATION']\r\n }, ...BASE_PAYMENT_REQUEST\r\n };\r\n options.allowedPaymentMethods[0].parameters.billingAddressRequired = true;\r\n options.allowedPaymentMethods[0].parameters.billingAddressParameters = {\r\n format: 'FULL',\r\n phoneNumberRequired: isFieldRequired('phone', billingData.country) && isEmpty(billingData.phone)\r\n };\r\n if (options.shippingAddressRequired) {\r\n options.callbackIntents = [...options.callbackIntents, ...['SHIPPING_ADDRESS', 'SHIPPING_OPTION']];\r\n options.shippingOptionRequired = true;\r\n const shippingOptionParameters = getShippingOptionParameters(shippingRates);\r\n if (shippingOptionParameters.shippingOptions.length > 0) {\r\n options = {...options, shippingOptionParameters};\r\n }\r\n }\r\n return options;\r\n }, [\r\n billing.cartTotal,\r\n billing.cartTotalItems,\r\n billingData,\r\n shippingData\r\n ]);\r\n return paymentRequest;\r\n}","import {useState, useEffect, useCallback, useMemo, useRef} from '@wordpress/element';\r\nimport isShallowEqual from \"@wordpress/is-shallow-equal\";\r\nimport {\r\n getErrorMessage,\r\n getSelectedShippingOption,\r\n getBillingDetailsFromAddress,\r\n isAddressValid,\r\n isEmpty,\r\n StripeError,\r\n getIntermediateAddress\r\n} from \"../../util\";\r\nimport {useStripe} from \"@stripe/react-stripe-js\";\r\nimport {getPaymentRequestUpdate, toCartAddress} from \"../util\";\r\nimport {__} from \"@wordpress/i18n\";\r\nimport {usePaymentEvents} from \"../../hooks\";\r\n\r\nexport const usePaymentsClient = (\r\n {\r\n merchantInfo,\r\n paymentRequest,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n canMakePayment,\r\n setErrorMessage,\r\n setPaymentMethod,\r\n exportedValues,\r\n onClick,\r\n onClose,\r\n getData\r\n }) => {\r\n const {environment} = getData();\r\n const [paymentsClient, setPaymentsClient] = useState();\r\n const [button, setButton] = useState(null);\r\n const currentBilling = useRef(billing);\r\n const currentShipping = useRef(shippingData);\r\n const stripe = useStripe();\r\n const {addPaymentEvent} = usePaymentEvents({\r\n billing,\r\n shippingData,\r\n eventRegistration\r\n });\r\n useEffect(() => {\r\n currentBilling.current = billing;\r\n currentShipping.current = shippingData;\r\n });\r\n\r\n const setAddressData = useCallback((paymentData) => {\r\n if (paymentData?.paymentMethodData?.info?.billingAddress) {\r\n let billingAddress = paymentData.paymentMethodData.info.billingAddress;\r\n if (isAddressValid(currentBilling.current.billingData, ['phone', 'email']) && isEmpty(currentBilling.current.billingData?.phone)) {\r\n billingAddress = {phoneNumber: billingAddress.phoneNumber};\r\n }\r\n exportedValues.billingData = currentBilling.current.billingData = toCartAddress(billingAddress, {email: paymentData.email});\r\n }\r\n if (paymentData?.shippingAddress) {\r\n exportedValues.shippingAddress = toCartAddress(paymentData.shippingAddress);\r\n }\r\n }, [exportedValues, paymentRequest]);\r\n\r\n const removeButton = useCallback((parentElement) => {\r\n while (parentElement.firstChild) {\r\n parentElement.removeChild(parentElement.firstChild);\r\n }\r\n }, [button]);\r\n const handleClick = useCallback(async () => {\r\n onClick();\r\n try {\r\n let paymentData = await paymentsClient.loadPaymentData(paymentRequest);\r\n\r\n // set the address data so it can be used during the checkout process\r\n setAddressData(paymentData);\r\n\r\n const data = JSON.parse(paymentData.paymentMethodData.tokenizationData.token);\r\n\r\n let result = await stripe.createPaymentMethod({\r\n type: 'card',\r\n card: {token: data.id},\r\n billing_details: getBillingDetailsFromAddress(currentBilling.current.billingData)\r\n });\r\n\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n\r\n setPaymentMethod(result.paymentMethod.id);\r\n } catch (err) {\r\n if (err?.statusCode === \"CANCELED\") {\r\n onClose();\r\n } else {\r\n console.log(getErrorMessage(err));\r\n setErrorMessage(getErrorMessage(err));\r\n }\r\n }\r\n }, [\r\n stripe,\r\n paymentsClient,\r\n onClick\r\n ]);\r\n\r\n const createButton = useCallback(async () => {\r\n try {\r\n if (paymentsClient && !button && stripe) {\r\n await canMakePayment;\r\n setButton(paymentsClient.createButton({\r\n onClick: handleClick,\r\n ...getData('buttonStyle')\r\n }));\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }, [\r\n stripe,\r\n button,\r\n paymentsClient,\r\n handleClick\r\n ]);\r\n\r\n const paymentOptions = useMemo(() => {\r\n let options = {\r\n environment,\r\n merchantInfo,\r\n paymentDataCallbacks: {\r\n onPaymentAuthorized: () => Promise.resolve({transactionState: \"SUCCESS\"})\r\n }\r\n }\r\n if (paymentRequest.shippingAddressRequired) {\r\n options.paymentDataCallbacks.onPaymentDataChanged = (paymentData) => {\r\n return new Promise((resolve, reject) => {\r\n const shipping = currentShipping.current;\r\n const {shippingAddress: address, shippingOptionData} = paymentData;\r\n const intermediateAddress = toCartAddress(address);\r\n // pass the Promise resolve to a ref so it persists beyond the re-render\r\n const selectedRates = getSelectedShippingOption(shippingOptionData.id);\r\n const addressEqual = isShallowEqual(getIntermediateAddress(shipping.shippingAddress), intermediateAddress);\r\n const shippingEqual = isShallowEqual(shipping.selectedRates, {\r\n [selectedRates[1]]: selectedRates[0]\r\n });\r\n addPaymentEvent('onShippingChanged', (success, {billing, shipping}) => {\r\n if (success) {\r\n resolve(getPaymentRequestUpdate({\r\n billing,\r\n shippingData: {\r\n needsShipping: true,\r\n shippingRates: shipping.shippingRates\r\n },\r\n processingCountry: getData('processingCountry'),\r\n totalPriceLabel: getData('totalPriceLabel')\r\n }))\r\n } else {\r\n resolve({\r\n error: {\r\n reason: 'SHIPPING_ADDRESS_UNSERVICEABLE',\r\n message: __('Your shipping address is not serviceable.', 'woo-stripe-payment'),\r\n intent: 'SHIPPING_ADDRESS'\r\n }\r\n });\r\n }\r\n }, addressEqual && shippingEqual);\r\n currentShipping.current.setShippingAddress({...currentShipping.current.shippingAddress, ...intermediateAddress});\r\n if (shippingOptionData.id !== 'shipping_option_unselected') {\r\n currentShipping.current.setSelectedRates(...selectedRates);\r\n }\r\n })\r\n }\r\n }\r\n return options;\r\n }, [paymentRequest]);\r\n\r\n useEffect(() => {\r\n setPaymentsClient(new google.payments.api.PaymentsClient(paymentOptions));\r\n }, [paymentOptions]);\r\n\r\n useEffect(() => {\r\n createButton();\r\n }, [createButton])\r\n\r\n return {\r\n button,\r\n removeButton\r\n };\r\n}","import './style.scss';\r\n\r\nexport * from './payment-method';","import {registerExpressPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, initStripe as loadStripe, isCartPage} from '../util';\r\nimport {useErrorMessage} from \"./hooks\";\r\nimport GooglePayButton from './button';\r\nimport {BASE_PAYMENT_METHOD, BASE_PAYMENT_REQUEST} from './constants';\r\nimport google from '@googlepay';\r\nimport {Elements} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_googlepay_data');\r\n\r\nconst canMakePayment = (() => {\r\n const paymentsClient = new google.payments.api.PaymentsClient({\r\n environment: getData('environment'),\r\n merchantInfo: {\r\n merchantId: getData('merchantId'),\r\n merchantName: getData('merchantName')\r\n }\r\n });\r\n const isReadyToPayRequest = {...BASE_PAYMENT_REQUEST, allowedPaymentMethods: [BASE_PAYMENT_METHOD]};\r\n return paymentsClient.isReadyToPay(isReadyToPayRequest).then(() => {\r\n return true;\r\n }).catch(err => {\r\n console.log(err);\r\n return false;\r\n })\r\n})();\r\n\r\nconst GooglePayContent = ({getData, components, ...props}) => {\r\n const {ValidationInputError} = components;\r\n const {errorMessage, setErrorMessage} = useErrorMessage();\r\n return (\r\n <div className='wc-stripe-gpay-container'>\r\n <Elements stripe={loadStripe}>\r\n <GooglePayButton getData={getData}\r\n canMakePayment={canMakePayment}\r\n setErrorMessage={setErrorMessage}\r\n {...props}/>\r\n {errorMessage && <ValidationInputError errorMessage={errorMessage}/>}\r\n </Elements>\r\n </div>\r\n )\r\n}\r\n\r\nconst GooglePayEdit = ({getData, ...props}) => {\r\n const buttonType = getData('buttonStyle').buttonType;\r\n const src = getData('editorIcons')?.[buttonType] || 'long';\r\n return (\r\n <div className={`gpay-block-editor ${buttonType}`}>\r\n <img src={src}/>\r\n </div>\r\n )\r\n}\r\n\r\nregisterExpressPaymentMethod({\r\n name: getData('name'),\r\n canMakePayment: () => {\r\n if (getData('isAdmin')) {\r\n if (isCartPage()) {\r\n return getData('cartCheckoutEnabled');\r\n }\r\n return true;\r\n }\r\n if (isCartPage() && !getData('cartCheckoutEnabled')) {\r\n return false;\r\n }\r\n return loadStripe.then(stripe => {\r\n if (stripe.error) {\r\n return stripe;\r\n }\r\n return canMakePayment;\r\n });\r\n },\r\n content: <GooglePayContent getData={getData}/>,\r\n edit: <GooglePayEdit getData={getData}/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: getData('showSaveOption'),\r\n features: getData('features')\r\n }\r\n})","import {getShippingOptionId, removeNumberPrecision, toCartAddress as mapAddressToCartAddress} from \"../util\";\r\nimport {formatPrice} from '../util';\r\nimport {getSetting} from '@woocommerce/settings'\r\n\r\nconst generalData = getSetting('stripeGeneralData');\r\n\r\nconst ADDRESS_MAPPINGS = {\r\n name: (address, name) => {\r\n address.first_name = name.split(' ').slice(0, -1).join(' ');\r\n address.last_name = name.split(' ').pop();\r\n return address;\r\n },\r\n countryCode: 'country',\r\n address1: 'address_1',\r\n address2: 'address_2',\r\n locality: 'city',\r\n administrativeArea: 'state',\r\n postalCode: 'postcode',\r\n email: 'email',\r\n phoneNumber: 'phone'\r\n}\r\n\r\nexport const getTransactionInfo = ({billing, processingCountry, totalPriceLabel}, status = 'ESTIMATED') => {\r\n const {cartTotal, cartTotalItems, currency} = billing;\r\n const transactionInfo = {\r\n countryCode: processingCountry,\r\n currencyCode: currency.code,\r\n totalPriceStatus: status,\r\n totalPrice: removeNumberPrecision(cartTotal.value, currency.minorUnit).toString(),\r\n displayItems: getDisplayItems(cartTotalItems, currency.minorUnit),\r\n totalPriceLabel\r\n }\r\n return transactionInfo;\r\n}\r\n\r\nexport const getPaymentRequestUpdate = ({billing, shippingData, processingCountry, totalPriceLabel}) => {\r\n const {needsShipping, shippingRates} = shippingData;\r\n let update = {\r\n newTransactionInfo: getTransactionInfo({\r\n billing, processingCountry, totalPriceLabel\r\n }, 'FINAL')\r\n }\r\n if (needsShipping) {\r\n update.newShippingOptionParameters = getShippingOptionParameters(shippingRates);\r\n }\r\n return update;\r\n}\r\n\r\n/**\r\n * Return an array of line item objects\r\n * @param cartTotalItems\r\n * @param unit\r\n * @returns {[]}\r\n */\r\nconst getDisplayItems = (cartTotalItems, unit = 2) => {\r\n let items = [];\r\n const keys = ['total_tax', 'total_shipping'];\r\n cartTotalItems.forEach(item => {\r\n if (0 < item.value || (item.key && keys.includes(item.key))) {\r\n items.push({\r\n label: item.label,\r\n type: 'LINE_ITEM',\r\n price: removeNumberPrecision(item.value, unit).toString()\r\n });\r\n }\r\n })\r\n return items;\r\n}\r\n\r\nexport const getShippingOptionParameters = (shippingRates) => {\r\n const shippingOptions = getShippingOptions(shippingRates);\r\n const shippingOptionIds = shippingOptions.map(option => option.id);\r\n let defaultSelectedOptionId = shippingOptionIds.slice(0, 1).shift();\r\n shippingRates.forEach((shippingPackage, idx) => {\r\n shippingPackage.shipping_rates.forEach(rate => {\r\n if (rate.selected) {\r\n defaultSelectedOptionId = getShippingOptionId(idx, rate.rate_id);\r\n }\r\n });\r\n });\r\n return {\r\n shippingOptions,\r\n defaultSelectedOptionId,\r\n }\r\n}\r\n\r\n//id label description\r\nexport const getShippingOptions = (shippingRates) => {\r\n let options = [];\r\n shippingRates.forEach((shippingPackage, idx) => {\r\n let rates = shippingPackage.shipping_rates.map(rate => {\r\n let txt = document.createElement('textarea');\r\n txt.innerHTML = rate.name;\r\n let price = formatPrice(rate.price, rate.currency_code);\r\n return {\r\n id: getShippingOptionId(idx, rate.rate_id),\r\n label: txt.value,\r\n description: `${price}`\r\n }\r\n });\r\n options = [...options, ...rates];\r\n });\r\n return options;\r\n}\r\n\r\nexport const toCartAddress = mapAddressToCartAddress(ADDRESS_MAPPINGS);\r\n","export * from './use-process-payment-intent';\r\nexport * from './use-after-process-payment';\r\nexport * from './use-setup-intent';\r\nexport * from './use-stripe-error';\r\nexport * from './use-exported-values';\r\nexport * from './use-payment-request';\r\nexport * from './use-payment-events';\r\nexport * from './use-breakpoint-width';\r\nexport * from './use-process-checkout-error';\r\nexport * from './use-update-payment-intent';","import {useEffect} from '@wordpress/element'\r\nimport {useStripe} from \"@stripe/react-stripe-js\";\r\nimport {handleCardAction} from \"../util\";\r\nimport {useProcessCheckoutError} from \"./use-process-checkout-error\";\r\n\r\nexport const useAfterProcessingPayment = (\r\n {\r\n getData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n shouldSavePayment = false,\r\n messageContext = null\r\n }) => {\r\n const stripe = useStripe();\r\n const {onCheckoutAfterProcessingWithSuccess, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n useProcessCheckoutError({\r\n responseTypes,\r\n subscriber: onCheckoutAfterProcessingWithError,\r\n messageContext\r\n });\r\n useEffect(() => {\r\n let unsubscribeAfterProcessingWithSuccess = onCheckoutAfterProcessingWithSuccess(async ({redirectUrl}) => {\r\n if (getData('name') === activePaymentMethod) {\r\n //check if response is in redirect. If so, open modal\r\n return await handleCardAction({\r\n redirectUrl,\r\n responseTypes,\r\n name: activePaymentMethod,\r\n savePaymentMethod: shouldSavePayment\r\n });\r\n }\r\n return null;\r\n })\r\n return () => unsubscribeAfterProcessingWithSuccess()\r\n }, [\r\n stripe,\r\n responseTypes,\r\n onCheckoutAfterProcessingWithSuccess,\r\n activePaymentMethod,\r\n shouldSavePayment\r\n ]);\r\n}","import {useState, useEffect, useCallback} from '@wordpress/element';\r\nimport {storeInCache, getFromCache} from \"../util\";\r\n\r\nexport const useBreakpointWidth = (\r\n {\r\n name,\r\n width,\r\n node,\r\n className\r\n }) => {\r\n const [windowWidth, setWindowWith] = useState(window.innerWidth);\r\n const getMaxWidth = useCallback((name) => {\r\n const maxWidth = getFromCache(name);\r\n return maxWidth ? parseInt(maxWidth) : 0;\r\n }, []);\r\n const setMaxWidth = useCallback((name, width) => storeInCache(name, width), []);\r\n\r\n useEffect(() => {\r\n const el = typeof node === 'function' ? node() : node;\r\n\r\n if (el) {\r\n const maxWidth = getMaxWidth(name);\r\n if (!maxWidth || width > maxWidth) {\r\n setMaxWidth(name, width);\r\n }\r\n if (el.clientWidth < width) {\r\n el.classList.add(className);\r\n } else {\r\n if (el.clientWidth > maxWidth) {\r\n el.classList.remove(className);\r\n }\r\n }\r\n }\r\n }, [windowWidth, node]);\r\n useEffect(() => {\r\n const handleResize = () => setWindowWith(window.innerWidth);\r\n window.addEventListener('resize', handleResize);\r\n return () => window.removeEventListener('resize', handleResize);\r\n });\r\n}\r\n\r\nexport const useExpressBreakpointWidth = (\r\n {\r\n payment_method,\r\n width\r\n }) => {\r\n const node = useCallback(() => {\r\n const el = document.getElementById(`express-payment-method-${payment_method}`);\r\n return el ? el.parentNode : null;\r\n }, []);\r\n useBreakpointWidth({\r\n name: 'expressMaxWidth',\r\n width,\r\n node,\r\n className: 'wc-stripe-express__sm'\r\n });\r\n\r\n}","import {useRef} from '@wordpress/element';\r\n\r\nexport const useExportedValues = () => {\r\n const exportedValues = useRef({});\r\n return exportedValues.current;\r\n}","import {useEffect, useCallback, useRef, useState} from '@wordpress/element';\r\nimport {hasShippingRates} from '../util';\r\n\r\nexport const usePaymentEvents = (\r\n {\r\n billing,\r\n shippingData,\r\n eventRegistration\r\n }) => {\r\n const {onShippingRateSuccess, onShippingRateFail, onShippingRateSelectSuccess} = eventRegistration;\r\n const currentBilling = useRef(billing);\r\n const currentShipping = useRef(shippingData);\r\n const [handler, setHandler] = useState(null);\r\n const [paymentEvents, setPaymentEvent] = useState({\r\n onShippingChanged: false\r\n });\r\n const addPaymentEvent = useCallback((name, handler, execute = false) => {\r\n if (execute) {\r\n setHandler({[name]: handler});\r\n } else {\r\n setPaymentEvent({...paymentEvents, [name]: handler});\r\n }\r\n }, [paymentEvents, setPaymentEvent]);\r\n const removePaymentEvent = useCallback((name) => {\r\n if (paymentEvents[name]) {\r\n delete paymentEvents[name];\r\n setPaymentEvent(paymentEvents);\r\n }\r\n }, [paymentEvents]);\r\n\r\n const onShippingChanged = useCallback(() => {\r\n const shipping = currentShipping.current;\r\n const billing = currentBilling.current;\r\n if (paymentEvents.onShippingChanged && !shipping.isSelectingRate && !shipping.shippingRatesLoading) {\r\n const handler = paymentEvents.onShippingChanged;\r\n let success = true;\r\n if (!hasShippingRates(shipping.shippingRates)) {\r\n success = false;\r\n }\r\n handler(success, {\r\n billing,\r\n shipping\r\n });\r\n removePaymentEvent('onShippingChanged');\r\n }\r\n }, [paymentEvents, removePaymentEvent]);\r\n\r\n useEffect(() => {\r\n currentBilling.current = billing;\r\n currentShipping.current = shippingData;\r\n });\r\n\r\n useEffect(() => {\r\n if (handler) {\r\n if (handler.onShippingChanged) {\r\n handler.onShippingChanged(true, {\r\n billing: currentBilling.current,\r\n shipping: currentShipping.current\r\n })\r\n setHandler(null);\r\n }\r\n }\r\n }, [handler]);\r\n\r\n useEffect(() => {\r\n const unsubscribeShippingRateSuccess = onShippingRateSuccess(onShippingChanged);\r\n const unsubscribeShippingRateSelectSuccess = onShippingRateSelectSuccess(onShippingChanged);\r\n const unsubscribeShippingRateFail = onShippingRateFail(({hasInvalidAddress, hasError}) => {\r\n if (paymentEvents.onShippingChanged) {\r\n const handler = paymentEvents.onShippingChanged;\r\n handler(false);\r\n removePaymentEvent('onShippingChanged');\r\n }\r\n });\r\n\r\n return () => {\r\n unsubscribeShippingRateSuccess();\r\n unsubscribeShippingRateFail();\r\n unsubscribeShippingRateSelectSuccess();\r\n }\r\n }, [\r\n paymentEvents,\r\n onShippingRateSuccess,\r\n onShippingRateFail,\r\n onShippingRateSelectSuccess\r\n ]);\r\n\r\n return {addPaymentEvent, removePaymentEvent};\r\n}","import {useState, useEffect, useRef, useCallback} from '@wordpress/element';\r\nimport {usePaymentEvents} from './use-payment-events';\r\nimport {getIntermediateAddress} from '../util';\r\nimport isShallowEqual from '@wordpress/is-shallow-equal';\r\nimport {\r\n getDisplayItems,\r\n getShippingOptions,\r\n getSelectedShippingOption,\r\n isFieldRequired,\r\n toCartAddress as mapToCartAddress\r\n} from \"../util\";\r\n\r\nconst toCartAddress = mapToCartAddress();\r\n\r\nexport const usePaymentRequest = (\r\n {\r\n getData,\r\n onClose,\r\n stripe,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n setPaymentMethod,\r\n exportedValues,\r\n canPay\r\n }) => {\r\n const {addPaymentEvent} = usePaymentEvents({\r\n billing,\r\n shippingData,\r\n eventRegistration\r\n });\r\n const {shippingAddress, needsShipping, shippingRates} = shippingData;\r\n const {billingData, cartTotalItems, currency, cartTotal} = billing;\r\n const [paymentRequest, setPaymentRequest] = useState(null);\r\n const paymentRequestOptions = useRef({});\r\n const currentShipping = useRef(shippingData)\r\n const currentBilling = useRef(billing);\r\n\r\n useEffect(() => {\r\n currentShipping.current = shippingData;\r\n currentBilling.current = billing;\r\n }, [shippingData]);\r\n\r\n useEffect(() => {\r\n if (stripe) {\r\n const options = {\r\n country: getData('countryCode'),\r\n currency: currency?.code.toLowerCase(),\r\n total: {\r\n amount: cartTotal.value,\r\n label: cartTotal.label,\r\n pending: true\r\n },\r\n requestPayerName: true,\r\n requestPayerEmail: isFieldRequired('email', billingData.country),\r\n requestPayerPhone: isFieldRequired('phone', billingData.country),\r\n requestShipping: needsShipping,\r\n displayItems: getDisplayItems(cartTotalItems, currency)\r\n }\r\n if (options.requestShipping) {\r\n options.shippingOptions = getShippingOptions(shippingRates);\r\n }\r\n paymentRequestOptions.current = options;\r\n const paymentRequest = stripe.paymentRequest(paymentRequestOptions.current);\r\n paymentRequest.canMakePayment().then(result => {\r\n if (canPay(result)) {\r\n setPaymentRequest(paymentRequest);\r\n } else {\r\n setPaymentRequest(null);\r\n }\r\n });\r\n }\r\n }, [\r\n stripe,\r\n cartTotal.value,\r\n billingData.country,\r\n shippingRates,\r\n cartTotalItems,\r\n currency.code\r\n ]);\r\n\r\n useEffect(() => {\r\n if (paymentRequest) {\r\n if (paymentRequestOptions.current.requestShipping) {\r\n paymentRequest.on('shippingaddresschange', onShippingAddressChange);\r\n paymentRequest.on('shippingoptionchange', onShippingOptionChange);\r\n }\r\n paymentRequest.on('cancel', onClose);\r\n paymentRequest.on('paymentmethod', onPaymentMethodReceived);\r\n }\r\n }, [\r\n paymentRequest,\r\n onShippingAddressChange,\r\n onClose,\r\n onPaymentMethodReceived\r\n ]);\r\n\r\n const updatePaymentEvent = useCallback((event) => (success, {billing, shipping}) => {\r\n const {cartTotal, cartTotalItems, currency} = billing;\r\n const {shippingRates} = shipping;\r\n if (success) {\r\n event.updateWith({\r\n status: 'success',\r\n total: {\r\n amount: cartTotal.value,\r\n label: cartTotal.label,\r\n pending: false\r\n },\r\n displayItems: getDisplayItems(cartTotalItems, currency),\r\n shippingOptions: getShippingOptions(shippingRates)\r\n });\r\n } else {\r\n event.updateWith({status: 'invalid_shipping_address'});\r\n }\r\n }, []);\r\n\r\n const onShippingAddressChange = useCallback(event => {\r\n const {shippingAddress} = event;\r\n const shipping = currentShipping.current;\r\n const intermediateAddress = toCartAddress(shippingAddress);\r\n shipping.setShippingAddress({...shipping.shippingAddress, ...intermediateAddress});\r\n const addressEqual = isShallowEqual(getIntermediateAddress(shipping.shippingAddress), intermediateAddress);\r\n addPaymentEvent('onShippingChanged', updatePaymentEvent(event), addressEqual);\r\n }, [addPaymentEvent]);\r\n\r\n const onShippingOptionChange = useCallback(event => {\r\n const {shippingOption} = event;\r\n const shipping = currentShipping.current;\r\n shipping.setSelectedRates(...getSelectedShippingOption(shippingOption.id));\r\n addPaymentEvent('onShippingChanged', updatePaymentEvent(event));\r\n }, [addPaymentEvent]);\r\n\r\n const onPaymentMethodReceived = useCallback((paymentResponse) => {\r\n const {paymentMethod, payerName = null, payerEmail = null, payerPhone = null} = paymentResponse;\r\n // set address data\r\n let billingData = {payerName, payerEmail, payerPhone};\r\n if (paymentMethod?.billing_details.address) {\r\n billingData = toCartAddress(paymentMethod.billing_details.address, billingData);\r\n }\r\n exportedValues.billingData = billingData;\r\n\r\n if (paymentResponse.shippingAddress) {\r\n exportedValues.shippingAddress = toCartAddress(paymentResponse.shippingAddress);\r\n }\r\n\r\n // set payment method\r\n setPaymentMethod(paymentMethod.id);\r\n paymentResponse.complete(\"success\");\r\n }, []);\r\n\r\n return {paymentRequest};\r\n}","import {useEffect} from '@wordpress/element';\r\n\r\nexport const useProcessCheckoutError = (\r\n {\r\n responseTypes,\r\n subscriber,\r\n messageContext = null\r\n }) => {\r\n useEffect(() => {\r\n const unsubscribe = subscriber((data) => {\r\n if (data?.processingResponse.paymentDetails?.stripeErrorMessage) {\r\n return {\r\n type: responseTypes.ERROR,\r\n message: data.processingResponse.paymentDetails.stripeErrorMessage,\r\n messageContext\r\n };\r\n }\r\n return null;\r\n });\r\n return () => unsubscribe();\r\n }, [responseTypes, subscriber]);\r\n}","import {useEffect, useState, useCallback, useRef} from '@wordpress/element';\r\nimport {useStripe} from '@stripe/react-stripe-js';\r\nimport {\r\n ensureSuccessResponse,\r\n ensureErrorResponse,\r\n getBillingDetailsFromAddress,\r\n StripeError\r\n} from '../util';\r\n\r\nexport const useProcessPaymentIntent = (\r\n {\r\n getData,\r\n billing,\r\n shippingData,\r\n onPaymentProcessing,\r\n emitResponse,\r\n error,\r\n onSubmit,\r\n activePaymentMethod,\r\n paymentType = 'card',\r\n setupIntent = null,\r\n removeSetupIntent = null,\r\n shouldSavePayment = false,\r\n exportedValues = {},\r\n getPaymentMethodArgs = () => ({})\r\n }) => {\r\n const {billingData} = billing;\r\n const {shippingAddress} = shippingData;\r\n const {responseTypes} = emitResponse;\r\n const [paymentMethod, setPaymentMethod] = useState(null);\r\n const stripe = useStripe();\r\n const currentPaymentMethodArgs = useRef(getPaymentMethodArgs);\r\n const paymentMethodData = useRef({});\r\n useEffect(() => {\r\n currentPaymentMethodArgs.current = getPaymentMethodArgs;\r\n }, [getPaymentMethodArgs]);\r\n\r\n const addPaymentMethodData = useCallback((data) => {\r\n paymentMethodData.current = {...paymentMethodData.current, ...data};\r\n }, []);\r\n\r\n const getCreatePaymentMethodArgs = useCallback(() => {\r\n const args = {\r\n type: paymentType,\r\n billing_details: getBillingDetailsFromAddress(exportedValues?.billingData ? exportedValues.billingData : billingData)\r\n }\r\n return {...args, ...currentPaymentMethodArgs.current()};\r\n }, [billingData, paymentType, getPaymentMethodArgs]);\r\n\r\n const getSuccessResponse = useCallback((paymentMethodId, shouldSavePayment) => {\r\n const response = {\r\n meta: {\r\n paymentMethodData: {\r\n [`${getData('name')}_token_key`]: paymentMethodId,\r\n [`${getData('name')}_save_source_key`]: shouldSavePayment,\r\n ...paymentMethodData.current\r\n }\r\n }\r\n }\r\n if (exportedValues?.billingData) {\r\n response.meta.billingData = exportedValues.billingData;\r\n }\r\n if (exportedValues?.shippingAddress) {\r\n response.meta.shippingData = {address: exportedValues.shippingAddress};\r\n }\r\n return response;\r\n }, [billingData, shippingAddress]);\r\n\r\n useEffect(() => {\r\n if (paymentMethod && typeof paymentMethod === 'string') {\r\n onSubmit();\r\n }\r\n }, [paymentMethod, onSubmit]);\r\n\r\n useEffect(() => {\r\n const unsubscribeProcessingPayment = onPaymentProcessing(async () => {\r\n if (activePaymentMethod !== getData('name')) {\r\n return null;\r\n }\r\n let [result, paymentMethodId] = [null, null];\r\n try {\r\n if (error) {\r\n throw new StripeError(error);\r\n }\r\n if (setupIntent) {\r\n result = await stripe.confirmCardSetup(setupIntent.client_secret, {\r\n payment_method: getCreatePaymentMethodArgs()\r\n });\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n paymentMethodId = result.setupIntent.payment_method;\r\n removeSetupIntent();\r\n } else {\r\n // payment method has already been created.\r\n if (paymentMethod) {\r\n paymentMethodId = paymentMethod;\r\n } else {\r\n //create the payment method\r\n result = await stripe.createPaymentMethod(getCreatePaymentMethodArgs());\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n paymentMethodId = result.paymentMethod.id;\r\n }\r\n }\r\n return ensureSuccessResponse(responseTypes, getSuccessResponse(paymentMethodId, shouldSavePayment));\r\n } catch (e) {\r\n console.log(e);\r\n setPaymentMethod(null);\r\n return ensureErrorResponse(responseTypes, e.error);\r\n }\r\n\r\n });\r\n return () => unsubscribeProcessingPayment();\r\n }, [\r\n paymentMethod,\r\n billingData,\r\n onPaymentProcessing,\r\n stripe,\r\n setupIntent,\r\n activePaymentMethod,\r\n shouldSavePayment\r\n ]);\r\n return {\r\n setPaymentMethod,\r\n getCreatePaymentMethodArgs,\r\n addPaymentMethodData\r\n };\r\n}","import {useEffect, useState, useCallback} from '@wordpress/element';\r\nimport apiFetch from \"@wordpress/api-fetch\";\r\nimport {\r\n getSettings,\r\n getRoute,\r\n cartContainsPreOrder,\r\n cartContainsSubscription,\r\n getFromCache,\r\n storeInCache,\r\n deleteFromCache\r\n} from '../util';\r\n\r\nexport const useSetupIntent = (\r\n {\r\n cartTotal,\r\n setError\r\n }) => {\r\n const [setupIntent, setSetupIntent] = useState(getFromCache('setupIntent'));\r\n\r\n useEffect(() => {\r\n const createSetupIntent = async () => {\r\n if (setupIntent) {\r\n return;\r\n }\r\n // only create intent under certain conditions\r\n let result = await apiFetch({\r\n url: getRoute('create/setup_intent'),\r\n method: 'POST'\r\n });\r\n if (result.code) {\r\n setError(result.message);\r\n } else {\r\n storeInCache('setupIntent', result.intent);\r\n setSetupIntent(result.intent);\r\n }\r\n }\r\n if (cartContainsPreOrder() || (cartContainsSubscription() && cartTotal.value == 0)) {\r\n if (!setupIntent) {\r\n createSetupIntent();\r\n }\r\n } else {\r\n setSetupIntent(null);\r\n }\r\n }, [cartTotal.value]);\r\n const removeSetupIntent = useCallback(() => {\r\n deleteFromCache('setupIntent');\r\n }, [cartTotal.value]);\r\n return {setupIntent, removeSetupIntent};\r\n}","import {useState} from '@wordpress/element'\r\n\r\nexport const useStripeError = () => {\r\n const [error, setError] = useState(false);\r\n return [error, setError];\r\n}","import {useState, useEffect, useRef, useCallback} from '@wordpress/element';\r\nimport {useStripe, useElements} from \"@stripe/react-stripe-js\";\r\nimport {ensureErrorResponse, ensureSuccessResponse, getBillingDetailsFromAddress, StripeError, isNextActionRequired, getRoute, handleCardAction} from '../util';\r\n\r\nexport const useUpdatePaymentIntent = (\r\n {\r\n clientSecret,\r\n billingData,\r\n eventRegistration,\r\n responseTypes,\r\n name,\r\n shouldSavePayment,\r\n noticeContexts\r\n }\r\n) => {\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithSuccess} = eventRegistration;\r\n const currentData = useRef({billingData});\r\n const paymentMethodData = useRef({});\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n\r\n const getSuccessResponse = useCallback((paymentMethod, shouldSavePayment) => {\r\n const response = {\r\n meta: {\r\n paymentMethodData: {\r\n [`${name}_token_key`]: paymentMethod,\r\n [`${name}_save_source_key`]: shouldSavePayment,\r\n ...paymentMethodData.current\r\n }\r\n }\r\n }\r\n return response;\r\n }, []);\r\n\r\n const addPaymentMethodData = useCallback((data) => {\r\n paymentMethodData.current = {...paymentMethodData.current, ...data};\r\n }, []);\r\n\r\n const updatePaymentIntent = useCallback(async () => {\r\n const {billingData} = currentData.current;\r\n return await stripe.updatePaymentIntent({\r\n elements,\r\n params: {\r\n payment_method_data: {\r\n billing_details: getBillingDetailsFromAddress(billingData)\r\n }\r\n }\r\n });\r\n }, [stripe, elements]);\r\n\r\n const confirmPayment = useCallback(async () => {\r\n const {billingData} = currentData.current;\r\n return await stripe.confirmPayment({\r\n elements,\r\n confirmParams: {\r\n payment_method_data: {\r\n billing_details: getBillingDetailsFromAddress(billingData)\r\n }\r\n },\r\n redirect: 'if_required'\r\n });\r\n }, [stripe, elements]);\r\n\r\n useEffect(() => {\r\n currentData.current = {billingData};\r\n });\r\n\r\n useEffect(() => {\r\n const unsubscribe = onPaymentProcessing(async () => {\r\n\r\n try {\r\n let paymentMethod = null;\r\n let result = await stripe.retrievePaymentIntent(clientSecret);\r\n if (result.paymentIntent.status === 'requires_action') {\r\n paymentMethod = result.paymentIntent.payment_method;\r\n await confirmPayment();\r\n } else {\r\n result = await updatePaymentIntent();\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n paymentMethod = result.paymentIntent.payment_method;\r\n }\r\n return ensureSuccessResponse(responseTypes, getSuccessResponse(paymentMethod, shouldSavePayment));\r\n } catch (error) {\r\n return ensureErrorResponse(responseTypes, error, {messageContext: noticeContexts.PAYMENTS});\r\n }\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n onPaymentProcessing,\r\n updatePaymentIntent,\r\n confirmPayment,\r\n clientSecret,\r\n shouldSavePayment\r\n ]);\r\n\r\n useEffect(() => {\r\n const unsubscribe = onCheckoutAfterProcessingWithSuccess(async ({redirectUrl}) => {\r\n return await handleCardAction({\r\n redirectUrl,\r\n responseTypes,\r\n name,\r\n method: 'confirmCardPayment',\r\n savePaymentMethod: shouldSavePayment\r\n })\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n onCheckoutAfterProcessingWithSuccess,\r\n confirmPayment,\r\n shouldSavePayment,\r\n name\r\n ]);\r\n\r\n return {\r\n updatePaymentIntent,\r\n addPaymentMethodData\r\n }\r\n}","export * from './use-link';","import {useEffect, useState, useRef} from '@wordpress/element';\r\nimport {useStripe, useElements} from \"@stripe/react-stripe-js\";\r\nimport {toCartAddress as mapToCartAddress, ensureSuccessResponse, getBillingDetailsFromAddress} from '../../util';\r\n\r\nconst toCartAddress = mapToCartAddress();\r\n\r\nexport const useLink = (\r\n {\r\n email,\r\n eventRegistration,\r\n onClick,\r\n onSubmit,\r\n isActive,\r\n responseTypes,\r\n ...props\r\n }) => {\r\n const [link, setLink] = useState();\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n const currentData = useRef();\r\n const linkData = useRef();\r\n const {onPaymentProcessing} = eventRegistration;\r\n useEffect(() => {\r\n currentData.current = {onClick, onSubmit}\r\n });\r\n\r\n useEffect(() => {\r\n if (stripe && elements) {\r\n setLink(stripe?.linkAutofillModal(elements));\r\n }\r\n }, [stripe, elements]);\r\n\r\n useEffect(() => {\r\n if (link) {\r\n link.launch({email});\r\n }\r\n }, [link, email]);\r\n\r\n useEffect(() => {\r\n if (link) {\r\n link.on('autofill', event => {\r\n linkData.current = event;\r\n currentData.current.onSubmit();\r\n\r\n });\r\n link.on('authenticated', event => {\r\n currentData.current.onClick();\r\n })\r\n }\r\n }, [link]);\r\n\r\n useEffect(() => {\r\n if (isActive) {\r\n const unsubscribe = onPaymentProcessing(async () => {\r\n const response = {meta: {}};\r\n const {shippingAddress = null, billingAddress = null} = linkData.current.value;\r\n if (billingAddress) {\r\n response.meta.billingData = toCartAddress({...billingAddress.address, recipient: billingAddress.name})\r\n }\r\n if (shippingAddress) {\r\n response.meta.shippingData = toCartAddress({...shippingAddress.address, recipient: shippingAddress.name})\r\n }\r\n // update the payment intent\r\n try {\r\n const result = await stripe.updatePaymentIntent({\r\n elements,\r\n params: {\r\n payment_method_data: {\r\n billing_details: getBillingDetailsFromAddress(response.meta.billingData)\r\n }\r\n }\r\n });\r\n response.meta.paymentMethodData = {\r\n stripe_cc_token_key: result.paymentIntent.payment_method,\r\n stripe_cc_save_source_key: false,\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n return ensureSuccessResponse(responseTypes, response);\r\n });\r\n\r\n return () => unsubscribe();\r\n }\r\n }, [isActive, onPaymentProcessing, stripe, elements])\r\n\r\n return link;\r\n}","import {useEffect, useState} from '@wordpress/element';\r\nimport {Elements, useStripe, useElements, PaymentElement} from \"@stripe/react-stripe-js\";\r\nimport {registerExpressPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {useLink} from './hooks';\r\nimport {getSettings, initStripe as loadStripe, canMakePayment} from \"../util\";\r\n\r\nconst getData = getSettings('stripe_link_checkout_data');\r\n\r\nexport const LinkComponent = ({cartData, ...props}) => {\r\n const clientSecret = cartData?.extensions?.stripe_link_checkout?.clientSecret;\r\n if (clientSecret) {\r\n return (\r\n <Elements stripe={loadStripe} options={{clientSecret}}>\r\n <LinkCheckout {...props}/>\r\n </Elements>\r\n );\r\n }\r\n return null;\r\n}\r\n\r\nconst LinkCheckout = (\r\n {\r\n billing,\r\n shipping,\r\n eventRegistration,\r\n onClick,\r\n onSubmit,\r\n activePaymentMethod,\r\n emitResponse,\r\n ...props\r\n }) => {\r\n const {billingData, currency} = billing;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const {email} = billingData;\r\n const isActive = activePaymentMethod === getData('name');\r\n useLink({\r\n email,\r\n eventRegistration,\r\n onClick,\r\n onSubmit,\r\n isActive,\r\n responseTypes\r\n });\r\n return <div style={{display: 'none'}}><PaymentElement/></div>;\r\n}\r\n\r\nregisterExpressPaymentMethod({\r\n name: getData('name'),\r\n canMakePayment: (props) => {\r\n return true;\r\n },\r\n content: <LinkComponent/>,\r\n edit: <LinkComponent/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: getData('showSaveOption'),\r\n features: getData('features')\r\n }\r\n})","import {useState, useEffect} from '@wordpress/element';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, initStripe} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {AfterpayClearpayMessageElement, Elements} from \"@stripe/react-stripe-js\";\r\nimport {sprintf, __} from '@wordpress/i18n';\r\nimport {ExperimentalOrderMeta, TotalsWrapper} from '@woocommerce/blocks-checkout';\r\nimport {registerPlugin} from '@wordpress/plugins';\r\n\r\nconst getData = getSettings('stripe_afterpay_data');\r\nlet variablesHandler;\r\nconst setVariablesHandler = (handler) => {\r\n variablesHandler = handler;\r\n}\r\n\r\nconst isAvailable = ({total, currency, needsShipping}) => {\r\n let available = false;\r\n const requiredParams = getData('requiredParams');\r\n const accountCountry = getData('accountCountry');\r\n const requiredParamObj = requiredParams.hasOwnProperty(currency) ? requiredParams[currency] : false;\r\n if (requiredParamObj) {\r\n available = accountCountry === requiredParamObj?.[0] && needsShipping && (total > requiredParamObj?.[1] && total < requiredParamObj?.[2]);\r\n }\r\n return available;\r\n}\r\n\r\nconst PaymentMethodLabel = ({getData}) => {\r\n const [variables, setVariables] = useState({\r\n amount: getData('cartTotal'),\r\n currency: getData('currency'),\r\n isEligible: getData('msgOptions').isEligible\r\n });\r\n setVariablesHandler(setVariables);\r\n return (\r\n <Elements stripe={initStripe} options={getData('elementOptions')}>\r\n <div className='wc-stripe-blocks-afterpay__label'>\r\n <AfterpayClearpayMessageElement options={{\r\n ...getData('msgOptions'),\r\n ...{\r\n amount: variables.amount,\r\n currency: variables.currency,\r\n isEligible: variables.isEligible\r\n }\r\n }}/>\r\n </div>\r\n </Elements>\r\n );\r\n}\r\n\r\nconst AfterpayPaymentMethod = ({content, billing, shippingData, ...props}) => {\r\n const Content = content;\r\n const {cartTotal, currency} = billing;\r\n const {needsShipping} = shippingData\r\n useEffect(() => {\r\n variablesHandler({\r\n amount: cartTotal.value,\r\n currency: currency.code,\r\n isEligible: needsShipping\r\n });\r\n }, [\r\n cartTotal.value,\r\n currency.code,\r\n needsShipping\r\n ]);\r\n return (\r\n <>\r\n {needsShipping &&\r\n <div className='wc-stripe-blocks-payment-method-content'>\r\n <div className=\"wc-stripe-blocks-afterpay-offsite__container\">\r\n <div className=\"wc-stripe-blocks-afterpay__offsite\">\r\n <img src={getData('offSiteSrc')}/>\r\n <p>{sprintf(__('After clicking \"%s\", you will be redirected to Afterpay to complete your purchase securely.', 'woo-stripe-payment'), getData('placeOrderButtonLabel'))}</p>\r\n </div>\r\n </div>\r\n <Content {...{...props, billing, shippingData}}/>\r\n </div>}\r\n </>\r\n );\r\n}\r\n\r\nconst OrderItemMessaging = ({cart, extensions, context}) => {\r\n const {cartTotals, cartNeedsShipping: needsShipping} = cart;\r\n const {total_price, currency_code: currency} = cartTotals;\r\n const amount = parseInt(cartTotals.total_price);\r\n const total = parseInt(cartTotals.total_price) / (10 ** cartTotals.currency_minor_unit);\r\n if (!isAvailable({total, currency, needsShipping})) {\r\n return null;\r\n }\r\n return (\r\n <TotalsWrapper>\r\n <Elements stripe={initStripe} options={getData('elementOptions')}>\r\n <div className='wc-stripe-blocks-afterpay-totals__item wc-block-components-totals-item'>\r\n <AfterpayClearpayMessageElement options={{\r\n ...getData('msgOptions'),\r\n ...{\r\n amount,\r\n currency,\r\n isEligible: needsShipping\r\n }\r\n }}/>\r\n </div>\r\n </Elements>\r\n </TotalsWrapper>\r\n );\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n getData={getData}/>,\r\n ariaLabel: __('Afterpay', 'woo-stripe-payment'),\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData, ({settings, cartTotals, cartNeedsShipping}) => {\r\n const {currency_code: currency, currency_minor_unit, total_price} = cartTotals;\r\n if (variablesHandler) {\r\n variablesHandler({\r\n amount: parseInt(cartTotals.total_price),\r\n currency,\r\n isEligible: cartNeedsShipping\r\n });\r\n }\r\n const total = parseInt(total_price) / (10 ** currency_minor_unit);\r\n const available = isAvailable({total, currency, needsShipping: cartNeedsShipping});\r\n if (!available && !settings('hideIneligible')) {\r\n return true;\r\n }\r\n return available;\r\n }),\r\n content: <AfterpayPaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmAfterpayClearpayPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n });\r\n\r\n const render = () => {\r\n return (\r\n <ExperimentalOrderMeta>\r\n <OrderItemMessaging/>\r\n </ExperimentalOrderMeta>\r\n )\r\n }\r\n registerPlugin('wc-stripe', {\r\n render: render,\r\n scope: 'woocommerce-checkout'\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {canMakePayment, LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel} from \"../../components/checkout/payment-method-label\";\r\nimport {PaymentMethod} from \"../../components/checkout\";\r\n\r\nconst getData = getSettings('stripe_alipay_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Alipay',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmAlipayPayment'}\r\n getData={getData}/>,\r\n edit: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_bancontact_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Bancontact',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmBancontactPayment'}\r\n getData={getData}/>,\r\n edit: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {AuBankAccountElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_becs_data');\r\n\r\nconst BecsPaymentMethod = (props) => {\r\n return (\r\n <>\r\n <PaymentMethod {...props} />\r\n <div className={'wc-stripe-blocks-mandate becs-mandate'}\r\n dangerouslySetInnerHTML={{__html: props.getData('mandate')}}/>\r\n </>\r\n );\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'BECS',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <BecsPaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmAuBecsDebitPayment'}\r\n component={AuBankAccountElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {useState, useEffect, useCallback} from '@wordpress/element';\r\nimport {__} from '@wordpress/i18n';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport classnames from 'classnames';\r\nimport {ensureErrorResponse, getSettings, isTestMode} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_boleto_data');\r\n\r\nconst BoletoPaymentMethodContainer = ({eventRegistration, ...props}) => {\r\n const [taxId, setTaxId] = useState('');\r\n const [isActive, setIsActive] = useState(false);\r\n const {onPaymentProcessing} = eventRegistration;\r\n const callback = useCallback(() => {\r\n return {\r\n boleto: {\r\n tax_id: taxId\r\n }\r\n };\r\n }, [taxId]);\r\n\r\n useEffect(() => {\r\n const unsubscribe = onPaymentProcessing(() => {\r\n if (!taxId) {\r\n return ensureErrorResponse(props.emitResponse.responseTypes, __('Please enter a valid CPF/CNPJ value', 'woo-stripe-payment'));\r\n }\r\n return true;\r\n })\r\n return () => unsubscribe();\r\n }, [onPaymentProcessing, taxId]);\r\n return (\r\n <>\r\n <div className={classnames('wc-block-components-text-input', {\r\n 'is-active': isActive || taxId\r\n })}>\r\n <input\r\n type='text'\r\n id='wc-stripe-boleto-tax_id'\r\n onChange={(e) => setTaxId(e.target.value)}\r\n onFocus={() => setIsActive(true)}\r\n onBlur={() => setIsActive(false)}/>\r\n <label htmlFor='wc-stripe-boleto-tax_id'>{__(' CPF / CNPJ', ' woo-stripe-payment')}</label>\r\n </div>\r\n {isTestMode() &&\r\n <div className='wc-stripe-boleto__description'>\r\n <p>{__('Test mode values', 'woo-stripe-payment')}</p>\r\n <div>\r\n <label>CPF:</label>&nbsp;<span>000.000.000-00</span>\r\n </div>\r\n <div>\r\n <label>CNPJ:</label>&nbsp;<span>00.000.000/0000-00</span>\r\n </div>\r\n </div>}\r\n {!isTestMode() &&\r\n <div className=\"wc-stripe-boleto__description\">\r\n <p>{__('Accepted formats', 'woo-stripe-payment')}</p>\r\n <div>\r\n <label>CPF:</label>&nbsp;\r\n <span>{__('XXX.XXX.XXX-XX or XXXXXXXXXXX', 'woo-stripe-payment')}</span>\r\n </div>\r\n <div>\r\n <label>CNPJ:</label>&nbsp;\r\n <span>{__('XX.XXX.XXX/XXXX-XX or XXXXXXXXXXXXXX', 'woo-stripe-payment')}</span>\r\n </div>\r\n </div>}\r\n <LocalPaymentIntentContent callback={callback} {...{...props, ...{eventRegistration}}}/>\r\n </>\r\n )\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Boleto',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={BoletoPaymentMethodContainer}\r\n getData={getData}\r\n confirmationMethod={'confirmBoletoPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {canMakePayment, LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {EpsBankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_eps_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'EPS',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmEpsPayment'}\r\n component={EpsBankElement}\r\n getData={getData}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {FpxBankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_fpx_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'FPX',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmIdealPayment'}\r\n component={FpxBankElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_giropay_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Giropay',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmGiropayPayment'}\r\n getData={getData}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_grabpay_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'GrabPay',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmGrabPayPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","export * from './use-after-process-local-payment';\r\nexport * from './use-validate-checkout';\r\nexport * from './use-create-source';","import {useEffect, useRef} from '@wordpress/element';\r\nimport {useStripe} from \"@stripe/react-stripe-js\";\r\nimport {ensureErrorResponse, getBillingDetailsFromAddress, StripeError} from \"../../util\";\r\n\r\nexport const useAfterProcessLocalPayment = (\r\n {\r\n getData,\r\n billingData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n confirmationMethod,\r\n getPaymentMethodArgs = () => ({})\r\n }\r\n) => {\r\n const stripe = useStripe();\r\n const {onCheckoutAfterProcessingWithSuccess, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const currentBillingData = useRef(billingData);\r\n const currentPaymentMethodArgs = useRef(getPaymentMethodArgs);\r\n useEffect(() => {\r\n currentBillingData.current = billingData;\r\n }, [billingData]);\r\n\r\n useEffect(() => {\r\n currentPaymentMethodArgs.current = getPaymentMethodArgs;\r\n }, [getPaymentMethodArgs]);\r\n\r\n useEffect(() => {\r\n const unsubscribeAfterProcessingWithSuccess = onCheckoutAfterProcessingWithSuccess(async ({redirectUrl}) => {\r\n if (getData('name') === activePaymentMethod) {\r\n try {\r\n let match = redirectUrl.match(/#response=(.+)/);\r\n if (match) {\r\n let {client_secret, return_url, ...order} = JSON.parse(window.atob(decodeURIComponent(match[1])));\r\n let result = await stripe[confirmationMethod](client_secret, {\r\n payment_method: {\r\n billing_details: getBillingDetailsFromAddress(currentBillingData.current),\r\n ...currentPaymentMethodArgs.current(currentBillingData.current)\r\n },\r\n return_url\r\n });\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n window.location = decodeURI(order.order_received_url);\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n return ensureErrorResponse(responseTypes, e.error);\r\n }\r\n }\r\n })\r\n return () => unsubscribeAfterProcessingWithSuccess();\r\n }, [\r\n stripe,\r\n onCheckoutAfterProcessingWithSuccess,\r\n onCheckoutAfterProcessingWithError\r\n ]);\r\n}","import {useState, useEffect, useRef, useCallback} from '@wordpress/element';\r\nimport {\r\n getDefaultSourceArgs,\r\n ensureSuccessResponse,\r\n ensureErrorResponse,\r\n StripeError\r\n} from \"../../util\";\r\nimport {useStripe, useElements} from \"@stripe/react-stripe-js\";\r\nimport {__} from '@wordpress/i18n';\r\n\r\nexport const useCreateSource = (\r\n {\r\n getData,\r\n billing,\r\n shippingAddress,\r\n onPaymentProcessing,\r\n responseTypes,\r\n getSourceArgs = false,\r\n element = false\r\n }) => {\r\n const [source, setSource] = useState(false);\r\n const [isValid, setIsValid] = useState(false);\r\n const currentValues = useRef({\r\n billing,\r\n shippingAddress,\r\n });\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n useEffect(() => {\r\n currentValues.current = {\r\n billing,\r\n shippingAddress\r\n }\r\n });\r\n\r\n const getSourceArgsInternal = useCallback(() => {\r\n const {billing} = currentValues.current;\r\n const {cartTotal, currency, billingData} = billing;\r\n let args = getDefaultSourceArgs({\r\n type: getData('paymentType'),\r\n amount: cartTotal.value,\r\n billingData,\r\n currency: currency.code,\r\n returnUrl: getData('returnUrl')\r\n });\r\n if (getSourceArgs) {\r\n args = getSourceArgs(args, {billingData});\r\n }\r\n return args;\r\n }, []);\r\n\r\n const getSuccessData = useCallback((sourceId) => {\r\n return {\r\n meta: {\r\n paymentMethodData: {\r\n [`${getData('name')}_token_key`]: sourceId\r\n }\r\n }\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n const unsubscribe = onPaymentProcessing(async () => {\r\n if (source) {\r\n return ensureSuccessResponse(responseTypes, getSuccessData(source.id));\r\n }\r\n // create the source\r\n try {\r\n let result;\r\n if (element) {\r\n // validate the element\r\n if (!isValid) {\r\n throw __('Please enter your payment info before proceeding.', 'woo-stripe-payment');\r\n }\r\n result = await stripe.createSource(elements.getElement(element), getSourceArgsInternal());\r\n } else {\r\n result = await stripe.createSource(getSourceArgsInternal());\r\n }\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n setSource(result.source);\r\n return ensureSuccessResponse(responseTypes, getSuccessData(result.source.id));\r\n } catch (err) {\r\n console.log(err);\r\n return ensureErrorResponse(responseTypes, err.error || err);\r\n }\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n source,\r\n onPaymentProcessing,\r\n stripe,\r\n responseTypes,\r\n element,\r\n isValid,\r\n setIsValid\r\n ]);\r\n return {setIsValid};\r\n}","import {useEffect, useRef, useState} from '@wordpress/element';\r\nimport {ensureErrorResponse} from \"../../util\";\r\nimport {__} from \"@wordpress/i18n\";\r\n\r\nexport const useValidateCheckout = (\r\n {\r\n subscriber,\r\n responseTypes,\r\n component = null,\r\n msg = __('Please enter your payment info before proceeding.', 'woo-stripe-payment')\r\n }) => {\r\n const [isValid, setIsValid] = useState(false);\r\n\r\n useEffect(() => {\r\n const unsubscribe = subscriber(() => {\r\n if (component && !isValid) {\r\n return ensureErrorResponse(responseTypes, msg);\r\n }\r\n return true;\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n subscriber,\r\n isValid,\r\n setIsValid,\r\n responseTypes,\r\n component\r\n ]);\r\n return {isValid, setIsValid};\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {IdealBankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_ideal_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Ideal',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmIdealPayment'}\r\n component={IdealBankElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import './klarna';\r\nimport './ideal';\r\nimport './p24';\r\nimport './bancontact';\r\nimport './giropay';\r\nimport './eps';\r\nimport './multibanco';\r\nimport './sepa';\r\nimport './sofort';\r\nimport './wechat';\r\nimport './fpx';\r\nimport './becs';\r\nimport './grabpay';\r\nimport './alipay'\r\nimport './afterpay';\r\nimport './boleto';\r\nimport './oxxo';","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, isTestMode} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {__} from \"@wordpress/i18n\";\r\n\r\nconst getData = getSettings('stripe_klarna_data');\r\n\r\nconst KlarnaPaymentMethod = (props) => {\r\n return (\r\n <>\r\n {isTestMode() &&\r\n <div className=\"wc-stripe-klarna__testmode\">\r\n <label>{__('Test mode sms', 'woo-stripe-payment')}:</label>&nbsp;<span>123456</span>\r\n </div>}\r\n <LocalPaymentIntentContent {...props}/>\r\n </>\r\n )\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Klarna',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData, ({settings, billingData, cartTotals}) => {\r\n const {country} = billingData;\r\n const {currency_code: currency} = cartTotals;\r\n const requiredParams = settings('requiredParams');\r\n return [currency] in requiredParams && requiredParams[currency].includes(country);\r\n }),\r\n content: <PaymentMethod\r\n content={KlarnaPaymentMethod}\r\n getData={getData}\r\n confirmationMethod={'confirmKlarnaPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {useCallback} from '@wordpress/element';\r\nimport {useElements, Elements} from \"@stripe/react-stripe-js\";\r\nimport {initStripe as loadStripe, cartContainsSubscription, cartContainsPreOrder} from '../util'\r\nimport {useAfterProcessLocalPayment, useValidateCheckout, useCreateSource} from \"./hooks\";\r\nimport {useProcessCheckoutError} from \"../hooks\";\r\n\r\n/**\r\n * Return true if the local payment method can be used.\r\n * @param settings\r\n * @returns {function({billingData: *, [p: string]: *}): *}\r\n */\r\nexport const canMakePayment = (settings, callback = false) => ({billingData, cartTotals, ...props}) => {\r\n const {currency_code} = cartTotals;\r\n const {country} = billingData;\r\n const countries = settings('countries');\r\n const type = settings('allowedCountries');\r\n const supports = settings('features');\r\n let canMakePayment = false;\r\n if (settings('isAdmin')) {\r\n canMakePayment = true;\r\n } else {\r\n // Check if there are any subscriptions or pre-orders in the cart.\r\n if (cartContainsSubscription() && !supports.includes('subscriptions')) {\r\n return false;\r\n } else if (cartContainsPreOrder() && !supports.includes('pre-orders')) {\r\n return false;\r\n }\r\n if (settings('currencies').includes(currency_code)) {\r\n if (type === 'all_except') {\r\n canMakePayment = !settings('exceptCountries').includes(country);\r\n } else if (type === 'specific') {\r\n canMakePayment = settings('specificCountries').includes(country);\r\n } else {\r\n canMakePayment = countries.length > 0 ? countries.includes(country) : true;\r\n }\r\n }\r\n if (callback && canMakePayment) {\r\n canMakePayment = callback({settings, billingData, cartTotals, ...props});\r\n }\r\n }\r\n return canMakePayment;\r\n}\r\n\r\nexport const LocalPaymentIntentContent = ({getData, ...props}) => {\r\n return (\r\n <Elements stripe={loadStripe} options={getData('elementOptions')}>\r\n <LocalPaymentIntentMethod {...{...props, getData}}/>\r\n </Elements>\r\n )\r\n}\r\n\r\nexport const LocalPaymentSourceContent = (props) => {\r\n return (\r\n <Elements stripe={loadStripe}>\r\n <LocalPaymentSourceMethod {...props}/>\r\n </Elements>\r\n )\r\n}\r\n\r\nconst LocalPaymentSourceMethod = (\r\n {\r\n getData,\r\n billing,\r\n shippingData,\r\n emitResponse,\r\n eventRegistration,\r\n getSourceArgs = false,\r\n element = false\r\n }) => {\r\n const {shippingAddress} = shippingData;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const onChange = (event) => {\r\n setIsValid(event.complete);\r\n }\r\n const {setIsValid} = useCreateSource({\r\n getData,\r\n billing,\r\n shippingAddress,\r\n onPaymentProcessing,\r\n responseTypes,\r\n getSourceArgs,\r\n element\r\n });\r\n\r\n if (element) {\r\n return (\r\n <LocalPaymentElementContainer\r\n name={getData('name')}\r\n options={getData('paymentElementOptions')}\r\n onChange={onChange}\r\n element={element}/>\r\n )\r\n }\r\n return null;\r\n}\r\n\r\nconst LocalPaymentIntentMethod = (\r\n {\r\n getData,\r\n billing,\r\n emitResponse,\r\n eventRegistration,\r\n activePaymentMethod,\r\n confirmationMethod = null,\r\n component = null,\r\n callback = null\r\n }) => {\r\n const elements = useElements();\r\n const {billingData} = billing;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const getPaymentMethodArgs = useCallback((billingData) => {\r\n if (component) {\r\n return {\r\n [getData('paymentType')]: elements.getElement(component)\r\n }\r\n } else if (callback) {\r\n return callback(billingData);\r\n }\r\n return {};\r\n }, [\r\n elements,\r\n callback\r\n ]);\r\n const {setIsValid} = useValidateCheckout({\r\n subscriber: onPaymentProcessing,\r\n responseTypes,\r\n component\r\n }\r\n );\r\n\r\n useAfterProcessLocalPayment({\r\n getData,\r\n billingData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n confirmationMethod,\r\n getPaymentMethodArgs\r\n });\r\n useProcessCheckoutError({\r\n responseTypes,\r\n subscriber: onCheckoutAfterProcessingWithError,\r\n messageContext: noticeContexts.PAYMENT\r\n });\r\n if (component) {\r\n const onChange = (event) => setIsValid(!event.empty)\r\n return (\r\n <LocalPaymentElementContainer\r\n name={getData('name')}\r\n options={getData('paymentElementOptions')}\r\n onChange={onChange}\r\n element={component}\r\n callback={callback}/>\r\n )\r\n }\r\n return null;\r\n}\r\n\r\nconst LocalPaymentElementContainer = ({name, onChange, element, options, ...props}) => {\r\n const Tag = element;\r\n return (\r\n <div className={`wc-stripe-local-payment-container ${name} ${Tag.displayName}`}>\r\n <Tag options={options} onChange={onChange} {...props}/>\r\n </div>\r\n )\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentSourceContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_multibanco_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'MultiBanco',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod content={LocalPaymentSourceContent} getData={getData}/>,\r\n edit: <PaymentMethod content={LocalPaymentSourceContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {IdealBankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_oxxo_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'OXXO',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmOxxoPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {P24BankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_p24_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'P24',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmP24Payment'}\r\n component={P24BankElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, cartContainsPreOrder, cartContainsSubscription} from \"../util\";\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment, LocalPaymentIntentContent} from \"./local-payment-method\";\r\nimport {IbanElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_sepa_data');\r\n\r\nconst LocalPaymentMethod = (PaymentMethod) => (props) => {\r\n return (\r\n <>\r\n <PaymentMethod {...props}/>\r\n <div className={'wc-stripe-blocks-mandate sepa-mandate'}\r\n dangerouslySetInnerHTML={{__html: props.getData('mandate')}}/>\r\n </>\r\n )\r\n}\r\n\r\nconst SepaPaymentMethod = LocalPaymentMethod(PaymentMethod);\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'SEPA',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <SepaPaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmSepaDebitPayment'}\r\n component={IbanElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {canMakePayment, LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\n\r\nconst getData = getSettings('stripe_sofort_data');\r\n\r\nconst getConfirmationArgs = (billingData) => {\r\n return {sofort: {country: billingData.country}};\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Sofort',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmSofortPayment'}\r\n getData={getData}\r\n callback={getConfirmationArgs}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import {useEffect, useRef, useState, useCallback} from '@wordpress/element';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {\r\n getSettings,\r\n initStripe as loadStripe,\r\n getDefaultSourceArgs,\r\n isAddressValid,\r\n StripeError,\r\n isTestMode,\r\n ensureSuccessResponse,\r\n getErrorMessage,\r\n storeInCache,\r\n getFromCache,\r\n deleteFromCache\r\n} from \"../util\";\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {Elements} from \"@stripe/react-stripe-js\";\r\nimport {useValidateCheckout} from \"./hooks\";\r\nimport {__} from '@wordpress/i18n';\r\n//import QRCode from 'QRCode';\r\nimport {useStripe} from \"@stripe/react-stripe-js\";\r\nimport {useStripeError} from \"../hooks\";\r\n\r\nconst getData = getSettings('stripe_wechat_data');\r\n\r\nconst WeChatComponent = (props) => {\r\n return (\r\n <Elements stripe={loadStripe}>\r\n <WeChatPaymentMethod {...props}/>\r\n </Elements>\r\n )\r\n}\r\n\r\nconst WeChatPaymentMethod = (\r\n {\r\n getData,\r\n billing,\r\n shippingData,\r\n emitResponse,\r\n eventRegistration,\r\n components\r\n }) => {\r\n const size = parseInt(getData('qrSize'));\r\n const {responseTypes} = emitResponse;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithSuccess} = eventRegistration;\r\n const {ValidationInputError} = components;\r\n const {isValid, setIsValid} = useValidateCheckout({\r\n subscriber: eventRegistration.onPaymentProcessing,\r\n responseTypes: emitResponse.responseTypes,\r\n msg: __('Please scan your QR code to continue with payment.', 'woo-stripe-payment')\r\n });\r\n\r\n const {source, error, deleteSourceFromStorage} = useCreateSource({\r\n getData,\r\n billing,\r\n responseTypes,\r\n subscriber: onPaymentProcessing\r\n })\r\n\r\n /**\r\n * delete the source from storage once payment is successful.\r\n * If test mode, redirect to the Stripe test url.\r\n * If live mode, redirect to the return Url.\r\n */\r\n useEffect(() => {\r\n const unsubscribe = onCheckoutAfterProcessingWithSuccess(() => {\r\n deleteSourceFromStorage();\r\n return ensureSuccessResponse(responseTypes);\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n source,\r\n onCheckoutAfterProcessingWithSuccess,\r\n deleteSourceFromStorage\r\n ]);\r\n\r\n useEffect(() => {\r\n if (source) {\r\n setIsValid(true);\r\n }\r\n }, [source]);\r\n\r\n if (source) {\r\n return (\r\n <QRCodeComponent text={source.wechat.qr_code_url} width={size} height={size}/>\r\n );\r\n } else if (error) {\r\n return (\r\n <div className='wechat-validation-error'>\r\n <ValidationInputError errorMessage={getErrorMessage(error)}/>\r\n </div>\r\n );\r\n } else {\r\n // if billing address is not valid\r\n if (!isAddressValid(billing.billingData)) {\r\n return __('Please fill out all the required fields in order to complete the WeChat payment.', 'woo-stripe-payment');\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nconst QRCodeComponent = (\r\n {\r\n text,\r\n width = 128,\r\n height = 128,\r\n colorDark = '#424770',\r\n colorLight = '#f8fbfd',\r\n correctLevel = QRCode.CorrectLevel.H\r\n }) => {\r\n const el = useRef();\r\n useEffect(() => {\r\n new QRCode(el.current, {\r\n text,\r\n width,\r\n height,\r\n colorDark,\r\n colorLight,\r\n correctLevel\r\n })\r\n }, [el]);\r\n return (\r\n <>\r\n <div id='wc-stripe-block-qrcode' ref={el}></div>\r\n {isTestMode() && <p>\r\n {__('Test mode: Click the Place Order button to proceed.', 'woo-stripe-payment')}\r\n </p>}\r\n {!isTestMode() && <p>\r\n {__('Scan the QR code using your WeChat app. Once scanned click the Place Order button.', 'woo-stripe-payment')}\r\n </p>}\r\n </>\r\n )\r\n}\r\n\r\nconst useCreateSource = (\r\n {\r\n getData,\r\n billing,\r\n responseTypes,\r\n subscriber\r\n }) => {\r\n const stripe = useStripe();\r\n const [error, setError] = useStripeError();\r\n const [source, setSource] = useState(getFromCache('wechat:source'));\r\n const createSourceTimeoutId = useRef(null);\r\n const {cartTotal, billingData, currency} = billing;\r\n\r\n useEffect(() => {\r\n const unsubscribe = subscriber(() => {\r\n return ensureSuccessResponse(responseTypes, {\r\n meta: {\r\n paymentMethodData: {\r\n [`${getData('name')}_token_key`]: source.id\r\n }\r\n }\r\n })\r\n });\r\n return () => unsubscribe();\r\n }, [source, subscriber]);\r\n\r\n const createSource = useCallback(async () => {\r\n // validate the billing fields. If valid, create the source.\r\n try {\r\n if (!error && isAddressValid(billingData)) {\r\n let result = await stripe.createSource(getDefaultSourceArgs({\r\n type: getData('paymentType'),\r\n amount: cartTotal.value,\r\n billingData,\r\n currency: currency.code,\r\n returnUrl: getData('returnUrl')\r\n }));\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n setSource(result.source);\r\n storeInCache('wechat:source', result.source);\r\n }\r\n } catch (err) {\r\n console.log('error: ', err);\r\n setError(err.error);\r\n }\r\n }, [\r\n stripe,\r\n source,\r\n cartTotal.value,\r\n billingData,\r\n currency,\r\n error\r\n ]);\r\n const deleteSourceFromStorage = useCallback(() => {\r\n deleteFromCache('wechat:source');\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (stripe && !source) {\r\n // if there is an existing request, cancel it.\r\n clearTimeout(createSourceTimeoutId.current);\r\n createSourceTimeoutId.current = setTimeout(createSource, 1000);\r\n }\r\n }, [\r\n stripe,\r\n source,\r\n createSource\r\n ]);\r\n\r\n return {source, setSource, error, deleteSourceFromStorage};\r\n}\r\n\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'WeChat',\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod content={WeChatComponent} getData={getData}/>,\r\n edit: <PaymentMethod content={WeChatComponent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import './style.scss';\r\n\r\nimport './payment-method';","import {useMemo, useEffect, useRef} from '@wordpress/element';\r\nimport {registerExpressPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, initStripe as loadStripe, canMakePayment} from \"../util\";\r\nimport {useBreakpointWidth, useExpressBreakpointWidth} from '../hooks';\r\nimport {Elements, PaymentRequestButtonElement, useStripe} from \"@stripe/react-stripe-js\";\r\nimport {\r\n usePaymentRequest,\r\n useProcessPaymentIntent,\r\n useExportedValues,\r\n useAfterProcessingPayment,\r\n useStripeError\r\n} from '../hooks';\r\n\r\nconst getData = getSettings('stripe_payment_request_data');\r\n\r\nconst PaymentRequestContent = (props) => {\r\n return (\r\n <div className='wc-stripe-payment-request-container'>\r\n <Elements stripe={loadStripe}>\r\n <PaymentRequestButton {...props}/>\r\n </Elements>\r\n </div>\r\n );\r\n}\r\n\r\nconst PaymentRequestButton = (\r\n {\r\n getData,\r\n onClick,\r\n onClose,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n emitResponse,\r\n onSubmit,\r\n activePaymentMethod,\r\n ...props\r\n }) => {\r\n const {onPaymentProcessing} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const stripe = useStripe();\r\n const [error] = useStripeError();\r\n const canPay = (result) => result != null && !result.applePay;\r\n const exportedValues = useExportedValues();\r\n useExpressBreakpointWidth({payment_method: getData('name'), width: 300});\r\n const {setPaymentMethod} = useProcessPaymentIntent({\r\n getData,\r\n billing,\r\n shippingData,\r\n onPaymentProcessing,\r\n emitResponse,\r\n error,\r\n onSubmit,\r\n activePaymentMethod,\r\n exportedValues\r\n });\r\n useAfterProcessingPayment({\r\n getData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n messageContext: noticeContexts.EXPRESS_PAYMENTS\r\n });\r\n const {paymentRequest} = usePaymentRequest({\r\n getData,\r\n onClose,\r\n stripe,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n setPaymentMethod,\r\n exportedValues,\r\n canPay\r\n });\r\n\r\n const options = useMemo(() => {\r\n return {\r\n paymentRequest,\r\n style: {\r\n paymentRequestButton: getData('paymentRequestButton')\r\n }\r\n }\r\n }, [paymentRequest]);\r\n\r\n if (paymentRequest) {\r\n return (\r\n <PaymentRequestButtonElement options={options} onClick={onClick}/>\r\n )\r\n }\r\n return null;\r\n}\r\n\r\nconst PaymentRequestEdit = ({getData, ...props}) => {\r\n const canvas = useRef();\r\n useEffect(() => {\r\n const scale = window.devicePixelRatio;\r\n canvas.current.width = 20 * scale;\r\n canvas.current.height = 20 * scale;\r\n let ctx = canvas.current.getContext('2d');\r\n ctx.scale(scale, scale);\r\n ctx.beginPath();\r\n ctx.arc(10, 10, 10, 0, 2 * Math.PI);\r\n ctx.fillStyle = '#986fff';\r\n ctx.fill();\r\n });\r\n return (\r\n <div className='payment-request-block-editor'>\r\n <div className={'icon-container'}>\r\n <span>Buy now</span>\r\n <canvas className='PaymentRequestButton-icon' ref={canvas}/>\r\n <i className={'payment-request-arrow'}></i>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nregisterExpressPaymentMethod({\r\n name: getData('name'),\r\n canMakePayment: ({cartTotals}) => {\r\n if (getData('isAdmin')) {\r\n return true;\r\n }\r\n const {currency_code: currency, total_price} = cartTotals;\r\n return canMakePayment({\r\n country: getData('countryCode'),\r\n currency: currency.toLowerCase(),\r\n total: {\r\n label: getData('totalLabel'),\r\n amount: parseInt(total_price)\r\n }\r\n }, (result) => result != null && !result.applePay);\r\n },\r\n content: <PaymentRequestContent getData={getData}/>,\r\n edit: <PaymentRequestEdit getData={getData}/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: getData('showSaveOption'),\r\n features: getData('features')\r\n }\r\n});","import {useEffect, useCallback} from '@wordpress/element';\r\nimport {handleCardAction} from '@paymentplugins/stripe/util';\r\n\r\nconst SavedCardComponent = (\r\n {\r\n eventRegistration,\r\n emitResponse,\r\n getData,\r\n method = 'handleCardAction'\r\n }) => {\r\n const {onCheckoutAfterProcessingWithSuccess} = eventRegistration;\r\n const {responseTypes} = emitResponse;\r\n const handleSuccessResult = useCallback(async ({redirectUrl}) => {\r\n return await handleCardAction({redirectUrl, getData, responseTypes, method});\r\n }, []);\r\n\r\n useEffect(() => {\r\n const unsubscribe = onCheckoutAfterProcessingWithSuccess(handleSuccessResult);\r\n return () => unsubscribe();\r\n }, [onCheckoutAfterProcessingWithSuccess, handleSuccessResult]);\r\n return null;\r\n}\r\n\r\nexport default SavedCardComponent;\r\n","import {loadStripe} from '@stripe/stripe-js';\r\nimport {getSetting} from '@woocommerce/settings'\r\nimport apiFetch from \"@wordpress/api-fetch\";\r\nimport {getCurrency, formatPrice as wcFormatPrice} from '@woocommerce/price-format';\r\n\r\nconst {publishableKey, stripeParams} = getSetting('stripeGeneralData');\r\nconst messages = getSetting('stripeErrorMessages');\r\nconst countryLocale = getSetting('countryLocale', {});\r\n\r\nconst SHIPPING_OPTION_REGEX = /^([\\w]+)\\:(.+)$/;\r\n\r\nconst routes = getSetting('stripeGeneralData').routes;\r\n\r\nconst creditCardForms = {};\r\n\r\nconst localPaymentMethods = [];\r\n\r\nconst CACHE_PREFIX = 'stripe:';\r\n\r\nconst PAYMENT_REQUEST_ADDRESS_MAPPINGS = {\r\n recipient: (address, name) => {\r\n address.first_name = name.split(' ').slice(0, -1).join(' ');\r\n address.last_name = name.split(' ').pop();\r\n return address;\r\n },\r\n payerName: (address, name) => {\r\n address.first_name = name.split(' ').slice(0, -1).join(' ');\r\n address.last_name = name.split(' ').pop();\r\n return address;\r\n },\r\n country: 'country',\r\n addressLine: (address, value) => {\r\n if (value[0]) {\r\n address.address_1 = value[0];\r\n }\r\n if (value[1]) {\r\n address.address_2 = value[1];\r\n }\r\n return address;\r\n },\r\n line1: 'address_1',\r\n line2: 'address_2',\r\n city: 'city',\r\n region: 'state',\r\n state: 'state',\r\n postalCode: 'postcode',\r\n postal_code: 'postcode',\r\n payerEmail: 'email',\r\n payerPhone: 'phone'\r\n}\r\n\r\nexport const initStripe = new Promise((resolve, reject) => {\r\n loadStripe(publishableKey, stripeParams).then(stripe => {\r\n resolve(stripe);\r\n }).catch(err => {\r\n resolve({error: err});\r\n });\r\n});\r\n\r\nexport const registerCreditCardForm = ({id, ...props}) => {\r\n creditCardForms[id] = props;\r\n}\r\n\r\nexport const getCreditCardForm = (id) => {\r\n return creditCardForms.hasOwnProperty(id) ? creditCardForms[id] : {};\r\n}\r\n\r\nexport const getRoute = (route) => {\r\n return routes?.[route] ? routes[route] : console.log(`${route} is not a valid route`);\r\n}\r\n\r\nexport const ensureSuccessResponse = (responseTypes, data = {}) => {\r\n return {type: responseTypes.SUCCESS, ...data};\r\n}\r\n\r\n/**\r\n * Returns a formatted error object used by observers\r\n * @param responseTypes\r\n * @param error\r\n * @returns {{type: *, message: *}}\r\n */\r\nexport const ensureErrorResponse = (responseTypes, error, options = {}) => {\r\n return {type: responseTypes.ERROR, message: getErrorMessage(error), ...options}\r\n};\r\n\r\n/**\r\n * Return a customized error message.\r\n * @param error\r\n */\r\nexport const getErrorMessage = (error) => {\r\n if (typeof error == 'string') {\r\n return error;\r\n }\r\n if (error?.code && messages?.[error.code]) {\r\n return messages[error.code];\r\n }\r\n if (error?.statusCode) {\r\n return messages?.[error.statusCode] ? messages[error.statusCode] : error.statusMessage;\r\n }\r\n return error.message;\r\n}\r\n\r\n/**\r\n * Return a Stripe formatted billing_details object from a WC address\r\n * @param billingAddress\r\n */\r\nexport const getBillingDetailsFromAddress = (billingAddress) => {\r\n let billing_details = {\r\n name: `${billingAddress.first_name} ${billingAddress.last_name}`,\r\n address: {\r\n city: billingAddress.city || null,\r\n country: billingAddress.country || null,\r\n line1: billingAddress.address_1 || null,\r\n line2: billingAddress.address_2 || null,\r\n postal_code: billingAddress.postcode || null,\r\n state: billingAddress.state || null\r\n }\r\n }\r\n if (billingAddress?.phone) {\r\n billing_details.phone = billingAddress.phone;\r\n }\r\n if (billingAddress?.email) {\r\n billing_details.email = billingAddress.email;\r\n }\r\n return billing_details;\r\n}\r\n\r\nexport const getSettings = (name) => (key) => {\r\n if (key) {\r\n return getSetting(name)[key];\r\n }\r\n return getSetting(name);\r\n}\r\n\r\nexport class StripeError extends Error {\r\n constructor(error) {\r\n super(error.message);\r\n this.error = error;\r\n }\r\n}\r\n\r\n/**\r\n * Returns true if the provided value is empty.\r\n * @param value\r\n * @returns {boolean}\r\n */\r\nexport const isEmpty = (value) => {\r\n if (typeof value === 'string') {\r\n return value.length == 0 || value == '';\r\n }\r\n if (Array.isArray(value)) {\r\n return array.length == 0;\r\n }\r\n if (typeof value === 'object') {\r\n return Object.keys(value).length == 0;\r\n }\r\n if (typeof value === 'undefined') {\r\n return true;\r\n }\r\n return true;\r\n}\r\n\r\nexport const removeNumberPrecision = (value, unit) => {\r\n return value / 10 ** unit;\r\n}\r\n\r\n/**\r\n *\r\n * @param address\r\n * @param country\r\n */\r\nexport const isAddressValid = (address, exclude = []) => {\r\n const fields = getLocaleFields(address.country);\r\n for (const [key, value] of Object.entries(address)) {\r\n if (!exclude.includes(key) && fields?.[key] && fields[key].required) {\r\n if (isEmpty(value)) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n}\r\n\r\nexport const getLocaleFields = (country) => {\r\n let localeFields = {...countryLocale.default};\r\n if (country && countryLocale?.[country]) {\r\n localeFields = Object.entries(countryLocale[country]).reduce((locale, [key, value]) => {\r\n locale[key] = {...locale[key], ...value}\r\n return locale;\r\n }, localeFields);\r\n ['phone', 'email'].forEach(key => {\r\n let node = document.getElementById(key);\r\n if (node) {\r\n localeFields[key] = {required: node.required};\r\n }\r\n });\r\n }\r\n return localeFields;\r\n}\r\n\r\n/**\r\n * Return true if the field is required by the cart\r\n * @param field\r\n * @param country\r\n * @returns {boolean|*}\r\n */\r\nexport const isFieldRequired = (field, country = false) => {\r\n const fields = getLocaleFields(country);\r\n return [field] in fields && fields[field].required;\r\n}\r\n\r\nexport const getSelectedShippingOption = (id) => {\r\n const result = id.match(SHIPPING_OPTION_REGEX);\r\n if (result) {\r\n const {1: packageIdx, 2: rate} = result;\r\n return [rate, packageIdx];\r\n }\r\n return [];\r\n}\r\n\r\nexport const hasShippingRates = (shippingRates) => {\r\n return shippingRates.map(rate => {\r\n return rate.shipping_rates.length > 0;\r\n }).filter(Boolean).length > 0;\r\n}\r\n\r\n/**\r\n * Return true if the customer is logged in.\r\n * @param customerId\r\n * @returns {boolean}\r\n */\r\nexport const isUserLoggedIn = (customerId) => {\r\n return customerId > 0;\r\n}\r\n\r\nconst syncPaymentIntentWithOrder = async (order_id, client_secret) => {\r\n try {\r\n await apiFetch({\r\n url: routes['sync/intent'],\r\n method: 'POST',\r\n data: {order_id, client_secret}\r\n })\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nexport const handleCardAction = async (\r\n {\r\n redirectUrl,\r\n responseTypes,\r\n name,\r\n method = 'handleCardAction',\r\n savePaymentMethod = false\r\n }) => {\r\n try {\r\n let match = redirectUrl.match(/#response=(.+)/)\r\n if (match) {\r\n let {client_secret, order_id, order_key} = JSON.parse(window.atob(decodeURIComponent(match[1])));\r\n const stripe = await initStripe;\r\n let result = await stripe[method](client_secret);\r\n if (result.error) {\r\n return ensureErrorResponse(responseTypes, result.error);\r\n }\r\n // success so finish processing order then redirect to thank you page\r\n let data = {order_id, order_key, [`${name}_save_source_key`]: savePaymentMethod};\r\n let response = await apiFetch({\r\n url: getRoute('process/payment'),\r\n method: 'POST',\r\n data\r\n })\r\n if (response.messages) {\r\n return ensureErrorResponse(responseTypes, response.messages);\r\n }\r\n return ensureSuccessResponse(responseTypes, {\r\n redirectUrl: response.redirect\r\n });\r\n } else {\r\n return ensureSuccessResponse(responseTypes);\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n return ensureErrorResponse(responseTypes, err);\r\n }\r\n}\r\n\r\n/**\r\n * Convert a payment wallet address to a WC cart address.\r\n * @param address_mappings\r\n * @returns {function(*, *=): {}}\r\n */\r\nexport const toCartAddress = (address_mappings = PAYMENT_REQUEST_ADDRESS_MAPPINGS) => (address, args = {}) => {\r\n const cartAddress = {};\r\n address = {...address, ...filterEmptyValues(args)};\r\n for (let [key, cartKey] of Object.entries(address_mappings)) {\r\n if (address?.[key]) {\r\n if (typeof cartKey === 'function') {\r\n cartKey(cartAddress, address[key]);\r\n } else {\r\n cartAddress[cartKey] = address[key];\r\n }\r\n }\r\n }\r\n return cartAddress;\r\n}\r\n\r\n/**\r\n * Given a WC formatted address, return only the intermediate address values\r\n * @param address\r\n * @param fields\r\n */\r\nexport const getIntermediateAddress = (address, fields = ['city', 'postcode', 'state', 'country']) => {\r\n const intermediateAddress = {};\r\n for (let key of fields) {\r\n intermediateAddress[key] = address[key];\r\n }\r\n return intermediateAddress;\r\n}\r\n\r\n/**\r\n *\r\n * @param values\r\n * @returns {{}|{[p: string]: *}}\r\n */\r\nexport const filterEmptyValues = (values) => {\r\n return Object.keys(values).filter(key => Boolean(values[key])).reduce((obj, key) => ({\r\n ...obj,\r\n [key]: values[key]\r\n }), {});\r\n}\r\n\r\nexport const formatPrice = (price, currencyCode) => {\r\n const {prefix, suffix, decimalSeparator, minorUnit, thousandSeparator} = getCurrency(currencyCode);\r\n if (price == '' || price === undefined) {\r\n return price;\r\n }\r\n\r\n price = typeof price === 'string' ? parseInt(price, 10) : price;\r\n price = price / 10 ** minorUnit;\r\n price = price.toString().replace('.', decimalSeparator);\r\n let fractional = '';\r\n const index = price.indexOf(decimalSeparator);\r\n if (index < 0) {\r\n if (minorUnit > 0) {\r\n price += `${decimalSeparator}${new Array(minorUnit + 1).join('0')}`;\r\n }\r\n } else {\r\n fractional = price.substr(index + 1);\r\n if (fractional.length < minorUnit) {\r\n price += new Array(minorUnit - fractional.length + 1).join('0');\r\n }\r\n }\r\n\r\n // separate out price and decimals so thousands separator can be added.\r\n const match = price.match(new RegExp(`(\\\\d+)\\\\${decimalSeparator}(\\\\d+)`));\r\n if (match) {\r\n ({1: price, 2: fractional} = match);\r\n }\r\n price = price.replace(new RegExp(`\\\\B(?=(\\\\d{3})+(?!\\\\d))`, 'g'), `${thousandSeparator}`);\r\n price = fractional?.length > 0 ? price + decimalSeparator + fractional : price;\r\n price = prefix + price + suffix;\r\n return price;\r\n}\r\n\r\nexport const getShippingOptions = (shippingRates) => {\r\n let options = [];\r\n shippingRates.forEach((shippingPackage, idx) => {\r\n // sort by selected rate\r\n shippingPackage.shipping_rates.sort((rate) => {\r\n return rate.selected ? -1 : 1;\r\n });\r\n let rates = shippingPackage.shipping_rates.map(rate => {\r\n let txt = document.createElement('textarea');\r\n txt.innerHTML = rate.name;\r\n let price = formatPrice(rate.price, rate.currency_code);\r\n return {\r\n id: getShippingOptionId(idx, rate.rate_id),\r\n label: txt.value,\r\n //detail: `${price}`,\r\n amount: parseInt(rate.price, 10)\r\n }\r\n });\r\n options = [...options, ...rates];\r\n });\r\n return options;\r\n}\r\n\r\nexport const getShippingOptionId = (packageId, rateId) => `${packageId}:${rateId}`\r\n\r\nexport const getDisplayItems = (cartItems, {minorUnit}) => {\r\n let items = [];\r\n const keys = ['total_tax', 'total_shipping'];\r\n cartItems.forEach(item => {\r\n if (0 < item.value || (item.key && keys.includes(item.key))) {\r\n items.push({\r\n label: item.label,\r\n pending: false,\r\n amount: item.value\r\n });\r\n }\r\n })\r\n return items;\r\n}\r\n\r\nconst canPay = {};\r\n\r\nexport const canMakePayment = ({country, currency, total}, callback) => {\r\n return new Promise((resolve, reject) => {\r\n const key = [country, currency, total.amount].reduce((key, value) => `${key}-${value}`);\r\n if (!currency) {\r\n return resolve(false);\r\n }\r\n if (key in canPay) {\r\n return resolve(canPay[key]);\r\n }\r\n return initStripe.then(stripe => {\r\n if (stripe.error) {\r\n return reject(stripe.error);\r\n }\r\n const request = stripe.paymentRequest({\r\n country,\r\n currency,\r\n total\r\n });\r\n request.canMakePayment().then(result => {\r\n canPay[key] = callback(result);\r\n return resolve(canPay[key]);\r\n });\r\n }).catch(reject);\r\n });\r\n};\r\n\r\nexport const registerLocalPaymentMethod = (paymentMethod) => {\r\n localPaymentMethods.push(paymentMethod);\r\n}\r\n\r\nexport const getLocalPaymentMethods = () => localPaymentMethods;\r\n\r\nexport const cartContainsPreOrder = () => {\r\n const data = getSetting('stripePaymentData');\r\n return data && data.pre_order;\r\n}\r\n\r\nexport const cartContainsSubscription = () => {\r\n const data = getSetting('stripePaymentData');\r\n return data && data.subscription;\r\n}\r\n\r\nexport const getDefaultSourceArgs = ({type, amount, billingData, currency, returnUrl}) => {\r\n return {\r\n type,\r\n amount,\r\n currency,\r\n owner: getBillingDetailsFromAddress(billingData),\r\n redirect: {\r\n return_url: returnUrl\r\n }\r\n }\r\n}\r\n\r\nexport const isTestMode = () => {\r\n return getSetting('stripeGeneralData').mode === 'test';\r\n}\r\n\r\nconst getCacheKey = (key) => `${CACHE_PREFIX}${key}`;\r\n\r\nexport const storeInCache = (key, value) => {\r\n const exp = Math.floor(new Date().getTime() / 1000) + (60 * 15);\r\n if ('sessionStorage' in window) {\r\n sessionStorage.setItem(getCacheKey(key), JSON.stringify({value, exp}));\r\n }\r\n}\r\n\r\nexport const getFromCache = (key) => {\r\n if ('sessionStorage' in window) {\r\n try {\r\n const item = JSON.parse(sessionStorage.getItem(getCacheKey(key)));\r\n if (item) {\r\n const {value, exp} = item;\r\n if (Math.floor(new Date().getTime() / 1000) > exp) {\r\n deleteFromCache(getCacheKey(key));\r\n } else {\r\n return value;\r\n }\r\n }\r\n } catch (err) {\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nexport const deleteFromCache = (key) => {\r\n if ('sessionStorage' in window) {\r\n sessionStorage.removeItem(getCacheKey(key));\r\n }\r\n}\r\n\r\nexport const versionCompare = (ver1, ver2, compare) => {\r\n switch (compare) {\r\n case '<':\r\n return ver1 < ver2;\r\n case '>':\r\n return ver1 > ver2;\r\n case '<=':\r\n return ver1 <= ver2;\r\n case '>=':\r\n return ver1 >= ver2;\r\n case '=':\r\n return ver1 == ver2;\r\n }\r\n return false;\r\n}\r\n\r\nexport const isCartPage = () => getSetting('stripeGeneralData').page === 'cart';\r\n\r\nexport const isCheckoutPage = () => getSetting('stripeGeneralData').page === 'checkout';\r\n\r\nexport const isNextActionRequired = (url) => {\r\n let match = url.match(/#response=(.+)/);\r\n let args = null;\r\n if (match) {\r\n args = JSON.parse(window.atob(decodeURIComponent(match[1])));\r\n }\r\n return args;\r\n}","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n"],"names":["module","exports","arr","len","length","i","arr2","Array","isArray","arrayLikeToArray","self","ReferenceError","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","fn","this","args","arguments","apply","err","undefined","instance","Constructor","TypeError","setPrototypeOf","isNativeReflectConstruct","_construct","Parent","Class","Reflect","construct","a","push","Function","bind","prototype","_defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","protoProps","staticProps","obj","_extends","assign","source","hasOwnProperty","call","_getPrototypeOf","o","getPrototypeOf","__proto__","subClass","superClass","create","constructor","__esModule","toString","indexOf","sham","Proxy","Date","e","iter","Symbol","iterator","from","_arr","_n","_d","_e","_s","_i","next","objectWithoutPropertiesLoose","excluded","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","sourceKeys","keys","_typeof","assertThisInitialized","_setPrototypeOf","p","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","arrayWithoutHoles","iterableToArray","nonIterableSpread","minLen","n","slice","name","test","isNativeFunction","_wrapNativeSuper","_cache","Map","has","get","set","Wrapper","React","emptyFunction","emptyFunctionWithReset","resetWarningCache","propTypes","shim","propName","componentName","location","propFullName","secret","Error","getShim","isRequired","ReactPropTypes","array","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","factoryWithThrowingShims","ownKeys","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread2","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","usePrevious","ref","useRef","useEffect","current","isUnknownObject","raw","PLAIN_OBJECT_STR","isEqual","left","right","leftArray","leftPlainObject","leftKeys","rightKeys","keySet","allKeys","l","r","every","extractAllowedOptionsUpdates","options","prevOptions","immutableKeys","reduce","newOptions","isUpdated","includes","console","warn","concat","validateStripe","maybeStripe","elements","createToken","createPaymentMethod","confirmCardPayment","parseStripeProp","isPromise","tag","stripePromise","stripe","ElementsContext","createContext","displayName","Elements","_ref","rawStripeProp","children","parsed","useMemo","_React$useState2","useState","ctx","setContext","isMounted","prevStripe","updates","update","anyStripe","_registerWrapper","registerAppInfo","version","url","createElement","Provider","useElementsContextWithUseCase","useCaseMessage","useCase","parseElementsContext","useContext","ElementsConsumer","_ref2","useCallbackReference","cb","noop","createElementComponent","type","isServer","str","charAt","toUpperCase","Element","id","className","_ref$options","_ref$onBlur","onBlur","_ref$onFocus","onFocus","_ref$onReady","onReady","_ref$onChange","onChange","_ref$onEscape","onEscape","_ref$onClick","onClick","elementRef","domNode","callOnReady","callOnBlur","callOnFocus","callOnClick","callOnChange","callOnEscape","useLayoutEffect","mount","on","destroy","__elementType","window","AuBankAccountElement","CardElement","CardNumberElement","CardExpiryElement","CardCvcElement","FpxBankElement","IbanElement","IdealBankElement","P24BankElement","EpsBankElement","PaymentElement","PaymentRequestButtonElement","LinkAuthenticationElement","ShippingAddressElement","AffirmMessageElement","AfterpayClearpayMessageElement","useElements","useStripe","factory","V3_URL","V3_URL_REGEX","EXISTING_SCRIPT_MESSAGE","initStripe","startTime","registerWrapper","stripePromise$1","params","Stripe","script","scripts","document","querySelectorAll","src","findScript","queryString","advancedFraudSignals","headOrBody","head","body","appendChild","injectScript","addEventListener","loadCalled","loadStripe","_len","_key","now","Installments","paymentMethodName","getCreatePaymentMethodArgs","cardFormComplete","addPaymentMethodData","getPaymentMethod","installments","setInstallments","installment","setInstallment","loading","setLoading","paymentMethod","getRoute","method","data","payment_method_id","payment_method","result","catch","log","finally","__","Loader","InstallmentOptions","_stripe_installment_plan","isLoading","OPTIONS","disabled","map","dangerouslySetInnerHTML","__html","text","title","icons","components","Label","PaymentMethodLabel","Icons","PaymentMethodIcons","align","getData","content","Content","desc","el","childNodes","classList","add","Description","RadioControlOption","checked","label","event","setValidationError","linkToken","setLinkToken","useCallback","response","token","storeInCache","getFromCache","linkHandler","resolvePopup","openLinkPopup","open","Plaid","clientName","env","product","selectAccount","countryCodes","onSuccess","publicToken","metaData","onExit","getErrorMessage","error_message","onPaymentProcessing","responseTypes","unsubscribe","deleteFromCache","ensureSuccessResponse","meta","paymentMethodData","JSON","stringify","ensureErrorResponse","getSettings","ACHPaymentContent","eventRegistration","emitResponse","onSubmit","onCheckoutAfterProcessingWithError","ValidationInputError","LoadingMask","validationError","useCreateLinkToken","useProcessCheckoutError","subscriber","useInitializePlaid","useProcessPayment","showSpinner","isTestMode","ACHTestModeCredentials","errorMessage","registerPaymentMethod","ariaLabel","canMakePayment","cartTotals","currency_code","PaymentMethod","savedTokenComponent","edit","placeOrderButtonLabel","supports","showSavedCards","showSaveOption","features","ApplePayContent","ApplePayButton","onClose","billing","shippingData","activePaymentMethod","noticeContexts","useStripeError","exportedValues","useExportedValues","useExpressBreakpointWidth","width","setPaymentMethod","useProcessPaymentIntent","useAfterProcessingPayment","messageContext","EXPRESS_PAYMENTS","paymentRequest","usePaymentRequest","canPay","applePay","handleClick","preventDefault","show","style","ApplePayEdit","registerExpressPaymentMethod","currency","total_price","country","toLowerCase","total","amount","parseInt","Bootstrap","CardIcon","htmlFor","registerCreditCardForm","breakpoint","component","classes","focus","empty","invalid","eventChange","onComplete","cardType","setCardType","elementOrder","container","setContainer","getCreditCardForm","CardForm","postalCodeEnabled","elementStatus","setElementOrder","useBreakpointWidth","getCardIconSrc","cloneElement","brand","complete","idx","nextElement","getElement","status","sprintf","SimpleForm","card","cardOptions","postalCode","billingData","postcode","hidePostalCode","isFieldRequired","iconStyle","PaymentElementComponent","cartData","clientSecret","extensions","stripe_cc","formComplete","setFormComplete","installmentsActive","shouldSavePayment","useUpdatePaymentIntent","updatePaymentIntent","PAYMENTS","paymentIntent","fields","billingDetails","wallets","googlePay","CreditCardContent","setError","CreditCardElement","getPaymentMethodArgs","elType","useSetupIntent","cartTotal","setupIntent","removeSetupIntent","Tag","CustomCardForm","StripeCardForm","ErrorBoundary","state","hasError","errorInfo","setState","componentStack","Component","publishableKey","setErrorMessage","checkoutStatus","merchantInfo","merchantId","merchantName","buttonContainer","buttonType","usePaymentsClient","button","removeButton","append","parameters","allowedAuthMethods","allowedCardNetworks","assuranceDetailsRequired","apiVersion","apiVersionMinor","shippingRates","processingCountry","totalPriceLabel","emailRequired","isEmpty","email","allowedPaymentMethods","tokenizationSpecification","gateway","BASE_PAYMENT_METHOD","shippingAddressRequired","needsShipping","transactionInfo","getTransactionInfo","callbackIntents","BASE_PAYMENT_REQUEST","billingAddressRequired","billingAddressParameters","format","phoneNumberRequired","phone","shippingOptionRequired","shippingOptionParameters","getShippingOptionParameters","shippingOptions","cartTotalItems","environment","paymentsClient","setPaymentsClient","setButton","currentBilling","currentShipping","addPaymentEvent","usePaymentEvents","setAddressData","paymentData","billingAddress","isAddressValid","phoneNumber","toCartAddress","shippingAddress","parentElement","firstChild","removeChild","loadPaymentData","parse","tokenizationData","billing_details","getBillingDetailsFromAddress","StripeError","statusCode","createButton","paymentOptions","paymentDataCallbacks","onPaymentAuthorized","transactionState","onPaymentDataChanged","shipping","address","shippingOptionData","intermediateAddress","selectedRates","getSelectedShippingOption","addressEqual","getIntermediateAddress","shippingEqual","success","getPaymentRequestUpdate","reason","message","intent","setShippingAddress","setSelectedRates","google","payments","api","PaymentsClient","isReadyToPayRequest","isReadyToPay","GooglePayContent","useErrorMessage","GooglePayEdit","isCartPage","getSetting","countryCode","currencyCode","code","totalPriceStatus","totalPrice","removeNumberPrecision","minorUnit","displayItems","getDisplayItems","newTransactionInfo","newShippingOptionParameters","unit","items","item","price","getShippingOptions","defaultSelectedOptionId","option","shift","shippingPackage","shipping_rates","rate","selected","getShippingOptionId","rate_id","rates","txt","innerHTML","formatPrice","description","first_name","split","join","last_name","pop","address1","address2","locality","administrativeArea","onCheckoutAfterProcessingWithSuccess","unsubscribeAfterProcessingWithSuccess","redirectUrl","handleCardAction","savePaymentMethod","innerWidth","windowWidth","setWindowWith","getMaxWidth","maxWidth","setMaxWidth","clientWidth","remove","handleResize","removeEventListener","getElementById","parentNode","onShippingRateSuccess","onShippingRateFail","onShippingRateSelectSuccess","handler","setHandler","onShippingChanged","paymentEvents","setPaymentEvent","execute","removePaymentEvent","isSelectingRate","shippingRatesLoading","hasShippingRates","unsubscribeShippingRateSuccess","unsubscribeShippingRateSelectSuccess","unsubscribeShippingRateFail","hasInvalidAddress","setPaymentRequest","paymentRequestOptions","pending","requestPayerName","requestPayerEmail","requestPayerPhone","requestShipping","onShippingAddressChange","onShippingOptionChange","onPaymentMethodReceived","updatePaymentEvent","updateWith","shippingOption","paymentResponse","payerName","payerEmail","payerPhone","processingResponse","paymentDetails","stripeErrorMessage","ERROR","paymentType","currentPaymentMethodArgs","getSuccessResponse","paymentMethodId","unsubscribeProcessingPayment","confirmCardSetup","client_secret","setSetupIntent","createSetupIntent","cartContainsPreOrder","cartContainsSubscription","currentData","payment_method_data","confirmPayment","confirmParams","redirect","retrievePaymentIntent","isActive","link","setLink","linkData","linkAutofillModal","launch","recipient","stripe_cc_token_key","stripe_cc_save_source_key","LinkComponent","stripe_link_checkout","LinkCheckout","useLink","display","variablesHandler","isAvailable","available","requiredParams","accountCountry","requiredParamObj","isEligible","variables","setVariables","AfterpayPaymentMethod","OrderItemMessaging","cart","context","cartNeedsShipping","currency_minor_unit","TotalsWrapper","settings","LocalPaymentIntentContent","confirmationMethod","registerPlugin","render","ExperimentalOrderMeta","scope","BecsPaymentMethod","taxId","setTaxId","setIsActive","callback","boleto","tax_id","currentBillingData","match","atob","decodeURIComponent","return_url","order","decodeURI","order_received_url","getSourceArgs","setSource","isValid","setIsValid","currentValues","getSourceArgsInternal","getDefaultSourceArgs","returnUrl","getSuccessData","sourceId","createSource","msg","countries","LocalPaymentIntentMethod","LocalPaymentSourceMethod","useCreateSource","LocalPaymentElementContainer","useValidateCheckout","useAfterProcessLocalPayment","PAYMENT","LocalPaymentSourceContent","SepaPaymentMethod","sofort","WeChatComponent","WeChatPaymentMethod","size","deleteSourceFromStorage","QRCodeComponent","wechat","qr_code_url","height","colorDark","colorLight","correctLevel","QRCode","CorrectLevel","H","createSourceTimeoutId","clearTimeout","setTimeout","PaymentRequestContent","PaymentRequestButton","paymentRequestButton","PaymentRequestEdit","canvas","scale","devicePixelRatio","getContext","beginPath","arc","Math","PI","fillStyle","fill","handleSuccessResult","stripeParams","messages","countryLocale","SHIPPING_OPTION_REGEX","routes","creditCardForms","localPaymentMethods","PAYMENT_REQUEST_ADDRESS_MAPPINGS","addressLine","address_1","address_2","line1","line2","city","region","postal_code","route","SUCCESS","statusMessage","exclude","getLocaleFields","entries","required","localeFields","default","locale","field","packageIdx","Boolean","customerId","order_id","order_key","address_mappings","cartAddress","filterEmptyValues","cartKey","values","getCurrency","prefix","suffix","decimalSeparator","thousandSeparator","fractional","index","replace","substr","RegExp","sort","packageId","rateId","cartItems","pre_order","subscription","owner","mode","getCacheKey","exp","floor","getTime","sessionStorage","setItem","getItem","removeItem","ver1","ver2","compare","page","hasOwn","classNames","argType","inner"],"sourceRoot":""}
1
+ {"version":3,"file":"commons.js","mappings":"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","sources":["webpack://wc_stripe/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/construct.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/createClass.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/extends.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/inherits.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/isNativeFunction.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/typeof.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://wc_stripe/./node_modules/@babel/runtime/helpers/wrapNativeSuper.js","webpack://wc_stripe/./node_modules/@stripe/react-stripe-js/dist/react-stripe.umd.js","webpack://wc_stripe/./node_modules/@stripe/stripe-js/dist/stripe.esm.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/index.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/installments/index.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/payment-method-label/index.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/payment-method/index.js","webpack://wc_stripe/./packages/blocks/assets/js/components/checkout/radio-option/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/hooks/use-create-link-token.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/hooks/use-initialize-plaid.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/hooks/use-process-payment.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/ach/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/applepay/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/applepay/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/components/bootstrap/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/components/custom-card-form.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/components/simple/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/components/stripe-card-form.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/payment-element.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/credit-card/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/error-boundary.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/button.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/constants.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/hooks/use-error-message.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/hooks/use-payment-request.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/hooks/use-payments-client.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/googlepay/util.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-after-process-payment.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-breakpoint-width.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-exported-values.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-payment-events.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-payment-request.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-process-checkout-error.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-process-payment-intent.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-setup-intent.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-stripe-error.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/hooks/use-update-payment-intent.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/link/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/link/hooks/use-link.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/link/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/afterpay.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/alipay.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/bancontact.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/becs.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/boleto.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/eps.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/fpx.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/giropay.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/grabpay.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/hooks/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/hooks/use-after-process-local-payment.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/hooks/use-create-source.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/hooks/use-validate-checkout.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/ideal.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/klarna.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/local-payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/multibanco.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/oxxo.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/p24.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/sepa.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/sofort.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/local-payment/wechat.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/payment-request/index.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/payment-request/payment-method.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/saved-card-component.js","webpack://wc_stripe/./packages/blocks/assets/js/payment-methods/util.js","webpack://wc_stripe/./node_modules/classnames/index.js"],"sourcesContent":["function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct\");\n\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct;\n } else {\n module.exports = _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nmodule.exports = _construct;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;","function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nmodule.exports = _isNativeFunction;","function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nmodule.exports = _isNativeReflectConstruct;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","var _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","var getPrototypeOf = require(\"./getPrototypeOf\");\n\nvar setPrototypeOf = require(\"./setPrototypeOf\");\n\nvar isNativeFunction = require(\"./isNativeFunction\");\n\nvar construct = require(\"./construct\");\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nmodule.exports = _wrapNativeSuper;","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'react'], factory) :\n\t(global = global || self, factory(global.ReactStripe = {}, global.React));\n}(this, (function (exports, React) { 'use strict';\n\n\tReact = React && Object.prototype.hasOwnProperty.call(React, 'default') ? React['default'] : React;\n\n\tfunction createCommonjsModule(fn, module) {\n\t\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n\t}\n\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\n\tvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\tvar ReactPropTypesSecret_1 = ReactPropTypesSecret;\n\n\tfunction emptyFunction() {}\n\n\tfunction emptyFunctionWithReset() {}\n\n\temptyFunctionWithReset.resetWarningCache = emptyFunction;\n\n\tvar factoryWithThrowingShims = function () {\n\t function shim(props, propName, componentName, location, propFullName, secret) {\n\t if (secret === ReactPropTypesSecret_1) {\n\t // It is still safe when called from React.\n\t return;\n\t }\n\n\t var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types');\n\t err.name = 'Invariant Violation';\n\t throw err;\n\t }\n\t shim.isRequired = shim;\n\n\t function getShim() {\n\t return shim;\n\t }\n\t // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n\n\t var ReactPropTypes = {\n\t array: shim,\n\t bool: shim,\n\t func: shim,\n\t number: shim,\n\t object: shim,\n\t string: shim,\n\t symbol: shim,\n\t any: shim,\n\t arrayOf: getShim,\n\t element: shim,\n\t elementType: shim,\n\t instanceOf: getShim,\n\t node: shim,\n\t objectOf: getShim,\n\t oneOf: getShim,\n\t oneOfType: getShim,\n\t shape: getShim,\n\t exact: getShim,\n\t checkPropTypes: emptyFunctionWithReset,\n\t resetWarningCache: emptyFunction\n\t };\n\t ReactPropTypes.PropTypes = ReactPropTypes;\n\t return ReactPropTypes;\n\t};\n\n\tvar propTypes = createCommonjsModule(function (module) {\n\t/**\n\t * Copyright (c) 2013-present, Facebook, Inc.\n\t *\n\t * This source code is licensed under the MIT license found in the\n\t * LICENSE file in the root directory of this source tree.\n\t */\n\t{\n\t // By explicitly using `prop-types` you are opting into new production behavior.\n\t // http://fb.me/prop-types-in-prod\n\t module.exports = factoryWithThrowingShims();\n\t}\n\t});\n\n\tfunction ownKeys(object, enumerableOnly) {\n\t var keys = Object.keys(object);\n\n\t if (Object.getOwnPropertySymbols) {\n\t var symbols = Object.getOwnPropertySymbols(object);\n\n\t if (enumerableOnly) {\n\t symbols = symbols.filter(function (sym) {\n\t return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n\t });\n\t }\n\n\t keys.push.apply(keys, symbols);\n\t }\n\n\t return keys;\n\t}\n\n\tfunction _objectSpread2(target) {\n\t for (var i = 1; i < arguments.length; i++) {\n\t var source = arguments[i] != null ? arguments[i] : {};\n\n\t if (i % 2) {\n\t ownKeys(Object(source), true).forEach(function (key) {\n\t _defineProperty(target, key, source[key]);\n\t });\n\t } else if (Object.getOwnPropertyDescriptors) {\n\t Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n\t } else {\n\t ownKeys(Object(source)).forEach(function (key) {\n\t Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n\t });\n\t }\n\t }\n\n\t return target;\n\t}\n\n\tfunction _typeof(obj) {\n\t \"@babel/helpers - typeof\";\n\n\t if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n\t _typeof = function (obj) {\n\t return typeof obj;\n\t };\n\t } else {\n\t _typeof = function (obj) {\n\t return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n\t };\n\t }\n\n\t return _typeof(obj);\n\t}\n\n\tfunction _defineProperty(obj, key, value) {\n\t if (key in obj) {\n\t Object.defineProperty(obj, key, {\n\t value: value,\n\t enumerable: true,\n\t configurable: true,\n\t writable: true\n\t });\n\t } else {\n\t obj[key] = value;\n\t }\n\n\t return obj;\n\t}\n\n\tfunction _slicedToArray(arr, i) {\n\t return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n\t}\n\n\tfunction _arrayWithHoles(arr) {\n\t if (Array.isArray(arr)) return arr;\n\t}\n\n\tfunction _iterableToArrayLimit(arr, i) {\n\t var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]);\n\n\t if (_i == null) return;\n\t var _arr = [];\n\t var _n = true;\n\t var _d = false;\n\n\t var _s, _e;\n\n\t try {\n\t for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n\t _arr.push(_s.value);\n\n\t if (i && _arr.length === i) break;\n\t }\n\t } catch (err) {\n\t _d = true;\n\t _e = err;\n\t } finally {\n\t try {\n\t if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n\t } finally {\n\t if (_d) throw _e;\n\t }\n\t }\n\n\t return _arr;\n\t}\n\n\tfunction _unsupportedIterableToArray(o, minLen) {\n\t if (!o) return;\n\t if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n\t var n = Object.prototype.toString.call(o).slice(8, -1);\n\t if (n === \"Object\" && o.constructor) n = o.constructor.name;\n\t if (n === \"Map\" || n === \"Set\") return Array.from(o);\n\t if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n\t}\n\n\tfunction _arrayLikeToArray(arr, len) {\n\t if (len == null || len > arr.length) len = arr.length;\n\n\t for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n\t return arr2;\n\t}\n\n\tfunction _nonIterableRest() {\n\t throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n\t}\n\n\tvar usePrevious = function usePrevious(value) {\n\t var ref = React.useRef(value);\n\t React.useEffect(function () {\n\t ref.current = value;\n\t }, [value]);\n\t return ref.current;\n\t};\n\n\tvar isUnknownObject = function isUnknownObject(raw) {\n\t return raw !== null && _typeof(raw) === 'object';\n\t};\n\tvar isPromise = function isPromise(raw) {\n\t return isUnknownObject(raw) && typeof raw.then === 'function';\n\t}; // We are using types to enforce the `stripe` prop in this lib,\n\t// but in an untyped integration `stripe` could be anything, so we need\n\t// to do some sanity validation to prevent type errors.\n\n\tvar isStripe = function isStripe(raw) {\n\t return isUnknownObject(raw) && typeof raw.elements === 'function' && typeof raw.createToken === 'function' && typeof raw.createPaymentMethod === 'function' && typeof raw.confirmCardPayment === 'function';\n\t};\n\n\tvar PLAIN_OBJECT_STR = '[object Object]';\n\tvar isEqual = function isEqual(left, right) {\n\t if (!isUnknownObject(left) || !isUnknownObject(right)) {\n\t return left === right;\n\t }\n\n\t var leftArray = Array.isArray(left);\n\t var rightArray = Array.isArray(right);\n\t if (leftArray !== rightArray) return false;\n\t var leftPlainObject = Object.prototype.toString.call(left) === PLAIN_OBJECT_STR;\n\t var rightPlainObject = Object.prototype.toString.call(right) === PLAIN_OBJECT_STR;\n\t if (leftPlainObject !== rightPlainObject) return false; // not sure what sort of special object this is (regexp is one option), so\n\t // fallback to reference check.\n\n\t if (!leftPlainObject && !leftArray) return left === right;\n\t var leftKeys = Object.keys(left);\n\t var rightKeys = Object.keys(right);\n\t if (leftKeys.length !== rightKeys.length) return false;\n\t var keySet = {};\n\n\t for (var i = 0; i < leftKeys.length; i += 1) {\n\t keySet[leftKeys[i]] = true;\n\t }\n\n\t for (var _i = 0; _i < rightKeys.length; _i += 1) {\n\t keySet[rightKeys[_i]] = true;\n\t }\n\n\t var allKeys = Object.keys(keySet);\n\n\t if (allKeys.length !== leftKeys.length) {\n\t return false;\n\t }\n\n\t var l = left;\n\t var r = right;\n\n\t var pred = function pred(key) {\n\t return isEqual(l[key], r[key]);\n\t };\n\n\t return allKeys.every(pred);\n\t};\n\n\tvar extractAllowedOptionsUpdates = function extractAllowedOptionsUpdates(options, prevOptions, immutableKeys) {\n\t if (!isUnknownObject(options)) {\n\t return null;\n\t }\n\n\t return Object.keys(options).reduce(function (newOptions, key) {\n\t var isUpdated = !isUnknownObject(prevOptions) || !isEqual(options[key], prevOptions[key]);\n\n\t if (immutableKeys.includes(key)) {\n\t if (isUpdated) {\n\t console.warn(\"Unsupported prop change: options.\".concat(key, \" is not a mutable property.\"));\n\t }\n\n\t return newOptions;\n\t }\n\n\t if (!isUpdated) {\n\t return newOptions;\n\t }\n\n\t return _objectSpread2(_objectSpread2({}, newOptions || {}), {}, _defineProperty({}, key, options[key]));\n\t }, null);\n\t};\n\n\tvar INVALID_STRIPE_ERROR = 'Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.'; // We are using types to enforce the `stripe` prop in this lib, but in a real\n\t// integration `stripe` could be anything, so we need to do some sanity\n\t// validation to prevent type errors.\n\n\tvar validateStripe = function validateStripe(maybeStripe) {\n\t if (maybeStripe === null || isStripe(maybeStripe)) {\n\t return maybeStripe;\n\t }\n\n\t throw new Error(INVALID_STRIPE_ERROR);\n\t};\n\n\tvar parseStripeProp = function parseStripeProp(raw) {\n\t if (isPromise(raw)) {\n\t return {\n\t tag: 'async',\n\t stripePromise: Promise.resolve(raw).then(validateStripe)\n\t };\n\t }\n\n\t var stripe = validateStripe(raw);\n\n\t if (stripe === null) {\n\t return {\n\t tag: 'empty'\n\t };\n\t }\n\n\t return {\n\t tag: 'sync',\n\t stripe: stripe\n\t };\n\t};\n\n\tvar ElementsContext = /*#__PURE__*/React.createContext(null);\n\tElementsContext.displayName = 'ElementsContext';\n\tvar parseElementsContext = function parseElementsContext(ctx, useCase) {\n\t if (!ctx) {\n\t throw new Error(\"Could not find Elements context; You need to wrap the part of your app that \".concat(useCase, \" in an <Elements> provider.\"));\n\t }\n\n\t return ctx;\n\t};\n\t/**\n\t * The `Elements` provider allows you to use [Element components](https://stripe.com/docs/stripe-js/react#element-components) and access the [Stripe object](https://stripe.com/docs/js/initializing) in any nested component.\n\t * Render an `Elements` provider at the root of your React app so that it is available everywhere you need it.\n\t *\n\t * To use the `Elements` provider, call `loadStripe` from `@stripe/stripe-js` with your publishable key.\n\t * The `loadStripe` function will asynchronously load the Stripe.js script and initialize a `Stripe` object.\n\t * Pass the returned `Promise` to `Elements`.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#elements-provider\n\t */\n\n\tvar Elements = function Elements(_ref) {\n\t var rawStripeProp = _ref.stripe,\n\t options = _ref.options,\n\t children = _ref.children;\n\t var parsed = React.useMemo(function () {\n\t return parseStripeProp(rawStripeProp);\n\t }, [rawStripeProp]); // For a sync stripe instance, initialize into context\n\n\t var _React$useState = React.useState(function () {\n\t return {\n\t stripe: parsed.tag === 'sync' ? parsed.stripe : null,\n\t elements: parsed.tag === 'sync' ? parsed.stripe.elements(options) : null\n\t };\n\t }),\n\t _React$useState2 = _slicedToArray(_React$useState, 2),\n\t ctx = _React$useState2[0],\n\t setContext = _React$useState2[1];\n\n\t React.useEffect(function () {\n\t var isMounted = true; // For an async stripePromise, store it in context once resolved\n\n\t if (parsed.tag === 'async' && !ctx.stripe) {\n\t parsed.stripePromise.then(function (stripe) {\n\t if (stripe && isMounted) {\n\t // Only update Elements context if the component is still mounted\n\t // and stripe is not null. We allow stripe to be null to make\n\t // handling SSR easier.\n\t setContext({\n\t stripe: stripe,\n\t elements: stripe.elements(options)\n\t });\n\t }\n\t });\n\t } else if (parsed.tag === 'sync' && !ctx.stripe) {\n\t // Or, handle a sync stripe instance going from null -> populated\n\t setContext({\n\t stripe: parsed.stripe,\n\t elements: parsed.stripe.elements(options)\n\t });\n\t }\n\n\t return function () {\n\t isMounted = false;\n\t };\n\t }, [parsed, ctx, options]); // Warn on changes to stripe prop\n\n\t var prevStripe = usePrevious(rawStripeProp);\n\t React.useEffect(function () {\n\t if (prevStripe !== null && prevStripe !== rawStripeProp) {\n\t console.warn('Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.');\n\t }\n\t }, [prevStripe, rawStripeProp]); // Apply updates to elements when options prop has relevant changes\n\n\t var prevOptions = usePrevious(options);\n\t React.useEffect(function () {\n\t if (!ctx.elements) {\n\t return;\n\t }\n\n\t var updates = extractAllowedOptionsUpdates(options, prevOptions, ['clientSecret', 'fonts']);\n\n\t if (updates) {\n\t ctx.elements.update(updates);\n\t }\n\t }, [options, prevOptions, ctx.elements]); // Attach react-stripe-js version to stripe.js instance\n\n\t React.useEffect(function () {\n\t var anyStripe = ctx.stripe;\n\n\t if (!anyStripe || !anyStripe._registerWrapper || !anyStripe.registerAppInfo) {\n\t return;\n\t }\n\n\t anyStripe._registerWrapper({\n\t name: 'react-stripe-js',\n\t version: \"1.8.0\"\n\t });\n\n\t anyStripe.registerAppInfo({\n\t name: 'react-stripe-js',\n\t version: \"1.8.0\",\n\t url: 'https://stripe.com/docs/stripe-js/react'\n\t });\n\t }, [ctx.stripe]);\n\t return /*#__PURE__*/React.createElement(ElementsContext.Provider, {\n\t value: ctx\n\t }, children);\n\t};\n\tElements.propTypes = {\n\t stripe: propTypes.any,\n\t options: propTypes.object\n\t};\n\tvar useElementsContextWithUseCase = function useElementsContextWithUseCase(useCaseMessage) {\n\t var ctx = React.useContext(ElementsContext);\n\t return parseElementsContext(ctx, useCaseMessage);\n\t};\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#useelements-hook\n\t */\n\n\tvar useElements = function useElements() {\n\t var _useElementsContextWi = useElementsContextWithUseCase('calls useElements()'),\n\t elements = _useElementsContextWi.elements;\n\n\t return elements;\n\t};\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#usestripe-hook\n\t */\n\n\tvar useStripe = function useStripe() {\n\t var _useElementsContextWi2 = useElementsContextWithUseCase('calls useStripe()'),\n\t stripe = _useElementsContextWi2.stripe;\n\n\t return stripe;\n\t};\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#elements-consumer\n\t */\n\n\tvar ElementsConsumer = function ElementsConsumer(_ref2) {\n\t var children = _ref2.children;\n\t var ctx = useElementsContextWithUseCase('mounts <ElementsConsumer>'); // Assert to satisfy the busted React.FC return type (it should be ReactNode)\n\n\t return children(ctx);\n\t};\n\tElementsConsumer.propTypes = {\n\t children: propTypes.func.isRequired\n\t};\n\n\tvar useCallbackReference = function useCallbackReference(cb) {\n\t var ref = React.useRef(cb);\n\t React.useEffect(function () {\n\t ref.current = cb;\n\t }, [cb]);\n\t return function () {\n\t if (ref.current) {\n\t ref.current.apply(ref, arguments);\n\t }\n\t };\n\t};\n\n\tvar noop = function noop() {};\n\n\tvar capitalized = function capitalized(str) {\n\t return str.charAt(0).toUpperCase() + str.slice(1);\n\t};\n\n\tvar createElementComponent = function createElementComponent(type, isServer) {\n\t var displayName = \"\".concat(capitalized(type), \"Element\");\n\n\t var ClientElement = function ClientElement(_ref) {\n\t var id = _ref.id,\n\t className = _ref.className,\n\t _ref$options = _ref.options,\n\t options = _ref$options === void 0 ? {} : _ref$options,\n\t _ref$onBlur = _ref.onBlur,\n\t onBlur = _ref$onBlur === void 0 ? noop : _ref$onBlur,\n\t _ref$onFocus = _ref.onFocus,\n\t onFocus = _ref$onFocus === void 0 ? noop : _ref$onFocus,\n\t _ref$onReady = _ref.onReady,\n\t onReady = _ref$onReady === void 0 ? noop : _ref$onReady,\n\t _ref$onChange = _ref.onChange,\n\t onChange = _ref$onChange === void 0 ? noop : _ref$onChange,\n\t _ref$onEscape = _ref.onEscape,\n\t onEscape = _ref$onEscape === void 0 ? noop : _ref$onEscape,\n\t _ref$onClick = _ref.onClick,\n\t onClick = _ref$onClick === void 0 ? noop : _ref$onClick;\n\n\t var _useElementsContextWi = useElementsContextWithUseCase(\"mounts <\".concat(displayName, \">\")),\n\t elements = _useElementsContextWi.elements;\n\n\t var elementRef = React.useRef(null);\n\t var domNode = React.useRef(null);\n\t var callOnReady = useCallbackReference(onReady);\n\t var callOnBlur = useCallbackReference(onBlur);\n\t var callOnFocus = useCallbackReference(onFocus);\n\t var callOnClick = useCallbackReference(onClick);\n\t var callOnChange = useCallbackReference(onChange);\n\t var callOnEscape = useCallbackReference(onEscape);\n\t React.useLayoutEffect(function () {\n\t if (elementRef.current == null && elements && domNode.current != null) {\n\t var element = elements.create(type, options);\n\t elementRef.current = element;\n\t element.mount(domNode.current);\n\t element.on('ready', function () {\n\t return callOnReady(element);\n\t });\n\t element.on('change', callOnChange);\n\t element.on('blur', callOnBlur);\n\t element.on('focus', callOnFocus);\n\t element.on('escape', callOnEscape); // Users can pass an onClick prop on any Element component\n\t // just as they could listen for the `click` event on any Element,\n\t // but only the PaymentRequestButton will actually trigger the event.\n\n\t element.on('click', callOnClick);\n\t }\n\t });\n\t var prevOptions = usePrevious(options);\n\t React.useEffect(function () {\n\t if (!elementRef.current) {\n\t return;\n\t }\n\n\t var updates = extractAllowedOptionsUpdates(options, prevOptions, ['paymentRequest']);\n\n\t if (updates) {\n\t elementRef.current.update(updates);\n\t }\n\t }, [options, prevOptions]);\n\t React.useLayoutEffect(function () {\n\t return function () {\n\t if (elementRef.current) {\n\t elementRef.current.destroy();\n\t elementRef.current = null;\n\t }\n\t };\n\t }, []);\n\t return /*#__PURE__*/React.createElement(\"div\", {\n\t id: id,\n\t className: className,\n\t ref: domNode\n\t });\n\t }; // Only render the Element wrapper in a server environment.\n\n\n\t var ServerElement = function ServerElement(props) {\n\t // Validate that we are in the right context by calling useElementsContextWithUseCase.\n\t useElementsContextWithUseCase(\"mounts <\".concat(displayName, \">\"));\n\t var id = props.id,\n\t className = props.className;\n\t return /*#__PURE__*/React.createElement(\"div\", {\n\t id: id,\n\t className: className\n\t });\n\t };\n\n\t var Element = isServer ? ServerElement : ClientElement;\n\t Element.propTypes = {\n\t id: propTypes.string,\n\t className: propTypes.string,\n\t onChange: propTypes.func,\n\t onBlur: propTypes.func,\n\t onFocus: propTypes.func,\n\t onReady: propTypes.func,\n\t onClick: propTypes.func,\n\t options: propTypes.object\n\t };\n\t Element.displayName = displayName;\n\t Element.__elementType = type;\n\t return Element;\n\t};\n\n\tvar isServer = typeof window === 'undefined';\n\t/**\n\t * Requires beta access:\n\t * Contact [Stripe support](https://support.stripe.com/) for more information.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar AuBankAccountElement = createElementComponent('auBankAccount', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardElement = createElementComponent('card', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardNumberElement = createElementComponent('cardNumber', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardExpiryElement = createElementComponent('cardExpiry', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar CardCvcElement = createElementComponent('cardCvc', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar FpxBankElement = createElementComponent('fpxBank', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar IbanElement = createElementComponent('iban', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar IdealBankElement = createElementComponent('idealBank', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar P24BankElement = createElementComponent('p24Bank', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar EpsBankElement = createElementComponent('epsBank', isServer);\n\tvar PaymentElement = createElementComponent('payment', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar PaymentRequestButtonElement = createElementComponent('paymentRequestButton', isServer);\n\t/**\n\t * Requires beta access:\n\t * Contact [Stripe support](https://support.stripe.com/) for more information.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar LinkAuthenticationElement = createElementComponent('linkAuthentication', isServer);\n\t/**\n\t * Requires beta access:\n\t * Contact [Stripe support](https://support.stripe.com/) for more information.\n\t *\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar ShippingAddressElement = createElementComponent('shippingAddress', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar AffirmMessageElement = createElementComponent('affirmMessage', isServer);\n\t/**\n\t * @docs https://stripe.com/docs/stripe-js/react#element-components\n\t */\n\n\tvar AfterpayClearpayMessageElement = createElementComponent('afterpayClearpayMessage', isServer);\n\n\texports.AffirmMessageElement = AffirmMessageElement;\n\texports.AfterpayClearpayMessageElement = AfterpayClearpayMessageElement;\n\texports.AuBankAccountElement = AuBankAccountElement;\n\texports.CardCvcElement = CardCvcElement;\n\texports.CardElement = CardElement;\n\texports.CardExpiryElement = CardExpiryElement;\n\texports.CardNumberElement = CardNumberElement;\n\texports.Elements = Elements;\n\texports.ElementsConsumer = ElementsConsumer;\n\texports.EpsBankElement = EpsBankElement;\n\texports.FpxBankElement = FpxBankElement;\n\texports.IbanElement = IbanElement;\n\texports.IdealBankElement = IdealBankElement;\n\texports.LinkAuthenticationElement = LinkAuthenticationElement;\n\texports.P24BankElement = P24BankElement;\n\texports.PaymentElement = PaymentElement;\n\texports.PaymentRequestButtonElement = PaymentRequestButtonElement;\n\texports.ShippingAddressElement = ShippingAddressElement;\n\texports.useElements = useElements;\n\texports.useStripe = useStripe;\n\n\tObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","var V3_URL = 'https://js.stripe.com/v3';\nvar V3_URL_REGEX = /^https:\\/\\/js\\.stripe\\.com\\/v3\\/?(\\?.*)?$/;\nvar EXISTING_SCRIPT_MESSAGE = 'loadStripe.setLoadParameters was called but an existing Stripe.js script already exists in the document; existing script parameters will be used';\nvar findScript = function findScript() {\n var scripts = document.querySelectorAll(\"script[src^=\\\"\".concat(V3_URL, \"\\\"]\"));\n\n for (var i = 0; i < scripts.length; i++) {\n var script = scripts[i];\n\n if (!V3_URL_REGEX.test(script.src)) {\n continue;\n }\n\n return script;\n }\n\n return null;\n};\n\nvar injectScript = function injectScript(params) {\n var queryString = params && !params.advancedFraudSignals ? '?advancedFraudSignals=false' : '';\n var script = document.createElement('script');\n script.src = \"\".concat(V3_URL).concat(queryString);\n var headOrBody = document.head || document.body;\n\n if (!headOrBody) {\n throw new Error('Expected document.body not to be null. Stripe.js requires a <body> element.');\n }\n\n headOrBody.appendChild(script);\n return script;\n};\n\nvar registerWrapper = function registerWrapper(stripe, startTime) {\n if (!stripe || !stripe._registerWrapper) {\n return;\n }\n\n stripe._registerWrapper({\n name: 'stripe-js',\n version: \"1.12.1\",\n startTime: startTime\n });\n};\n\nvar stripePromise = null;\nvar loadScript = function loadScript(params) {\n // Ensure that we only attempt to load Stripe.js at most once\n if (stripePromise !== null) {\n return stripePromise;\n }\n\n stripePromise = new Promise(function (resolve, reject) {\n if (typeof window === 'undefined') {\n // Resolve to null when imported server side. This makes the module\n // safe to import in an isomorphic code base.\n resolve(null);\n return;\n }\n\n if (window.Stripe && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n }\n\n if (window.Stripe) {\n resolve(window.Stripe);\n return;\n }\n\n try {\n var script = findScript();\n\n if (script && params) {\n console.warn(EXISTING_SCRIPT_MESSAGE);\n } else if (!script) {\n script = injectScript(params);\n }\n\n script.addEventListener('load', function () {\n if (window.Stripe) {\n resolve(window.Stripe);\n } else {\n reject(new Error('Stripe.js not available'));\n }\n });\n script.addEventListener('error', function () {\n reject(new Error('Failed to load Stripe.js'));\n });\n } catch (error) {\n reject(error);\n return;\n }\n });\n return stripePromise;\n};\nvar initStripe = function initStripe(maybeStripe, args, startTime) {\n if (maybeStripe === null) {\n return null;\n }\n\n var stripe = maybeStripe.apply(undefined, args);\n registerWrapper(stripe, startTime);\n return stripe;\n};\n\n// own script injection.\n\nvar stripePromise$1 = Promise.resolve().then(function () {\n return loadScript(null);\n});\nvar loadCalled = false;\nstripePromise$1[\"catch\"](function (err) {\n if (!loadCalled) {\n console.warn(err);\n }\n});\nvar loadStripe = function loadStripe() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n loadCalled = true;\n var startTime = Date.now();\n return stripePromise$1.then(function (maybeStripe) {\n return initStripe(maybeStripe, args, startTime);\n });\n};\n\nexport { loadStripe };\n","export * from './payment-method-label';\r\nexport * from './radio-option';\r\nexport * from './payment-method';\r\nexport * from './installments';","import {useState, useRef, useEffect} from '@wordpress/element';\r\nimport {__} from '@wordpress/i18n';\r\nimport apiFetch from '@wordpress/api-fetch';\r\nimport classnames from 'classnames';\r\nimport {StripeError, getRoute} from \"../../../payment-methods/util\";\r\nimport './style.scss';\r\n\r\nexport const Installments = (\r\n {\r\n paymentMethodName,\r\n getCreatePaymentMethodArgs = null,\r\n cardFormComplete = false,\r\n addPaymentMethodData = null,\r\n getPaymentMethod\r\n }) => {\r\n const [installments, setInstallments] = useState(null);\r\n const [installment, setInstallment] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n const onInstallmentSelected = (e) => {\r\n setInstallment(e.target.value);\r\n if (addPaymentMethodData) {\r\n addPaymentMethodData({_stripe_installment_plan: e.target.value});\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (cardFormComplete) {\r\n // fetch the installments\r\n setLoading(true);\r\n setInstallment('');\r\n\r\n getPaymentMethod().then(async paymentMethod => {\r\n if (paymentMethod) {\r\n // fetch the installment plans\r\n const result = await apiFetch({\r\n url: getRoute('create/payment_intent'),\r\n method: 'POST',\r\n data: {payment_method_id: paymentMethod, payment_method: paymentMethodName}\r\n });\r\n setInstallments(result.installments);\r\n if (Object.keys(result.installments)?.length) {\r\n setInstallment(Object.keys(result.installments)[0]);\r\n }\r\n }\r\n }).catch(error => {\r\n console.log(error);\r\n }).finally(() => setLoading(false));\r\n }\r\n }, [cardFormComplete, getPaymentMethod]);\r\n\r\n return (\r\n <div className='wc-stripe-installments__container'>\r\n <label>\r\n {__('Pay in installments:', 'woo-stripe-payment')}\r\n <Loader loading={loading}/>\r\n </label>\r\n <InstallmentOptions\r\n installment={installment}\r\n onChange={onInstallmentSelected}\r\n installments={installments}\r\n isLoading={loading}/>\r\n </div>\r\n )\r\n}\r\n\r\nconst InstallmentOptions = ({installment, installments, onChange, isLoading}) => {\r\n let OPTIONS = null;\r\n if (isLoading) {\r\n OPTIONS = <option value=\"\" disabled>{__('Loading installments...', 'woo-stripe-payment')}</option>\r\n } else {\r\n if (installments === null) {\r\n OPTIONS = <option value=\"\" disabled>{__('Fill out card form for eligibility.', 'woo-stripe-payment')}</option>\r\n } else {\r\n OPTIONS = Object.keys(installments).map(id => {\r\n return <option key={id} value={id} dangerouslySetInnerHTML={{__html: installments[id].text}}/>\r\n });\r\n }\r\n }\r\n return (\r\n <select value={installment} onChange={onChange} className={classnames({loading: isLoading})}>\r\n {OPTIONS}\r\n </select>\r\n );\r\n}\r\n\r\nconst Loader = ({loading}) => {\r\n return (\r\n <div className=\"wc-stripe-installment-loader__container\">\r\n {loading && <div className=\"wc-stripe-installment-loader\">\r\n <div></div>\r\n <div></div>\r\n <div></div>\r\n </div>}\r\n </div>\r\n );\r\n}\r\nexport default Installments;","import './style.scss';\r\n\r\nexport const PaymentMethodLabel = ({title, icons, paymentMethod, ...props}) => {\r\n const {PaymentMethodLabel: Label, PaymentMethodIcons: Icons} = props.components;\r\n if (!Array.isArray(icons)) {\r\n icons = [icons];\r\n }\r\n return (\r\n <span className={`wc-stripe-label-container ${paymentMethod}`}>\r\n <Label text={title}/>\r\n <Icons icons={icons} align='left'/>\r\n </span>\r\n )\r\n}","import {useEffect, useRef} from '@wordpress/element';\r\n\r\nexport const PaymentMethod = ({getData, content, ...props}) => {\r\n const Content = content;\r\n const desc = getData('description');\r\n const el = useRef(null);\r\n useEffect(() => {\r\n if (el.current && el.current.childNodes.length == 0) {\r\n el.current.classList.add('no-content');\r\n }\r\n });\r\n return (\r\n <>\r\n {desc && <Description desc={desc} payment_method={getData('name')}/>}\r\n <div ref={el} className='wc-stripe-blocks-payment-method-content'>\r\n <Content {...{...props, getData}}/>\r\n </div>\r\n </>);\r\n}\r\n\r\nconst Description = ({desc, payment_method}) => {\r\n return (\r\n <div className={`wc-stripe-blocks-payment-method__desc ${payment_method}`}>\r\n <p>{desc}</p>\r\n </div>\r\n )\r\n}","import classnames from 'classnames';\r\n\r\nexport const RadioControlOption = ({checked, onChange, value, label}) => {\r\n return (\r\n <label\r\n className={classnames('wc-stripe-blocks-radio-control__option', {\r\n 'wc-stripe-blocks-radio-control__option-checked': checked\r\n })}>\r\n <input\r\n className='wc-stripe-blocks-radio-control__input'\r\n type='radio'\r\n value={value}\r\n checked={checked}\r\n onChange={(event) => onChange(event.target.value)}/>\r\n <div className='wc-stripe-blocks-radio-control__label'>\r\n <span>{label}</span>\r\n </div>\r\n </label>\r\n )\r\n}\r\n\r\nexport default RadioControlOption;","export * from './use-create-link-token';\r\nexport * from './use-initialize-plaid';\r\nexport * from './use-process-payment';","import {useEffect, useState, useCallback} from '@wordpress/element';\r\nimport apiFetch from '@wordpress/api-fetch';\r\nimport {getRoute, getFromCache, storeInCache} from '../../util';\r\n\r\nexport const useCreateLinkToken = (\r\n {\r\n setValidationError\r\n }) => {\r\n const [linkToken, setLinkToken] = useState(false);\r\n\r\n const createToken = useCallback(async () => {\r\n try {\r\n const response = await apiFetch({\r\n url: getRoute('create/linkToken'),\r\n method: 'POST',\r\n data: {}\r\n });\r\n if (response.token) {\r\n storeInCache('linkToken', response.token);\r\n setLinkToken(response.token);\r\n }\r\n } catch (err) {\r\n setValidationError(err);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!linkToken) {\r\n const token = getFromCache('linkToken');\r\n if (token) {\r\n // cached token exist so use it\r\n setLinkToken(token);\r\n } else {\r\n // create the Plaid Link token\r\n createToken();\r\n }\r\n }\r\n }, [\r\n linkToken,\r\n setLinkToken\r\n ]);\r\n return linkToken;\r\n}","import {useState, useEffect, useRef, useCallback} from '@wordpress/element';\r\nimport Plaid from '@plaid';\r\nimport {getErrorMessage} from \"../../util\";\r\n\r\nexport const useInitializePlaid = (\r\n {\r\n getData,\r\n linkToken\r\n }) => {\r\n const linkHandler = useRef(null);\r\n const resolvePopup = useRef(null);\r\n const openLinkPopup = useCallback(() => new Promise((resolve, reject) => {\r\n resolvePopup.current = {resolve, reject};\r\n linkHandler.current.open();\r\n }), []);\r\n\r\n // if the token exists, initialize Plaid's link handler\r\n useEffect(() => {\r\n if (linkToken) {\r\n linkHandler.current = Plaid.create({\r\n clientName: getData('clientName'),\r\n env: getData('plaidEnvironment'),\r\n product: ['auth'],\r\n token: linkToken,\r\n selectAccount: true,\r\n countryCodes: ['US'],\r\n onSuccess: (publicToken, metaData) => {\r\n resolvePopup.current.resolve({publicToken, metaData});\r\n },\r\n onExit: (err) => {\r\n resolvePopup.current.reject(err ? getErrorMessage(err.error_message) : false);\r\n }\r\n });\r\n }\r\n }, [linkToken]);\r\n\r\n return openLinkPopup;\r\n}","import {useEffect, useCallback} from '@wordpress/element';\r\nimport {ensureSuccessResponse, ensureErrorResponse, deleteFromCache} from \"../../util\";\r\n\r\nexport const useProcessPayment = (\r\n {\r\n openLinkPopup,\r\n onPaymentProcessing,\r\n responseTypes,\r\n paymentMethod\r\n\r\n }) => {\r\n\r\n useEffect(() => {\r\n const unsubscribe = onPaymentProcessing(async () => {\r\n try {\r\n // open the Plaid popup\r\n const result = await openLinkPopup();\r\n const {publicToken, metaData} = result;\r\n // remove the cached link token.\r\n deleteFromCache('linkToken');\r\n return ensureSuccessResponse(responseTypes, {\r\n meta: {\r\n paymentMethodData: {\r\n [`${paymentMethod}_token_key`]: publicToken,\r\n [`${paymentMethod}_metadata`]: JSON.stringify(metaData)\r\n }\r\n }\r\n });\r\n } catch (err) {\r\n return ensureErrorResponse(responseTypes, err);\r\n }\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n onPaymentProcessing,\r\n responseTypes,\r\n openLinkPopup\r\n ]);\r\n}","import './styles.scss';\r\nimport './payment-method'","import {useState} from '@wordpress/element';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, isTestMode} from '../util';\r\nimport {PaymentMethodLabel, PaymentMethod} from '../../components/checkout';\r\nimport SavedCardComponent from '../saved-card-component';\r\nimport {useCreateLinkToken, useInitializePlaid, useProcessPayment} from './hooks';\r\nimport {useProcessCheckoutError} from \"../hooks\";\r\nimport {__} from '@wordpress/i18n';\r\n\r\nconst getData = getSettings('stripe_ach_data');\r\n\r\nconst ACHPaymentContent = (\r\n {\r\n getData,\r\n eventRegistration,\r\n components,\r\n emitResponse,\r\n onSubmit,\r\n ...props\r\n }) => {\r\n const {responseTypes} = emitResponse;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const {ValidationInputError, LoadingMask} = components;\r\n const [validationError, setValidationError] = useState(false);\r\n\r\n const linkToken = useCreateLinkToken({setValidationError});\r\n\r\n useProcessCheckoutError({\r\n responseTypes,\r\n subscriber: onCheckoutAfterProcessingWithError\r\n });\r\n\r\n const openLinkPopup = useInitializePlaid({\r\n getData,\r\n linkToken,\r\n onSubmit\r\n });\r\n\r\n useProcessPayment({\r\n openLinkPopup,\r\n onPaymentProcessing,\r\n responseTypes,\r\n paymentMethod: getData('name')\r\n });\r\n return (\r\n <LoadingMask isLoading={!validationError && !linkToken} showSpinner={true}>\r\n {isTestMode && <ACHTestModeCredentials/>}\r\n {validationError && <ValidationInputError errorMessage={validationError}/>}\r\n </LoadingMask>\r\n )\r\n}\r\n\r\nconst ACHTestModeCredentials = () => {\r\n return (\r\n <div className='wc-stripe-blocks-ach__creds'>\r\n <label className='wc-stripe-blocks-ach__creds-label'>{__('Test Credentials', 'woo-stripe-payment')}</label>\r\n <div className='wc-stripe-blocks-ach__username'>\r\n <div>\r\n <strong>{__('username', 'woo-stripe-payment')}</strong>: user_good\r\n </div>\r\n <div>\r\n <strong>{__('password', 'woo-stripe-payment')}</strong>: pass_good\r\n </div>\r\n <div>\r\n <strong>{__('pin', 'woo-stripe-payment')}</strong>: credential_good\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nregisterPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icons')}/>,\r\n ariaLabel: 'ACH Payment',\r\n canMakePayment: ({cartTotals}) => cartTotals.currency_code === 'USD',\r\n content: <PaymentMethod\r\n getData={getData}\r\n content={ACHPaymentContent}/>,\r\n savedTokenComponent: <SavedCardComponent getData={getData}/>,\r\n edit: <ACHPaymentContent getData={getData}/>,\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n})","import './style.scss';\r\n\r\nimport './payment-method';","import {useCallback} from '@wordpress/element';\r\nimport {registerExpressPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, initStripe as loadStripe, canMakePayment} from \"../util\";\r\nimport {Elements, PaymentRequestButtonElement, useStripe} from \"@stripe/react-stripe-js\";\r\nimport ErrorBoundary from \"../error-boundary\";\r\nimport {\r\n usePaymentRequest,\r\n useProcessPaymentIntent,\r\n useExportedValues,\r\n useAfterProcessingPayment,\r\n useStripeError,\r\n useExpressBreakpointWidth\r\n} from '../hooks';\r\n\r\nconst getData = getSettings('stripe_applepay_data');\r\n\r\nconst ApplePayContent = (props) => {\r\n return (\r\n <ErrorBoundary>\r\n <div className='wc-stripe-apple-pay-container'>\r\n <Elements stripe={loadStripe}>\r\n <ApplePayButton {...props}/>\r\n </Elements>\r\n </div>\r\n </ErrorBoundary>\r\n );\r\n}\r\n\r\nconst ApplePayButton = (\r\n {\r\n getData,\r\n onClick,\r\n onClose,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n emitResponse,\r\n onSubmit,\r\n activePaymentMethod,\r\n ...props\r\n }) => {\r\n const {onPaymentProcessing} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const stripe = useStripe();\r\n const [error] = useStripeError();\r\n const canPay = (result) => result != null && result.applePay;\r\n const exportedValues = useExportedValues();\r\n useExpressBreakpointWidth({payment_method: getData('name'), width: 300});\r\n const {setPaymentMethod} = useProcessPaymentIntent({\r\n getData,\r\n billing,\r\n shippingData,\r\n onPaymentProcessing,\r\n emitResponse,\r\n error,\r\n onSubmit,\r\n activePaymentMethod,\r\n exportedValues\r\n });\r\n useAfterProcessingPayment({\r\n getData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n messageContext: noticeContexts.EXPRESS_PAYMENTS\r\n });\r\n const {paymentRequest} = usePaymentRequest({\r\n getData,\r\n onClose,\r\n stripe,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n setPaymentMethod,\r\n exportedValues,\r\n canPay\r\n });\r\n\r\n const handleClick = useCallback((e) => {\r\n if (paymentRequest) {\r\n e.preventDefault();\r\n onClick();\r\n paymentRequest.show();\r\n }\r\n }, [paymentRequest, onClick]);\r\n\r\n if (paymentRequest) {\r\n return (\r\n <button\r\n className={`apple-pay-button ${getData('buttonStyle')}`}\r\n style={{\r\n '-apple-pay-button-type': getData('buttonType')\r\n }}\r\n onClick={handleClick}/>\r\n\r\n )\r\n }\r\n return null;\r\n}\r\n\r\nconst ApplePayEdit = ({getData, ...props}) => {\r\n return (\r\n <div className={'apple-pay-block-editor'}>\r\n <img src={getData('editorIcon')}/>\r\n </div>\r\n )\r\n}\r\n\r\nregisterExpressPaymentMethod({\r\n name: getData('name'),\r\n canMakePayment: ({cartTotals, ...props}) => {\r\n if (getData('isAdmin')) {\r\n return true;\r\n }\r\n const {currency_code: currency, total_price} = cartTotals;\r\n return canMakePayment({\r\n country: getData('countryCode'),\r\n currency: currency.toLowerCase(),\r\n total: {\r\n label: getData('totalLabel'),\r\n amount: parseInt(total_price)\r\n }\r\n }, (result) => result != null && result.applePay);\r\n },\r\n content: <ApplePayContent getData={getData}/>,\r\n edit: <ApplePayEdit getData={getData}/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: getData('showSaveOption'),\r\n features: getData('features')\r\n }\r\n})","import './style.scss';\r\nimport {registerCreditCardForm} from \"@paymentplugins/stripe/util\";\r\nimport {CardNumberElement, CardExpiryElement, CardCvcElement} from '@stripe/react-stripe-js';\r\nimport {__} from \"@wordpress/i18n\";\r\n\r\nconst Bootstrap = ({CardIcon, options, onChange}) => {\r\n return (\r\n <div className='wc-stripe-bootstrap-form'>\r\n <div className='row'>\r\n <div className='col-md-6 mb-3'>\r\n <CardNumberElement className='md-form md-outline stripe-input' options={options['cardNumber']}\r\n onChange={onChange(CardNumberElement)}/>\r\n <label htmlFor=\"stripe-card-number\">{__('Card Number', 'woo-stripe-payment')}</label>\r\n {CardIcon}\r\n </div>\r\n <div className='col-md-3 mb-3'>\r\n <CardExpiryElement className='md-form md-outline stripe-input' options={options['cardExpiry']}\r\n onChange={onChange(CardExpiryElement)}/>\r\n <label htmlFor=\"stripe-exp\">{__('Exp', 'woo-stripe-payment')}</label>\r\n </div>\r\n <div className='col-md-3 mb-3'>\r\n <CardCvcElement className=\"md-form md-outline stripe-input\" options={options['cardCvc']}\r\n onChange={onChange(CardCvcElement)}/>\r\n <label htmlFor=\"stripe-cvv\">{__('CVV', 'woo-stripe-payment')}</label>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nregisterCreditCardForm({\r\n id: 'bootstrap',\r\n breakpoint: 475,\r\n component: <Bootstrap/>\r\n})","import {getCreditCardForm} from \"../../util\";\r\nimport {cloneElement, useRef, useCallback, useEffect, useState} from '@wordpress/element';\r\nimport {useElements, CardNumberElement, CardExpiryElement, CardCvcElement} from '@stripe/react-stripe-js';\r\nimport {sprintf, __} from '@wordpress/i18n';\r\nimport {useBreakpointWidth} from \"../../hooks\";\r\n\r\nconst classes = {\r\n focus: 'focused',\r\n empty: 'empty',\r\n invalid: 'invalid'\r\n}\r\n\r\nconst CustomCardForm = (\r\n {\r\n getData,\r\n onChange: eventChange,\r\n onComplete\r\n }) => {\r\n const [cardType, setCardType] = useState('');\r\n const elementOrder = useRef([]);\r\n const [container, setContainer] = useState(null);\r\n const elements = useElements();\r\n const id = getData('customForm');\r\n const {component: CardForm = null, breakpoint = 475} = getCreditCardForm(id);\r\n const postalCodeEnabled = getData('postalCodeEnabled');\r\n const options = {};\r\n const elementStatus = useRef({'cardNumber': {}, 'cardExpiry': {}, 'cardCvc': {}});\r\n ['cardNumber', 'cardExpiry', 'cardCvc'].forEach(type => {\r\n options[type] = {\r\n classes,\r\n ...getData('cardOptions'),\r\n ...getData('customFieldOptions')[type],\r\n }\r\n });\r\n const onChange = (element) => {\r\n setElementOrder(element);\r\n return (event) => {\r\n eventChange(event);\r\n elementStatus.current[event.elementType] = event;\r\n if (event.elementType === 'cardNumber') {\r\n if (event.brand === 'unknown') {\r\n setCardType('');\r\n } else {\r\n setCardType(event.brand);\r\n }\r\n }\r\n if (event.complete) {\r\n const idx = elementOrder.current.indexOf(element);\r\n if (elementOrder.current[idx + 1]) {\r\n const nextElement = elementOrder.current[idx + 1];\r\n elements.getElement(nextElement).focus();\r\n }\r\n }\r\n onComplete(isFormComplete());\r\n }\r\n }\r\n\r\n const isFormComplete = () => {\r\n let status = elementStatus.current;\r\n return Object.keys(status).filter(key => !!status[key].complete).length === Object.keys(status).length;\r\n }\r\n\r\n const setElementOrder = useCallback((element) => {\r\n if (!elementOrder.current.includes(element)) {\r\n elementOrder.current.push(element);\r\n }\r\n }, []);\r\n\r\n useBreakpointWidth({name: 'creditCardForm', width: breakpoint, node: container, className: 'small-form'});\r\n\r\n const getCardIconSrc = useCallback((type) => {\r\n for (let id of Object.keys(getData('cards'))) {\r\n if (id === type) {\r\n return getData('cards')[id];\r\n }\r\n }\r\n return '';\r\n }, []);\r\n\r\n if (!CardForm) {\r\n return (\r\n <div className='wc-stripe-custom-form-error'>\r\n <p>{sprintf(__('%s is not a valid blocks Stripe custom form. Please choose another custom form option in the Credit Card Settings.', 'woo-stripe-payment'), getData('customFormLabels')[id])}</p>\r\n </div>\r\n )\r\n }\r\n return (\r\n <div className={`wc-stripe-custom-form ${id}`} ref={setContainer}>\r\n {cloneElement(CardForm, {\r\n postalCodeEnabled,\r\n options,\r\n onChange,\r\n CardIcon: <CardIcon type={cardType} src={getCardIconSrc(cardType)}/>\r\n })}\r\n </div>\r\n )\r\n\r\n}\r\n\r\nconst CardIcon = ({type, src}) => {\r\n if (type) {\r\n return <img className={`wc-stripe-card ${type}`} src={src}/>\r\n }\r\n return null;\r\n}\r\n\r\nexport default CustomCardForm;\r\n","import './style.scss';\r\nimport {registerCreditCardForm} from \"@paymentplugins/stripe/util\";\r\nimport {CardNumberElement, CardExpiryElement, CardCvcElement} from '@stripe/react-stripe-js';\r\nimport {__} from \"@wordpress/i18n\";\r\nimport {useEffect, useCallback, useRef} from '@wordpress/element';\r\n\r\nconst SimpleForm = ({CardIcon, options, onChange}) => {\r\n useEffect(() => {\r\n }, []);\r\n return (\r\n <div className='wc-stripe-simple-form'>\r\n <div className=\"row\">\r\n <div className=\"field\">\r\n <div className='field-item'>\r\n <CardNumberElement id=\"stripe-card-number\" className=\"input empty\"\r\n options={options['cardNumber']}\r\n onChange={onChange(CardNumberElement)}/>\r\n <label htmlFor=\"stripe-card-number\"\r\n data-tid=\"\">{__('Card Number', 'woo-stripe-payment')}</label>\r\n <div className=\"baseline\"></div>\r\n {CardIcon}\r\n </div>\r\n </div>\r\n </div>\r\n <div className=\"row\">\r\n <div className=\"field half-width\">\r\n <div className='field-item'>\r\n <CardExpiryElement id=\"stripe-exp\" className=\"input empty\" options={options['cardExpiry']}\r\n onChange={onChange(CardExpiryElement)}/>\r\n <label htmlFor=\"stripe-exp\"\r\n data-tid=\"\">{__('Expiration', 'woo-stripe-payment')}</label>\r\n <div className=\"baseline\"></div>\r\n </div>\r\n </div>\r\n <div className=\"field half-width cvc\">\r\n <div className='field-item'>\r\n <CardCvcElement id=\"stripe-cvv\" className=\"input empty\" options={options['cardCvc']}\r\n onChange={onChange(CardCvcElement)}/>\r\n <label htmlFor=\"stripe-cvv\"\r\n data-tid=\"\">{__('CVV', 'woo-stripe-payment')}</label>\r\n <div className=\"baseline\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nregisterCreditCardForm({\r\n id: 'simple',\r\n component: <SimpleForm/>,\r\n breakpoint: 375\r\n})","import {CardElement} from \"@stripe/react-stripe-js\";\r\nimport {isFieldRequired} from \"../../util\";\r\nimport {useMemo} from '@wordpress/element';\r\n\r\nconst StripeCardForm = ({getData, billing, onChange: eventChange, onComplete}) => {\r\n const elementStatus = {card: {}};\r\n const onChange = (event) => {\r\n eventChange(event);\r\n elementStatus[event.elementType] = event;\r\n onComplete(isFormComplete());\r\n }\r\n const isFormComplete = () => {\r\n return Object.keys(elementStatus).filter(type => !!elementStatus[type].complete).length === Object.keys(elementStatus).length;\r\n }\r\n const cardOptions = useMemo(() => {\r\n return {\r\n ...{\r\n value: {\r\n postalCode: billing?.billingData?.postcode\r\n },\r\n hidePostalCode: isFieldRequired('postcode'),\r\n iconStyle: 'default'\r\n }, ...getData('cardOptions')\r\n };\r\n }, [billing.billingData]);\r\n return (\r\n <div className='wc-stripe-inline-form'>\r\n <CardElement options={cardOptions} onChange={onChange}/>\r\n </div>\r\n )\r\n}\r\n\r\nexport default StripeCardForm;","import './style.scss';\r\n\r\nexport * from './payment-method';\r\n\r\nimport './components/bootstrap';\r\nimport './components/simple';\r\n","import {useEffect, useState, useCallback, useMemo} from '@wordpress/element';\r\nimport {Elements, PaymentElement, useStripe, useElements} from '@stripe/react-stripe-js';\r\nimport {\r\n getSettings,\r\n initStripe as loadStripe\r\n} from '../util';\r\n\r\nimport {Installments} from '../../components/checkout/';\r\n\r\nimport {useProcessCheckoutError, useUpdatePaymentIntent} from \"../hooks\";\r\n\r\n\r\nconst getData = getSettings('stripe_cc_data');\r\n\r\nexport const PaymentElementComponent = ({cartData, ...props}) => {\r\n const clientSecret = cartData?.extensions?.stripe_cc?.clientSecret;\r\n return (\r\n <>\r\n <Elements stripe={loadStripe} options={{...getData('elementOptions'), clientSecret}}>\r\n <CardElement {...props} clientSecret={clientSecret}/>\r\n </Elements>\r\n </>\r\n );\r\n}\r\n\r\nconst CardElement = ({onComplete, clientSecret, ...props}) => {\r\n const [formComplete, setFormComplete] = useState(false);\r\n const installmentsActive = getData('installmentsActive')\r\n const elements = useElements();\r\n const stripe = useStripe();\r\n const {billing: {billingData}, eventRegistration, emitResponse, shouldSavePayment} = props;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const name = getData('name');\r\n const onChange = useCallback((event) => {\r\n setFormComplete(event.complete);\r\n }, []);\r\n const {updatePaymentIntent, addPaymentMethodData} = useUpdatePaymentIntent({\r\n clientSecret,\r\n billingData,\r\n eventRegistration,\r\n responseTypes,\r\n shouldSavePayment,\r\n noticeContexts,\r\n name\r\n });\r\n\r\n useProcessCheckoutError({\r\n responseTypes,\r\n subscriber: onCheckoutAfterProcessingWithError,\r\n messageContext: noticeContexts.PAYMENTS\r\n });\r\n\r\n const getPaymentMethod = useCallback(async () => {\r\n let paymentMethod = null;\r\n const result = await updatePaymentIntent();\r\n if (result?.paymentIntent?.payment_method) {\r\n paymentMethod = result.paymentIntent.payment_method;\r\n }\r\n return paymentMethod;\r\n }, [updatePaymentIntent]);\r\n\r\n const options = {\r\n fields: {\r\n billingDetails: 'never'\r\n },\r\n wallets: {applePay: 'never', googlePay: 'never'}\r\n }\r\n return (\r\n <>\r\n <PaymentElement options={options} onChange={onChange}/>\r\n {installmentsActive && <Installments\r\n paymentMethodName={getData('name')}\r\n stripe={stripe}\r\n cardFormComplete={formComplete}\r\n getPaymentMethod={getPaymentMethod}\r\n addPaymentMethodData={addPaymentMethodData}/>}\r\n </>\r\n )\r\n}\r\n\r\nexport default PaymentElementComponent;","import {useEffect, useState, useCallback, useMemo} from '@wordpress/element';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {\r\n initStripe as loadStripe,\r\n getSettings,\r\n} from '../util';\r\nimport {Elements, CardElement, useStripe, useElements, CardNumberElement} from '@stripe/react-stripe-js';\r\nimport {PaymentMethodLabel, PaymentMethod} from '../../components/checkout';\r\nimport SavedCardComponent from '../saved-card-component';\r\nimport CustomCardForm from './components/custom-card-form';\r\nimport StripeCardForm from \"./components/stripe-card-form\";\r\nimport {Installments} from '../../components/checkout';\r\nimport PaymentElementComponent from './payment-element';\r\nimport {\r\n useProcessPaymentIntent,\r\n useAfterProcessingPayment,\r\n useSetupIntent,\r\n useStripeError\r\n} from \"../hooks\";\r\n\r\nconst getData = getSettings('stripe_cc_data');\r\n\r\nconst CreditCardContent = (props) => {\r\n const [error, setError] = useState(false);\r\n useEffect(() => {\r\n loadStripe.catch(error => {\r\n setError(error);\r\n })\r\n }, [setError]);\r\n if (error) {\r\n throw new Error(error);\r\n }\r\n if (getData('isPaymentElement')) {\r\n return (\r\n <PaymentElementComponent {...props}/>\r\n )\r\n }\r\n return (\r\n <Elements stripe={loadStripe} options={getData('elementOptions')}>\r\n <CreditCardElement {...props}/>\r\n </Elements>\r\n );\r\n};\r\n\r\nconst CreditCardElement = (\r\n {\r\n getData,\r\n billing,\r\n shippingData,\r\n emitResponse,\r\n eventRegistration,\r\n activePaymentMethod,\r\n shouldSavePayment\r\n }) => {\r\n const [error, setError] = useStripeError();\r\n const [formComplete, setFormComplete] = useState(false);\r\n const {onPaymentProcessing} = eventRegistration;\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n const getPaymentMethodArgs = useCallback(() => {\r\n const elType = getData('customFormActive') ? CardNumberElement : CardElement;\r\n return {card: elements.getElement(elType)};\r\n }, [stripe, elements]);\r\n\r\n const {setupIntent, removeSetupIntent} = useSetupIntent({\r\n getData,\r\n cartTotal: billing.cartTotal,\r\n setError\r\n })\r\n\r\n const {getCreatePaymentMethodArgs, addPaymentMethodData} = useProcessPaymentIntent({\r\n getData,\r\n billing,\r\n shippingData,\r\n emitResponse,\r\n error,\r\n onPaymentProcessing,\r\n shouldSavePayment,\r\n setupIntent,\r\n removeSetupIntent,\r\n getPaymentMethodArgs,\r\n activePaymentMethod\r\n });\r\n useAfterProcessingPayment({\r\n getData,\r\n eventRegistration,\r\n responseTypes: emitResponse.responseTypes,\r\n activePaymentMethod,\r\n shouldSavePayment\r\n });\r\n\r\n const onChange = (event) => {\r\n if (event.error) {\r\n setError(event.error);\r\n } else {\r\n setError(false);\r\n }\r\n }\r\n\r\n const getPaymentMethod = useCallback(async () => {\r\n let paymentMethod = null;\r\n const result = await stripe.createPaymentMethod(getCreatePaymentMethodArgs());\r\n if (result?.paymentMethod?.id) {\r\n paymentMethod = result.paymentMethod.id;\r\n }\r\n return paymentMethod;\r\n }, [stripe, getCreatePaymentMethodArgs]);\r\n\r\n const Tag = getData('customFormActive') ? CustomCardForm : StripeCardForm;\r\n return (\r\n <div className='wc-stripe-card-container'>\r\n <Tag {...{getData, billing, onChange}} onComplete={setFormComplete}/>\r\n {getData('installmentsActive') && <Installments\r\n paymentMethodName={getData('name')}\r\n cardFormComplete={formComplete}\r\n addPaymentMethodData={addPaymentMethodData}\r\n getPaymentMethod={getPaymentMethod}/>}\r\n\r\n </div>\r\n );\r\n}\r\n\r\nregisterPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icons')}/>,\r\n ariaLabel: 'Credit Cards',\r\n canMakePayment: () => loadStripe,\r\n content: <PaymentMethod content={CreditCardContent} getData={getData}/>,\r\n savedTokenComponent: <SavedCardComponent getData={getData} method={getData('isPaymentElement') ? 'confirmCardPayment' : 'handleCardAction'}/>,\r\n edit: <PaymentMethod content={CreditCardContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: true,\r\n features: getData('features')\r\n }\r\n})","import {Component} from '@wordpress/element';\r\n\r\nclass ErrorBoundary extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {hasError: false, error: null, errorInfo: null};\r\n }\r\n\r\n componentDidCatch(error, errorInfo) {\r\n this.setState({\r\n hasError: true,\r\n error,\r\n errorInfo\r\n })\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n return (\r\n <>\r\n {this.state.error && <div className='wc-stripe-block-error'>{this.state.error.toString()}</div>}\r\n {this.state.errorInfo &&\r\n <div className='wc-stripe-block-error'>{this.state.errorInfo.componentStack}</div>}\r\n </>\r\n )\r\n }\r\n return this.props.children;\r\n }\r\n}\r\n\r\nexport default ErrorBoundary;","import {useRef, useEffect} from '@wordpress/element';\r\nimport {usePaymentsClient, usePaymentRequest} from './hooks';\r\nimport {\r\n useProcessPaymentIntent,\r\n useStripeError,\r\n useExportedValues,\r\n useExpressBreakpointWidth, useAfterProcessingPayment\r\n} from '../hooks';\r\nimport {getSettings} from '@paymentplugins/stripe/util';\r\n\r\nconst {publishableKey} = getSettings('stripeGeneralData')();\r\n\r\nconst GooglePayButton = (\r\n {\r\n getData,\r\n setErrorMessage,\r\n billing,\r\n shippingData,\r\n canMakePayment,\r\n checkoutStatus,\r\n eventRegistration,\r\n activePaymentMethod,\r\n onClick,\r\n onClose,\r\n ...props\r\n }) => {\r\n const merchantInfo = {\r\n merchantId: getData('merchantId'),\r\n merchantName: getData('merchantName')\r\n };\r\n const [error, setError] = useStripeError();\r\n const buttonContainer = useRef();\r\n const {onSubmit, emitResponse} = props;\r\n const {onPaymentProcessing} = eventRegistration;\r\n const exportedValues = useExportedValues();\r\n const width = getData('buttonStyle').buttonType === 'long' ? 390 : 300;\r\n const {setPaymentMethod} = useProcessPaymentIntent({\r\n getData,\r\n billing,\r\n shippingData,\r\n onPaymentProcessing,\r\n emitResponse,\r\n error,\r\n exportedValues,\r\n onSubmit,\r\n checkoutStatus,\r\n activePaymentMethod\r\n });\r\n\r\n const paymentRequest = usePaymentRequest({\r\n getData,\r\n publishableKey,\r\n merchantInfo,\r\n billing,\r\n shippingData\r\n })\r\n\r\n const {button, removeButton} = usePaymentsClient({\r\n merchantInfo,\r\n paymentRequest,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n canMakePayment,\r\n setErrorMessage,\r\n onSubmit,\r\n setPaymentMethod,\r\n exportedValues,\r\n onClick,\r\n onClose,\r\n getData\r\n });\r\n\r\n useAfterProcessingPayment({\r\n getData,\r\n eventRegistration,\r\n responseTypes: emitResponse.responseTypes,\r\n activePaymentMethod\r\n });\r\n\r\n useExpressBreakpointWidth({payment_method: getData('name'), width});\r\n\r\n useEffect(() => {\r\n if (button) {\r\n // prevent button duplicates\r\n removeButton(buttonContainer.current);\r\n buttonContainer.current.append(button);\r\n }\r\n }, [button]);\r\n\r\n return (\r\n <div className='wc-stripe-gpay-button-container' ref={buttonContainer}></div>\r\n )\r\n}\r\n\r\nexport default GooglePayButton;","export const BASE_PAYMENT_METHOD = {\r\n type: 'CARD',\r\n parameters: {\r\n allowedAuthMethods: [\"PAN_ONLY\"],\r\n allowedCardNetworks: [\"AMEX\", \"DISCOVER\", \"INTERAC\", \"JCB\", \"MASTERCARD\", \"VISA\"],\r\n assuranceDetailsRequired: true\r\n }\r\n};\r\n\r\nexport const BASE_PAYMENT_REQUEST = {\r\n apiVersion: 2,\r\n apiVersionMinor: 0\r\n}","export * from './use-payments-client';\r\nexport * from './use-payment-request';\r\nexport * from './use-error-message';","import {useState} from '@wordpress/element';\r\n\r\nexport const useErrorMessage = () => {\r\n const [errorMessage, setErrorMessage] = useState(false);\r\n return {errorMessage, setErrorMessage};\r\n}","import {useState, useEffect, useMemo} from '@wordpress/element';\r\nimport {BASE_PAYMENT_REQUEST, BASE_PAYMENT_METHOD} from \"../constants\";\r\nimport {isEmpty, isFieldRequired} from \"../../util\";\r\nimport {getTransactionInfo, getShippingOptionParameters} from \"../util\";\r\n\r\nexport const usePaymentRequest = ({getData, publishableKey, merchantInfo, billing, shippingData}) => {\r\n const {billingData} = billing;\r\n const {shippingRates} = shippingData;\r\n const {processingCountry, totalPriceLabel} = getData();\r\n\r\n const paymentRequest = useMemo(() => {\r\n let options = {\r\n ...{\r\n emailRequired: isEmpty(billingData.email),\r\n merchantInfo,\r\n allowedPaymentMethods: [{\r\n ...{\r\n type: 'CARD',\r\n tokenizationSpecification: {\r\n type: \"PAYMENT_GATEWAY\",\r\n parameters: {\r\n gateway: 'stripe',\r\n \"stripe:version\": \"2018-10-31\",\r\n \"stripe:publishableKey\": publishableKey\r\n }\r\n }\r\n }, ...BASE_PAYMENT_METHOD\r\n }],\r\n shippingAddressRequired: shippingData.needsShipping,\r\n transactionInfo: getTransactionInfo({\r\n billing,\r\n processingCountry,\r\n totalPriceLabel\r\n }),\r\n callbackIntents: ['PAYMENT_AUTHORIZATION']\r\n }, ...BASE_PAYMENT_REQUEST\r\n };\r\n options.allowedPaymentMethods[0].parameters.billingAddressRequired = true;\r\n options.allowedPaymentMethods[0].parameters.billingAddressParameters = {\r\n format: 'FULL',\r\n phoneNumberRequired: isFieldRequired('phone', billingData.country) && isEmpty(billingData.phone)\r\n };\r\n if (options.shippingAddressRequired) {\r\n options.callbackIntents = [...options.callbackIntents, ...['SHIPPING_ADDRESS', 'SHIPPING_OPTION']];\r\n options.shippingOptionRequired = true;\r\n const shippingOptionParameters = getShippingOptionParameters(shippingRates);\r\n if (shippingOptionParameters.shippingOptions.length > 0) {\r\n options = {...options, shippingOptionParameters};\r\n }\r\n }\r\n return options;\r\n }, [\r\n billing.cartTotal,\r\n billing.cartTotalItems,\r\n billingData,\r\n shippingData\r\n ]);\r\n return paymentRequest;\r\n}","import {useState, useEffect, useCallback, useMemo, useRef} from '@wordpress/element';\r\nimport isShallowEqual from \"@wordpress/is-shallow-equal\";\r\nimport {\r\n getErrorMessage,\r\n getSelectedShippingOption,\r\n getBillingDetailsFromAddress,\r\n isAddressValid,\r\n isEmpty,\r\n StripeError,\r\n getIntermediateAddress\r\n} from \"../../util\";\r\nimport {useStripe} from \"@stripe/react-stripe-js\";\r\nimport {getPaymentRequestUpdate, toCartAddress} from \"../util\";\r\nimport {__} from \"@wordpress/i18n\";\r\nimport {usePaymentEvents} from \"../../hooks\";\r\n\r\nexport const usePaymentsClient = (\r\n {\r\n merchantInfo,\r\n paymentRequest,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n canMakePayment,\r\n setErrorMessage,\r\n setPaymentMethod,\r\n exportedValues,\r\n onClick,\r\n onClose,\r\n getData\r\n }) => {\r\n const {environment} = getData();\r\n const [paymentsClient, setPaymentsClient] = useState();\r\n const [button, setButton] = useState(null);\r\n const currentBilling = useRef(billing);\r\n const currentShipping = useRef(shippingData);\r\n const stripe = useStripe();\r\n const {addPaymentEvent} = usePaymentEvents({\r\n billing,\r\n shippingData,\r\n eventRegistration\r\n });\r\n useEffect(() => {\r\n currentBilling.current = billing;\r\n currentShipping.current = shippingData;\r\n });\r\n\r\n const setAddressData = useCallback((paymentData) => {\r\n if (paymentData?.paymentMethodData?.info?.billingAddress) {\r\n let billingAddress = paymentData.paymentMethodData.info.billingAddress;\r\n if (isAddressValid(currentBilling.current.billingData, ['phone', 'email']) && isEmpty(currentBilling.current.billingData?.phone)) {\r\n billingAddress = {phoneNumber: billingAddress.phoneNumber};\r\n }\r\n exportedValues.billingData = currentBilling.current.billingData = toCartAddress(billingAddress, {email: paymentData.email});\r\n }\r\n if (paymentData?.shippingAddress) {\r\n exportedValues.shippingAddress = toCartAddress(paymentData.shippingAddress);\r\n }\r\n }, [exportedValues, paymentRequest]);\r\n\r\n const removeButton = useCallback((parentElement) => {\r\n while (parentElement.firstChild) {\r\n parentElement.removeChild(parentElement.firstChild);\r\n }\r\n }, [button]);\r\n const handleClick = useCallback(async () => {\r\n onClick();\r\n try {\r\n let paymentData = await paymentsClient.loadPaymentData(paymentRequest);\r\n\r\n // set the address data so it can be used during the checkout process\r\n setAddressData(paymentData);\r\n\r\n const data = JSON.parse(paymentData.paymentMethodData.tokenizationData.token);\r\n\r\n let result = await stripe.createPaymentMethod({\r\n type: 'card',\r\n card: {token: data.id},\r\n billing_details: getBillingDetailsFromAddress(currentBilling.current.billingData)\r\n });\r\n\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n\r\n setPaymentMethod(result.paymentMethod.id);\r\n } catch (err) {\r\n if (err?.statusCode === \"CANCELED\") {\r\n onClose();\r\n } else {\r\n console.log(getErrorMessage(err));\r\n setErrorMessage(getErrorMessage(err));\r\n }\r\n }\r\n }, [\r\n stripe,\r\n paymentsClient,\r\n onClick\r\n ]);\r\n\r\n const createButton = useCallback(async () => {\r\n try {\r\n if (paymentsClient && !button && stripe) {\r\n await canMakePayment;\r\n setButton(paymentsClient.createButton({\r\n onClick: handleClick,\r\n ...getData('buttonStyle')\r\n }));\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n }, [\r\n stripe,\r\n button,\r\n paymentsClient,\r\n handleClick\r\n ]);\r\n\r\n const paymentOptions = useMemo(() => {\r\n let options = {\r\n environment,\r\n merchantInfo,\r\n paymentDataCallbacks: {\r\n onPaymentAuthorized: () => Promise.resolve({transactionState: \"SUCCESS\"})\r\n }\r\n }\r\n if (paymentRequest.shippingAddressRequired) {\r\n options.paymentDataCallbacks.onPaymentDataChanged = (paymentData) => {\r\n return new Promise((resolve, reject) => {\r\n const shipping = currentShipping.current;\r\n const {shippingAddress: address, shippingOptionData} = paymentData;\r\n const intermediateAddress = toCartAddress(address);\r\n // pass the Promise resolve to a ref so it persists beyond the re-render\r\n const selectedRates = getSelectedShippingOption(shippingOptionData.id);\r\n const addressEqual = isShallowEqual(getIntermediateAddress(shipping.shippingAddress), intermediateAddress);\r\n const shippingEqual = isShallowEqual(shipping.selectedRates, {\r\n [selectedRates[1]]: selectedRates[0]\r\n });\r\n addPaymentEvent('onShippingChanged', (success, {billing, shipping}) => {\r\n if (success) {\r\n resolve(getPaymentRequestUpdate({\r\n billing,\r\n shippingData: {\r\n needsShipping: true,\r\n shippingRates: shipping.shippingRates\r\n },\r\n processingCountry: getData('processingCountry'),\r\n totalPriceLabel: getData('totalPriceLabel')\r\n }))\r\n } else {\r\n resolve({\r\n error: {\r\n reason: 'SHIPPING_ADDRESS_UNSERVICEABLE',\r\n message: __('Your shipping address is not serviceable.', 'woo-stripe-payment'),\r\n intent: 'SHIPPING_ADDRESS'\r\n }\r\n });\r\n }\r\n }, addressEqual && shippingEqual);\r\n currentShipping.current.setShippingAddress({...currentShipping.current.shippingAddress, ...intermediateAddress});\r\n if (shippingOptionData.id !== 'shipping_option_unselected') {\r\n currentShipping.current.setSelectedRates(...selectedRates);\r\n }\r\n })\r\n }\r\n }\r\n return options;\r\n }, [paymentRequest]);\r\n\r\n useEffect(() => {\r\n setPaymentsClient(new google.payments.api.PaymentsClient(paymentOptions));\r\n }, [paymentOptions]);\r\n\r\n useEffect(() => {\r\n createButton();\r\n }, [createButton])\r\n\r\n return {\r\n button,\r\n removeButton\r\n };\r\n}","import './style.scss';\r\n\r\nexport * from './payment-method';","import {registerExpressPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, initStripe as loadStripe, isCartPage} from '../util';\r\nimport {useErrorMessage} from \"./hooks\";\r\nimport GooglePayButton from './button';\r\nimport {BASE_PAYMENT_METHOD, BASE_PAYMENT_REQUEST} from './constants';\r\nimport google from '@googlepay';\r\nimport {Elements} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_googlepay_data');\r\n\r\nconst canMakePayment = (() => {\r\n const paymentsClient = new google.payments.api.PaymentsClient({\r\n environment: getData('environment'),\r\n merchantInfo: {\r\n merchantId: getData('merchantId'),\r\n merchantName: getData('merchantName')\r\n }\r\n });\r\n const isReadyToPayRequest = {...BASE_PAYMENT_REQUEST, allowedPaymentMethods: [BASE_PAYMENT_METHOD]};\r\n return paymentsClient.isReadyToPay(isReadyToPayRequest).then(() => {\r\n return true;\r\n }).catch(err => {\r\n console.log(err);\r\n return false;\r\n })\r\n})();\r\n\r\nconst GooglePayContent = ({getData, components, ...props}) => {\r\n const {ValidationInputError} = components;\r\n const {errorMessage, setErrorMessage} = useErrorMessage();\r\n return (\r\n <div className='wc-stripe-gpay-container'>\r\n <Elements stripe={loadStripe}>\r\n <GooglePayButton getData={getData}\r\n canMakePayment={canMakePayment}\r\n setErrorMessage={setErrorMessage}\r\n {...props}/>\r\n {errorMessage && <ValidationInputError errorMessage={errorMessage}/>}\r\n </Elements>\r\n </div>\r\n )\r\n}\r\n\r\nconst GooglePayEdit = ({getData, ...props}) => {\r\n const buttonType = getData('buttonStyle').buttonType;\r\n const src = getData('editorIcons')?.[buttonType] || 'long';\r\n return (\r\n <div className={`gpay-block-editor ${buttonType}`}>\r\n <img src={src}/>\r\n </div>\r\n )\r\n}\r\n\r\nregisterExpressPaymentMethod({\r\n name: getData('name'),\r\n canMakePayment: () => {\r\n if (getData('isAdmin')) {\r\n if (isCartPage()) {\r\n return getData('cartCheckoutEnabled');\r\n }\r\n return true;\r\n }\r\n if (isCartPage() && !getData('cartCheckoutEnabled')) {\r\n return false;\r\n }\r\n return loadStripe.then(stripe => {\r\n if (stripe.error) {\r\n return stripe;\r\n }\r\n return canMakePayment;\r\n });\r\n },\r\n content: <GooglePayContent getData={getData}/>,\r\n edit: <GooglePayEdit getData={getData}/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: getData('showSaveOption'),\r\n features: getData('features')\r\n }\r\n})","import {getShippingOptionId, removeNumberPrecision, toCartAddress as mapAddressToCartAddress} from \"../util\";\r\nimport {formatPrice} from '../util';\r\nimport {getSetting} from '@woocommerce/settings'\r\n\r\nconst generalData = getSetting('stripeGeneralData');\r\n\r\nconst ADDRESS_MAPPINGS = {\r\n name: (address, name) => {\r\n address.first_name = name.split(' ').slice(0, -1).join(' ');\r\n address.last_name = name.split(' ').pop();\r\n return address;\r\n },\r\n countryCode: 'country',\r\n address1: 'address_1',\r\n address2: 'address_2',\r\n locality: 'city',\r\n administrativeArea: 'state',\r\n postalCode: 'postcode',\r\n email: 'email',\r\n phoneNumber: 'phone'\r\n}\r\n\r\nexport const getTransactionInfo = ({billing, processingCountry, totalPriceLabel}, status = 'ESTIMATED') => {\r\n const {cartTotal, cartTotalItems, currency} = billing;\r\n const transactionInfo = {\r\n countryCode: processingCountry,\r\n currencyCode: currency.code,\r\n totalPriceStatus: status,\r\n totalPrice: removeNumberPrecision(cartTotal.value, currency.minorUnit).toString(),\r\n displayItems: getDisplayItems(cartTotalItems, currency.minorUnit),\r\n totalPriceLabel\r\n }\r\n return transactionInfo;\r\n}\r\n\r\nexport const getPaymentRequestUpdate = ({billing, shippingData, processingCountry, totalPriceLabel}) => {\r\n const {needsShipping, shippingRates} = shippingData;\r\n let update = {\r\n newTransactionInfo: getTransactionInfo({\r\n billing, processingCountry, totalPriceLabel\r\n }, 'FINAL')\r\n }\r\n if (needsShipping) {\r\n update.newShippingOptionParameters = getShippingOptionParameters(shippingRates);\r\n }\r\n return update;\r\n}\r\n\r\n/**\r\n * Return an array of line item objects\r\n * @param cartTotalItems\r\n * @param unit\r\n * @returns {[]}\r\n */\r\nconst getDisplayItems = (cartTotalItems, unit = 2) => {\r\n let items = [];\r\n const keys = ['total_tax', 'total_shipping'];\r\n cartTotalItems.forEach(item => {\r\n if (0 < item.value || (item.key && keys.includes(item.key))) {\r\n items.push({\r\n label: item.label,\r\n type: 'LINE_ITEM',\r\n price: removeNumberPrecision(item.value, unit).toString()\r\n });\r\n }\r\n })\r\n return items;\r\n}\r\n\r\nexport const getShippingOptionParameters = (shippingRates) => {\r\n const shippingOptions = getShippingOptions(shippingRates);\r\n const shippingOptionIds = shippingOptions.map(option => option.id);\r\n let defaultSelectedOptionId = shippingOptionIds.slice(0, 1).shift();\r\n shippingRates.forEach((shippingPackage, idx) => {\r\n shippingPackage.shipping_rates.forEach(rate => {\r\n if (rate.selected) {\r\n defaultSelectedOptionId = getShippingOptionId(idx, rate.rate_id);\r\n }\r\n });\r\n });\r\n return {\r\n shippingOptions,\r\n defaultSelectedOptionId,\r\n }\r\n}\r\n\r\n//id label description\r\nexport const getShippingOptions = (shippingRates) => {\r\n let options = [];\r\n shippingRates.forEach((shippingPackage, idx) => {\r\n let rates = shippingPackage.shipping_rates.map(rate => {\r\n let txt = document.createElement('textarea');\r\n txt.innerHTML = rate.name;\r\n let price = formatPrice(rate.price, rate.currency_code);\r\n return {\r\n id: getShippingOptionId(idx, rate.rate_id),\r\n label: txt.value,\r\n description: `${price}`\r\n }\r\n });\r\n options = [...options, ...rates];\r\n });\r\n return options;\r\n}\r\n\r\nexport const toCartAddress = mapAddressToCartAddress(ADDRESS_MAPPINGS);\r\n","export * from './use-process-payment-intent';\r\nexport * from './use-after-process-payment';\r\nexport * from './use-setup-intent';\r\nexport * from './use-stripe-error';\r\nexport * from './use-exported-values';\r\nexport * from './use-payment-request';\r\nexport * from './use-payment-events';\r\nexport * from './use-breakpoint-width';\r\nexport * from './use-process-checkout-error';\r\nexport * from './use-update-payment-intent';","import {useEffect} from '@wordpress/element'\r\nimport {useStripe} from \"@stripe/react-stripe-js\";\r\nimport {handleCardAction} from \"../util\";\r\nimport {useProcessCheckoutError} from \"./use-process-checkout-error\";\r\n\r\nexport const useAfterProcessingPayment = (\r\n {\r\n getData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n shouldSavePayment = false,\r\n messageContext = null\r\n }) => {\r\n const stripe = useStripe();\r\n const {onCheckoutAfterProcessingWithSuccess, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n useProcessCheckoutError({\r\n responseTypes,\r\n subscriber: onCheckoutAfterProcessingWithError,\r\n messageContext\r\n });\r\n useEffect(() => {\r\n let unsubscribeAfterProcessingWithSuccess = onCheckoutAfterProcessingWithSuccess(async ({redirectUrl}) => {\r\n if (getData('name') === activePaymentMethod) {\r\n //check if response is in redirect. If so, open modal\r\n return await handleCardAction({\r\n redirectUrl,\r\n responseTypes,\r\n name: activePaymentMethod,\r\n savePaymentMethod: shouldSavePayment\r\n });\r\n }\r\n return null;\r\n })\r\n return () => unsubscribeAfterProcessingWithSuccess()\r\n }, [\r\n stripe,\r\n responseTypes,\r\n onCheckoutAfterProcessingWithSuccess,\r\n activePaymentMethod,\r\n shouldSavePayment\r\n ]);\r\n}","import {useState, useEffect, useCallback} from '@wordpress/element';\r\nimport {storeInCache, getFromCache} from \"../util\";\r\n\r\nexport const useBreakpointWidth = (\r\n {\r\n name,\r\n width,\r\n node,\r\n className\r\n }) => {\r\n const [windowWidth, setWindowWith] = useState(window.innerWidth);\r\n const getMaxWidth = useCallback((name) => {\r\n const maxWidth = getFromCache(name);\r\n return maxWidth ? parseInt(maxWidth) : 0;\r\n }, []);\r\n const setMaxWidth = useCallback((name, width) => storeInCache(name, width), []);\r\n\r\n useEffect(() => {\r\n const el = typeof node === 'function' ? node() : node;\r\n\r\n if (el) {\r\n const maxWidth = getMaxWidth(name);\r\n if (!maxWidth || width > maxWidth) {\r\n setMaxWidth(name, width);\r\n }\r\n if (el.clientWidth < width) {\r\n el.classList.add(className);\r\n } else {\r\n if (el.clientWidth > maxWidth) {\r\n el.classList.remove(className);\r\n }\r\n }\r\n }\r\n }, [windowWidth, node]);\r\n useEffect(() => {\r\n const handleResize = () => setWindowWith(window.innerWidth);\r\n window.addEventListener('resize', handleResize);\r\n return () => window.removeEventListener('resize', handleResize);\r\n });\r\n}\r\n\r\nexport const useExpressBreakpointWidth = (\r\n {\r\n payment_method,\r\n width\r\n }) => {\r\n const node = useCallback(() => {\r\n const el = document.getElementById(`express-payment-method-${payment_method}`);\r\n return el ? el.parentNode : null;\r\n }, []);\r\n useBreakpointWidth({\r\n name: 'expressMaxWidth',\r\n width,\r\n node,\r\n className: 'wc-stripe-express__sm'\r\n });\r\n\r\n}","import {useRef} from '@wordpress/element';\r\n\r\nexport const useExportedValues = () => {\r\n const exportedValues = useRef({});\r\n return exportedValues.current;\r\n}","import {useEffect, useCallback, useRef, useState} from '@wordpress/element';\r\nimport {hasShippingRates} from '../util';\r\n\r\nexport const usePaymentEvents = (\r\n {\r\n billing,\r\n shippingData,\r\n eventRegistration\r\n }) => {\r\n const {onShippingRateSuccess, onShippingRateFail, onShippingRateSelectSuccess} = eventRegistration;\r\n const currentBilling = useRef(billing);\r\n const currentShipping = useRef(shippingData);\r\n const [handler, setHandler] = useState(null);\r\n const [paymentEvents, setPaymentEvent] = useState({\r\n onShippingChanged: false\r\n });\r\n const addPaymentEvent = useCallback((name, handler, execute = false) => {\r\n if (execute) {\r\n setHandler({[name]: handler});\r\n } else {\r\n setPaymentEvent({...paymentEvents, [name]: handler});\r\n }\r\n }, [paymentEvents, setPaymentEvent]);\r\n const removePaymentEvent = useCallback((name) => {\r\n if (paymentEvents[name]) {\r\n delete paymentEvents[name];\r\n setPaymentEvent(paymentEvents);\r\n }\r\n }, [paymentEvents]);\r\n\r\n const onShippingChanged = useCallback(() => {\r\n const shipping = currentShipping.current;\r\n const billing = currentBilling.current;\r\n if (paymentEvents.onShippingChanged && !shipping.isSelectingRate && !shipping.shippingRatesLoading) {\r\n const handler = paymentEvents.onShippingChanged;\r\n let success = true;\r\n if (!hasShippingRates(shipping.shippingRates)) {\r\n success = false;\r\n }\r\n handler(success, {\r\n billing,\r\n shipping\r\n });\r\n removePaymentEvent('onShippingChanged');\r\n }\r\n }, [paymentEvents, removePaymentEvent]);\r\n\r\n useEffect(() => {\r\n currentBilling.current = billing;\r\n currentShipping.current = shippingData;\r\n });\r\n\r\n useEffect(() => {\r\n if (handler) {\r\n if (handler.onShippingChanged) {\r\n handler.onShippingChanged(true, {\r\n billing: currentBilling.current,\r\n shipping: currentShipping.current\r\n })\r\n setHandler(null);\r\n }\r\n }\r\n }, [handler]);\r\n\r\n useEffect(() => {\r\n const unsubscribeShippingRateSuccess = onShippingRateSuccess(onShippingChanged);\r\n const unsubscribeShippingRateSelectSuccess = onShippingRateSelectSuccess(onShippingChanged);\r\n const unsubscribeShippingRateFail = onShippingRateFail(({hasInvalidAddress, hasError}) => {\r\n if (paymentEvents.onShippingChanged) {\r\n const handler = paymentEvents.onShippingChanged;\r\n handler(false);\r\n removePaymentEvent('onShippingChanged');\r\n }\r\n });\r\n\r\n return () => {\r\n unsubscribeShippingRateSuccess();\r\n unsubscribeShippingRateFail();\r\n unsubscribeShippingRateSelectSuccess();\r\n }\r\n }, [\r\n paymentEvents,\r\n onShippingRateSuccess,\r\n onShippingRateFail,\r\n onShippingRateSelectSuccess\r\n ]);\r\n\r\n return {addPaymentEvent, removePaymentEvent};\r\n}","import {useState, useEffect, useRef, useCallback} from '@wordpress/element';\r\nimport {usePaymentEvents} from './use-payment-events';\r\nimport {getIntermediateAddress} from '../util';\r\nimport isShallowEqual from '@wordpress/is-shallow-equal';\r\nimport {\r\n getDisplayItems,\r\n getShippingOptions,\r\n getSelectedShippingOption,\r\n isFieldRequired,\r\n toCartAddress as mapToCartAddress\r\n} from \"../util\";\r\n\r\nconst toCartAddress = mapToCartAddress();\r\n\r\nexport const usePaymentRequest = (\r\n {\r\n getData,\r\n onClose,\r\n stripe,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n setPaymentMethod,\r\n exportedValues,\r\n canPay\r\n }) => {\r\n const {addPaymentEvent} = usePaymentEvents({\r\n billing,\r\n shippingData,\r\n eventRegistration\r\n });\r\n const {shippingAddress, needsShipping, shippingRates} = shippingData;\r\n const {billingData, cartTotalItems, currency, cartTotal} = billing;\r\n const [paymentRequest, setPaymentRequest] = useState(null);\r\n const paymentRequestOptions = useRef({});\r\n const currentShipping = useRef(shippingData)\r\n const currentBilling = useRef(billing);\r\n\r\n useEffect(() => {\r\n currentShipping.current = shippingData;\r\n currentBilling.current = billing;\r\n }, [shippingData]);\r\n\r\n useEffect(() => {\r\n if (stripe) {\r\n const options = {\r\n country: getData('countryCode'),\r\n currency: currency?.code.toLowerCase(),\r\n total: {\r\n amount: cartTotal.value,\r\n label: cartTotal.label,\r\n pending: true\r\n },\r\n requestPayerName: true,\r\n requestPayerEmail: isFieldRequired('email', billingData.country),\r\n requestPayerPhone: isFieldRequired('phone', billingData.country),\r\n requestShipping: needsShipping,\r\n displayItems: getDisplayItems(cartTotalItems, currency)\r\n }\r\n if (options.requestShipping) {\r\n options.shippingOptions = getShippingOptions(shippingRates);\r\n }\r\n paymentRequestOptions.current = options;\r\n const paymentRequest = stripe.paymentRequest(paymentRequestOptions.current);\r\n paymentRequest.canMakePayment().then(result => {\r\n if (canPay(result)) {\r\n setPaymentRequest(paymentRequest);\r\n } else {\r\n setPaymentRequest(null);\r\n }\r\n });\r\n }\r\n }, [\r\n stripe,\r\n cartTotal.value,\r\n billingData.country,\r\n shippingRates,\r\n cartTotalItems,\r\n currency.code\r\n ]);\r\n\r\n useEffect(() => {\r\n if (paymentRequest) {\r\n if (paymentRequestOptions.current.requestShipping) {\r\n paymentRequest.on('shippingaddresschange', onShippingAddressChange);\r\n paymentRequest.on('shippingoptionchange', onShippingOptionChange);\r\n }\r\n paymentRequest.on('cancel', onClose);\r\n paymentRequest.on('paymentmethod', onPaymentMethodReceived);\r\n }\r\n }, [\r\n paymentRequest,\r\n onShippingAddressChange,\r\n onClose,\r\n onPaymentMethodReceived\r\n ]);\r\n\r\n const updatePaymentEvent = useCallback((event) => (success, {billing, shipping}) => {\r\n const {cartTotal, cartTotalItems, currency} = billing;\r\n const {shippingRates} = shipping;\r\n if (success) {\r\n event.updateWith({\r\n status: 'success',\r\n total: {\r\n amount: cartTotal.value,\r\n label: cartTotal.label,\r\n pending: false\r\n },\r\n displayItems: getDisplayItems(cartTotalItems, currency),\r\n shippingOptions: getShippingOptions(shippingRates)\r\n });\r\n } else {\r\n event.updateWith({status: 'invalid_shipping_address'});\r\n }\r\n }, []);\r\n\r\n const onShippingAddressChange = useCallback(event => {\r\n const {shippingAddress} = event;\r\n const shipping = currentShipping.current;\r\n const intermediateAddress = toCartAddress(shippingAddress);\r\n shipping.setShippingAddress({...shipping.shippingAddress, ...intermediateAddress});\r\n const addressEqual = isShallowEqual(getIntermediateAddress(shipping.shippingAddress), intermediateAddress);\r\n addPaymentEvent('onShippingChanged', updatePaymentEvent(event), addressEqual);\r\n }, [addPaymentEvent]);\r\n\r\n const onShippingOptionChange = useCallback(event => {\r\n const {shippingOption} = event;\r\n const shipping = currentShipping.current;\r\n shipping.setSelectedRates(...getSelectedShippingOption(shippingOption.id));\r\n addPaymentEvent('onShippingChanged', updatePaymentEvent(event));\r\n }, [addPaymentEvent]);\r\n\r\n const onPaymentMethodReceived = useCallback((paymentResponse) => {\r\n const {paymentMethod, payerName = null, payerEmail = null, payerPhone = null} = paymentResponse;\r\n // set address data\r\n let billingData = {payerName, payerEmail, payerPhone};\r\n if (paymentMethod?.billing_details.address) {\r\n billingData = toCartAddress(paymentMethod.billing_details.address, billingData);\r\n }\r\n exportedValues.billingData = billingData;\r\n\r\n if (paymentResponse.shippingAddress) {\r\n exportedValues.shippingAddress = toCartAddress(paymentResponse.shippingAddress);\r\n }\r\n\r\n // set payment method\r\n setPaymentMethod(paymentMethod.id);\r\n paymentResponse.complete(\"success\");\r\n }, []);\r\n\r\n return {paymentRequest};\r\n}","import {useEffect} from '@wordpress/element';\r\n\r\nexport const useProcessCheckoutError = (\r\n {\r\n responseTypes,\r\n subscriber,\r\n messageContext = null\r\n }) => {\r\n useEffect(() => {\r\n const unsubscribe = subscriber((data) => {\r\n if (data?.processingResponse.paymentDetails?.stripeErrorMessage) {\r\n return {\r\n type: responseTypes.ERROR,\r\n message: data.processingResponse.paymentDetails.stripeErrorMessage,\r\n messageContext\r\n };\r\n }\r\n return null;\r\n });\r\n return () => unsubscribe();\r\n }, [responseTypes, subscriber]);\r\n}","import {useEffect, useState, useCallback, useRef} from '@wordpress/element';\r\nimport {useStripe} from '@stripe/react-stripe-js';\r\nimport {\r\n ensureSuccessResponse,\r\n ensureErrorResponse,\r\n getBillingDetailsFromAddress,\r\n StripeError\r\n} from '../util';\r\n\r\nexport const useProcessPaymentIntent = (\r\n {\r\n getData,\r\n billing,\r\n shippingData,\r\n onPaymentProcessing,\r\n emitResponse,\r\n error,\r\n onSubmit,\r\n activePaymentMethod,\r\n paymentType = 'card',\r\n setupIntent = null,\r\n removeSetupIntent = null,\r\n shouldSavePayment = false,\r\n exportedValues = {},\r\n getPaymentMethodArgs = () => ({})\r\n }) => {\r\n const {billingData} = billing;\r\n const {shippingAddress} = shippingData;\r\n const {responseTypes} = emitResponse;\r\n const [paymentMethod, setPaymentMethod] = useState(null);\r\n const stripe = useStripe();\r\n const currentPaymentMethodArgs = useRef(getPaymentMethodArgs);\r\n const paymentMethodData = useRef({});\r\n useEffect(() => {\r\n currentPaymentMethodArgs.current = getPaymentMethodArgs;\r\n }, [getPaymentMethodArgs]);\r\n\r\n const addPaymentMethodData = useCallback((data) => {\r\n paymentMethodData.current = {...paymentMethodData.current, ...data};\r\n }, []);\r\n\r\n const getCreatePaymentMethodArgs = useCallback(() => {\r\n const args = {\r\n type: paymentType,\r\n billing_details: getBillingDetailsFromAddress(exportedValues?.billingData ? exportedValues.billingData : billingData)\r\n }\r\n return {...args, ...currentPaymentMethodArgs.current()};\r\n }, [billingData, paymentType, getPaymentMethodArgs]);\r\n\r\n const getSuccessResponse = useCallback((paymentMethodId, shouldSavePayment) => {\r\n const response = {\r\n meta: {\r\n paymentMethodData: {\r\n [`${getData('name')}_token_key`]: paymentMethodId,\r\n [`${getData('name')}_save_source_key`]: shouldSavePayment,\r\n ...paymentMethodData.current\r\n }\r\n }\r\n }\r\n if (exportedValues?.billingData) {\r\n response.meta.billingData = exportedValues.billingData;\r\n }\r\n if (exportedValues?.shippingAddress) {\r\n response.meta.shippingData = {address: exportedValues.shippingAddress};\r\n }\r\n return response;\r\n }, [billingData, shippingAddress]);\r\n\r\n useEffect(() => {\r\n if (paymentMethod && typeof paymentMethod === 'string') {\r\n onSubmit();\r\n }\r\n }, [paymentMethod, onSubmit]);\r\n\r\n useEffect(() => {\r\n const unsubscribeProcessingPayment = onPaymentProcessing(async () => {\r\n if (activePaymentMethod !== getData('name')) {\r\n return null;\r\n }\r\n let [result, paymentMethodId] = [null, null];\r\n try {\r\n if (error) {\r\n throw new StripeError(error);\r\n }\r\n if (setupIntent) {\r\n result = await stripe.confirmCardSetup(setupIntent.client_secret, {\r\n payment_method: getCreatePaymentMethodArgs()\r\n });\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n paymentMethodId = result.setupIntent.payment_method;\r\n removeSetupIntent();\r\n } else {\r\n // payment method has already been created.\r\n if (paymentMethod) {\r\n paymentMethodId = paymentMethod;\r\n } else {\r\n //create the payment method\r\n result = await stripe.createPaymentMethod(getCreatePaymentMethodArgs());\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n paymentMethodId = result.paymentMethod.id;\r\n }\r\n }\r\n return ensureSuccessResponse(responseTypes, getSuccessResponse(paymentMethodId, shouldSavePayment));\r\n } catch (e) {\r\n console.log(e);\r\n setPaymentMethod(null);\r\n return ensureErrorResponse(responseTypes, e.error);\r\n }\r\n\r\n });\r\n return () => unsubscribeProcessingPayment();\r\n }, [\r\n paymentMethod,\r\n billingData,\r\n onPaymentProcessing,\r\n stripe,\r\n setupIntent,\r\n activePaymentMethod,\r\n shouldSavePayment\r\n ]);\r\n return {\r\n setPaymentMethod,\r\n getCreatePaymentMethodArgs,\r\n addPaymentMethodData\r\n };\r\n}","import {useEffect, useState, useCallback} from '@wordpress/element';\r\nimport apiFetch from \"@wordpress/api-fetch\";\r\nimport {\r\n getSettings,\r\n getRoute,\r\n cartContainsPreOrder,\r\n cartContainsSubscription,\r\n getFromCache,\r\n storeInCache,\r\n deleteFromCache\r\n} from '../util';\r\n\r\nexport const useSetupIntent = (\r\n {\r\n cartTotal,\r\n setError\r\n }) => {\r\n const [setupIntent, setSetupIntent] = useState(getFromCache('setupIntent'));\r\n\r\n useEffect(() => {\r\n const createSetupIntent = async () => {\r\n if (setupIntent) {\r\n return;\r\n }\r\n // only create intent under certain conditions\r\n let result = await apiFetch({\r\n url: getRoute('create/setup_intent'),\r\n method: 'POST'\r\n });\r\n if (result.code) {\r\n setError(result.message);\r\n } else {\r\n storeInCache('setupIntent', result.intent);\r\n setSetupIntent(result.intent);\r\n }\r\n }\r\n if (cartContainsPreOrder() || (cartContainsSubscription() && cartTotal.value == 0)) {\r\n if (!setupIntent) {\r\n createSetupIntent();\r\n }\r\n } else {\r\n setSetupIntent(null);\r\n }\r\n }, [cartTotal.value]);\r\n const removeSetupIntent = useCallback(() => {\r\n deleteFromCache('setupIntent');\r\n }, [cartTotal.value]);\r\n return {setupIntent, removeSetupIntent};\r\n}","import {useState} from '@wordpress/element'\r\n\r\nexport const useStripeError = () => {\r\n const [error, setError] = useState(false);\r\n return [error, setError];\r\n}","import {useState, useEffect, useRef, useCallback} from '@wordpress/element';\r\nimport {useStripe, useElements} from \"@stripe/react-stripe-js\";\r\nimport {ensureErrorResponse, ensureSuccessResponse, getBillingDetailsFromAddress, StripeError, isNextActionRequired, getRoute, handleCardAction} from '../util';\r\n\r\nexport const useUpdatePaymentIntent = (\r\n {\r\n clientSecret,\r\n billingData,\r\n eventRegistration,\r\n responseTypes,\r\n name,\r\n shouldSavePayment,\r\n noticeContexts\r\n }\r\n) => {\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithSuccess} = eventRegistration;\r\n const currentData = useRef({billingData});\r\n const paymentMethodData = useRef({});\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n\r\n const getSuccessResponse = useCallback((paymentMethod, shouldSavePayment) => {\r\n const response = {\r\n meta: {\r\n paymentMethodData: {\r\n [`${name}_token_key`]: paymentMethod,\r\n [`${name}_save_source_key`]: shouldSavePayment,\r\n ...paymentMethodData.current\r\n }\r\n }\r\n }\r\n return response;\r\n }, []);\r\n\r\n const addPaymentMethodData = useCallback((data) => {\r\n paymentMethodData.current = {...paymentMethodData.current, ...data};\r\n }, []);\r\n\r\n const updatePaymentIntent = useCallback(async () => {\r\n const {billingData} = currentData.current;\r\n return await stripe.updatePaymentIntent({\r\n elements,\r\n params: {\r\n payment_method_data: {\r\n billing_details: getBillingDetailsFromAddress(billingData)\r\n }\r\n }\r\n });\r\n }, [stripe, elements]);\r\n\r\n const confirmPayment = useCallback(async () => {\r\n const {billingData} = currentData.current;\r\n return await stripe.confirmPayment({\r\n elements,\r\n confirmParams: {\r\n payment_method_data: {\r\n billing_details: getBillingDetailsFromAddress(billingData)\r\n }\r\n },\r\n redirect: 'if_required'\r\n });\r\n }, [stripe, elements]);\r\n\r\n useEffect(() => {\r\n currentData.current = {billingData};\r\n });\r\n\r\n useEffect(() => {\r\n const unsubscribe = onPaymentProcessing(async () => {\r\n\r\n try {\r\n let paymentMethod = null;\r\n let result = await stripe.retrievePaymentIntent(clientSecret);\r\n if (result.paymentIntent.status === 'requires_action') {\r\n paymentMethod = result.paymentIntent.payment_method;\r\n await confirmPayment();\r\n } else {\r\n result = await updatePaymentIntent();\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n paymentMethod = result.paymentIntent.payment_method;\r\n }\r\n return ensureSuccessResponse(responseTypes, getSuccessResponse(paymentMethod, shouldSavePayment));\r\n } catch (error) {\r\n return ensureErrorResponse(responseTypes, error, {messageContext: noticeContexts.PAYMENTS});\r\n }\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n onPaymentProcessing,\r\n updatePaymentIntent,\r\n confirmPayment,\r\n clientSecret,\r\n shouldSavePayment\r\n ]);\r\n\r\n useEffect(() => {\r\n const unsubscribe = onCheckoutAfterProcessingWithSuccess(async ({redirectUrl}) => {\r\n return await handleCardAction({\r\n redirectUrl,\r\n responseTypes,\r\n name,\r\n method: 'confirmCardPayment',\r\n savePaymentMethod: shouldSavePayment\r\n })\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n onCheckoutAfterProcessingWithSuccess,\r\n confirmPayment,\r\n shouldSavePayment,\r\n name\r\n ]);\r\n\r\n return {\r\n updatePaymentIntent,\r\n addPaymentMethodData\r\n }\r\n}","export * from './use-link';","import {useEffect, useState, useRef} from '@wordpress/element';\r\nimport {useStripe, useElements} from \"@stripe/react-stripe-js\";\r\nimport {toCartAddress as mapToCartAddress, ensureSuccessResponse, getBillingDetailsFromAddress} from '../../util';\r\n\r\nconst toCartAddress = mapToCartAddress();\r\n\r\nexport const useLink = (\r\n {\r\n email,\r\n eventRegistration,\r\n onClick,\r\n onSubmit,\r\n isActive,\r\n responseTypes,\r\n ...props\r\n }) => {\r\n const [link, setLink] = useState();\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n const currentData = useRef();\r\n const linkData = useRef();\r\n const {onPaymentProcessing} = eventRegistration;\r\n useEffect(() => {\r\n currentData.current = {onClick, onSubmit}\r\n });\r\n\r\n useEffect(() => {\r\n if (stripe && elements) {\r\n setLink(stripe?.linkAutofillModal(elements));\r\n }\r\n }, [stripe, elements]);\r\n\r\n useEffect(() => {\r\n if (link) {\r\n link.launch({email});\r\n }\r\n }, [link, email]);\r\n\r\n useEffect(() => {\r\n if (link) {\r\n link.on('autofill', event => {\r\n linkData.current = event;\r\n currentData.current.onSubmit();\r\n\r\n });\r\n link.on('authenticated', event => {\r\n currentData.current.onClick();\r\n })\r\n }\r\n }, [link]);\r\n\r\n useEffect(() => {\r\n if (isActive) {\r\n const unsubscribe = onPaymentProcessing(async () => {\r\n const response = {meta: {}};\r\n const {shippingAddress = null, billingAddress = null} = linkData.current.value;\r\n if (billingAddress) {\r\n response.meta.billingData = toCartAddress({...billingAddress.address, recipient: billingAddress.name})\r\n }\r\n if (shippingAddress) {\r\n response.meta.shippingData = {address: toCartAddress({...shippingAddress.address, recipient: shippingAddress.name})};\r\n }\r\n // update the payment intent\r\n try {\r\n const result = await stripe.updatePaymentIntent({\r\n elements,\r\n params: {\r\n payment_method_data: {\r\n billing_details: getBillingDetailsFromAddress(response.meta.billingData)\r\n }\r\n }\r\n });\r\n response.meta.paymentMethodData = {\r\n stripe_cc_token_key: result.paymentIntent.payment_method,\r\n stripe_cc_save_source_key: false,\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n return ensureSuccessResponse(responseTypes, response);\r\n });\r\n\r\n return () => unsubscribe();\r\n }\r\n }, [isActive, onPaymentProcessing, stripe, elements])\r\n\r\n return link;\r\n}","import {useEffect, useState} from '@wordpress/element';\r\nimport {Elements, useStripe, useElements, PaymentElement} from \"@stripe/react-stripe-js\";\r\nimport {registerExpressPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {useLink} from './hooks';\r\nimport {getSettings, initStripe as loadStripe, canMakePayment} from \"../util\";\r\n\r\nconst getData = getSettings('stripe_link_checkout_data');\r\n\r\nexport const LinkComponent = ({cartData, ...props}) => {\r\n const clientSecret = cartData?.extensions?.stripe_link_checkout?.clientSecret;\r\n if (clientSecret) {\r\n return (\r\n <Elements stripe={loadStripe} options={{clientSecret}}>\r\n <LinkCheckout {...props}/>\r\n </Elements>\r\n );\r\n }\r\n return null;\r\n}\r\n\r\nconst LinkCheckout = (\r\n {\r\n billing,\r\n shipping,\r\n eventRegistration,\r\n onClick,\r\n onSubmit,\r\n activePaymentMethod,\r\n emitResponse,\r\n ...props\r\n }) => {\r\n const {billingData, currency} = billing;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const {email} = billingData;\r\n const isActive = activePaymentMethod === getData('name');\r\n useLink({\r\n email,\r\n eventRegistration,\r\n onClick,\r\n onSubmit,\r\n isActive,\r\n responseTypes\r\n });\r\n return <div style={{display: 'none'}}><PaymentElement/></div>;\r\n}\r\n\r\nregisterExpressPaymentMethod({\r\n name: getData('name'),\r\n canMakePayment: (props) => {\r\n return true;\r\n },\r\n content: <LinkComponent/>,\r\n edit: <LinkComponent/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: getData('showSaveOption'),\r\n features: getData('features')\r\n }\r\n})","import {useState, useEffect} from '@wordpress/element';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, initStripe} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {AfterpayClearpayMessageElement, Elements} from \"@stripe/react-stripe-js\";\r\nimport {sprintf, __} from '@wordpress/i18n';\r\nimport {ExperimentalOrderMeta, TotalsWrapper} from '@woocommerce/blocks-checkout';\r\nimport {registerPlugin} from '@wordpress/plugins';\r\n\r\nconst getData = getSettings('stripe_afterpay_data');\r\nlet variablesHandler;\r\nconst setVariablesHandler = (handler) => {\r\n variablesHandler = handler;\r\n}\r\n\r\nconst isAvailable = ({total, currency, needsShipping}) => {\r\n let available = false;\r\n const requiredParams = getData('requiredParams');\r\n const accountCountry = getData('accountCountry');\r\n const requiredParamObj = requiredParams.hasOwnProperty(currency) ? requiredParams[currency] : false;\r\n if (requiredParamObj) {\r\n available = accountCountry === requiredParamObj?.[0] && needsShipping && (total > requiredParamObj?.[1] && total < requiredParamObj?.[2]);\r\n }\r\n return available;\r\n}\r\n\r\nconst PaymentMethodLabel = ({getData}) => {\r\n const [variables, setVariables] = useState({\r\n amount: getData('cartTotal'),\r\n currency: getData('currency'),\r\n isEligible: getData('msgOptions').isEligible\r\n });\r\n setVariablesHandler(setVariables);\r\n return (\r\n <Elements stripe={initStripe} options={getData('elementOptions')}>\r\n <div className='wc-stripe-blocks-afterpay__label'>\r\n <AfterpayClearpayMessageElement options={{\r\n ...getData('msgOptions'),\r\n ...{\r\n amount: variables.amount,\r\n currency: variables.currency,\r\n isEligible: variables.isEligible\r\n }\r\n }}/>\r\n </div>\r\n </Elements>\r\n );\r\n}\r\n\r\nconst AfterpayPaymentMethod = ({content, billing, shippingData, ...props}) => {\r\n const Content = content;\r\n const {cartTotal, currency} = billing;\r\n const {needsShipping} = shippingData\r\n useEffect(() => {\r\n variablesHandler({\r\n amount: cartTotal.value,\r\n currency: currency.code,\r\n isEligible: needsShipping\r\n });\r\n }, [\r\n cartTotal.value,\r\n currency.code,\r\n needsShipping\r\n ]);\r\n return (\r\n <>\r\n {needsShipping &&\r\n <div className='wc-stripe-blocks-payment-method-content'>\r\n <div className=\"wc-stripe-blocks-afterpay-offsite__container\">\r\n <div className=\"wc-stripe-blocks-afterpay__offsite\">\r\n <img src={getData('offSiteSrc')}/>\r\n <p>{sprintf(__('After clicking \"%s\", you will be redirected to Afterpay to complete your purchase securely.', 'woo-stripe-payment'), getData('placeOrderButtonLabel'))}</p>\r\n </div>\r\n </div>\r\n <Content {...{...props, billing, shippingData}}/>\r\n </div>}\r\n </>\r\n );\r\n}\r\n\r\nconst OrderItemMessaging = ({cart, extensions, context}) => {\r\n const {cartTotals, cartNeedsShipping: needsShipping} = cart;\r\n const {total_price, currency_code: currency} = cartTotals;\r\n const amount = parseInt(cartTotals.total_price);\r\n const total = parseInt(cartTotals.total_price) / (10 ** cartTotals.currency_minor_unit);\r\n if (!isAvailable({total, currency, needsShipping})) {\r\n return null;\r\n }\r\n return (\r\n <TotalsWrapper>\r\n <Elements stripe={initStripe} options={getData('elementOptions')}>\r\n <div className='wc-stripe-blocks-afterpay-totals__item wc-block-components-totals-item'>\r\n <AfterpayClearpayMessageElement options={{\r\n ...getData('msgOptions'),\r\n ...{\r\n amount,\r\n currency,\r\n isEligible: needsShipping\r\n }\r\n }}/>\r\n </div>\r\n </Elements>\r\n </TotalsWrapper>\r\n );\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n getData={getData}/>,\r\n ariaLabel: __('Afterpay', 'woo-stripe-payment'),\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData, ({settings, cartTotals, cartNeedsShipping}) => {\r\n const {currency_code: currency, currency_minor_unit, total_price} = cartTotals;\r\n if (variablesHandler) {\r\n variablesHandler({\r\n amount: parseInt(cartTotals.total_price),\r\n currency,\r\n isEligible: cartNeedsShipping\r\n });\r\n }\r\n const total = parseInt(total_price) / (10 ** currency_minor_unit);\r\n const available = isAvailable({total, currency, needsShipping: cartNeedsShipping});\r\n if (!available && !settings('hideIneligible')) {\r\n return true;\r\n }\r\n return available;\r\n }),\r\n content: <AfterpayPaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmAfterpayClearpayPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n });\r\n\r\n const render = () => {\r\n return (\r\n <ExperimentalOrderMeta>\r\n <OrderItemMessaging/>\r\n </ExperimentalOrderMeta>\r\n )\r\n }\r\n registerPlugin('wc-stripe', {\r\n render: render,\r\n scope: 'woocommerce-checkout'\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {canMakePayment, LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel} from \"../../components/checkout/payment-method-label\";\r\nimport {PaymentMethod} from \"../../components/checkout\";\r\n\r\nconst getData = getSettings('stripe_alipay_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Alipay',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmAlipayPayment'}\r\n getData={getData}/>,\r\n edit: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_bancontact_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Bancontact',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmBancontactPayment'}\r\n getData={getData}/>,\r\n edit: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {AuBankAccountElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_becs_data');\r\n\r\nconst BecsPaymentMethod = (props) => {\r\n return (\r\n <>\r\n <PaymentMethod {...props} />\r\n <div className={'wc-stripe-blocks-mandate becs-mandate'}\r\n dangerouslySetInnerHTML={{__html: props.getData('mandate')}}/>\r\n </>\r\n );\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'BECS',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <BecsPaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmAuBecsDebitPayment'}\r\n component={AuBankAccountElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {useState, useEffect, useCallback} from '@wordpress/element';\r\nimport {__} from '@wordpress/i18n';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport classnames from 'classnames';\r\nimport {ensureErrorResponse, getSettings, isTestMode} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_boleto_data');\r\n\r\nconst BoletoPaymentMethodContainer = ({eventRegistration, ...props}) => {\r\n const [taxId, setTaxId] = useState('');\r\n const [isActive, setIsActive] = useState(false);\r\n const {onPaymentProcessing} = eventRegistration;\r\n const callback = useCallback(() => {\r\n return {\r\n boleto: {\r\n tax_id: taxId\r\n }\r\n };\r\n }, [taxId]);\r\n\r\n useEffect(() => {\r\n const unsubscribe = onPaymentProcessing(() => {\r\n if (!taxId) {\r\n return ensureErrorResponse(props.emitResponse.responseTypes, __('Please enter a valid CPF/CNPJ value', 'woo-stripe-payment'));\r\n }\r\n return true;\r\n })\r\n return () => unsubscribe();\r\n }, [onPaymentProcessing, taxId]);\r\n return (\r\n <>\r\n <div className={classnames('wc-block-components-text-input', {\r\n 'is-active': isActive || taxId\r\n })}>\r\n <input\r\n type='text'\r\n id='wc-stripe-boleto-tax_id'\r\n onChange={(e) => setTaxId(e.target.value)}\r\n onFocus={() => setIsActive(true)}\r\n onBlur={() => setIsActive(false)}/>\r\n <label htmlFor='wc-stripe-boleto-tax_id'>{__(' CPF / CNPJ', ' woo-stripe-payment')}</label>\r\n </div>\r\n {isTestMode() &&\r\n <div className='wc-stripe-boleto__description'>\r\n <p>{__('Test mode values', 'woo-stripe-payment')}</p>\r\n <div>\r\n <label>CPF:</label>&nbsp;<span>000.000.000-00</span>\r\n </div>\r\n <div>\r\n <label>CNPJ:</label>&nbsp;<span>00.000.000/0000-00</span>\r\n </div>\r\n </div>}\r\n {!isTestMode() &&\r\n <div className=\"wc-stripe-boleto__description\">\r\n <p>{__('Accepted formats', 'woo-stripe-payment')}</p>\r\n <div>\r\n <label>CPF:</label>&nbsp;\r\n <span>{__('XXX.XXX.XXX-XX or XXXXXXXXXXX', 'woo-stripe-payment')}</span>\r\n </div>\r\n <div>\r\n <label>CNPJ:</label>&nbsp;\r\n <span>{__('XX.XXX.XXX/XXXX-XX or XXXXXXXXXXXXXX', 'woo-stripe-payment')}</span>\r\n </div>\r\n </div>}\r\n <LocalPaymentIntentContent callback={callback} {...{...props, ...{eventRegistration}}}/>\r\n </>\r\n )\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Boleto',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={BoletoPaymentMethodContainer}\r\n getData={getData}\r\n confirmationMethod={'confirmBoletoPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {canMakePayment, LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {EpsBankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_eps_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'EPS',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmEpsPayment'}\r\n component={EpsBankElement}\r\n getData={getData}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {FpxBankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_fpx_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'FPX',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmIdealPayment'}\r\n component={FpxBankElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_giropay_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Giropay',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmGiropayPayment'}\r\n getData={getData}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_grabpay_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'GrabPay',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmGrabPayPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","export * from './use-after-process-local-payment';\r\nexport * from './use-validate-checkout';\r\nexport * from './use-create-source';","import {useEffect, useRef} from '@wordpress/element';\r\nimport {useStripe} from \"@stripe/react-stripe-js\";\r\nimport {ensureErrorResponse, getBillingDetailsFromAddress, StripeError} from \"../../util\";\r\n\r\nexport const useAfterProcessLocalPayment = (\r\n {\r\n getData,\r\n billingData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n confirmationMethod,\r\n getPaymentMethodArgs = () => ({})\r\n }\r\n) => {\r\n const stripe = useStripe();\r\n const {onCheckoutAfterProcessingWithSuccess, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const currentBillingData = useRef(billingData);\r\n const currentPaymentMethodArgs = useRef(getPaymentMethodArgs);\r\n useEffect(() => {\r\n currentBillingData.current = billingData;\r\n }, [billingData]);\r\n\r\n useEffect(() => {\r\n currentPaymentMethodArgs.current = getPaymentMethodArgs;\r\n }, [getPaymentMethodArgs]);\r\n\r\n useEffect(() => {\r\n const unsubscribeAfterProcessingWithSuccess = onCheckoutAfterProcessingWithSuccess(async ({redirectUrl}) => {\r\n if (getData('name') === activePaymentMethod) {\r\n try {\r\n let match = redirectUrl.match(/#response=(.+)/);\r\n if (match) {\r\n let {client_secret, return_url, ...order} = JSON.parse(window.atob(decodeURIComponent(match[1])));\r\n let result = await stripe[confirmationMethod](client_secret, {\r\n payment_method: {\r\n billing_details: getBillingDetailsFromAddress(currentBillingData.current),\r\n ...currentPaymentMethodArgs.current(currentBillingData.current)\r\n },\r\n return_url\r\n });\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n window.location = decodeURI(order.order_received_url);\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n return ensureErrorResponse(responseTypes, e.error);\r\n }\r\n }\r\n })\r\n return () => unsubscribeAfterProcessingWithSuccess();\r\n }, [\r\n stripe,\r\n onCheckoutAfterProcessingWithSuccess,\r\n onCheckoutAfterProcessingWithError\r\n ]);\r\n}","import {useState, useEffect, useRef, useCallback} from '@wordpress/element';\r\nimport {\r\n getDefaultSourceArgs,\r\n ensureSuccessResponse,\r\n ensureErrorResponse,\r\n StripeError\r\n} from \"../../util\";\r\nimport {useStripe, useElements} from \"@stripe/react-stripe-js\";\r\nimport {__} from '@wordpress/i18n';\r\n\r\nexport const useCreateSource = (\r\n {\r\n getData,\r\n billing,\r\n shippingAddress,\r\n onPaymentProcessing,\r\n responseTypes,\r\n getSourceArgs = false,\r\n element = false\r\n }) => {\r\n const [source, setSource] = useState(false);\r\n const [isValid, setIsValid] = useState(false);\r\n const currentValues = useRef({\r\n billing,\r\n shippingAddress,\r\n });\r\n const stripe = useStripe();\r\n const elements = useElements();\r\n useEffect(() => {\r\n currentValues.current = {\r\n billing,\r\n shippingAddress\r\n }\r\n });\r\n\r\n const getSourceArgsInternal = useCallback(() => {\r\n const {billing} = currentValues.current;\r\n const {cartTotal, currency, billingData} = billing;\r\n let args = getDefaultSourceArgs({\r\n type: getData('paymentType'),\r\n amount: cartTotal.value,\r\n billingData,\r\n currency: currency.code,\r\n returnUrl: getData('returnUrl')\r\n });\r\n if (getSourceArgs) {\r\n args = getSourceArgs(args, {billingData});\r\n }\r\n return args;\r\n }, []);\r\n\r\n const getSuccessData = useCallback((sourceId) => {\r\n return {\r\n meta: {\r\n paymentMethodData: {\r\n [`${getData('name')}_token_key`]: sourceId\r\n }\r\n }\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n const unsubscribe = onPaymentProcessing(async () => {\r\n if (source) {\r\n return ensureSuccessResponse(responseTypes, getSuccessData(source.id));\r\n }\r\n // create the source\r\n try {\r\n let result;\r\n if (element) {\r\n // validate the element\r\n if (!isValid) {\r\n throw __('Please enter your payment info before proceeding.', 'woo-stripe-payment');\r\n }\r\n result = await stripe.createSource(elements.getElement(element), getSourceArgsInternal());\r\n } else {\r\n result = await stripe.createSource(getSourceArgsInternal());\r\n }\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n setSource(result.source);\r\n return ensureSuccessResponse(responseTypes, getSuccessData(result.source.id));\r\n } catch (err) {\r\n console.log(err);\r\n return ensureErrorResponse(responseTypes, err.error || err);\r\n }\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n source,\r\n onPaymentProcessing,\r\n stripe,\r\n responseTypes,\r\n element,\r\n isValid,\r\n setIsValid\r\n ]);\r\n return {setIsValid};\r\n}","import {useEffect, useRef, useState} from '@wordpress/element';\r\nimport {ensureErrorResponse} from \"../../util\";\r\nimport {__} from \"@wordpress/i18n\";\r\n\r\nexport const useValidateCheckout = (\r\n {\r\n subscriber,\r\n responseTypes,\r\n component = null,\r\n msg = __('Please enter your payment info before proceeding.', 'woo-stripe-payment')\r\n }) => {\r\n const [isValid, setIsValid] = useState(false);\r\n\r\n useEffect(() => {\r\n const unsubscribe = subscriber(() => {\r\n if (component && !isValid) {\r\n return ensureErrorResponse(responseTypes, msg);\r\n }\r\n return true;\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n subscriber,\r\n isValid,\r\n setIsValid,\r\n responseTypes,\r\n component\r\n ]);\r\n return {isValid, setIsValid};\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {IdealBankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_ideal_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Ideal',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmIdealPayment'}\r\n component={IdealBankElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import './klarna';\r\nimport './ideal';\r\nimport './p24';\r\nimport './bancontact';\r\nimport './giropay';\r\nimport './eps';\r\nimport './multibanco';\r\nimport './sepa';\r\nimport './sofort';\r\nimport './wechat';\r\nimport './fpx';\r\nimport './becs';\r\nimport './grabpay';\r\nimport './alipay'\r\nimport './afterpay';\r\nimport './boleto';\r\nimport './oxxo';","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, isTestMode} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {__} from \"@wordpress/i18n\";\r\n\r\nconst getData = getSettings('stripe_klarna_data');\r\n\r\nconst KlarnaPaymentMethod = (props) => {\r\n return (\r\n <>\r\n {isTestMode() &&\r\n <div className=\"wc-stripe-klarna__testmode\">\r\n <label>{__('Test mode sms', 'woo-stripe-payment')}:</label>&nbsp;<span>123456</span>\r\n </div>}\r\n <LocalPaymentIntentContent {...props}/>\r\n </>\r\n )\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Klarna',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData, ({settings, billingData, cartTotals}) => {\r\n const {country} = billingData;\r\n const {currency_code: currency} = cartTotals;\r\n const requiredParams = settings('requiredParams');\r\n return [currency] in requiredParams && requiredParams[currency].includes(country);\r\n }),\r\n content: <PaymentMethod\r\n content={KlarnaPaymentMethod}\r\n getData={getData}\r\n confirmationMethod={'confirmKlarnaPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {useCallback} from '@wordpress/element';\r\nimport {useElements, Elements} from \"@stripe/react-stripe-js\";\r\nimport {initStripe as loadStripe, cartContainsSubscription, cartContainsPreOrder} from '../util'\r\nimport {useAfterProcessLocalPayment, useValidateCheckout, useCreateSource} from \"./hooks\";\r\nimport {useProcessCheckoutError} from \"../hooks\";\r\n\r\n/**\r\n * Return true if the local payment method can be used.\r\n * @param settings\r\n * @returns {function({billingData: *, [p: string]: *}): *}\r\n */\r\nexport const canMakePayment = (settings, callback = false) => ({billingData, cartTotals, ...props}) => {\r\n const {currency_code} = cartTotals;\r\n const {country} = billingData;\r\n const countries = settings('countries');\r\n const type = settings('allowedCountries');\r\n const supports = settings('features');\r\n let canMakePayment = false;\r\n if (settings('isAdmin')) {\r\n canMakePayment = true;\r\n } else {\r\n // Check if there are any subscriptions or pre-orders in the cart.\r\n if (cartContainsSubscription() && !supports.includes('subscriptions')) {\r\n return false;\r\n } else if (cartContainsPreOrder() && !supports.includes('pre-orders')) {\r\n return false;\r\n }\r\n if (settings('currencies').includes(currency_code)) {\r\n if (type === 'all_except') {\r\n canMakePayment = !settings('exceptCountries').includes(country);\r\n } else if (type === 'specific') {\r\n canMakePayment = settings('specificCountries').includes(country);\r\n } else {\r\n canMakePayment = countries.length > 0 ? countries.includes(country) : true;\r\n }\r\n }\r\n if (callback && canMakePayment) {\r\n canMakePayment = callback({settings, billingData, cartTotals, ...props});\r\n }\r\n }\r\n return canMakePayment;\r\n}\r\n\r\nexport const LocalPaymentIntentContent = ({getData, ...props}) => {\r\n return (\r\n <Elements stripe={loadStripe} options={getData('elementOptions')}>\r\n <LocalPaymentIntentMethod {...{...props, getData}}/>\r\n </Elements>\r\n )\r\n}\r\n\r\nexport const LocalPaymentSourceContent = (props) => {\r\n return (\r\n <Elements stripe={loadStripe}>\r\n <LocalPaymentSourceMethod {...props}/>\r\n </Elements>\r\n )\r\n}\r\n\r\nconst LocalPaymentSourceMethod = (\r\n {\r\n getData,\r\n billing,\r\n shippingData,\r\n emitResponse,\r\n eventRegistration,\r\n getSourceArgs = false,\r\n element = false\r\n }) => {\r\n const {shippingAddress} = shippingData;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const onChange = (event) => {\r\n setIsValid(event.complete);\r\n }\r\n const {setIsValid} = useCreateSource({\r\n getData,\r\n billing,\r\n shippingAddress,\r\n onPaymentProcessing,\r\n responseTypes,\r\n getSourceArgs,\r\n element\r\n });\r\n\r\n if (element) {\r\n return (\r\n <LocalPaymentElementContainer\r\n name={getData('name')}\r\n options={getData('paymentElementOptions')}\r\n onChange={onChange}\r\n element={element}/>\r\n )\r\n }\r\n return null;\r\n}\r\n\r\nconst LocalPaymentIntentMethod = (\r\n {\r\n getData,\r\n billing,\r\n emitResponse,\r\n eventRegistration,\r\n activePaymentMethod,\r\n confirmationMethod = null,\r\n component = null,\r\n callback = null\r\n }) => {\r\n const elements = useElements();\r\n const {billingData} = billing;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithError} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const getPaymentMethodArgs = useCallback((billingData) => {\r\n if (component) {\r\n return {\r\n [getData('paymentType')]: elements.getElement(component)\r\n }\r\n } else if (callback) {\r\n return callback(billingData);\r\n }\r\n return {};\r\n }, [\r\n elements,\r\n callback\r\n ]);\r\n const {setIsValid} = useValidateCheckout({\r\n subscriber: onPaymentProcessing,\r\n responseTypes,\r\n component\r\n }\r\n );\r\n\r\n useAfterProcessLocalPayment({\r\n getData,\r\n billingData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n confirmationMethod,\r\n getPaymentMethodArgs\r\n });\r\n useProcessCheckoutError({\r\n responseTypes,\r\n subscriber: onCheckoutAfterProcessingWithError,\r\n messageContext: noticeContexts.PAYMENT\r\n });\r\n if (component) {\r\n const onChange = (event) => setIsValid(!event.empty)\r\n return (\r\n <LocalPaymentElementContainer\r\n name={getData('name')}\r\n options={getData('paymentElementOptions')}\r\n onChange={onChange}\r\n element={component}\r\n callback={callback}/>\r\n )\r\n }\r\n return null;\r\n}\r\n\r\nconst LocalPaymentElementContainer = ({name, onChange, element, options, ...props}) => {\r\n const Tag = element;\r\n return (\r\n <div className={`wc-stripe-local-payment-container ${name} ${Tag.displayName}`}>\r\n <Tag options={options} onChange={onChange} {...props}/>\r\n </div>\r\n )\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentSourceContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\n\r\nconst getData = getSettings('stripe_multibanco_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'MultiBanco',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod content={LocalPaymentSourceContent} getData={getData}/>,\r\n edit: <PaymentMethod content={LocalPaymentSourceContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {IdealBankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_oxxo_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'OXXO',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmOxxoPayment'}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {P24BankElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_p24_data');\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'P24',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmP24Payment'}\r\n component={P24BankElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, cartContainsPreOrder, cartContainsSubscription} from \"../util\";\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment, LocalPaymentIntentContent} from \"./local-payment-method\";\r\nimport {IbanElement} from \"@stripe/react-stripe-js\";\r\n\r\nconst getData = getSettings('stripe_sepa_data');\r\n\r\nconst LocalPaymentMethod = (PaymentMethod) => (props) => {\r\n return (\r\n <>\r\n <PaymentMethod {...props}/>\r\n <div className={'wc-stripe-blocks-mandate sepa-mandate'}\r\n dangerouslySetInnerHTML={{__html: props.getData('mandate')}}/>\r\n </>\r\n )\r\n}\r\n\r\nconst SepaPaymentMethod = LocalPaymentMethod(PaymentMethod);\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'SEPA',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <SepaPaymentMethod\r\n content={LocalPaymentIntentContent}\r\n getData={getData}\r\n confirmationMethod={'confirmSepaDebitPayment'}\r\n component={IbanElement}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}","import {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings} from \"../util\";\r\nimport {canMakePayment, LocalPaymentIntentContent} from './local-payment-method';\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\n\r\nconst getData = getSettings('stripe_sofort_data');\r\n\r\nconst getConfirmationArgs = (billingData) => {\r\n return {sofort: {country: billingData.country}};\r\n}\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'Sofort',\r\n placeOrderButtonLabel: getData('placeOrderButtonLabel'),\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod\r\n content={LocalPaymentIntentContent}\r\n confirmationMethod={'confirmSofortPayment'}\r\n getData={getData}\r\n callback={getConfirmationArgs}/>,\r\n edit: <PaymentMethod content={LocalPaymentIntentContent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import {useEffect, useRef, useState, useCallback} from '@wordpress/element';\r\nimport {registerPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {\r\n getSettings,\r\n initStripe as loadStripe,\r\n getDefaultSourceArgs,\r\n isAddressValid,\r\n StripeError,\r\n isTestMode,\r\n ensureSuccessResponse,\r\n getErrorMessage,\r\n storeInCache,\r\n getFromCache,\r\n deleteFromCache\r\n} from \"../util\";\r\nimport {PaymentMethodLabel, PaymentMethod} from \"../../components/checkout\";\r\nimport {canMakePayment} from \"./local-payment-method\";\r\nimport {Elements} from \"@stripe/react-stripe-js\";\r\nimport {useValidateCheckout} from \"./hooks\";\r\nimport {__} from '@wordpress/i18n';\r\n//import QRCode from 'QRCode';\r\nimport {useStripe} from \"@stripe/react-stripe-js\";\r\nimport {useStripeError} from \"../hooks\";\r\n\r\nconst getData = getSettings('stripe_wechat_data');\r\n\r\nconst WeChatComponent = (props) => {\r\n return (\r\n <Elements stripe={loadStripe}>\r\n <WeChatPaymentMethod {...props}/>\r\n </Elements>\r\n )\r\n}\r\n\r\nconst WeChatPaymentMethod = (\r\n {\r\n getData,\r\n billing,\r\n shippingData,\r\n emitResponse,\r\n eventRegistration,\r\n components\r\n }) => {\r\n const size = parseInt(getData('qrSize'));\r\n const {responseTypes} = emitResponse;\r\n const {onPaymentProcessing, onCheckoutAfterProcessingWithSuccess} = eventRegistration;\r\n const {ValidationInputError} = components;\r\n const {isValid, setIsValid} = useValidateCheckout({\r\n subscriber: eventRegistration.onPaymentProcessing,\r\n responseTypes: emitResponse.responseTypes,\r\n msg: __('Please scan your QR code to continue with payment.', 'woo-stripe-payment')\r\n });\r\n\r\n const {source, error, deleteSourceFromStorage} = useCreateSource({\r\n getData,\r\n billing,\r\n responseTypes,\r\n subscriber: onPaymentProcessing\r\n })\r\n\r\n /**\r\n * delete the source from storage once payment is successful.\r\n * If test mode, redirect to the Stripe test url.\r\n * If live mode, redirect to the return Url.\r\n */\r\n useEffect(() => {\r\n const unsubscribe = onCheckoutAfterProcessingWithSuccess(() => {\r\n deleteSourceFromStorage();\r\n return ensureSuccessResponse(responseTypes);\r\n });\r\n return () => unsubscribe();\r\n }, [\r\n source,\r\n onCheckoutAfterProcessingWithSuccess,\r\n deleteSourceFromStorage\r\n ]);\r\n\r\n useEffect(() => {\r\n if (source) {\r\n setIsValid(true);\r\n }\r\n }, [source]);\r\n\r\n if (source) {\r\n return (\r\n <QRCodeComponent text={source.wechat.qr_code_url} width={size} height={size}/>\r\n );\r\n } else if (error) {\r\n return (\r\n <div className='wechat-validation-error'>\r\n <ValidationInputError errorMessage={getErrorMessage(error)}/>\r\n </div>\r\n );\r\n } else {\r\n // if billing address is not valid\r\n if (!isAddressValid(billing.billingData)) {\r\n return __('Please fill out all the required fields in order to complete the WeChat payment.', 'woo-stripe-payment');\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nconst QRCodeComponent = (\r\n {\r\n text,\r\n width = 128,\r\n height = 128,\r\n colorDark = '#424770',\r\n colorLight = '#f8fbfd',\r\n correctLevel = QRCode.CorrectLevel.H\r\n }) => {\r\n const el = useRef();\r\n useEffect(() => {\r\n new QRCode(el.current, {\r\n text,\r\n width,\r\n height,\r\n colorDark,\r\n colorLight,\r\n correctLevel\r\n })\r\n }, [el]);\r\n return (\r\n <>\r\n <div id='wc-stripe-block-qrcode' ref={el}></div>\r\n {isTestMode() && <p>\r\n {__('Test mode: Click the Place Order button to proceed.', 'woo-stripe-payment')}\r\n </p>}\r\n {!isTestMode() && <p>\r\n {__('Scan the QR code using your WeChat app. Once scanned click the Place Order button.', 'woo-stripe-payment')}\r\n </p>}\r\n </>\r\n )\r\n}\r\n\r\nconst useCreateSource = (\r\n {\r\n getData,\r\n billing,\r\n responseTypes,\r\n subscriber\r\n }) => {\r\n const stripe = useStripe();\r\n const [error, setError] = useStripeError();\r\n const [source, setSource] = useState(getFromCache('wechat:source'));\r\n const createSourceTimeoutId = useRef(null);\r\n const {cartTotal, billingData, currency} = billing;\r\n\r\n useEffect(() => {\r\n const unsubscribe = subscriber(() => {\r\n return ensureSuccessResponse(responseTypes, {\r\n meta: {\r\n paymentMethodData: {\r\n [`${getData('name')}_token_key`]: source.id\r\n }\r\n }\r\n })\r\n });\r\n return () => unsubscribe();\r\n }, [source, subscriber]);\r\n\r\n const createSource = useCallback(async () => {\r\n // validate the billing fields. If valid, create the source.\r\n try {\r\n if (!error && isAddressValid(billingData)) {\r\n let result = await stripe.createSource(getDefaultSourceArgs({\r\n type: getData('paymentType'),\r\n amount: cartTotal.value,\r\n billingData,\r\n currency: currency.code,\r\n returnUrl: getData('returnUrl')\r\n }));\r\n if (result.error) {\r\n throw new StripeError(result.error);\r\n }\r\n setSource(result.source);\r\n storeInCache('wechat:source', result.source);\r\n }\r\n } catch (err) {\r\n console.log('error: ', err);\r\n setError(err.error);\r\n }\r\n }, [\r\n stripe,\r\n source,\r\n cartTotal.value,\r\n billingData,\r\n currency,\r\n error\r\n ]);\r\n const deleteSourceFromStorage = useCallback(() => {\r\n deleteFromCache('wechat:source');\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (stripe && !source) {\r\n // if there is an existing request, cancel it.\r\n clearTimeout(createSourceTimeoutId.current);\r\n createSourceTimeoutId.current = setTimeout(createSource, 1000);\r\n }\r\n }, [\r\n stripe,\r\n source,\r\n createSource\r\n ]);\r\n\r\n return {source, setSource, error, deleteSourceFromStorage};\r\n}\r\n\r\n\r\nif (getData()) {\r\n registerPaymentMethod({\r\n name: getData('name'),\r\n label: <PaymentMethodLabel\r\n title={getData('title')}\r\n paymentMethod={getData('name')}\r\n icons={getData('icon')}/>,\r\n ariaLabel: 'WeChat',\r\n canMakePayment: canMakePayment(getData),\r\n content: <PaymentMethod content={WeChatComponent} getData={getData}/>,\r\n edit: <PaymentMethod content={WeChatComponent} getData={getData}/>,\r\n supports: {\r\n showSavedCards: false,\r\n showSaveOption: false,\r\n features: getData('features')\r\n }\r\n })\r\n}\r\n","import './style.scss';\r\n\r\nimport './payment-method';","import {useMemo, useEffect, useRef} from '@wordpress/element';\r\nimport {registerExpressPaymentMethod} from '@woocommerce/blocks-registry';\r\nimport {getSettings, initStripe as loadStripe, canMakePayment} from \"../util\";\r\nimport {useBreakpointWidth, useExpressBreakpointWidth} from '../hooks';\r\nimport {Elements, PaymentRequestButtonElement, useStripe} from \"@stripe/react-stripe-js\";\r\nimport {\r\n usePaymentRequest,\r\n useProcessPaymentIntent,\r\n useExportedValues,\r\n useAfterProcessingPayment,\r\n useStripeError\r\n} from '../hooks';\r\n\r\nconst getData = getSettings('stripe_payment_request_data');\r\n\r\nconst PaymentRequestContent = (props) => {\r\n return (\r\n <div className='wc-stripe-payment-request-container'>\r\n <Elements stripe={loadStripe}>\r\n <PaymentRequestButton {...props}/>\r\n </Elements>\r\n </div>\r\n );\r\n}\r\n\r\nconst PaymentRequestButton = (\r\n {\r\n getData,\r\n onClick,\r\n onClose,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n emitResponse,\r\n onSubmit,\r\n activePaymentMethod,\r\n ...props\r\n }) => {\r\n const {onPaymentProcessing} = eventRegistration;\r\n const {responseTypes, noticeContexts} = emitResponse;\r\n const stripe = useStripe();\r\n const [error] = useStripeError();\r\n const canPay = (result) => result != null && !result.applePay;\r\n const exportedValues = useExportedValues();\r\n useExpressBreakpointWidth({payment_method: getData('name'), width: 300});\r\n const {setPaymentMethod} = useProcessPaymentIntent({\r\n getData,\r\n billing,\r\n shippingData,\r\n onPaymentProcessing,\r\n emitResponse,\r\n error,\r\n onSubmit,\r\n activePaymentMethod,\r\n exportedValues\r\n });\r\n useAfterProcessingPayment({\r\n getData,\r\n eventRegistration,\r\n responseTypes,\r\n activePaymentMethod,\r\n messageContext: noticeContexts.EXPRESS_PAYMENTS\r\n });\r\n const {paymentRequest} = usePaymentRequest({\r\n getData,\r\n onClose,\r\n stripe,\r\n billing,\r\n shippingData,\r\n eventRegistration,\r\n setPaymentMethod,\r\n exportedValues,\r\n canPay\r\n });\r\n\r\n const options = useMemo(() => {\r\n return {\r\n paymentRequest,\r\n style: {\r\n paymentRequestButton: getData('paymentRequestButton')\r\n }\r\n }\r\n }, [paymentRequest]);\r\n\r\n if (paymentRequest) {\r\n return (\r\n <PaymentRequestButtonElement options={options} onClick={onClick}/>\r\n )\r\n }\r\n return null;\r\n}\r\n\r\nconst PaymentRequestEdit = ({getData, ...props}) => {\r\n const canvas = useRef();\r\n useEffect(() => {\r\n const scale = window.devicePixelRatio;\r\n canvas.current.width = 20 * scale;\r\n canvas.current.height = 20 * scale;\r\n let ctx = canvas.current.getContext('2d');\r\n ctx.scale(scale, scale);\r\n ctx.beginPath();\r\n ctx.arc(10, 10, 10, 0, 2 * Math.PI);\r\n ctx.fillStyle = '#986fff';\r\n ctx.fill();\r\n });\r\n return (\r\n <div className='payment-request-block-editor'>\r\n <div className={'icon-container'}>\r\n <span>Buy now</span>\r\n <canvas className='PaymentRequestButton-icon' ref={canvas}/>\r\n <i className={'payment-request-arrow'}></i>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nregisterExpressPaymentMethod({\r\n name: getData('name'),\r\n canMakePayment: ({cartTotals}) => {\r\n if (getData('isAdmin')) {\r\n return true;\r\n }\r\n const {currency_code: currency, total_price} = cartTotals;\r\n return canMakePayment({\r\n country: getData('countryCode'),\r\n currency: currency.toLowerCase(),\r\n total: {\r\n label: getData('totalLabel'),\r\n amount: parseInt(total_price)\r\n }\r\n }, (result) => result != null && !result.applePay);\r\n },\r\n content: <PaymentRequestContent getData={getData}/>,\r\n edit: <PaymentRequestEdit getData={getData}/>,\r\n supports: {\r\n showSavedCards: getData('showSavedCards'),\r\n showSaveOption: getData('showSaveOption'),\r\n features: getData('features')\r\n }\r\n});","import {useEffect, useCallback} from '@wordpress/element';\r\nimport {handleCardAction} from '@paymentplugins/stripe/util';\r\n\r\nconst SavedCardComponent = (\r\n {\r\n eventRegistration,\r\n emitResponse,\r\n getData,\r\n method = 'handleCardAction'\r\n }) => {\r\n const {onCheckoutAfterProcessingWithSuccess} = eventRegistration;\r\n const {responseTypes} = emitResponse;\r\n const handleSuccessResult = useCallback(async ({redirectUrl}) => {\r\n return await handleCardAction({redirectUrl, getData, responseTypes, method});\r\n }, []);\r\n\r\n useEffect(() => {\r\n const unsubscribe = onCheckoutAfterProcessingWithSuccess(handleSuccessResult);\r\n return () => unsubscribe();\r\n }, [onCheckoutAfterProcessingWithSuccess, handleSuccessResult]);\r\n return null;\r\n}\r\n\r\nexport default SavedCardComponent;\r\n","import {loadStripe} from '@stripe/stripe-js';\r\nimport {getSetting} from '@woocommerce/settings'\r\nimport apiFetch from \"@wordpress/api-fetch\";\r\nimport {getCurrency, formatPrice as wcFormatPrice} from '@woocommerce/price-format';\r\n\r\nconst {publishableKey, stripeParams} = getSetting('stripeGeneralData');\r\nconst messages = getSetting('stripeErrorMessages');\r\nconst countryLocale = getSetting('countryLocale', {});\r\n\r\nconst SHIPPING_OPTION_REGEX = /^([\\w]+)\\:(.+)$/;\r\n\r\nconst routes = getSetting('stripeGeneralData').routes;\r\n\r\nconst creditCardForms = {};\r\n\r\nconst localPaymentMethods = [];\r\n\r\nconst CACHE_PREFIX = 'stripe:';\r\n\r\nconst PAYMENT_REQUEST_ADDRESS_MAPPINGS = {\r\n recipient: (address, name) => {\r\n address.first_name = name.split(' ').slice(0, -1).join(' ');\r\n address.last_name = name.split(' ').pop();\r\n return address;\r\n },\r\n payerName: (address, name) => {\r\n address.first_name = name.split(' ').slice(0, -1).join(' ');\r\n address.last_name = name.split(' ').pop();\r\n return address;\r\n },\r\n country: 'country',\r\n addressLine: (address, value) => {\r\n if (value[0]) {\r\n address.address_1 = value[0];\r\n }\r\n if (value[1]) {\r\n address.address_2 = value[1];\r\n }\r\n return address;\r\n },\r\n line1: 'address_1',\r\n line2: 'address_2',\r\n city: 'city',\r\n region: 'state',\r\n state: 'state',\r\n postalCode: 'postcode',\r\n postal_code: 'postcode',\r\n payerEmail: 'email',\r\n payerPhone: 'phone'\r\n}\r\n\r\nexport const initStripe = new Promise((resolve, reject) => {\r\n loadStripe(publishableKey, stripeParams).then(stripe => {\r\n resolve(stripe);\r\n }).catch(err => {\r\n resolve({error: err});\r\n });\r\n});\r\n\r\nexport const registerCreditCardForm = ({id, ...props}) => {\r\n creditCardForms[id] = props;\r\n}\r\n\r\nexport const getCreditCardForm = (id) => {\r\n return creditCardForms.hasOwnProperty(id) ? creditCardForms[id] : {};\r\n}\r\n\r\nexport const getRoute = (route) => {\r\n return routes?.[route] ? routes[route] : console.log(`${route} is not a valid route`);\r\n}\r\n\r\nexport const ensureSuccessResponse = (responseTypes, data = {}) => {\r\n return {type: responseTypes.SUCCESS, ...data};\r\n}\r\n\r\n/**\r\n * Returns a formatted error object used by observers\r\n * @param responseTypes\r\n * @param error\r\n * @returns {{type: *, message: *}}\r\n */\r\nexport const ensureErrorResponse = (responseTypes, error, options = {}) => {\r\n return {type: responseTypes.ERROR, message: getErrorMessage(error), ...options}\r\n};\r\n\r\n/**\r\n * Return a customized error message.\r\n * @param error\r\n */\r\nexport const getErrorMessage = (error) => {\r\n if (typeof error == 'string') {\r\n return error;\r\n }\r\n if (error?.code && messages?.[error.code]) {\r\n return messages[error.code];\r\n }\r\n if (error?.statusCode) {\r\n return messages?.[error.statusCode] ? messages[error.statusCode] : error.statusMessage;\r\n }\r\n return error.message;\r\n}\r\n\r\n/**\r\n * Return a Stripe formatted billing_details object from a WC address\r\n * @param billingAddress\r\n */\r\nexport const getBillingDetailsFromAddress = (billingAddress) => {\r\n let billing_details = {\r\n name: `${billingAddress.first_name} ${billingAddress.last_name}`,\r\n address: {\r\n city: billingAddress.city || null,\r\n country: billingAddress.country || null,\r\n line1: billingAddress.address_1 || null,\r\n line2: billingAddress.address_2 || null,\r\n postal_code: billingAddress.postcode || null,\r\n state: billingAddress.state || null\r\n }\r\n }\r\n if (billingAddress?.phone) {\r\n billing_details.phone = billingAddress.phone;\r\n }\r\n if (billingAddress?.email) {\r\n billing_details.email = billingAddress.email;\r\n }\r\n return billing_details;\r\n}\r\n\r\nexport const getSettings = (name) => (key) => {\r\n if (key) {\r\n return getSetting(name)[key];\r\n }\r\n return getSetting(name);\r\n}\r\n\r\nexport class StripeError extends Error {\r\n constructor(error) {\r\n super(error.message);\r\n this.error = error;\r\n }\r\n}\r\n\r\n/**\r\n * Returns true if the provided value is empty.\r\n * @param value\r\n * @returns {boolean}\r\n */\r\nexport const isEmpty = (value) => {\r\n if (typeof value === 'string') {\r\n return value.length == 0 || value == '';\r\n }\r\n if (Array.isArray(value)) {\r\n return array.length == 0;\r\n }\r\n if (typeof value === 'object') {\r\n return Object.keys(value).length == 0;\r\n }\r\n if (typeof value === 'undefined') {\r\n return true;\r\n }\r\n return true;\r\n}\r\n\r\nexport const removeNumberPrecision = (value, unit) => {\r\n return value / 10 ** unit;\r\n}\r\n\r\n/**\r\n *\r\n * @param address\r\n * @param country\r\n */\r\nexport const isAddressValid = (address, exclude = []) => {\r\n const fields = getLocaleFields(address.country);\r\n for (const [key, value] of Object.entries(address)) {\r\n if (!exclude.includes(key) && fields?.[key] && fields[key].required) {\r\n if (isEmpty(value)) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n}\r\n\r\nexport const getLocaleFields = (country) => {\r\n let localeFields = {...countryLocale.default};\r\n if (country && countryLocale?.[country]) {\r\n localeFields = Object.entries(countryLocale[country]).reduce((locale, [key, value]) => {\r\n locale[key] = {...locale[key], ...value}\r\n return locale;\r\n }, localeFields);\r\n ['phone', 'email'].forEach(key => {\r\n let node = document.getElementById(key);\r\n if (node) {\r\n localeFields[key] = {required: node.required};\r\n }\r\n });\r\n }\r\n return localeFields;\r\n}\r\n\r\n/**\r\n * Return true if the field is required by the cart\r\n * @param field\r\n * @param country\r\n * @returns {boolean|*}\r\n */\r\nexport const isFieldRequired = (field, country = false) => {\r\n const fields = getLocaleFields(country);\r\n return [field] in fields && fields[field].required;\r\n}\r\n\r\nexport const getSelectedShippingOption = (id) => {\r\n const result = id.match(SHIPPING_OPTION_REGEX);\r\n if (result) {\r\n const {1: packageIdx, 2: rate} = result;\r\n return [rate, packageIdx];\r\n }\r\n return [];\r\n}\r\n\r\nexport const hasShippingRates = (shippingRates) => {\r\n return shippingRates.map(rate => {\r\n return rate.shipping_rates.length > 0;\r\n }).filter(Boolean).length > 0;\r\n}\r\n\r\n/**\r\n * Return true if the customer is logged in.\r\n * @param customerId\r\n * @returns {boolean}\r\n */\r\nexport const isUserLoggedIn = (customerId) => {\r\n return customerId > 0;\r\n}\r\n\r\nconst syncPaymentIntentWithOrder = async (order_id, client_secret) => {\r\n try {\r\n await apiFetch({\r\n url: routes['sync/intent'],\r\n method: 'POST',\r\n data: {order_id, client_secret}\r\n })\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n\r\nexport const handleCardAction = async (\r\n {\r\n redirectUrl,\r\n responseTypes,\r\n name,\r\n method = 'handleCardAction',\r\n savePaymentMethod = false\r\n }) => {\r\n try {\r\n let match = redirectUrl.match(/#response=(.+)/)\r\n if (match) {\r\n let {client_secret, order_id, order_key} = JSON.parse(window.atob(decodeURIComponent(match[1])));\r\n const stripe = await initStripe;\r\n let result = await stripe[method](client_secret);\r\n if (result.error) {\r\n return ensureErrorResponse(responseTypes, result.error);\r\n }\r\n // success so finish processing order then redirect to thank you page\r\n let data = {order_id, order_key, [`${name}_save_source_key`]: savePaymentMethod};\r\n let response = await apiFetch({\r\n url: getRoute('process/payment'),\r\n method: 'POST',\r\n data\r\n })\r\n if (response.messages) {\r\n return ensureErrorResponse(responseTypes, response.messages);\r\n }\r\n return ensureSuccessResponse(responseTypes, {\r\n redirectUrl: response.redirect\r\n });\r\n } else {\r\n return ensureSuccessResponse(responseTypes);\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n return ensureErrorResponse(responseTypes, err);\r\n }\r\n}\r\n\r\n/**\r\n * Convert a payment wallet address to a WC cart address.\r\n * @param address_mappings\r\n * @returns {function(*, *=): {}}\r\n */\r\nexport const toCartAddress = (address_mappings = PAYMENT_REQUEST_ADDRESS_MAPPINGS) => (address, args = {}) => {\r\n const cartAddress = {};\r\n address = {...address, ...filterEmptyValues(args)};\r\n for (let [key, cartKey] of Object.entries(address_mappings)) {\r\n if (address?.[key]) {\r\n if (typeof cartKey === 'function') {\r\n cartKey(cartAddress, address[key]);\r\n } else {\r\n cartAddress[cartKey] = address[key];\r\n }\r\n }\r\n }\r\n return cartAddress;\r\n}\r\n\r\n/**\r\n * Given a WC formatted address, return only the intermediate address values\r\n * @param address\r\n * @param fields\r\n */\r\nexport const getIntermediateAddress = (address, fields = ['city', 'postcode', 'state', 'country']) => {\r\n const intermediateAddress = {};\r\n for (let key of fields) {\r\n intermediateAddress[key] = address[key];\r\n }\r\n return intermediateAddress;\r\n}\r\n\r\n/**\r\n *\r\n * @param values\r\n * @returns {{}|{[p: string]: *}}\r\n */\r\nexport const filterEmptyValues = (values) => {\r\n return Object.keys(values).filter(key => Boolean(values[key])).reduce((obj, key) => ({\r\n ...obj,\r\n [key]: values[key]\r\n }), {});\r\n}\r\n\r\nexport const formatPrice = (price, currencyCode) => {\r\n const {prefix, suffix, decimalSeparator, minorUnit, thousandSeparator} = getCurrency(currencyCode);\r\n if (price == '' || price === undefined) {\r\n return price;\r\n }\r\n\r\n price = typeof price === 'string' ? parseInt(price, 10) : price;\r\n price = price / 10 ** minorUnit;\r\n price = price.toString().replace('.', decimalSeparator);\r\n let fractional = '';\r\n const index = price.indexOf(decimalSeparator);\r\n if (index < 0) {\r\n if (minorUnit > 0) {\r\n price += `${decimalSeparator}${new Array(minorUnit + 1).join('0')}`;\r\n }\r\n } else {\r\n fractional = price.substr(index + 1);\r\n if (fractional.length < minorUnit) {\r\n price += new Array(minorUnit - fractional.length + 1).join('0');\r\n }\r\n }\r\n\r\n // separate out price and decimals so thousands separator can be added.\r\n const match = price.match(new RegExp(`(\\\\d+)\\\\${decimalSeparator}(\\\\d+)`));\r\n if (match) {\r\n ({1: price, 2: fractional} = match);\r\n }\r\n price = price.replace(new RegExp(`\\\\B(?=(\\\\d{3})+(?!\\\\d))`, 'g'), `${thousandSeparator}`);\r\n price = fractional?.length > 0 ? price + decimalSeparator + fractional : price;\r\n price = prefix + price + suffix;\r\n return price;\r\n}\r\n\r\nexport const getShippingOptions = (shippingRates) => {\r\n let options = [];\r\n shippingRates.forEach((shippingPackage, idx) => {\r\n // sort by selected rate\r\n shippingPackage.shipping_rates.sort((rate) => {\r\n return rate.selected ? -1 : 1;\r\n });\r\n let rates = shippingPackage.shipping_rates.map(rate => {\r\n let txt = document.createElement('textarea');\r\n txt.innerHTML = rate.name;\r\n let price = formatPrice(rate.price, rate.currency_code);\r\n return {\r\n id: getShippingOptionId(idx, rate.rate_id),\r\n label: txt.value,\r\n //detail: `${price}`,\r\n amount: parseInt(rate.price, 10)\r\n }\r\n });\r\n options = [...options, ...rates];\r\n });\r\n return options;\r\n}\r\n\r\nexport const getShippingOptionId = (packageId, rateId) => `${packageId}:${rateId}`\r\n\r\nexport const getDisplayItems = (cartItems, {minorUnit}) => {\r\n let items = [];\r\n const keys = ['total_tax', 'total_shipping'];\r\n cartItems.forEach(item => {\r\n if (0 < item.value || (item.key && keys.includes(item.key))) {\r\n items.push({\r\n label: item.label,\r\n pending: false,\r\n amount: item.value\r\n });\r\n }\r\n })\r\n return items;\r\n}\r\n\r\nconst canPay = {};\r\n\r\nexport const canMakePayment = ({country, currency, total}, callback) => {\r\n return new Promise((resolve, reject) => {\r\n const key = [country, currency, total.amount].reduce((key, value) => `${key}-${value}`);\r\n if (!currency) {\r\n return resolve(false);\r\n }\r\n if (key in canPay) {\r\n return resolve(canPay[key]);\r\n }\r\n return initStripe.then(stripe => {\r\n if (stripe.error) {\r\n return reject(stripe.error);\r\n }\r\n const request = stripe.paymentRequest({\r\n country,\r\n currency,\r\n total\r\n });\r\n request.canMakePayment().then(result => {\r\n canPay[key] = callback(result);\r\n return resolve(canPay[key]);\r\n });\r\n }).catch(reject);\r\n });\r\n};\r\n\r\nexport const registerLocalPaymentMethod = (paymentMethod) => {\r\n localPaymentMethods.push(paymentMethod);\r\n}\r\n\r\nexport const getLocalPaymentMethods = () => localPaymentMethods;\r\n\r\nexport const cartContainsPreOrder = () => {\r\n const data = getSetting('stripePaymentData');\r\n return data && data.pre_order;\r\n}\r\n\r\nexport const cartContainsSubscription = () => {\r\n const data = getSetting('stripePaymentData');\r\n return data && data.subscription;\r\n}\r\n\r\nexport const getDefaultSourceArgs = ({type, amount, billingData, currency, returnUrl}) => {\r\n return {\r\n type,\r\n amount,\r\n currency,\r\n owner: getBillingDetailsFromAddress(billingData),\r\n redirect: {\r\n return_url: returnUrl\r\n }\r\n }\r\n}\r\n\r\nexport const isTestMode = () => {\r\n return getSetting('stripeGeneralData').mode === 'test';\r\n}\r\n\r\nconst getCacheKey = (key) => `${CACHE_PREFIX}${key}`;\r\n\r\nexport const storeInCache = (key, value) => {\r\n const exp = Math.floor(new Date().getTime() / 1000) + (60 * 15);\r\n if ('sessionStorage' in window) {\r\n sessionStorage.setItem(getCacheKey(key), JSON.stringify({value, exp}));\r\n }\r\n}\r\n\r\nexport const getFromCache = (key) => {\r\n if ('sessionStorage' in window) {\r\n try {\r\n const item = JSON.parse(sessionStorage.getItem(getCacheKey(key)));\r\n if (item) {\r\n const {value, exp} = item;\r\n if (Math.floor(new Date().getTime() / 1000) > exp) {\r\n deleteFromCache(getCacheKey(key));\r\n } else {\r\n return value;\r\n }\r\n }\r\n } catch (err) {\r\n }\r\n }\r\n return null;\r\n}\r\n\r\nexport const deleteFromCache = (key) => {\r\n if ('sessionStorage' in window) {\r\n sessionStorage.removeItem(getCacheKey(key));\r\n }\r\n}\r\n\r\nexport const versionCompare = (ver1, ver2, compare) => {\r\n switch (compare) {\r\n case '<':\r\n return ver1 < ver2;\r\n case '>':\r\n return ver1 > ver2;\r\n case '<=':\r\n return ver1 <= ver2;\r\n case '>=':\r\n return ver1 >= ver2;\r\n case '=':\r\n return ver1 == ver2;\r\n }\r\n return false;\r\n}\r\n\r\nexport const isCartPage = () => getSetting('stripeGeneralData').page === 'cart';\r\n\r\nexport const isCheckoutPage = () => getSetting('stripeGeneralData').page === 'checkout';\r\n\r\nexport const isNextActionRequired = (url) => {\r\n let match = url.match(/#response=(.+)/);\r\n let args = null;\r\n if (match) {\r\n args = JSON.parse(window.atob(decodeURIComponent(match[1])));\r\n }\r\n return args;\r\n}","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n"],"names":["module","exports","arr","len","length","i","arr2","Array","isArray","arrayLikeToArray","self","ReferenceError","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","fn","this","args","arguments","apply","err","undefined","instance","Constructor","TypeError","setPrototypeOf","isNativeReflectConstruct","_construct","Parent","Class","Reflect","construct","a","push","Function","bind","prototype","_defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","protoProps","staticProps","obj","_extends","assign","source","hasOwnProperty","call","_getPrototypeOf","o","getPrototypeOf","__proto__","subClass","superClass","create","constructor","__esModule","toString","indexOf","sham","Proxy","Date","e","iter","Symbol","iterator","from","_arr","_n","_d","_e","_s","_i","next","objectWithoutPropertiesLoose","excluded","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","sourceKeys","keys","_typeof","assertThisInitialized","_setPrototypeOf","p","arrayWithHoles","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","arrayWithoutHoles","iterableToArray","nonIterableSpread","minLen","n","slice","name","test","isNativeFunction","_wrapNativeSuper","_cache","Map","has","get","set","Wrapper","React","emptyFunction","emptyFunctionWithReset","resetWarningCache","propTypes","shim","propName","componentName","location","propFullName","secret","Error","getShim","isRequired","ReactPropTypes","array","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","factoryWithThrowingShims","ownKeys","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread2","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_arrayLikeToArray","_unsupportedIterableToArray","_nonIterableRest","usePrevious","ref","useRef","useEffect","current","isUnknownObject","raw","PLAIN_OBJECT_STR","isEqual","left","right","leftArray","leftPlainObject","leftKeys","rightKeys","keySet","allKeys","l","r","every","extractAllowedOptionsUpdates","options","prevOptions","immutableKeys","reduce","newOptions","isUpdated","includes","console","warn","concat","validateStripe","maybeStripe","elements","createToken","createPaymentMethod","confirmCardPayment","parseStripeProp","isPromise","tag","stripePromise","stripe","ElementsContext","createContext","displayName","Elements","_ref","rawStripeProp","children","parsed","useMemo","_React$useState2","useState","ctx","setContext","isMounted","prevStripe","updates","update","anyStripe","_registerWrapper","registerAppInfo","version","url","createElement","Provider","useElementsContextWithUseCase","useCaseMessage","useCase","parseElementsContext","useContext","ElementsConsumer","_ref2","useCallbackReference","cb","noop","createElementComponent","type","isServer","str","charAt","toUpperCase","Element","id","className","_ref$options","_ref$onBlur","onBlur","_ref$onFocus","onFocus","_ref$onReady","onReady","_ref$onChange","onChange","_ref$onEscape","onEscape","_ref$onClick","onClick","elementRef","domNode","callOnReady","callOnBlur","callOnFocus","callOnClick","callOnChange","callOnEscape","useLayoutEffect","mount","on","destroy","__elementType","window","AuBankAccountElement","CardElement","CardNumberElement","CardExpiryElement","CardCvcElement","FpxBankElement","IbanElement","IdealBankElement","P24BankElement","EpsBankElement","PaymentElement","PaymentRequestButtonElement","LinkAuthenticationElement","ShippingAddressElement","AffirmMessageElement","AfterpayClearpayMessageElement","useElements","useStripe","factory","V3_URL","V3_URL_REGEX","EXISTING_SCRIPT_MESSAGE","initStripe","startTime","registerWrapper","stripePromise$1","params","Stripe","script","scripts","document","querySelectorAll","src","findScript","queryString","advancedFraudSignals","headOrBody","head","body","appendChild","injectScript","addEventListener","loadCalled","loadStripe","_len","_key","now","Installments","paymentMethodName","getCreatePaymentMethodArgs","cardFormComplete","addPaymentMethodData","getPaymentMethod","installments","setInstallments","installment","setInstallment","loading","setLoading","paymentMethod","getRoute","method","data","payment_method_id","payment_method","result","catch","log","finally","__","Loader","InstallmentOptions","_stripe_installment_plan","isLoading","OPTIONS","disabled","map","dangerouslySetInnerHTML","__html","text","title","icons","components","Label","PaymentMethodLabel","Icons","PaymentMethodIcons","align","getData","content","Content","desc","el","childNodes","classList","add","Description","RadioControlOption","checked","label","event","setValidationError","linkToken","setLinkToken","useCallback","response","token","storeInCache","getFromCache","linkHandler","resolvePopup","openLinkPopup","open","Plaid","clientName","env","product","selectAccount","countryCodes","onSuccess","publicToken","metaData","onExit","getErrorMessage","error_message","onPaymentProcessing","responseTypes","unsubscribe","deleteFromCache","ensureSuccessResponse","meta","paymentMethodData","JSON","stringify","ensureErrorResponse","getSettings","ACHPaymentContent","eventRegistration","emitResponse","onSubmit","onCheckoutAfterProcessingWithError","ValidationInputError","LoadingMask","validationError","useCreateLinkToken","useProcessCheckoutError","subscriber","useInitializePlaid","useProcessPayment","showSpinner","isTestMode","ACHTestModeCredentials","errorMessage","registerPaymentMethod","ariaLabel","canMakePayment","cartTotals","currency_code","PaymentMethod","savedTokenComponent","edit","placeOrderButtonLabel","supports","showSavedCards","showSaveOption","features","ApplePayContent","ApplePayButton","onClose","billing","shippingData","activePaymentMethod","noticeContexts","useStripeError","exportedValues","useExportedValues","useExpressBreakpointWidth","width","setPaymentMethod","useProcessPaymentIntent","useAfterProcessingPayment","messageContext","EXPRESS_PAYMENTS","paymentRequest","usePaymentRequest","canPay","applePay","handleClick","preventDefault","show","style","ApplePayEdit","registerExpressPaymentMethod","currency","total_price","country","toLowerCase","total","amount","parseInt","Bootstrap","CardIcon","htmlFor","registerCreditCardForm","breakpoint","component","classes","focus","empty","invalid","eventChange","onComplete","cardType","setCardType","elementOrder","container","setContainer","getCreditCardForm","CardForm","postalCodeEnabled","elementStatus","setElementOrder","useBreakpointWidth","getCardIconSrc","cloneElement","brand","complete","idx","nextElement","getElement","status","sprintf","SimpleForm","card","cardOptions","postalCode","billingData","postcode","hidePostalCode","isFieldRequired","iconStyle","PaymentElementComponent","cartData","clientSecret","extensions","stripe_cc","formComplete","setFormComplete","installmentsActive","shouldSavePayment","useUpdatePaymentIntent","updatePaymentIntent","PAYMENTS","paymentIntent","fields","billingDetails","wallets","googlePay","CreditCardContent","setError","CreditCardElement","getPaymentMethodArgs","elType","useSetupIntent","cartTotal","setupIntent","removeSetupIntent","Tag","CustomCardForm","StripeCardForm","ErrorBoundary","state","hasError","errorInfo","setState","componentStack","Component","publishableKey","setErrorMessage","checkoutStatus","merchantInfo","merchantId","merchantName","buttonContainer","buttonType","usePaymentsClient","button","removeButton","append","parameters","allowedAuthMethods","allowedCardNetworks","assuranceDetailsRequired","apiVersion","apiVersionMinor","shippingRates","processingCountry","totalPriceLabel","emailRequired","isEmpty","email","allowedPaymentMethods","tokenizationSpecification","gateway","BASE_PAYMENT_METHOD","shippingAddressRequired","needsShipping","transactionInfo","getTransactionInfo","callbackIntents","BASE_PAYMENT_REQUEST","billingAddressRequired","billingAddressParameters","format","phoneNumberRequired","phone","shippingOptionRequired","shippingOptionParameters","getShippingOptionParameters","shippingOptions","cartTotalItems","environment","paymentsClient","setPaymentsClient","setButton","currentBilling","currentShipping","addPaymentEvent","usePaymentEvents","setAddressData","paymentData","billingAddress","isAddressValid","phoneNumber","toCartAddress","shippingAddress","parentElement","firstChild","removeChild","loadPaymentData","parse","tokenizationData","billing_details","getBillingDetailsFromAddress","StripeError","statusCode","createButton","paymentOptions","paymentDataCallbacks","onPaymentAuthorized","transactionState","onPaymentDataChanged","shipping","address","shippingOptionData","intermediateAddress","selectedRates","getSelectedShippingOption","addressEqual","getIntermediateAddress","shippingEqual","success","getPaymentRequestUpdate","reason","message","intent","setShippingAddress","setSelectedRates","google","payments","api","PaymentsClient","isReadyToPayRequest","isReadyToPay","GooglePayContent","useErrorMessage","GooglePayEdit","isCartPage","getSetting","countryCode","currencyCode","code","totalPriceStatus","totalPrice","removeNumberPrecision","minorUnit","displayItems","getDisplayItems","newTransactionInfo","newShippingOptionParameters","unit","items","item","price","getShippingOptions","defaultSelectedOptionId","option","shift","shippingPackage","shipping_rates","rate","selected","getShippingOptionId","rate_id","rates","txt","innerHTML","formatPrice","description","first_name","split","join","last_name","pop","address1","address2","locality","administrativeArea","onCheckoutAfterProcessingWithSuccess","unsubscribeAfterProcessingWithSuccess","redirectUrl","handleCardAction","savePaymentMethod","innerWidth","windowWidth","setWindowWith","getMaxWidth","maxWidth","setMaxWidth","clientWidth","remove","handleResize","removeEventListener","getElementById","parentNode","onShippingRateSuccess","onShippingRateFail","onShippingRateSelectSuccess","handler","setHandler","onShippingChanged","paymentEvents","setPaymentEvent","execute","removePaymentEvent","isSelectingRate","shippingRatesLoading","hasShippingRates","unsubscribeShippingRateSuccess","unsubscribeShippingRateSelectSuccess","unsubscribeShippingRateFail","hasInvalidAddress","setPaymentRequest","paymentRequestOptions","pending","requestPayerName","requestPayerEmail","requestPayerPhone","requestShipping","onShippingAddressChange","onShippingOptionChange","onPaymentMethodReceived","updatePaymentEvent","updateWith","shippingOption","paymentResponse","payerName","payerEmail","payerPhone","processingResponse","paymentDetails","stripeErrorMessage","ERROR","paymentType","currentPaymentMethodArgs","getSuccessResponse","paymentMethodId","unsubscribeProcessingPayment","confirmCardSetup","client_secret","setSetupIntent","createSetupIntent","cartContainsPreOrder","cartContainsSubscription","currentData","payment_method_data","confirmPayment","confirmParams","redirect","retrievePaymentIntent","isActive","link","setLink","linkData","linkAutofillModal","launch","recipient","stripe_cc_token_key","stripe_cc_save_source_key","LinkComponent","stripe_link_checkout","LinkCheckout","useLink","display","variablesHandler","isAvailable","available","requiredParams","accountCountry","requiredParamObj","isEligible","variables","setVariables","AfterpayPaymentMethod","OrderItemMessaging","cart","context","cartNeedsShipping","currency_minor_unit","TotalsWrapper","settings","LocalPaymentIntentContent","confirmationMethod","registerPlugin","render","ExperimentalOrderMeta","scope","BecsPaymentMethod","taxId","setTaxId","setIsActive","callback","boleto","tax_id","currentBillingData","match","atob","decodeURIComponent","return_url","order","decodeURI","order_received_url","getSourceArgs","setSource","isValid","setIsValid","currentValues","getSourceArgsInternal","getDefaultSourceArgs","returnUrl","getSuccessData","sourceId","createSource","msg","countries","LocalPaymentIntentMethod","LocalPaymentSourceMethod","useCreateSource","LocalPaymentElementContainer","useValidateCheckout","useAfterProcessLocalPayment","PAYMENT","LocalPaymentSourceContent","SepaPaymentMethod","sofort","WeChatComponent","WeChatPaymentMethod","size","deleteSourceFromStorage","QRCodeComponent","wechat","qr_code_url","height","colorDark","colorLight","correctLevel","QRCode","CorrectLevel","H","createSourceTimeoutId","clearTimeout","setTimeout","PaymentRequestContent","PaymentRequestButton","paymentRequestButton","PaymentRequestEdit","canvas","scale","devicePixelRatio","getContext","beginPath","arc","Math","PI","fillStyle","fill","handleSuccessResult","stripeParams","messages","countryLocale","SHIPPING_OPTION_REGEX","routes","creditCardForms","localPaymentMethods","PAYMENT_REQUEST_ADDRESS_MAPPINGS","addressLine","address_1","address_2","line1","line2","city","region","postal_code","route","SUCCESS","statusMessage","exclude","getLocaleFields","entries","required","localeFields","default","locale","field","packageIdx","Boolean","customerId","order_id","order_key","address_mappings","cartAddress","filterEmptyValues","cartKey","values","getCurrency","prefix","suffix","decimalSeparator","thousandSeparator","fractional","index","replace","substr","RegExp","sort","packageId","rateId","cartItems","pre_order","subscription","owner","mode","getCacheKey","exp","floor","getTime","sessionStorage","setItem","getItem","removeItem","ver1","ver2","compare","page","hasOwn","classNames","argType","inner"],"sourceRoot":""}
packages/blocks/src/Payments/Gateways/Link/Controller.php CHANGED
@@ -8,8 +8,8 @@ class Controller {
8
 
9
  public function __construct() {
10
  add_filter( 'woocommerce_payment_gateways', [ $this, 'add_payment_gateway' ] );
11
- add_filter( 'woocommerce_store_api_checkout_update_order_from_request', [ $this, 'update_order' ] );
12
- add_action( 'woocommerce_rest_checkout_process_payment_with_context', array( $this, 'payment_with_context' ), 10, 2 );
13
  }
14
 
15
  public function initialize() {
8
 
9
  public function __construct() {
10
  add_filter( 'woocommerce_payment_gateways', [ $this, 'add_payment_gateway' ] );
11
+ add_action( 'woocommerce_store_api_checkout_update_order_from_request', [ $this, 'update_order' ] );
12
+ add_action( 'woocommerce_rest_checkout_process_payment_with_context', array( $this, 'payment_with_context' ), 10 );
13
  }
14
 
15
  public function initialize() {
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: stripe, ach, klarna, credit card, apple pay, google pay, ideal, sepa, sofo
4
  Requires at least: 3.0.1
5
  Tested up to: 6.0
6
  Requires PHP: 5.6
7
- Stable tag: 3.3.21
8
  Copyright: Payment Plugins
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -62,6 +62,10 @@ If you're site is not loading over https, then Stripe won't render the Payment R
62
  9. Stripe Link for high conversion
63
 
64
  == Changelog ==
 
 
 
 
65
  = 3.3.21 - 6/4/22 =
66
  * Fixed - Error on checkout page when Payment Element is active and saved card used for payment
67
  * Fixed - Don't hide "save card" checkbox when Link is active on checkout page
4
  Requires at least: 3.0.1
5
  Tested up to: 6.0
6
  Requires PHP: 5.6
7
+ Stable tag: 3.3.22
8
  Copyright: Payment Plugins
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
62
  9. Stripe Link for high conversion
63
 
64
  == Changelog ==
65
+ = 3.3.22 - 6/16/22
66
+ * Updated - WC Tested up to 6.6
67
+ * Fixed - Error that could be triggered on plugins page if WooCommerce deactivated
68
+ * Fixed - WooCommerce Blocks Link integration autofill of shipping address
69
  = 3.3.21 - 6/4/22 =
70
  * Fixed - Error on checkout page when Payment Element is active and saved card used for payment
71
  * Fixed - Don't hide "save card" checkbox when Link is active on checkout page
stripe-payments.php CHANGED
@@ -1,15 +1,16 @@
1
  <?php
 
2
  /**
3
  * Plugin Name: Payment Plugins for Stripe WooCommerce
4
  * Plugin URI: https://docs.paymentplugins.com/wc-stripe/config/
5
  * Description: Accept Credit Cards, Google Pay, Apple Pay, ACH, Klarna and more using Stripe.
6
- * Version: 3.3.21
7
  * Author: Payment Plugins, support@paymentplugins.com
8
  * Text Domain: woo-stripe-payment
9
  * Domain Path: /i18n/languages/
10
  * Tested up to: 6.0
11
  * WC requires at least: 3.0.0
12
- * WC tested up to: 6.5
13
  */
14
  defined( 'ABSPATH' ) || exit ();
15
 
1
  <?php
2
+
3
  /**
4
  * Plugin Name: Payment Plugins for Stripe WooCommerce
5
  * Plugin URI: https://docs.paymentplugins.com/wc-stripe/config/
6
  * Description: Accept Credit Cards, Google Pay, Apple Pay, ACH, Klarna and more using Stripe.
7
+ * Version: 3.3.22
8
  * Author: Payment Plugins, support@paymentplugins.com
9
  * Text Domain: woo-stripe-payment
10
  * Domain Path: /i18n/languages/
11
  * Tested up to: 6.0
12
  * WC requires at least: 3.0.0
13
+ * WC tested up to: 6.6
14
  */
15
  defined( 'ABSPATH' ) || exit ();
16
 
vendor/composer/installed.php CHANGED
@@ -5,7 +5,7 @@
5
  'type' => 'library',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
- 'reference' => '806b7807872fb6bfe4f3ac7bcf41cea73f62d354',
9
  'name' => '__root__',
10
  'dev' => false,
11
  ),
@@ -16,7 +16,7 @@
16
  'type' => 'library',
17
  'install_path' => __DIR__ . '/../../',
18
  'aliases' => array(),
19
- 'reference' => '806b7807872fb6bfe4f3ac7bcf41cea73f62d354',
20
  'dev_requirement' => false,
21
  ),
22
  'stripe/stripe-php' => array(
5
  'type' => 'library',
6
  'install_path' => __DIR__ . '/../../',
7
  'aliases' => array(),
8
+ 'reference' => '04fd8b057f12f0720560da3b38f31bcb82776e1d',
9
  'name' => '__root__',
10
  'dev' => false,
11
  ),
16
  'type' => 'library',
17
  'install_path' => __DIR__ . '/../../',
18
  'aliases' => array(),
19
+ 'reference' => '04fd8b057f12f0720560da3b38f31bcb82776e1d',
20
  'dev_requirement' => false,
21
  ),
22
  'stripe/stripe-php' => array(