PluginProbe
SellKit – Funnel builder and checkout optimizer for WooCommerce to sell more, faster / 2.7.0
SellKit – Funnel builder and checkout optimizer for WooCommerce to sell more, faster v2.7.0
2.7.0 2.6.0 trunk 1.1.0 1.1.4 1.2.1 1.2.2 1.2.3 1.2.5 1.2.9 1.3.1 1.3.2 1.5.0 1.5.1 1.5.4 1.5.7 1.5.8 1.5.9 1.6.2 1.6.5 1.6.8 1.7.2 1.7.4 1.7.5 1.7.9 All 43 releases
← All changes | assets/dist/js/elementor-init.js +586 -106 1.5.02.7.0 View file →
@@ -3,18 +3,81 @@
3 3
4 4 Object.defineProperty(exports, "__esModule", {
5 5 value: true
6 6 });
7 +exports["default"] = void 0;
8 +var CheckoutSettings = elementorModules.frontend.handlers.Base.extend({
9 + getDefaultSettings: function getDefaultSettings() {
10 + return {
11 + selectors: {
12 + sticky: '.sellkit-multistep-checkout-sidebar-sticky'
13 + }
14 + };
15 + },
16 + getDefaultElements: function getDefaultElements() {
17 + var selectors = this.getSettings('selectors');
18 + return {
19 + $stickyContainer: this.$element.find(selectors.sticky)
20 + };
21 + },
22 + onInit: function onInit() {
23 + elementorModules.frontend.handlers.Base.prototype.onInit.apply(this, arguments);
24 + this.setOffset();
25 + },
26 + setOffset: function setOffset() {
27 + if (this.getElementSettings('show_sticky_cart_details') !== 'yes') {
28 + return;
29 + }
30 +
31 + var offset = this.getElementSettings('sticky_cart_offset') || 0;
32 +
33 + if (offset === 0) {
34 + return;
35 + }
36 +
37 + var adminbar = document.getElementById('wpadminbar');
38 +
39 + if (!_.isNull(adminbar)) {
40 + offset += adminbar.offsetHeight;
41 + }
42 +
43 + this.elements.$stickyContainer.css('top', "".concat(offset, "px"));
44 + }
45 +});
46 +var _default = CheckoutSettings;
7 47 exports["default"] = _default;
8 48
49 +},{}],2:[function(require,module,exports){
50 +"use strict";
51 +
52 +var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
53 +
54 +Object.defineProperty(exports, "__esModule", {
55 + value: true
56 +});
57 +exports["default"] = _default;
58 +
9 59 var _i18n = require("@wordpress/i18n");
10 60
61 +var _checkoutSettings = _interopRequireDefault(require("./checkout-settings"));
62 +
11 63 /* eslint no-undef: 0 */
12 64 // Temporary turned off no undefined variable for localStorage
13 65 var $ = jQuery;
14 66 var wcCountries = JSON.parse(wc_country_select_params.countries);
67 +/**
68 + * When batching "same as shipping" billing sync, skip duplicate sellkit address AJAX
69 + * (avoids racing update_checkout / fragment refresh against hidden country/state fields).
70 + *
71 + * @type {boolean}
72 + */
15 73
16 -function _default() {
74 +window.sellkitSuppressBillingAddressAjax = false;
75 +
76 +function _default($scope) {
77 + new _checkoutSettings["default"]({
78 + $element: $scope
79 + });
17 80 $('body').addClass('contains-sellkit-checkout'); // General class to handle compatibility with other themes.
18 81
19 82 var parent = $('#sellkit-checkout-multistep-inner-wrap');
20 83 var sidebar = $('.sellkit-checkout-right-column');
@@ -21,9 +84,14 @@
21 84 var first = $('.sellkit-multistep-checkout-first');
22 85 var second = $('.sellkit-multistep-checkout-second');
23 86 var third = $('.sellkit-multistep-checkout-third');
24 87 var breadcrumb = $('.sellkit-checkout-widget-breadcrumb-desktop, .sellkit-checkout-widget-breadcrumb-mobile');
88 + var billingMethodA = $('[name="billing-method"].sellkit-billing-method-a');
25 89
90 + if (billingMethodA.length > 0 && billingMethodA[0].checked) {
91 + billingMethodA[0].click();
92 + }
93 +
26 94 if ('1' !== sellkit_elementor.wcNeedShipping || typeof sellkitCheckoutShipping !== 'undefined' && true === sellkitCheckoutShipping) {
27 95 third.show();
28 96 $('.sellkit-one-page-checkout-place-order').css('justify-content', 'flex-end');
29 97 }
@@ -36,9 +104,8 @@
36 104 return;
37 105 }
38 106
39 107 secondStepHeader();
40 - var secondTrigger = true;
41 108 first.hide();
42 109
43 110 if ($('.sellkit-one-page-shipping-methods').children().length > 0) {
44 111 second.show();
@@ -43,13 +110,8 @@
43 110 if ($('.sellkit-one-page-shipping-methods').children().length > 0) {
44 111 second.show();
45 112 } else {
46 113 third.show();
47 - secondTrigger = false;
48 - }
49 -
50 - if ($(window).width() > 600 && secondTrigger) {
51 - sidebar.css('background-color', '#effdf5');
52 114 } //Fix Header & wrapper height.
53 115
54 116
55 117 parent.css('height', 'auto');
@@ -58,8 +120,11 @@
58 120 $('.multistep-headers').css('height', 'auto'); // Manage Breadcrumb.
59 121
60 122 breadcrumb.find('.information').removeClass('current').addClass('blue-line');
61 123 breadcrumb.find('.shipping').addClass('current').removeClass('inactive');
124 + $('html, body').animate({
125 + scrollTop: $('.sellkit-checkout-left-column').offset().top
126 + }, 500);
62 127 });
63 128 $('.go-to-first').on('click', function () {
64 129 first.show();
65 130 third.hide();
@@ -69,8 +134,11 @@
69 134 sidebar.css('background-color', 'transparent'); // Manage Breadcrumb.
70 135
71 136 breadcrumb.find('.information').removeClass('blue-line').addClass('current');
72 137 breadcrumb.find('.shipping, .payment').removeClass('current').removeClass('blue-line').addClass('inactive');
138 + $('html, body').animate({
139 + scrollTop: $('.sellkit-checkout-left-column').offset().top
140 + }, 500);
73 141 });
74 142 $('.go-to-payment').on('click', function () {
75 143 // Checks if required fields are filled.
76 144 var requiredFieldsError = checkRequiredFields();
@@ -91,8 +159,11 @@
91 159 $('.multistep-headers').css('height', 'auto'); // Manage Breadcrumb.
92 160
93 161 breadcrumb.find('.shipping').addClass('blue-line').removeClass('current');
94 162 breadcrumb.find('.payment').addClass('current').removeClass('inactive');
163 + $('html, body').animate({
164 + scrollTop: $('.sellkit-checkout-left-column').offset().top
165 + }, 500);
95 166 });
96 167 $('.go-to-second , .go-to-second-header').on('click', function () {
97 168 // Checks if required fields are filled.
98 169 var requiredFieldsError = checkRequiredFields();
@@ -100,10 +171,8 @@
100 171 if (true === requiredFieldsError) {
101 172 return;
102 173 }
103 174
104 - var secondTrigger = true;
105 -
106 175 if ($('.sellkit-one-page-shipping-methods').children().length > 0) {
107 176 second.show();
108 177 first.hide();
109 178 } else {
@@ -108,9 +177,8 @@
108 177 first.hide();
109 178 } else {
110 179 second.hide();
111 180 first.show();
112 - secondTrigger = false;
113 181 }
114 182
115 183 third.hide();
116 184 parent.css('height', 'auto');
@@ -115,17 +183,15 @@
115 183 third.hide();
116 184 parent.css('height', 'auto');
117 185 second.css('height', 'auto');
118 186 second.css('height', $('.sellkit-checkout-left-column').height());
119 - $('.multistep-headers').css('height', 'auto');
187 + $('.multistep-headers').css('height', 'auto'); // Manage Breadcrumb.
120 188
121 - if ($(window).width() > 600 && secondTrigger) {
122 - sidebar.css('background-color', '#effdf5');
123 - } // Manage Breadcrumb.
124 -
125 -
126 189 breadcrumb.find('.shipping').addClass('current').removeClass('blue-line');
127 190 breadcrumb.find('.payment').removeClass('current').addClass('inactive');
191 + $('html, body').animate({
192 + scrollTop: $('.sellkit-checkout-left-column').offset().top
193 + }, 500);
128 194 }); //Inject login wrapper & functionality.
129 195
130 196 emailProcess();
131 197 LoginProcess(); // Billing method toggle.
@@ -144,10 +210,14 @@
144 210 // Run after ajax
145 211 sellkitCheckoutUpdateCartItem();
146 212 applyCoupon();
147 213 couponToggle();
148 - }); //Run when page loads.
214 + fixGatewayListUi();
215 + sellkitDetectShippingMethodChange();
216 + }); // Fix the payment gateways divider issue.
149 217
218 + fixGatewayListUi(); //Run when page loads.
219 +
150 220 sellkitCheckoutUpdateCartItem(); // Apply coupon.
151 221
152 222 applyCoupon(); // Coupon toggle.
153 223
@@ -164,9 +234,23 @@
164 234 sellkitCheckoutConfigureBundleProducts(); // Order bump.
165 235
166 236 sellkitCheckoutOrderBump(); // Sellkit after ajax call is completed.
167 237
168 - sellkitAfterAjaxComplete();
238 + sellkitAfterAjaxComplete(); // Load upsell steps with popup.
239 +
240 + sellkitLoadUpsellSteps(); // send shipping method to backend after changed
241 +
242 + sellkitDetectShippingMethodChange(); // Run some functions on page load when WooCommerce doing early ajax.
243 +
244 + window.sellkitCheckoutMakeSureJsWorks = function () {
245 + sellkitCheckoutUpdateCartItem();
246 + applyCoupon();
247 + couponToggle();
248 + fixGatewayListUi();
249 + }; // Toggle order notes.
250 +
251 +
252 + orderNotesToggle();
169 253 }
170 254
171 255 var emailProcess = function emailProcess() {
172 256 var emailField = $('#billing_email');
@@ -179,14 +263,26 @@
179 263 var usernameField = usernameWrap.find('input');
180 264 var loginBtn = $('.login-wrapper');
181 265 var createBox = $('.create-desc');
182 266 var createCheck = $('#createaccount');
183 - emailField.on('keyup', function () {
184 - var _this = this;
267 + var emailCheckTimer = null;
268 + var usernameCheckTimer = null;
185 269
186 - setTimeout(function () {
187 - var emailAddress = $(_this).val();
270 + var getCurrentEmailValue = function getCurrentEmailValue() {
271 + return $('#billing_email').val();
272 + };
188 273
274 + var getCurrentUsernameValue = function getCurrentUsernameValue() {
275 + return $('.sellkit-checkout-widget-username-field').find('input').val();
276 + }; // Use input/change (not keyup): iOS Safari soft keyboard often omits or mishandles keyup.
277 +
278 +
279 + emailField.on('input change', function () {
280 + var inputEl = this;
281 + clearTimeout(emailCheckTimer);
282 + emailCheckTimer = setTimeout(function () {
283 + var emailAddress = $(inputEl).val();
284 +
189 285 if (_.isEmpty(emailAddress)) {
190 286 emptyError.show().css('display', 'inline-block');
191 287 errorText.hide();
192 288 createBox.css('display', 'none');
@@ -220,19 +316,27 @@
220 316 email: emailAddress,
221 317 dataType: 'json',
222 318 nonce: sellkit_elementor.nonce
223 319 }).done(function () {
320 + if (emailAddress !== getCurrentEmailValue()) {
321 + return;
322 + }
323 +
224 324 successResultEmailCheck();
225 325 }).fail(function () {
326 + if (emailAddress !== getCurrentEmailValue()) {
327 + return;
328 + }
329 +
226 330 errorResultEmailCheck();
227 331 });
228 332 }, 500);
229 333 });
230 - usernameField.on('keyup', function () {
231 - var _this2 = this;
232 -
233 - setTimeout(function () {
234 - var userValue = $(_this2).val();
334 + usernameField.on('input change', function () {
335 + var inputEl = this;
336 + clearTimeout(usernameCheckTimer);
337 + usernameCheckTimer = setTimeout(function () {
338 + var userValue = $(inputEl).val();
235 339 wp.ajax.post({
236 340 action: 'sellkit_checkout_ajax_handler',
237 341 sub_action: 'search_for_username',
238 342 user: userValue,
@@ -238,10 +342,18 @@
238 342 user: userValue,
239 343 dataType: 'json',
240 344 nonce: sellkit_elementor.nonce
241 345 }).done(function () {
346 + if (userValue !== getCurrentUsernameValue()) {
347 + return;
348 + }
349 +
242 350 $('.sellkit-checkout-widget-username-error').hide();
243 351 }).fail(function () {
352 + if (userValue !== getCurrentUsernameValue()) {
353 + return;
354 + }
355 +
244 356 $('.sellkit-checkout-widget-username-error').show();
245 357 });
246 358 }, 500);
247 359 }); // If user is going to create account show password and username fields if exists.
@@ -318,14 +430,14 @@
318 430
319 431 var secondStepHeader = function secondStepHeader() {
320 432 var email = $('#billing_email');
321 433 $('.multistep-headers > .info-a > div > .mail').text(email.val());
322 - var countryValue = $('#shipping_country option:selected').text();
323 - var state = $('#sellkit-shipping_state');
324 - var postcode = $('#shipping_postcode');
325 - var city = $('#shipping_city');
326 - var addressA = $('#shipping_address_1');
327 - var addressB = $('#shipping_address_2');
434 + var countryValue = $('#shipping_country option:selected').text() ? $('#shipping_country option:selected').text() : $('#billing_country option:selected').text();
435 + var state = $('#sellkit-shipping_state').val() ? $('#sellkit-shipping_state') : $('#sellkit-billing_state');
436 + var postcode = $('#shipping_postcode').val() ? $('#shipping_postcode') : $('#billing_postcode');
437 + var city = $('#shipping_city').val() ? $('#shipping_city') : $('#billing_city');
438 + var addressA = $('#shipping_address_1').val() ? $('#shipping_address_1') : $('#billing_address_1');
439 + var addressB = $('#shipping_address_2').val() ? $('#shipping_address_2') : $('#billing_address_2');
328 440 var finalAddress = postcode.val() ? ', ' + postcode.val() : '';
329 441 finalAddress += addressB.val() ? ', ' + addressB.val() : '';
330 442 finalAddress += addressA.val() ? ', ' + addressA.val() : '';
331 443 finalAddress += city.val() ? ', ' + city.val() : '';
@@ -342,34 +454,84 @@
342 454 $('.multistep-headers > .info-c > div > .method').text(methodTxt);
343 455 };
344 456
345 457 var manageBillingMethod = function manageBillingMethod() {
346 - var billingWrap = $('.sellkit-one-page-checkout-billing');
347 - var methodA = billingWrap.find('.method-a');
348 - var methodB = billingWrap.find('.method-b'); // Get shipping values.
458 + // Hide outer #wrapper-billing_* rows — not inner #billing_*_field <p> tags. Labels (.mini-title) sit
459 + // outside those <p> tags; hiding only the <p> left floating labels with no inputs.
460 + var mirroredSelectors = '#wrapper-billing_first_name, #wrapper-billing_last_name, #wrapper-billing_address_1, #wrapper-billing_address_2, #wrapper-billing_country, #wrapper-billing_state, #wrapper-billing_postcode, #wrapper-billing_city, #wrapper-billing_phone';
461 + /**
462 + * Always re-query the DOM. Checkout fragments replace nodes after update_checkout;
463 + * cached jQuery sets would point at detached elements and .hide() would not affect the live form.
464 + *
465 + * @param {boolean} shouldUseShippingAddress - Whether to use shipping address for billing
466 + *
467 + */
349 468
350 - var name = $('#shipping_first_name');
351 - var last = $('#shipping_last_name');
352 - var addressA = $('#shipping_address_1');
353 - var addressB = $('#shipping_address_2');
354 - var country = $('#shipping_country');
355 - var state = $('#sellkit-shipping_state');
356 - var postcode = $('#shipping_postcode');
357 - var city = $('#shipping_city');
358 - methodA.on('click', function () {
359 - billingWrap.find('.woocommerce-billing-fields__field-wrapper').hide();
360 - $('#billing_first_name').val(name.val());
361 - $('#billing_last_name').val(last.val());
362 - $('#billing_address_1').val(addressA.val());
363 - $('#billing_address_2').val(addressB.val());
364 - $('#billing_country').val(country.val()).trigger('change');
365 - $('#sellkit-billing_state').val(state.val()).trigger('change');
366 - $('#billing_postcode').val(postcode.val());
367 - $('#billing_city').val(city.val());
469 + var toggleBillingFields = function toggleBillingFields(shouldUseShippingAddress) {
470 + var billingWrap = $('.sellkit-one-page-checkout-billing');
471 +
472 + if (!billingWrap.length) {
473 + return;
474 + }
475 +
476 + var billingFieldWrapper = billingWrap.find('.woocommerce-billing-fields__field-wrapper');
477 + var mirroredBillingFields = billingFieldWrapper.find(mirroredSelectors);
478 + var billingOnlyFields = billingFieldWrapper.children().not(mirroredBillingFields);
479 +
480 + if (shouldUseShippingAddress) {
481 + mirroredBillingFields.hide();
482 +
483 + if (billingOnlyFields.length) {
484 + billingOnlyFields.show();
485 + billingFieldWrapper.show().css('display', 'inline-table');
486 + } else {
487 + billingFieldWrapper.hide();
488 + }
489 +
490 + return;
491 + }
492 +
493 + billingFieldWrapper.show().css('display', 'inline-table');
494 + mirroredBillingFields.show();
495 + billingOnlyFields.show();
496 + };
497 +
498 + var syncBillingFieldsFromShipping = function syncBillingFieldsFromShipping() {
499 + window.sellkitSuppressBillingAddressAjax = true;
500 + $('#billing_first_name').val($('#shipping_first_name').val());
501 + $('#billing_last_name').val($('#shipping_last_name').val());
502 + $('#billing_address_1').val($('#shipping_address_1').val());
503 + $('#billing_address_2').val($('#shipping_address_2').val());
504 + $('#billing_country').val($('#shipping_country').val()).trigger('change');
505 + $('#sellkit-billing_state').val($('#sellkit-shipping_state').val()).trigger('change');
506 + $('#billing_postcode').val($('#shipping_postcode').val());
507 + $('#billing_city').val($('#shipping_city').val());
508 +
509 + if ($('#billing_phone').length && $('#shipping_phone').length) {
510 + $('#billing_phone').val($('#shipping_phone').val());
511 + }
512 +
513 + window.sellkitSuppressBillingAddressAjax = false;
514 + }; // Delegated: billing markup can be replaced by WooCommerce checkout AJAX.
515 +
516 +
517 + $(document.body).off('click.sellkitBillMethod', '.sellkit-one-page-checkout-billing .method-a').on('click.sellkitBillMethod', '.sellkit-one-page-checkout-billing .method-a', function () {
518 + syncBillingFieldsFromShipping();
519 + toggleBillingFields(true);
520 + sellkitSetAddressDetails();
368 521 });
369 - methodB.on('click', function () {
522 + $(document.body).off('click.sellkitBillMethodDiff', '.sellkit-one-page-checkout-billing .method-b').on('click.sellkitBillMethodDiff', '.sellkit-one-page-checkout-billing .method-b', function () {
370 523 $('.inner_wrapper').css('height', 'auto');
371 - billingWrap.find('.woocommerce-billing-fields__field-wrapper').show();
524 + toggleBillingFields(false);
525 + }); // After fragments refresh, re-apply hide/show — otherwise mirrored rows show again and layout breaks.
526 +
527 + $(document.body).off('updated_checkout.sellkitBillingVis').on('updated_checkout.sellkitBillingVis', function () {
528 + if (!$('.sellkit-one-page-checkout-billing').length) {
529 + return;
530 + }
531 +
532 + var useSame = $('.sellkit-one-page-checkout-billing input[name="billing-method"]:checked').val() === 'same';
533 + toggleBillingFields(useSame);
372 534 });
373 535 };
374 536
375 537 var mobileSummary = function mobileSummary() {
@@ -376,20 +538,22 @@
376 538 if ($(window).width() < 600) {
377 539 $('#order_review').addClass('sellkit-mobile-multistep-order-summary');
378 540 }
379 541
380 - var toggleBtn = $('.summary_toggle > .title, .summary_toggle > i, .summary_toggle > .icon');
542 + var toggleBtn = $('.summary_toggle > .summery_toggle_link_wrapper > .title, .summary_toggle > .summery_toggle_link_wrapper > .sellkit-checkout-summary-toggle-up, .summary_toggle > .summery_toggle_link_wrapper > .icon, .summary_toggle > .summery_toggle_link_wrapper > .sellkit-checkout-summary-toggle-down');
381 543 var wrap = $('.summary_toggle');
382 544 toggleBtn.on('click', function () {
383 545 $('#order_review').toggle();
384 546
385 - if ('Hide order summary' === toggleBtn.text()) {
547 + if ('Hide order summary' === wrap.find('.title').text()) {
386 548 wrap.find('.title').text((0, _i18n.__)('Show order summary', 'sellkit'));
387 - wrap.find('i').addClass('fa-chevron-down').removeClass('fa-chevron-up');
549 + wrap.find('.sellkit-checkout-summary-toggle-up').hide();
550 + wrap.find('.sellkit-checkout-summary-toggle-down').show();
388 551 wrap.css('border-bottom-width', '0px');
389 552 } else {
390 553 wrap.find('.title').text((0, _i18n.__)('Hide order summary', 'sellkit'));
391 - wrap.find('i').addClass('fa-chevron-up').removeClass('fa-chevron-down');
554 + wrap.find('.sellkit-checkout-summary-toggle-up').show();
555 + wrap.find('.sellkit-checkout-summary-toggle-down').hide();
392 556 wrap.css('border-bottom-width', '1px');
393 557 }
394 558
395 559 var parent = $('#sellkit-checkout-multistep-inner-wrap');
@@ -399,9 +563,9 @@
399 563
400 564 var fieldFocus = function fieldFocus() {
401 565 var $fields = $('.sellkit-checkout-local-fields').find('input, select, hidden, textarea, #sellkit-billing_state ,#sellkit-shipping_state, .validate-email');
402 566 $fields.each(function () {
403 - var _this3 = this;
567 + var _this = this;
404 568
405 569 var miniTitle = $(this).parent().parent().parent().find('.mini-title');
406 570 var $thisValue = $(this).val(); // On load.
407 571
@@ -413,34 +577,34 @@
413 577 } // On change/focusOut
414 578
415 579
416 580 $(this).on('change input focusout', function (e) {
417 - var changedValue = $(_this3).val();
581 + var changedValue = $(_this).val();
418 582
419 - if (changedValue || $(_this3).find('option').length) {
420 - $(_this3).addClass('filled');
421 - $(_this3).removeClass('empty');
422 - $(_this3).parents('.sellkit-widget-checkout-fields').find('.mini-title').css('display', 'flex');
583 + if (changedValue || $(_this).find('option').length) {
584 + $(_this).addClass('filled');
585 + $(_this).removeClass('empty');
586 + $(_this).parents('.sellkit-widget-checkout-fields').find('.mini-title').css('display', 'flex');
423 587 } else {
424 - $(_this3).addClass('empty');
425 - $(_this3).removeClass('filled');
426 - $(_this3).parents('.sellkit-widget-checkout-fields').find('.mini-title').hide();
588 + $(_this).addClass('empty');
589 + $(_this).removeClass('filled');
590 + $(_this).parents('.sellkit-widget-checkout-fields').find('.mini-title').hide();
427 591 } // On focusout validate fields.
428 592
429 593
430 594 if ('focusout' === e.type) {
431 - FieldsMiniTitles($(_this3), 'focusout');
432 - var parent = $(_this3).parent().parent().parent(); // Required validation. return if required field rule is not followed.
595 + FieldsMiniTitles($(_this), 'focusout');
596 + var parent = $(_this).parent().parent().parent(); // Required validation. return if required field rule is not followed.
433 597
434 598 if (parent.hasClass('validate-required')) {
435 - if ('INPUT' === _this3.nodeName && 'checkbox' === $(_this3).attr('type')) {
436 - if (!_this3.checked) {
599 + if ('INPUT' === _this.nodeName && 'checkbox' === $(_this).attr('type')) {
600 + if (!_this.checked) {
437 601 parent.find('.sellkit-required-validation').css('display', 'inline-flex');
438 602 return;
439 603 }
440 604 }
441 605
442 - if (_.isEmpty($(_this3).val())) {
606 + if (_.isEmpty($(_this).val())) {
443 607 parent.find('.sellkit-required-validation').css('display', 'inline-flex');
444 608 return;
445 609 }
446 610
@@ -448,9 +612,9 @@
448 612 } // Required validation of this field if exists, passed successfully. now postcode validation.
449 613
450 614
451 615 if (parent.hasClass('sellkit-checkout-fields-validation-postcode')) {
452 - var postcodeVal = $(_this3).val();
616 + var postcodeVal = $(_this).val();
453 617
454 618 if (_.isEmpty(postcodeVal)) {
455 619 return;
456 620 } // Check field type to get related country value. we can't validate without country code.
@@ -455,9 +619,9 @@
455 619 return;
456 620 } // Check field type to get related country value. we can't validate without country code.
457 621
458 622
459 - var postcodeName = $(_this3).attr('name');
623 + var postcodeName = $(_this).attr('name');
460 624 var postcodeCountry = $('#billing_country');
461 625
462 626 if (postcodeName.includes('shipping')) {
463 627 postcodeCountry = $('#shipping_country');
@@ -478,30 +642,30 @@
478 642 parent.find('.sellkit-checkout-field-global-errors').hide().text('');
479 643 }
480 644
481 645 parent.find('.sellkit-checkout-field-global-errors').hide().text('');
482 - postcodeValidation(postcodeVal, countryCode, $(_this3));
646 + postcodeValidation(postcodeVal, countryCode, $(_this));
483 647 } // Phone validation using woocommerce way.
484 648
485 649
486 650 if (parent.hasClass('sellkit-checkout-fields-validation-phone')) {
487 - var phone = $(_this3).val();
651 + var phone = $(_this).val();
488 652
489 653 if (_.isEmpty(phone)) {
490 654 return;
491 655 }
492 656
493 - phoneNumberValidation(phone, $(_this3));
657 + phoneNumberValidation(phone, $(_this));
494 658 }
495 659 }
496 660
497 - if ('change' === e.type && ('billing_country' === $(_this3).attr('id') || 'shipping_country' === $(_this3).attr('id'))) {
498 - var _countryCode = $(_this3).val();
661 + if ('change' === e.type && ('billing_country' === $(_this).attr('id') || 'shipping_country' === $(_this).attr('id'))) {
662 + var _countryCode = $(_this).val();
499 663
500 664 var states = wcCountries[_countryCode];
501 665 var state = 'sellkit-shipping_state';
502 666
503 - if ('billing_country' === $(_this3).attr('id')) {
667 + if ('billing_country' === $(_this).attr('id')) {
504 668 state = 'sellkit-billing_state';
505 669 }
506 670
507 671 var stateField = document.getElementById(state);
@@ -509,8 +673,12 @@
509 673 if (_.isNull(stateField)) {
510 674 return;
511 675 }
512 676
677 + if (!_.isObject(states)) {
678 + return;
679 + }
680 +
513 681 $(stateField).empty();
514 682
515 683 for (var keys in states) {
516 684 var option = document.createElement('option');
@@ -808,8 +976,30 @@
808 976 });
809 977 });
810 978 };
811 979 /**
980 + * Send shipping method id to backend
981 + *
982 + * The click event used because change event, send shipping method id on page load to backend and make an issue.
983 + *
984 + * @since 2.6.0
985 + */
986 +
987 +
988 +var sellkitDetectShippingMethodChange = function sellkitDetectShippingMethodChange() {
989 + $('input.shipping_method').off('click').on('click', function () {
990 + var selectedMethod = $(this).val();
991 + wp.ajax.post({
992 + action: 'shipping_method_selected',
993 + nonce: sellkit_elementor.nonce,
994 + shipping_method: selectedMethod
995 + }).fail(function (data) {
996 + // eslint-disable-next-line
997 + console.error(data);
998 + });
999 + });
1000 +};
1001 +/**
812 1002 * Toggle coupon form on click event.
813 1003 *
814 1004 * @since 1.2.5
815 1005 */
@@ -1058,8 +1248,12 @@
1058 1248 */
1059 1249
1060 1250
1061 1251 var sellkitSetAddressDetails = function sellkitSetAddressDetails() {
1252 + if (window.sellkitSuppressBillingAddressAjax) {
1253 + return;
1254 + }
1255 +
1062 1256 wp.ajax.post({
1063 1257 action: 'sellkit_checkout_ajax_handler',
1064 1258 sub_action: 'set_customer_details_ajax',
1065 1259 country: document.querySelector('#billing_country') ? document.getElementById('billing_country').value : '',
@@ -1270,14 +1464,16 @@
1270 1464 var transfer = setInterval(function () {
1271 1465 count += 1;
1272 1466
1273 1467 if ($('.wc_payment_method > .woocommerce-NoticeGroup-checkout').length > 0) {
1468 + // Remove notice from payment area and move it to top of page( default error area ).
1274 1469 var notice = $('.wc_payment_method').find('.woocommerce-NoticeGroup-checkout').html();
1275 1470 $('.wc_payment_method').find('.woocommerce-NoticeGroup-checkout').remove();
1276 1471 $('.woocommerce-notices-wrapper').first().append(notice);
1277 1472 $(document.body).animate({
1278 1473 scrollTop: $('.woocommerce-notices-wrapper').offset().top - 100
1279 - }, 500);
1474 + }, 500); // Stop interval.
1475 +
1280 1476 clearInterval(transfer);
1281 1477 }
1282 1478
1283 1479 if (count > 20) {
@@ -1285,10 +1481,245 @@
1285 1481 }
1286 1482 }, 500);
1287 1483 });
1288 1484 };
1485 +/**
1486 + * Hide payment gateways <hr> divider properly after ajax calls.
1487 + * This could not be done with css.
1488 + *
1489 + * @since 1.5.4
1490 + */
1289 1491
1290 -},{"@wordpress/i18n":15}],2:[function(require,module,exports){
1492 +
1493 +var fixGatewayListUi = function fixGatewayListUi() {
1494 + $('.wc_payment_methods hr.sellkit-checkout-widget-divider').each(function (index, item) {
1495 + $(item).css('display', $(item).prevAll('li').first().css('display'));
1496 + });
1497 +};
1498 +/**
1499 + * Prevents checkout form from being submitted before checking upsell offers.
1500 + *
1501 + * @since 1.6.2
1502 + */
1503 +
1504 +
1505 +var sellkitLoadUpsellSteps = function sellkitLoadUpsellSteps() {
1506 + $('form.checkout').on('checkout_place_order', function () {
1507 + if ($('#sellkit_funnel_has_upsell').length > 0 && 'upsell' === $('#sellkit_funnel_has_upsell').val()) {
1508 + sellkitCallUpsell();
1509 + return false;
1510 + }
1511 +
1512 + return true;
1513 + });
1514 +};
1515 +/**
1516 + * After press place order button, call ajax to make decision for popups.
1517 + *
1518 + * @since 1.6.2
1519 + */
1520 +
1521 +
1522 +var sellkitCallUpsell = function sellkitCallUpsell() {
1523 + var loadingIcon = function loadingIcon() {
1524 + var icon = sellkit_elementor.url.assets + 'img/spinner.png',
1525 + img = document.createElement('img');
1526 + img.setAttribute('src', icon);
1527 + img.setAttribute('width', '35px');
1528 + img.setAttribute('class', 'sellkit-upsell-downsell-preloader');
1529 + return img;
1530 + };
1531 +
1532 + var onEmpty = function onEmpty() {
1533 + $('body').css('overflow', 'auto');
1534 + $('.sellkit_funnel_upsell_popup').css('display', 'none');
1535 + $('#sellkit_funnel_has_upsell').val('done');
1536 + $('#place_order').trigger('click');
1537 + };
1538 +
1539 + var loadNew = function loadNew(data) {
1540 + $('body').css('overflow', 'hidden');
1541 + $('.sellkit-upsell-popup').css('display', 'none');
1542 + $('#sellkit_funnel_popup_step_id').val(data.next_id);
1543 + $('.sellkit_funnel_upsell_popup').css({
1544 + 'z-index': '100',
1545 + display: 'none'
1546 + });
1547 + $('.sellkit_funnel_upsell_popup_' + data.next_id).css({
1548 + 'z-index': 101,
1549 + display: 'block'
1550 + });
1551 + };
1552 +
1553 + var onSuccess = function onSuccess(data) {
1554 + setTimeout(function () {
1555 + if ('thankyou' === data.next_type) {
1556 + onEmpty();
1557 + }
1558 +
1559 + if ('upsell' === data.next_type || 'downsell' === data.next_type) {
1560 + loadNew(data);
1561 + sellkitUpsellOperation();
1562 + }
1563 + }, 1000);
1564 + };
1565 +
1566 + var sellkitUpsellOperation = function sellkitUpsellOperation() {
1567 + $('.sellkit_funnel_upsell_popup .sellkit-upsell-accept-button').off().on('click', function () {
1568 + var parent = $(this).parents('.sellkit_funnel_upsell_popup'),
1569 + upsellId = parent.find('.identify').val(),
1570 + checkoutId = $('#sellkit_current_page_id').val();
1571 + $('.sellkit-upsell-popup').css('display', 'flex');
1572 + parent.find('.sellkit-upsell-updating').addClass('active');
1573 + wp.ajax.post({
1574 + action: 'sellkit_checkout_ajax_handler',
1575 + sub_action: 'perform_upsell_accept_button',
1576 + upsell_id: upsellId,
1577 + checkout_id: checkoutId,
1578 + nonce: sellkit_elementor.nonce
1579 + }).done(function (data) {
1580 + $(document.body).trigger('update_checkout');
1581 + parent.find('.sellkit-upsell-updating').removeClass('active');
1582 + parent.find('.sellkit-upsell-accepted').addClass('active');
1583 + updateSellkitPriceField(data.upsell_prices);
1584 + onSuccess(data);
1585 + }).fail(function (data) {
1586 + // eslint-disable-next-line no-console
1587 + console.error(data);
1588 + });
1589 + });
1590 + $('.sellkit_funnel_upsell_popup .sellkit-upsell-reject-button').off().on('click', function () {
1591 + var parent = $(this).parents('.sellkit_funnel_upsell_popup'),
1592 + upsellId = parent.find('.identify').val(),
1593 + icon = loadingIcon();
1594 + parent.find('.sellkit-upsell-downsell-preloader').remove();
1595 + $(icon).insertAfter(parent.find('.sellkit-accept-reject-button-widget .sellkit-upsell-reject-button'));
1596 + wp.ajax.post({
1597 + action: 'sellkit_checkout_ajax_handler',
1598 + sub_action: 'perform_upsell_reject_button',
1599 + upsell_id: upsellId,
1600 + nonce: sellkit_elementor.nonce
1601 + }).done(function (data) {
1602 + onSuccess(data);
1603 + }).fail(function (data) {
1604 + // eslint-disable-next-line no-console
1605 + console.error(data);
1606 + });
1607 + });
1608 + };
1609 +
1610 + var stepId = $('#sellkit_current_page_id').val(),
1611 + img = loadingIcon();
1612 + $('button[type=submit]').find('img').remove();
1613 + $('button[type=submit]').append(img);
1614 + wp.ajax.post({
1615 + action: 'sellkit_checkout_ajax_handler',
1616 + sub_action: 'call_funnel_popups',
1617 + step: stepId,
1618 + nonce: sellkit_elementor.nonce
1619 + }).done(function (data) {
1620 + onSuccess(data);
1621 + $('button[type=submit]').find('img').remove();
1622 + }).fail(function (data) {
1623 + // eslint-disable-next-line no-console
1624 + console.error(data);
1625 + $('button[type=submit]').find('img').remove();
1626 + });
1627 +};
1628 +
1629 +var updateSellkitPriceField = function updateSellkitPriceField(data) {
1630 + if (data === 'null' || data === null) {
1631 + return;
1632 + }
1633 +
1634 + var current_val = $('input#sellkit_product_prices').val();
1635 +
1636 + if (!current_val || current_val === '0') {
1637 + $('input#sellkit_product_prices').val(data);
1638 + } else {
1639 + var oldVal = JSON.parse(current_val);
1640 + var newVal = JSON.parse(data);
1641 + var val = JSON.stringify(Object.assign({}, oldVal, newVal));
1642 + $('input#sellkit_product_prices').val(val);
1643 + }
1644 +};
1645 +/**
1646 + * Toggle order notes.
1647 + *
1648 + * @since 1.8.9
1649 + */
1650 +
1651 +
1652 +var orderNotesToggle = function orderNotesToggle() {
1653 + $('#sellkit-add-notes-to-order-box').on('change', function () {
1654 + $(this).parent().next().toggle();
1655 + });
1656 +}; // --- Sellkit: Sync custom state fields to standard WooCommerce fields for gateway compatibility ---
1657 +
1658 +
1659 +var ensureStandardWooFields = function ensureStandardWooFields() {
1660 + try {
1661 + var form = document.querySelector('form.checkout');
1662 +
1663 + if (!form) {
1664 + return;
1665 + } // Billing state
1666 +
1667 +
1668 + var sellkitBillingState = document.getElementById('sellkit-billing_state');
1669 +
1670 + if (sellkitBillingState) {
1671 + var billingState = document.getElementById('billing_state');
1672 +
1673 + if (!billingState) {
1674 + billingState = document.createElement('input');
1675 + billingState.type = 'hidden';
1676 + billingState.id = 'billing_state';
1677 + billingState.name = 'billing_state';
1678 + form.appendChild(billingState);
1679 + }
1680 +
1681 + billingState.value = sellkitBillingState.value;
1682 + } // Shipping state
1683 +
1684 +
1685 + var sellkitShippingState = document.getElementById('sellkit-shipping_state');
1686 +
1687 + if (sellkitShippingState) {
1688 + var shippingState = document.getElementById('shipping_state');
1689 +
1690 + if (!shippingState) {
1691 + shippingState = document.createElement('input');
1692 + shippingState.type = 'hidden';
1693 + shippingState.id = 'shipping_state';
1694 + shippingState.name = 'shipping_state';
1695 + form.appendChild(shippingState);
1696 + }
1697 +
1698 + shippingState.value = sellkitShippingState.value;
1699 + }
1700 + } catch (e) {
1701 + // eslint-disable-next-line no-console
1702 + console.error('[Sellkit] Error syncing state fields for gateway compatibility:', e);
1703 + }
1704 +}; // Attach to form submit and on state field change
1705 +
1706 +
1707 +jQuery(document).ready(function (_$) {
1708 + var form = _$('form.checkout');
1709 +
1710 + if (form.length) {
1711 + form.on('submit', function () {
1712 + ensureStandardWooFields();
1713 + }); // Also update on state field change
1714 +
1715 + _$('#sellkit-billing_state, #sellkit-shipping_state').on('change input', function () {
1716 + ensureStandardWooFields();
1717 + });
1718 + }
1719 +});
1720 +
1721 +},{"./checkout-settings":1,"@babel/runtime/helpers/interopRequireDefault":9,"@wordpress/i18n":16}],3:[function(require,module,exports){
1291 1722 "use strict";
1292 1723
1293 1724 (function ($) {
1294 1725 var SellkitFrontend = function SellkitFrontend() {
@@ -1313,9 +1744,9 @@
1313 1744
1314 1745 window.sellkitFrontend = new SellkitFrontend();
1315 1746 })(jQuery);
1316 1747
1317 -},{"./checkout":1,"./optin/optin":3,"./product-images":6}],3:[function(require,module,exports){
1748 +},{"./checkout":2,"./optin/optin":4,"./product-images":7}],4:[function(require,module,exports){
1318 1749 "use strict";
1319 1750
1320 1751 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
1321 1752
@@ -1492,12 +1923,61 @@
1492 1923 return;
1493 1924 }
1494 1925
1495 1926 _.each(addressFields, function (input) {
1496 - new google.maps.places.Autocomplete(input, {
1927 + var autocomplete = new google.maps.places.Autocomplete(input, {
1497 1928 types: ['geocode'],
1498 1929 fields: ['address_components']
1499 1930 });
1931 + autocomplete.addListener('place_changed', function () {
1932 + var place = autocomplete.getPlace(); // Extract address components
1933 +
1934 + var address = {
1935 + street_number: '',
1936 + route: '',
1937 + locality: '',
1938 + administrative_area_level_1: '',
1939 + country: '',
1940 + postal_code: ''
1941 + }; // Map Google Maps address components to your address object
1942 +
1943 + place.address_components.forEach(function (component) {
1944 + var componentType = component.types[0];
1945 +
1946 + switch (componentType) {
1947 + case 'street_number':
1948 + address.street_number = component.long_name;
1949 + break;
1950 +
1951 + case 'route':
1952 + address.route = component.long_name;
1953 + break;
1954 +
1955 + case 'locality':
1956 + address.locality = component.long_name;
1957 + break;
1958 +
1959 + case 'administrative_area_level_1':
1960 + address.administrative_area_level_1 = component.long_name;
1961 + break;
1962 +
1963 + case 'country':
1964 + address.country = component.long_name;
1965 + break;
1966 +
1967 + case 'postal_code':
1968 + address.postal_code = component.long_name;
1969 + break;
1970 + }
1971 + }); // Combine street number and route for the full street address
1972 +
1973 + var addressString = JSON.stringify(address);
1974 + var addressHidenField = input.nextElementSibling;
1975 +
1976 + if (addressHidenField && addressHidenField.type === 'hidden') {
1977 + addressHidenField.value = addressString;
1978 + }
1979 + });
1500 1980 });
1501 1981 }
1502 1982 });
1503 1983
@@ -1506,9 +1986,9 @@
1506 1986 $element: $scope
1507 1987 });
1508 1988 }
1509 1989
1510 -},{"./submodules/field-validation":4,"./submodules/intelligent-tel":5,"@babel/runtime/helpers/interopRequireDefault":8,"@wordpress/i18n":15}],4:[function(require,module,exports){
1990 +},{"./submodules/field-validation":5,"./submodules/intelligent-tel":6,"@babel/runtime/helpers/interopRequireDefault":9,"@wordpress/i18n":16}],5:[function(require,module,exports){
1511 1991 "use strict";
1512 1992
1513 1993 Object.defineProperty(exports, "__esModule", {
1514 1994 value: true
@@ -1665,9 +2145,9 @@
1665 2145 }
1666 2146 };
1667 2147 exports["default"] = _default;
1668 2148
1669 -},{}],5:[function(require,module,exports){
2149 +},{}],6:[function(require,module,exports){
1670 2150 "use strict";
1671 2151
1672 2152 Object.defineProperty(exports, "__esModule", {
1673 2153 value: true
@@ -1747,9 +2227,9 @@
1747 2227 }
1748 2228 };
1749 2229 exports["default"] = _default;
1750 2230
1751 -},{"intl-tel-input":19}],6:[function(require,module,exports){
2231 +},{"intl-tel-input":20}],7:[function(require,module,exports){
1752 2232 "use strict";
1753 2233
1754 2234 Object.defineProperty(exports, "__esModule", {
1755 2235 value: true
@@ -1799,9 +2279,9 @@
1799 2279 $element: $scope
1800 2280 });
1801 2281 }
1802 2282
1803 -},{}],7:[function(require,module,exports){
2283 +},{}],8:[function(require,module,exports){
1804 2284 function _defineProperty(obj, key, value) {
1805 2285 if (key in obj) {
1806 2286 Object.defineProperty(obj, key, {
1807 2287 value: value,
@@ -1816,9 +2296,9 @@
1816 2296 return obj;
1817 2297 }
1818 2298
1819 2299 module.exports = _defineProperty;
1820 -},{}],8:[function(require,module,exports){
2300 +},{}],9:[function(require,module,exports){
1821 2301 function _interopRequireDefault(obj) {
1822 2302 return obj && obj.__esModule ? obj : {
1823 2303 "default": obj
1824 2304 };
@@ -1824,9 +2304,9 @@
1824 2304 };
1825 2305 }
1826 2306
1827 2307 module.exports = _interopRequireDefault;
1828 -},{}],9:[function(require,module,exports){
2308 +},{}],10:[function(require,module,exports){
1829 2309 'use strict';
1830 2310
1831 2311 function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
1832 2312
@@ -1861,9 +2341,9 @@
1861 2341 }
1862 2342
1863 2343 module.exports = compile;
1864 2344
1865 -},{"@tannin/evaluate":10,"@tannin/postfix":12}],10:[function(require,module,exports){
2345 +},{"@tannin/evaluate":11,"@tannin/postfix":13}],11:[function(require,module,exports){
1866 2346 'use strict';
1867 2347
1868 2348 /**
1869 2349 * Operator callback functions.
@@ -1977,9 +2457,9 @@
1977 2457 }
1978 2458
1979 2459 module.exports = evaluate;
1980 2460
1981 -},{}],11:[function(require,module,exports){
2461 +},{}],12:[function(require,module,exports){
1982 2462 'use strict';
1983 2463
1984 2464 function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
1985 2465
@@ -2003,9 +2483,9 @@
2003 2483 }
2004 2484
2005 2485 module.exports = pluralForms;
2006 2486
2007 -},{"@tannin/compile":9}],12:[function(require,module,exports){
2487 +},{"@tannin/compile":10}],13:[function(require,module,exports){
2008 2488 'use strict';
2009 2489
2010 2490 var PRECEDENCE, OPENERS, TERMINATORS, PATTERN;
2011 2491
@@ -2133,9 +2613,9 @@
2133 2613 }
2134 2614
2135 2615 module.exports = postfix;
2136 2616
2137 -},{}],13:[function(require,module,exports){
2617 +},{}],14:[function(require,module,exports){
2138 2618 "use strict";
2139 2619
2140 2620 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2141 2621
@@ -2348,9 +2828,9 @@
2348 2828 };
2349 2829
2350 2830 exports.createI18n = createI18n;
2351 2831
2352 -},{"@babel/runtime/helpers/defineProperty":7,"@babel/runtime/helpers/interopRequireDefault":8,"tannin":22}],14:[function(require,module,exports){
2832 +},{"@babel/runtime/helpers/defineProperty":8,"@babel/runtime/helpers/interopRequireDefault":9,"tannin":23}],15:[function(require,module,exports){
2353 2833 "use strict";
2354 2834
2355 2835 Object.defineProperty(exports, "__esModule", {
2356 2836 value: true
@@ -2467,9 +2947,9 @@
2467 2947 exports._nx = _nx;
2468 2948 var isRTL = i18n.isRTL.bind(i18n);
2469 2949 exports.isRTL = isRTL;
2470 2950
2471 -},{"./create-i18n":13}],15:[function(require,module,exports){
2951 +},{"./create-i18n":14}],16:[function(require,module,exports){
2472 2952 "use strict";
2473 2953
2474 2954 Object.defineProperty(exports, "__esModule", {
2475 2955 value: true
@@ -2542,9 +3022,9 @@
2542 3022 });
2543 3023
2544 3024 var _defaultI18n = require("./default-i18n");
2545 3025
2546 -},{"./create-i18n":13,"./default-i18n":14,"./sprintf":16}],16:[function(require,module,exports){
3026 +},{"./create-i18n":14,"./default-i18n":15,"./sprintf":17}],17:[function(require,module,exports){
2547 3027 "use strict";
2548 3028
2549 3029 var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
2550 3030
@@ -2594,9 +3074,9 @@
2594 3074 return format;
2595 3075 }
2596 3076 }
2597 3077
2598 -},{"@babel/runtime/helpers/interopRequireDefault":8,"memize":20,"sprintf-js":17}],17:[function(require,module,exports){
3078 +},{"@babel/runtime/helpers/interopRequireDefault":9,"memize":21,"sprintf-js":18}],18:[function(require,module,exports){
2599 3079 /* global window, exports, define */
2600 3080
2601 3081 !function() {
2602 3082 'use strict'
@@ -2827,9 +3307,9 @@
2827 3307 }
2828 3308 /* eslint-enable quote-props */
2829 3309 }(); // eslint-disable-line
2830 3310
2831 -},{}],18:[function(require,module,exports){
3311 +},{}],19:[function(require,module,exports){
2832 3312 /*
2833 3313 * International Telephone Input v17.0.16
2834 3314 * https://github.com/jackocnr/intl-tel-input.git
2835 3315 * Licensed under the MIT license
@@ -4181,15 +4661,15 @@
4181 4661 return iti;
4182 4662 };
4183 4663 }();
4184 4664 });
4185 -},{}],19:[function(require,module,exports){
4665 +},{}],20:[function(require,module,exports){
4186 4666 /**
4187 4667 * Exposing intl-tel-input as a component
4188 4668 */
4189 4669 module.exports = require("./build/js/intlTelInput");
4190 4670
4191 -},{"./build/js/intlTelInput":18}],20:[function(require,module,exports){
4671 +},{"./build/js/intlTelInput":19}],21:[function(require,module,exports){
4192 4672 (function (process){
4193 4673 /**
4194 4674 * Memize options object.
4195 4675 *
@@ -4358,9 +4838,9 @@
4358 4838
4359 4839 module.exports = memize;
4360 4840
4361 4841 }).call(this,require('_process'))
4362 -},{"_process":21}],21:[function(require,module,exports){
4842 +},{"_process":22}],22:[function(require,module,exports){
4363 4843 // shim for using process in browser
4364 4844 var process = module.exports = {};
4365 4845
4366 4846 // cached from whatever global is present so that test runners that stub it
@@ -4544,9 +5024,9 @@
4544 5024 throw new Error('process.chdir is not supported');
4545 5025 };
4546 5026 process.umask = function() { return 0; };
4547 5027
4548 -},{}],22:[function(require,module,exports){
5028 +},{}],23:[function(require,module,exports){
4549 5029 'use strict';
4550 5030
4551 5031 function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
4552 5032
@@ -4765,5 +5245,5 @@
4765 5245 };
4766 5246
4767 5247 module.exports = Tannin;
4768 5248
4769 -},{"@tannin/plural-forms":11}]},{},[2]);
5249 +},{"@tannin/plural-forms":12}]},{},[3]);