Conditional Fields for Contact Form 7 - Version 1.9.6

Version Description

(2020-07-04) = * PRO: Fixed bug: checkboxes and multiselect validation not working inside repeater

Download this release

Release Info

Developer Jules Colle
Plugin Icon 128x128 Conditional Fields for Contact Form 7
Version 1.9.6
Comparing to
See all releases

Code changes from version 1.9.5 to 1.9.6

contact-form-7-conditional-fields.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Contact Form 7 Conditional Fields
4
  Plugin URI: http://bdwm.be/
5
  Description: Adds support for conditional fields to Contact Form 7. This plugin depends on Contact Form 7.
6
  Author: Jules Colle
7
- Version: 1.9.5
8
  Author URI: http://bdwm.be/
9
  */
10
 
4
  Plugin URI: http://bdwm.be/
5
  Description: Adds support for conditional fields to Contact Form 7. This plugin depends on Contact Form 7.
6
  Author: Jules Colle
7
+ Version: 1.9.6
8
  Author URI: http://bdwm.be/
9
  */
10
 
init.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
 
3
- if (!defined('WPCF7CF_VERSION')) define( 'WPCF7CF_VERSION', '1.9.5' );
4
  if (!defined('WPCF7CF_REQUIRED_WP_VERSION')) define( 'WPCF7CF_REQUIRED_WP_VERSION', '4.1' );
5
  if (!defined('WPCF7CF_PLUGIN')) define( 'WPCF7CF_PLUGIN', __FILE__ );
6
  if (!defined('WPCF7CF_PLUGIN_BASENAME')) define( 'WPCF7CF_PLUGIN_BASENAME', plugin_basename( WPCF7CF_PLUGIN ) );
1
  <?php
2
 
3
+ if (!defined('WPCF7CF_VERSION')) define( 'WPCF7CF_VERSION', '1.9.6' );
4
  if (!defined('WPCF7CF_REQUIRED_WP_VERSION')) define( 'WPCF7CF_REQUIRED_WP_VERSION', '4.1' );
5
  if (!defined('WPCF7CF_PLUGIN')) define( 'WPCF7CF_PLUGIN', __FILE__ );
6
  if (!defined('WPCF7CF_PLUGIN_BASENAME')) define( 'WPCF7CF_PLUGIN_BASENAME', plugin_basename( WPCF7CF_PLUGIN ) );
js/scripts.js CHANGED
@@ -446,22 +446,17 @@ function Wpcf7cfRepeater($repeater, form) {
446
  $repeater_sub_clone.find('[name]').each(function () {
447
  var $this = jQuery(this);
448
  var prev_name = $this.attr('name');
 
449
  var orig_name = $this.attr('data-orig_name') != null ? $this.attr('data-orig_name') : prev_name;
450
- var new_name = prev_name + '__{{repeater_sub_suffix}}';
451
-
452
- if (prev_name.endsWith('_count')) {
453
- new_name = prev_name.replace('_count', '__{{repeater_sub_suffix}}_count');
454
- }
455
-
456
  $this.attr('name', new_name);
457
  $this.attr('data-orig_name', orig_name);
458
- $this.closest('.wpcf7-form-control-wrap').addClass(new_name);
459
  });
460
  $repeater_sub_clone.find('.wpcf7cf_repeater,[data-class="wpcf7cf_group"]').each(function () {
461
  var $this = jQuery(this);
462
  var prev_data_id = $this.attr('data-id');
463
  var orig_data_id = $this.attr('data-orig_data_id') != null ? $this.attr('data-orig_data_id') : prev_data_id;
464
- var new_data_id = prev_data_id + '__{{repeater_sub_suffix}}';
465
 
466
  if (prev_data_id.endsWith('_count')) {
467
  new_data_id = prev_data_id.replace('_count', '__{{repeater_sub_suffix}}_count');
@@ -469,25 +464,22 @@ function Wpcf7cfRepeater($repeater, form) {
469
 
470
  $this.attr('data-id', new_data_id);
471
  $this.attr('data-orig_data_id', orig_data_id);
472
- $this.closest('.wpcf7-form-control-wrap').addClass(new_data_id);
473
  });
474
  $repeater_sub_clone.find('[id]').each(function () {
475
  var $this = jQuery(this);
476
  var prev_id = $this.attr('id');
477
  var orig_id = $this.attr('data-orig_id') != null ? $this.attr('data-orig_id') : prev_id;
478
- var new_id = prev_id + '__{{repeater_sub_suffix}}';
479
  $this.attr('id', new_id);
480
  $this.attr('data-orig_id', orig_id);
481
- $this.closest('.wpcf7-form-control-wrap').addClass(new_id);
482
  });
483
  $repeater_sub_clone.find('[for]').each(function () {
484
  var $this = jQuery(this);
485
  var prev_for = $this.attr('for');
486
  var orig_for = $this.attr('data-orig_for') != null ? $this.attr('data-orig_for') : prev_for;
487
- var new_for = prev_for + '__{{repeater_sub_suffix}}';
488
  $this.attr('for', new_for);
489
  $this.attr('data-orig_for', orig_for);
490
- $this.closest('.wpcf7-form-control-wrap').addClass(new_for);
491
  });
492
  var repeater_sub_html = $repeater_sub_clone[0].outerHTML;
493
  var $repeater_count_field = $repeater.find('[name=' + $repeater.id + '_count]').eq(0);
@@ -516,6 +508,19 @@ function Wpcf7cfRepeater($repeater, form) {
516
  repeater.updateSubs($repeater.initial_subs);
517
  }
518
 
 
 
 
 
 
 
 
 
 
 
 
 
 
519
  Wpcf7cfRepeater.prototype.updateSubs = function (subs_to_show) {
520
  var repeater = this;
521
  var params = repeater.params;
@@ -714,7 +719,7 @@ Wpcf7cfMultistep.prototype.validateStep = function (step_index) {
714
  if ($multistep.find('input[name="' + index + '"]').length || $multistep.find('input[name="' + index + '[]"]').length || $multistep.find('select[name="' + index + '"]').length || $multistep.find('select[name="' + index + '[]"]').length || $multistep.find('textarea[name="' + index + '"]').length || $multistep.find('textarea[name="' + index + '[]"]').length) {
715
  checkError = checkError + 1;
716
  var controlWrap = form.get('.wpcf7-form-control-wrap.' + index);
717
- controlWrap.find('input').addClass('wpcf7-not-valid');
718
  controlWrap.find('span.wpcf7-not-valid-tip').remove();
719
  controlWrap.append('<span role="alert" class="wpcf7-not-valid-tip">' + el.reason + '</span>');
720
  }
446
  $repeater_sub_clone.find('[name]').each(function () {
447
  var $this = jQuery(this);
448
  var prev_name = $this.attr('name');
449
+ var new_name = repeater.getNewName(prev_name);
450
  var orig_name = $this.attr('data-orig_name') != null ? $this.attr('data-orig_name') : prev_name;
 
 
 
 
 
 
451
  $this.attr('name', new_name);
452
  $this.attr('data-orig_name', orig_name);
453
+ $this.closest('.wpcf7-form-control-wrap').addClass(new_name.replace('[]', ''));
454
  });
455
  $repeater_sub_clone.find('.wpcf7cf_repeater,[data-class="wpcf7cf_group"]').each(function () {
456
  var $this = jQuery(this);
457
  var prev_data_id = $this.attr('data-id');
458
  var orig_data_id = $this.attr('data-orig_data_id') != null ? $this.attr('data-orig_data_id') : prev_data_id;
459
+ var new_data_id = repeater.getNewName(prev_data_id);
460
 
461
  if (prev_data_id.endsWith('_count')) {
462
  new_data_id = prev_data_id.replace('_count', '__{{repeater_sub_suffix}}_count');
464
 
465
  $this.attr('data-id', new_data_id);
466
  $this.attr('data-orig_data_id', orig_data_id);
 
467
  });
468
  $repeater_sub_clone.find('[id]').each(function () {
469
  var $this = jQuery(this);
470
  var prev_id = $this.attr('id');
471
  var orig_id = $this.attr('data-orig_id') != null ? $this.attr('data-orig_id') : prev_id;
472
+ var new_id = repeater.getNewName(prev_id);
473
  $this.attr('id', new_id);
474
  $this.attr('data-orig_id', orig_id);
 
475
  });
476
  $repeater_sub_clone.find('[for]').each(function () {
477
  var $this = jQuery(this);
478
  var prev_for = $this.attr('for');
479
  var orig_for = $this.attr('data-orig_for') != null ? $this.attr('data-orig_for') : prev_for;
480
+ var new_for = repeater.getNewName(prev_for);
481
  $this.attr('for', new_for);
482
  $this.attr('data-orig_for', orig_for);
 
483
  });
484
  var repeater_sub_html = $repeater_sub_clone[0].outerHTML;
485
  var $repeater_count_field = $repeater.find('[name=' + $repeater.id + '_count]').eq(0);
508
  repeater.updateSubs($repeater.initial_subs);
509
  }
510
 
511
+ Wpcf7cfRepeater.prototype.getNewName = function (previousName) {
512
+ var prev_parts = previousName.split('[');
513
+ previousName = prev_parts[0];
514
+ var prev_suff = prev_parts.length > 1 ? '[' + prev_parts.splice(1).join('[') : '';
515
+ var newName = previousName + '__{{repeater_sub_suffix}}' + prev_suff;
516
+
517
+ if (previousName.endsWith('_count')) {
518
+ newName = previousName.replace('_count', '__{{repeater_sub_suffix}}_count');
519
+ }
520
+
521
+ return newName;
522
+ };
523
+
524
  Wpcf7cfRepeater.prototype.updateSubs = function (subs_to_show) {
525
  var repeater = this;
526
  var params = repeater.params;
719
  if ($multistep.find('input[name="' + index + '"]').length || $multistep.find('input[name="' + index + '[]"]').length || $multistep.find('select[name="' + index + '"]').length || $multistep.find('select[name="' + index + '[]"]').length || $multistep.find('textarea[name="' + index + '"]').length || $multistep.find('textarea[name="' + index + '[]"]').length) {
720
  checkError = checkError + 1;
721
  var controlWrap = form.get('.wpcf7-form-control-wrap.' + index);
722
+ controlWrap.find('.wpcf7-form-control').addClass('wpcf7-not-valid');
723
  controlWrap.find('span.wpcf7-not-valid-tip').remove();
724
  controlWrap.append('<span role="alert" class="wpcf7-not-valid-tip">' + el.reason + '</span>');
725
  }
js/scripts.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./js/scripts_es6.js","webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///(webpack)/buildin/module.js"],"names":["cf7signature_resized","wpcf7cf_timeout","wpcf7cf_change_time_ms","window","wpcf7cf_running_tests","jQuery","each","e","$input","opt","JSON","parse","val","settings","animation_intime","animation_outtime","stringify","wpcf7cf_show_animation","wpcf7cf_hide_animation","wpcf7cf_show_step_animation","wpcf7cf_hide_step_animation","wpcf7cf_change_events","wpcf7cf_forms","wpcf7cf_dom","wpcf7cf_reload_dom","$form","wpcf7cf","get_simplified_dom_model","wpcf7cf_getFieldsByOriginalName","originalName","Object","values","filter","inputField","original_name","wpcf7cf_getFieldByName","name","String","prototype","endsWith","search","this_len","undefined","length","substring","Wpcf7cfForm","options_element","find","eq","form","form_options","$input_hidden_group_fields","$input_hidden_groups","$input_visible_groups","$input_repeaters","$input_steps","unit_tag","closest","attr","conditions","get","selector","i","condition","and_rules","if_field","if_value","operator","initial_conditions","$groups","repeaters","multistep","fields","parseInt","animation","updateGroups","updateEventListeners","displayFields","on","data","setTimeout","resetRepeaters","moveToStep","push","Wpcf7cfRepeater","map","item","params","$repeater","id","$multistep","Wpcf7cfMultistep","forEach","repeater","updateSubs","initial_subs","wpcf7cf_conditions","wpcf7cf_settings","signatures","constructor","Array","canvas","width","$sig_canvas","$sig_wrap","height","addClass","show_group","should_group_be_shown","then_field","removeClass","index","$group","is","finish","css","hasClass","prop","show","trigger","animate","$inputs","not","$this","defaultValue","defaultChecked","selected","defaultSelected","$select","change","hide","updateHiddenFields","updateSummaryFields","$summary","fd","FormData","formdata","serializeArray","key","input","append","value","el","files","file","fieldName","Blob","ajax","url","wpcf7cf_global_settings","ajaxurl","type","processData","contentType","dataType","success","json","html","summaryHtml","hidden_fields","hidden_groups","visible_groups","get_nested_conditions","off","clearTimeout","text","$","num_subs","orig_id","min","max","$repeater_sub","children","$repeater_controls","$repeater_sub_clone","clone","addBack","prev_suffix","new_suffix","prev_name","orig_name","new_name","replace","prev_data_id","orig_data_id","new_data_id","prev_id","new_id","prev_for","orig_for","new_for","repeater_sub_html","outerHTML","$repeater_count_field","$button_add","$button_remove","remove","subs_to_show","subs_to_add","removeSubs","addSubs","showButtonRemove","showButtonAdd","html_str","sub_suffix","RegExp","$html","insertBefore","updateMultistepState","cf7mdInit","slice","duration","done","$steps","$btn_next","$btn_prev","$dots","currentStep","numSteps","validateStep","result","stopImmediatePropagation","document","ajaxComplete","xhr","hasOwnProperty","responseJSON","status","into","step_index","Promise","resolve","checkError","invalid_fields","controlWrap","reason","parent","message","fail","always","previousStep","formEl","topOffset","getBoundingClientRect","top","scrollIntoView","behavior","getFieldsInStep","inStep","initForm","$forms","some","$current_form","groups","sub_conditions","g","relevant_conditions","and_rule","suffix","concat","currentNode","ni","createNodeIterator","NodeFilter","SHOW_ELEMENT","simplified_dom","nextNode","classList","contains","dataset","className","hasAttribute","getAttribute","original_name_length","checked","multiple","options","o","stepsData","fieldsInCurrentStep","$submit_button","$ajax_loader","detach","appendTo","step","and_rule_i","condition_ok","condition_and_rule","if_val","$field","isConditionTrue","testValue","isArray","valuesAreEmpty","every","v","testValueNumber","isFinite","parseFloat","NaN","regex_patt","isValidRegex","valueNumber","valsAreNumbers","isNaN","test","ready","f","old_wpcf7ExclusiveCheckbox","fn","wpcf7ExclusiveCheckbox","asyncGeneratorStep","gen","reject","_next","_throw","arg","info","error","then","_asyncToGenerator","self","args","arguments","apply","err","module","exports","require","runtime","Op","hasOwn","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","makeInvokeMethod","tryCatch","obj","call","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","displayName","defineIteratorMethods","method","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","__await","AsyncIterator","PromiseImpl","invoke","record","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","async","iter","next","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","nextLoc","toString","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","keys","object","reverse","pop","iterable","iteratorMethod","skipTempReset","prev","charAt","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackPolyfill","deprecate","paths","defineProperty","enumerable","l"],"mappings":"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","file":"scripts.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./js/scripts_es6.js\");\n","\"use strict\";\n\nvar cf7signature_resized = 0; // for compatibility with contact-form-7-signature-addon\n\nvar wpcf7cf_timeout;\nvar wpcf7cf_change_time_ms = 100;\n\nif (window.wpcf7cf_running_tests) {\n jQuery('input[name=\"_wpcf7cf_options\"]').each(function(e) {\n var $input = jQuery(this);\n var opt = JSON.parse($input.val());\n opt.settings.animation_intime = 0;\n opt.settings.animation_outtime = 0;\n $input.val(JSON.stringify(opt));\n });\n wpcf7cf_change_time_ms = 0;\n}\n\nvar wpcf7cf_show_animation = { \"height\": \"show\", \"marginTop\": \"show\", \"marginBottom\": \"show\", \"paddingTop\": \"show\", \"paddingBottom\": \"show\" };\nvar wpcf7cf_hide_animation = { \"height\": \"hide\", \"marginTop\": \"hide\", \"marginBottom\": \"hide\", \"paddingTop\": \"hide\", \"paddingBottom\": \"hide\" };\n\nvar wpcf7cf_show_step_animation = { \"opacity\": \"show\" };\nvar wpcf7cf_hide_step_animation = { \"opacity\": \"hide\" };\n\nvar wpcf7cf_change_events = 'input.wpcf7cf paste.wpcf7cf change.wpcf7cf click.wpcf7cf propertychange.wpcf7cf';\n\nvar wpcf7cf_forms = [];\n\nwindow.wpcf7cf_dom = {};\n\nconst wpcf7cf_reload_dom = function($form) {\n wpcf7cf_dom = wpcf7cf.get_simplified_dom_model($form);\n}\n\nconst wpcf7cf_getFieldsByOriginalName = function(originalName) {\n return Object.values(wpcf7cf_dom).filter(function (inputField) {\n return inputField.original_name === originalName || inputField.original_name === originalName+'[]';\n });\n}\n\nconst wpcf7cf_getFieldByName = function(name) {\n return wpcf7cf_dom[name] || wpcf7cf_dom[name+'[]'];\n}\n\n// endsWith polyfill\nif (!String.prototype.endsWith) {\n\tString.prototype.endsWith = function(search, this_len) {\n\t\tif (this_len === undefined || this_len > this.length) {\n\t\t\tthis_len = this.length;\n\t\t}\n\t\treturn this.substring(this_len - search.length, this_len) === search;\n\t};\n}\n\nvar Wpcf7cfForm = function($form) {\n\n var options_element = $form.find('input[name=\"_wpcf7cf_options\"]').eq(0);\n if (!options_element.length || !options_element.val()) {\n // doesn't look like a CF7 form created with conditional fields plugin enabled.\n return false;\n }\n\n var form = this;\n\n var form_options = JSON.parse(options_element.val());\n\n form.$form = $form;\n form.$input_hidden_group_fields = $form.find('[name=\"_wpcf7cf_hidden_group_fields\"]');\n form.$input_hidden_groups = $form.find('[name=\"_wpcf7cf_hidden_groups\"]');\n form.$input_visible_groups = $form.find('[name=\"_wpcf7cf_visible_groups\"]');\n form.$input_repeaters = $form.find('[name=\"_wpcf7cf_repeaters\"]');\n form.$input_steps = $form.find('[name=\"_wpcf7cf_steps\"]');\n\n form.unit_tag = $form.closest('.wpcf7').attr('id');\n form.conditions = form_options['conditions'];\n\n // Wrapper around jQuery(selector, form.$form)\n form.get = function (selector) {\n // TODO: implement some caching here.\n return jQuery(selector, form.$form);\n }\n\n // compatibility with conditional forms created with older versions of the plugin ( < 1.4 )\n for (var i=0; i < form.conditions.length; i++) {\n var condition = form.conditions[i];\n if (!('and_rules' in condition)) {\n condition.and_rules = [{'if_field':condition.if_field,'if_value':condition.if_value,'operator':condition.operator}];\n }\n }\n\n form.initial_conditions = form.conditions;\n form.settings = form_options['settings'];\n\n form.$groups = jQuery(); // empty jQuery set\n form.repeaters = [];\n form.multistep = null;\n form.fields = [];\n\n form.settings.animation_intime = parseInt(form.settings.animation_intime);\n form.settings.animation_outtime = parseInt(form.settings.animation_outtime);\n\n if (form.settings.animation === 'no') {\n form.settings.animation_intime = 0;\n form.settings.animation_outtime = 0;\n }\n\n form.updateGroups();\n form.updateEventListeners();\n form.displayFields();\n\n // bring form in initial state if the reset event is fired on it.\n form.$form.on('reset.wpcf7cf', form, function(e) {\n var form = e.data;\n setTimeout(function(){\n form.displayFields();\n form.resetRepeaters();\n if (form.multistep != null) {\n form.multistep.moveToStep(1); \n }\n },200);\n });\n\n // PRO ONLY\n\n form.get('.wpcf7cf_repeater:not(.wpcf7cf_repeater .wpcf7cf_repeater)').each(function(){\n form.repeaters.push(new Wpcf7cfRepeater(jQuery(this),form));\n });\n\n form.$input_repeaters.val(JSON.stringify(form.repeaters.map((item)=>item.params.$repeater.id)));\n\n var $multistep = form.get('.wpcf7cf_multistep');\n\n if ($multistep.length) {\n form.multistep = new Wpcf7cfMultistep($multistep, form);\n // window.wpcf7cf.updateMultistepState(form.multistep);\n }\n\n // END PRO ONLY\n\n}\n\n/**\n * reset initial number of subs for each repeater.\n * (does not clear values)\n */\nWpcf7cfForm.prototype.resetRepeaters = function() {\n var form = this;\n form.repeaters.forEach(repeater => {\n repeater.updateSubs( repeater.params.$repeater.initial_subs );\n });\n}\n\nWpcf7cfForm.prototype.displayFields = function() {\n\n var form = this;\n\n var wpcf7cf_conditions = this.conditions;\n var wpcf7cf_settings = this.settings;\n\n //for compatibility with contact-form-7-signature-addon\n if (cf7signature_resized === 0 && typeof signatures !== 'undefined' && signatures.constructor === Array && signatures.length > 0 ) {\n for (var i = 0; i < signatures.length; i++) {\n if (signatures[i].canvas.width === 0) {\n\n var $sig_canvas = jQuery(\".wpcf7-form-control-signature-body>canvas\");\n var $sig_wrap = jQuery(\".wpcf7-form-control-signature-wrap\");\n $sig_canvas.eq(i).attr('width', $sig_wrap.width());\n $sig_canvas.eq(i).attr('height', $sig_wrap.height());\n\n cf7signature_resized = 1;\n }\n }\n }\n\n form.$groups.addClass('wpcf7cf-hidden');\n\n wpcf7cf_reload_dom(form.$form);\n\n for (var i=0; i < wpcf7cf_conditions.length; i++) {\n\n var condition = wpcf7cf_conditions[i];\n\n var show_group = window.wpcf7cf.should_group_be_shown(condition, form);\n\n if (show_group) {\n form.get('[data-id=\"'+condition.then_field+'\"]').removeClass('wpcf7cf-hidden');\n }\n }\n\n\n var animation_intime = wpcf7cf_settings.animation_intime;\n var animation_outtime = wpcf7cf_settings.animation_outtime;\n\n form.$groups.each(function (index) {\n var $group = jQuery(this);\n if ($group.is(':animated')) $group.finish(); // stop any current animations on the group\n if ($group.css('display') === 'none' && !$group.hasClass('wpcf7cf-hidden')) {\n if ($group.prop('tagName') === 'SPAN') {\n $group.show().trigger('wpcf7cf_show_group');\n } else {\n $group.animate(wpcf7cf_show_animation, animation_intime).trigger('wpcf7cf_show_group'); // show\n }\n } else if ($group.css('display') !== 'none' && $group.hasClass('wpcf7cf-hidden')) {\n\n if ($group.attr('data-clear_on_hide') !== undefined) {\n var $inputs = jQuery(':input', $group).not(':button, :submit, :reset, :hidden');\n\n $inputs.each(function(){\n var $this = jQuery(this);\n $this.val(this.defaultValue);\n $this.prop('checked', this.defaultChecked);\n });\n\n jQuery('option', $group).each(function() {\n this.selected = this.defaultSelected;\n });\n\n jQuery('select', $group).each(function() {\n const $select = jQuery(this);\n if ($select.val() === null) {\n $select.val(jQuery(\"option:first\",$select).val());\n }\n });\n\n $inputs.change();\n //display_fields();\n }\n\n if ($group.prop('tagName') === 'SPAN') {\n $group.hide().trigger('wpcf7cf_hide_group');\n } else {\n $group.animate(wpcf7cf_hide_animation, animation_outtime).trigger('wpcf7cf_hide_group'); // hide\n }\n\n }\n });\n\n form.updateHiddenFields();\n form.updateSummaryFields();\n};\n\nWpcf7cfForm.prototype.updateSummaryFields = function() {\n const form = this;\n var $summary = form.get('.wpcf7cf-summary');\n\n if ($summary.length == 0 || !$summary.is(':visible')) return;\n\n var fd = new FormData();\n\n var formdata = form.$form.serializeArray();\n jQuery.each(formdata,function(key, input){\n fd.append(input.name, input.value);\n });\n\n // Make sure to add file fields to FormData\n jQuery.each(form.$form.find('input[type=\"file\"]'), function(index, el) {\n if (! el.files.length) return false;\n const file = el.files[0];\n const fieldName = el.name;\n fd.append(fieldName, new Blob() ,file.name);\n });\n\n // add file fields to form-data\n\n jQuery.ajax({\n url: wpcf7cf_global_settings.ajaxurl + '?action=wpcf7cf_get_summary',\n type: 'POST',\n data: fd,\n processData: false,\n contentType: false,\n dataType: 'json',\n success: function(json) {\n $summary.html(json.summaryHtml);\n }\n });\n};\n\nWpcf7cfForm.prototype.updateHiddenFields = function() {\n\n var form = this;\n\n var hidden_fields = [];\n var hidden_groups = [];\n var visible_groups = [];\n\n form.$groups.each(function () {\n var $this = jQuery(this);\n if ($this.hasClass('wpcf7cf-hidden')) {\n hidden_groups.push($this.data('id'));\n $this.find('input,select,textarea').each(function () {\n hidden_fields.push(jQuery(this).attr('name'));\n });\n } else {\n visible_groups.push($this.data('id'));\n }\n });\n\n form.hidden_fields = hidden_fields;\n form.hidden_groups = hidden_groups;\n form.visible_groups = visible_groups;\n\n form.$input_hidden_group_fields.val(JSON.stringify(hidden_fields));\n form.$input_hidden_groups.val(JSON.stringify(hidden_groups));\n form.$input_visible_groups.val(JSON.stringify(visible_groups));\n\n return true;\n};\nWpcf7cfForm.prototype.updateGroups = function() {\n var form = this;\n form.$groups = form.$form.find('[data-class=\"wpcf7cf_group\"]');\n\n form.conditions = window.wpcf7cf.get_nested_conditions(form.initial_conditions, form.$form);\n\n};\nWpcf7cfForm.prototype.updateEventListeners = function() {\n\n var form = this;\n\n // monitor input changes, and call displayFields() if something has changed\n form.get('input, select, textarea, button').not('.wpcf7cf_add, .wpcf7cf_remove').off(wpcf7cf_change_events).on(wpcf7cf_change_events,form, function(e) {\n var form = e.data;\n clearTimeout(wpcf7cf_timeout);\n wpcf7cf_timeout = setTimeout(function() {\n form.displayFields();\n }, wpcf7cf_change_time_ms);\n });\n\n // PRO ONLY\n form.get('.wpcf7cf-togglebutton').off('click.toggle_wpcf7cf').on('click.toggle_wpcf7cf',function() {\n var $this = jQuery(this);\n if ($this.text() === $this.data('val-1')) {\n $this.text($this.data('val-2'));\n $this.val($this.data('val-2'));\n } else {\n $this.text($this.data('val-1'));\n $this.val($this.data('val-1'));\n }\n });\n // END PRO ONLY\n};\n\n// PRO ONLY\nfunction Wpcf7cfRepeater($repeater, form) {\n var $ = jQuery;\n\n var repeater = this;\n\n var wpcf7cf_settings = form.settings;\n\n repeater.form = form;\n\n $repeater.num_subs = 0;\n $repeater.id = $repeater.data('id');\n $repeater.orig_id = $repeater.data('orig_data_id');\n $repeater.min = typeof( $repeater.data('min')) !== 'undefined' ? parseInt($repeater.data('min')) : 1;\n $repeater.max = typeof( $repeater.data('max')) !== 'undefined' ? parseInt($repeater.data('max')) : 200;\n $repeater.initial_subs = typeof( $repeater.data('initial')) !== 'undefined' ? parseInt($repeater.data('initial')) : $repeater.min;\n if ($repeater.initial_subs > $repeater.max) $repeater.initial_subs = $repeater.max;\n var $repeater_sub = $repeater.children('.wpcf7cf_repeater_sub').eq(0);\n var $repeater_controls = $repeater.children('.wpcf7cf_repeater_controls').eq(0);\n\n var $repeater_sub_clone = $repeater_sub.clone();\n\n $repeater_sub_clone.find('.wpcf7cf_repeater_sub').addBack('.wpcf7cf_repeater_sub').each(function() {\n var $this = jQuery(this);\n var prev_suffix = $this.attr('data-repeater_sub_suffix');\n var new_suffix = prev_suffix+'__{{repeater_sub_suffix}}';\n $this.attr('data-repeater_sub_suffix', new_suffix);\n });\n\n $repeater_sub_clone.find('[name]').each(function() {\n var $this = jQuery(this);\n var prev_name = $this.attr('name');\n var orig_name = $this.attr('data-orig_name') != null ? $this.attr('data-orig_name') : prev_name;\n var new_name = prev_name+'__{{repeater_sub_suffix}}';\n\n if(prev_name.endsWith('_count')) {\n new_name = prev_name.replace('_count','__{{repeater_sub_suffix}}_count');\n }\n\n $this.attr('name', new_name);\n $this.attr('data-orig_name', orig_name);\n $this.closest('.wpcf7-form-control-wrap').addClass(new_name);\n });\n\n $repeater_sub_clone.find('.wpcf7cf_repeater,[data-class=\"wpcf7cf_group\"]').each(function() {\n var $this = jQuery(this);\n var prev_data_id = $this.attr('data-id');\n var orig_data_id = $this.attr('data-orig_data_id') != null ? $this.attr('data-orig_data_id') : prev_data_id;\n var new_data_id = prev_data_id+'__{{repeater_sub_suffix}}';\n\n if(prev_data_id.endsWith('_count')) {\n new_data_id = prev_data_id.replace('_count','__{{repeater_sub_suffix}}_count');\n }\n\n $this.attr('data-id', new_data_id);\n $this.attr('data-orig_data_id', orig_data_id);\n $this.closest('.wpcf7-form-control-wrap').addClass(new_data_id);\n });\n\n $repeater_sub_clone.find('[id]').each(function() {\n var $this = jQuery(this);\n var prev_id = $this.attr('id');\n var orig_id = $this.attr('data-orig_id') != null ? $this.attr('data-orig_id') : prev_id;\n var new_id = prev_id+'__{{repeater_sub_suffix}}';\n\n $this.attr('id', new_id);\n $this.attr('data-orig_id', orig_id);\n $this.closest('.wpcf7-form-control-wrap').addClass(new_id);\n });\n\n $repeater_sub_clone.find('[for]').each(function() {\n var $this = jQuery(this);\n var prev_for = $this.attr('for');\n var orig_for = $this.attr('data-orig_for') != null ? $this.attr('data-orig_for') : prev_for;\n var new_for = prev_for+'__{{repeater_sub_suffix}}';\n\n $this.attr('for', new_for);\n $this.attr('data-orig_for', orig_for);\n $this.closest('.wpcf7-form-control-wrap').addClass(new_for);\n });\n\n var repeater_sub_html = $repeater_sub_clone[0].outerHTML;\n\n var $repeater_count_field = $repeater.find('[name='+$repeater.id+'_count]').eq(0);\n var $button_add = $repeater_controls.find('.wpcf7cf_add').eq(0);\n var $button_remove = $repeater_controls.find('.wpcf7cf_remove').eq(0);\n\n var params = {\n $repeater: $repeater,\n $repeater_count_field: $repeater_count_field,\n repeater_sub_html: repeater_sub_html,\n $repeater_controls: $repeater_controls,\n $button_add: $button_add,\n $button_remove: $button_remove,\n wpcf7cf_settings: wpcf7cf_settings\n };\n \n this.params = params;\n\n $button_add.on('click', null, repeater, function(e) {\n var repeater = e.data;\n repeater.updateSubs(params.$repeater.num_subs+1);\n });\n\n $button_remove.on('click', null, repeater,function(e) {\n var repeater = e.data;\n repeater.updateSubs(params.$repeater.num_subs-1);\n });\n\n jQuery('> .wpcf7cf_repeater_sub',params.$repeater).eq(0).remove(); // remove the first sub, it's just a template.\n\n repeater.updateSubs($repeater.initial_subs); \n\n}\n\n\n\nWpcf7cfRepeater.prototype.updateSubs = function(subs_to_show) {\n var repeater = this;\n var params = repeater.params;\n var subs_to_add = subs_to_show - params.$repeater.num_subs;\n\n if (subs_to_add < 0) {\n repeater.removeSubs(-subs_to_add);\n } else if (subs_to_add > 0) {\n repeater.addSubs(subs_to_add);\n }\n\n var showButtonRemove = false;\n var showButtonAdd = false;\n\n if (params.$repeater.num_subs < params.$repeater.max) {\n showButtonAdd = true;\n }\n if (params.$repeater.num_subs > params.$repeater.min) {\n showButtonRemove = true;\n }\n\n if (showButtonAdd) {\n params.$button_add.show();\n } else {\n params.$button_add.hide();\n\n }\n\n if (showButtonRemove) {\n params.$button_remove.show();\n } else {\n params.$button_remove.hide();\n }\n\n params.$repeater_count_field.val(subs_to_show);\n\n};\nWpcf7cfRepeater.prototype.addSubs = function(subs_to_add) {\n var $ = jQuery;\n var params = this.params;\n var repeater = this;\n var form = repeater.form;\n\n\n var $repeater = params.$repeater; \n var $repeater_controls = params.$repeater_controls;\n\n //jQuery(params.repeater_sub_html.replace(/name=\"(.*?)\"/g,'name=\"wpcf7cf_repeater['+$repeater.id+']['+$repeater.num_subs+'][$1]\" data-original-name=\"$1\"')).hide().insertBefore($repeater_controls).animate(wpcf7cf_show_animation, params.wpcf7cf_settings.animation_intime);\n\n var html_str = '';\n\n for(var i=1; i<=subs_to_add; i++) {\n var sub_suffix = $repeater.num_subs+i;\n html_str += params.repeater_sub_html.replace(/\\{\\{repeater_sub_suffix\\}\\}/g,sub_suffix)\n .replace(new RegExp('\\{\\{'+$repeater.orig_id+'_index\\}\\}','g'),sub_suffix);\n }\n\n\n var $html = jQuery(html_str);\n\n // Add the newly created fields to the form\n $html.hide().insertBefore($repeater_controls).animate(wpcf7cf_show_animation, params.wpcf7cf_settings.animation_intime).trigger('wpcf7cf_repeater_added');\n\n jQuery('.wpcf7cf_repeater', $html).each(function(){\n form.repeaters.push(new Wpcf7cfRepeater(jQuery(this),form));\n });\n form.$input_repeaters.val(JSON.stringify(form.repeaters.map((item)=>item.params.$repeater.id)));\n\n $repeater.num_subs+= subs_to_add;\n\n window.wpcf7cf.updateMultistepState(form.multistep);\n form.updateGroups();\n form.updateEventListeners();\n form.displayFields();\n\n // Exclusive Checkbox\n $html.on( 'click', '.wpcf7-exclusive-checkbox input:checkbox', function() {\n var name = $( this ).attr( 'name' );\n $html.find( 'input:checkbox[name=\"' + name + '\"]' ).not( this ).prop( 'checked', false );\n } );\n\n //basic compatibility with material-design-for-contact-form-7\n if (typeof window.cf7mdInit === \"function\") {\n window.cf7mdInit();\n }\n\n return false;\n};\nWpcf7cfRepeater.prototype.removeSubs = function(num_subs) {\n var $ = jQuery;\n var params = this.params;\n var form = this.form;\n\n params.$repeater.num_subs-= num_subs;\n\n jQuery('> .wpcf7cf_repeater_sub',params.$repeater).slice(-num_subs).animate(wpcf7cf_hide_animation, {duration:params.wpcf7cf_settings.animation_intime, done:function() {\n var $this = jQuery(this);\n //remove the actual fields from the form\n $this.remove();\n params.$repeater.trigger('wpcf7cf_repeater_removed');\n window.wpcf7cf.updateMultistepState(form.multistep);\n form.updateGroups();\n form.updateEventListeners();\n form.displayFields();\n }});\n\n return false;\n};\n\nfunction Wpcf7cfMultistep($multistep, form) {\n var multistep = this;\n multistep.$multistep = $multistep;\n multistep.form = form;\n multistep.$steps = $multistep.find('.wpcf7cf_step');\n multistep.$btn_next = $multistep.find('.wpcf7cf_next');\n multistep.$btn_prev = $multistep.find('.wpcf7cf_prev');\n multistep.$dots = $multistep.find('.wpcf7cf_steps-dots');\n multistep.currentStep = 0;\n multistep.numSteps = multistep.$steps.length;\n\n\n multistep.$dots.html('');\n for (var i = 1; i <= multistep.numSteps; i++) {\n multistep.$dots.append(`\n <div class=\"dot\" data-step=\"${i}\">\n <div class=\"step-index\">${i}</div>\n <div class=\"step-title\">${multistep.$steps.eq(i-1).data('title')}</div>\n </div>\n `);\n }\n\n multistep.$btn_next.on('click.wpcf7cf_step', async function() {\n \n var result = await multistep.validateStep(multistep.currentStep);\n if (result === 'success') {\n multistep.moveToStep(multistep.currentStep+1); \n }\n\n });\n\n // If form is submitted (by pressing Enter for example), and if we are not on the last step,\n // then trigger click event on the $btn_next button instead.\n multistep.form.$form.on('submit.wpcf7cf_step', function(e) {\n\n if (multistep.currentStep !== multistep.numSteps) {\n multistep.$btn_next.trigger('click.wpcf7cf_step');\n\n e.stopImmediatePropagation();\n return false;\n }\n });\n\n multistep.$btn_prev.on( 'click', function() {\n multistep.moveToStep(multistep.currentStep-1);\n });\n\n multistep.moveToStep(1);\n}\n\njQuery(document).ajaxComplete(function(e, xhr, settings){\n if (\n xhr.hasOwnProperty('responseJSON') &&\n xhr.responseJSON != null &&\n xhr.responseJSON.hasOwnProperty('status') &&\n xhr.responseJSON.hasOwnProperty('into') &&\n xhr.responseJSON.status === \"mail_success\"\n ) {\n jQuery( xhr.responseJSON.into ).trigger('reset.wpcf7cf');\n }\n});\n\nWpcf7cfMultistep.prototype.validateStep = function(step_index) {\n\n var multistep = this;\n var $multistep = multistep.$multistep;\n var $form = multistep.form.$form;\n var form = multistep.form;\n\n $form.find('.wpcf7-response-output').addClass('wpcf7-display-none');\n\n return new Promise(resolve => {\n\n var fd = new FormData();\n\n // Make sure to add file fields to FormData\n jQuery.each($form.find('[data-id=\"step-'+step_index+'\"] input[type=\"file\"]'), function(index, el) {\n if (! el.files.length) return false;\n const file = el.files[0];\n const fieldName = el.name;\n fd.append(fieldName, file);\n });\n\n var formdata = $form.serializeArray();\n jQuery.each(formdata,function(key, input){\n fd.append(input.name, input.value);\n });\n\n jQuery.ajax({\n url: wpcf7cf_global_settings.ajaxurl + '?action=wpcf7cf_validate_step',\n type: 'POST',\n data: fd,\n processData: false,\n contentType: false,\n dataType: 'json',\n }).done(function(json) {\n\n $multistep.find('.wpcf7-form-control-wrap .wpcf7-not-valid-tip').remove();\n $multistep.find('.wpcf7-not-valid').removeClass('wpcf7-not-valid');\n $multistep.find('.wpcf7-response-output').remove();\n $multistep.find('.wpcf7-response-output.wpcf7-validation-errors').removeClass('wpcf7-validation-errors');\n\n if (!json.success) {\n var checkError = 0;\n\n jQuery.each(json.invalid_fields, function(index, el) {\n if ($multistep.find('input[name=\"'+index+'\"]').length ||\n $multistep.find('input[name=\"'+index+'[]\"]').length ||\n $multistep.find('select[name=\"'+index+'\"]').length ||\n $multistep.find('select[name=\"'+index+'[]\"]').length ||\n $multistep.find('textarea[name=\"'+index+'\"]').length ||\n $multistep.find('textarea[name=\"'+index+'[]\"]').length\n ) {\n checkError = checkError + 1;\n\n var controlWrap = form.get('.wpcf7-form-control-wrap.' + index);\n controlWrap.find('input').addClass('wpcf7-not-valid');\n controlWrap.find('span.wpcf7-not-valid-tip').remove();\n controlWrap.append('<span role=\"alert\" class=\"wpcf7-not-valid-tip\">' + el.reason + '</span>');\n\n }\n });\n\n resolve('failed');\n\n $multistep.parent().find('.wpcf7-response-output').removeClass('wpcf7-display-none').html(json.message);\n\n } else if (json.success) {\n resolve('success');\n return false;\n }\n\n }).fail(function() {\n resolve('error');\n }).always(function() {\n // do nothing\n });\n });\n\n};\nWpcf7cfMultistep.prototype.moveToStep = function(step_index) {\n var multistep = this;\n var previousStep = multistep.currentStep;\n\n multistep.currentStep = step_index > multistep.numSteps ? multistep.numSteps\n : step_index < 1 ? 1\n : step_index;\n\n // ANIMATION DISABLED FOR NOW cause it's ugly\n // multistep.$steps.animate(wpcf7cf_hide_step_animation, multistep.form.settings.animation_outtime);\n // multistep.$steps.eq(multistep.currentStep-1).animate(wpcf7cf_show_step_animation, multistep.form.settings.animation_intime);\n\n multistep.$multistep.attr('data-current_step', multistep.currentStep);\n multistep.$steps.hide();\n multistep.$steps\n .eq(multistep.currentStep-1)\n .show()\n .trigger('wpcf7cf_change_step', [previousStep, multistep.currentStep]);\n\n const formEl = multistep.form.$form[0];\n const topOffset = formEl.getBoundingClientRect().top;\n if (topOffset < 0 && previousStep > 0) {\n formEl.scrollIntoView({behavior: \"smooth\"});\n }\n\n multistep.form.updateSummaryFields();\n\n window.wpcf7cf.updateMultistepState(multistep);\n};\n\nWpcf7cfMultistep.prototype.getFieldsInStep = function(step_index) {\n wpcf7cf_reload_dom(this.form.$form);\n var inStep = false;\n return Object.values(wpcf7cf_dom).filter(function(item, i) {\n if(item.type == 'step') {\n inStep = item.val == step_index+'';\n }\n return inStep && item.type == 'input';\n }).map(function(item) {\n return item.name;\n });\n};\n\n// END PRO ONLY\n\nwindow.wpcf7cf = {\n\n // keep this for backwards compatibility\n initForm : function($forms) {\n\n $forms.each(function(){\n const $form = jQuery(this);\n // only add form is its class is \"wpcf7-form\" and if the form was not previously added\n if (\n $form.hasClass('wpcf7-form') &&\n !wpcf7cf_forms.some((form)=>{ return form.$form.get(0) === $form.get(0); })\n ) {\n wpcf7cf_forms.push(new Wpcf7cfForm($form));\n }\n });\n },\n\n get_nested_conditions : function(conditions, $current_form) {\n //loop trough conditions. Then loop trough the dom, and each repeater we pass we should update all sub_values we encounter with __index\n wpcf7cf_reload_dom($current_form);\n var groups = Object.values(wpcf7cf_dom).filter(function(item, i) {\n return item.type==='group';\n });\n\n var sub_conditions = [];\n\n for(var i = 0; i < groups.length; i++) {\n var g = groups[i];\n var relevant_conditions = conditions.filter(function(condition, i) {\n return condition.then_field === g.original_name;\n });\n \n var relevant_conditions = relevant_conditions.map(function(item,i) {\n return {\n then_field : g.name,\n and_rules : item.and_rules.map(function(and_rule, i) {\n return {\n if_field : and_rule.if_field+g.suffix,\n if_value : and_rule.if_value,\n operator : and_rule.operator\n };\n })\n }\n });\n\n sub_conditions = sub_conditions.concat(relevant_conditions);\n }\n return sub_conditions;\n },\n\n get_simplified_dom_model : function($current_form) {\n\n var currentNode;\n var ni = document.createNodeIterator($current_form[0], NodeFilter.SHOW_ELEMENT, null, false); //, NodeFilter.SHOW_ELEMENT, function(){ return NodeFilter.FILTER_ACCEPT; }\n\n var simplified_dom = {};\n\n while(currentNode = ni.nextNode()) {\n\n const type = currentNode.classList.contains('wpcf7cf_repeater') ? 'repeater' :\n currentNode.dataset.class == 'wpcf7cf_group' ? 'group' :\n currentNode.className == 'wpcf7cf_step' ? 'step' :\n currentNode.hasAttribute('name') ? 'input' : false;\n\n if (!type) {\n continue;\n } \n\n const name = type === 'input' ? currentNode.getAttribute('name') : currentNode.dataset.id;\n\n // skip _wpcf7 hidden fields\n if (name.substring(0,6) === '_wpcf7') continue;\n\n const original_name = type === 'repeater' || type === 'group' ? currentNode.dataset.orig_data_id\n : type === 'input' ? (currentNode.getAttribute('data-orig_name') || name)\n : name;\n\n const val = type === 'step' ? [currentNode.dataset.id.substring(5)] : [];\n\n const original_name_length = original_name == null ? name.length : original_name.length;\n const suffix = name.substring(original_name_length);\n\n if (!simplified_dom[name]) {\n // init entry\n simplified_dom[name] = {name, type, original_name, suffix, val}\n }\n\n if (type === 'input') {\n\n // skip unchecked checkboxes and radiobuttons\n if ( (currentNode.type === 'checkbox' || currentNode.type === 'radio') && !currentNode.checked ) continue;\n\n // if multiselect, make sure to add all the values\n if ( currentNode.multiple && currentNode.options ) {\n simplified_dom[name].val = Object.values(currentNode.options).filter(o => o.selected).map(o => o.value)\n } else {\n simplified_dom[name].val.push(currentNode.value);\n }\n }\n\n }\n\n return simplified_dom;\n },\n\n updateMultistepState: function (multistep) {\n if (multistep == null) return;\n\n // update hidden input field\n\n var stepsData = {\n currentStep : multistep.currentStep,\n numSteps : multistep.numSteps,\n fieldsInCurrentStep : multistep.getFieldsInStep(multistep.currentStep)\n };\n multistep.form.$input_steps.val(JSON.stringify(stepsData));\n\n // update Buttons\n multistep.$btn_prev.removeClass('disabled').attr('disabled', false);\n multistep.$btn_next.removeClass('disabled').attr('disabled', false);\n if (multistep.currentStep == multistep.numSteps) {\n multistep.$btn_next.addClass('disabled').attr('disabled', true);\n }\n if (multistep.currentStep == 1) {\n multistep.$btn_prev.addClass('disabled').attr('disabled', true);\n }\n\n // replace next button with submit button on last step.\n // TODO: make this depend on a setting\n var $submit_button = multistep.form.$form.find('input[type=\"submit\"]').eq(0);\n var $ajax_loader = multistep.form.$form.find('.ajax-loader').eq(0);\n if (multistep.currentStep == multistep.numSteps) {\n multistep.$btn_next.hide();\n $ajax_loader.detach().appendTo(multistep.$btn_next.parent());\n $submit_button.detach().appendTo(multistep.$btn_next.parent());\n $submit_button.show();\n } else {\n $submit_button.hide();\n multistep.$btn_next.show();\n }\n\n // update dots\n var $dots = multistep.$dots.find('.dot');\n $dots.removeClass('active').removeClass('completed');\n for(var step = 1; step <= multistep.numSteps; step++) {\n if (step < multistep.currentStep) {\n $dots.eq(step-1).addClass('completed');\n } else if (step == multistep.currentStep) {\n $dots.eq(step-1).addClass('active');\n }\n }\n\n },\n\n should_group_be_shown : function(condition) {\n\n var show_group = true;\n\n for (var and_rule_i = 0; and_rule_i < condition.and_rules.length; and_rule_i++) {\n\n var condition_ok = false;\n\n var condition_and_rule = condition.and_rules[and_rule_i];\n\n var inputField = wpcf7cf_getFieldByName(condition_and_rule.if_field);\n\n if (!inputField) continue; // field not found\n\n var if_val = condition_and_rule.if_value;\n var operator = condition_and_rule.operator;\n\n //backwards compat\n operator = operator === '≤' ? 'less than or equals' : operator;\n operator = operator === '≥' ? 'greater than or equals' : operator;\n operator = operator === '>' ? 'greater than' : operator;\n operator = operator === '<' ? 'less than' : operator;\n\n const $field = operator === 'function' && jQuery(`[name=\"${inputField.name}\"]`).eq(0);\n\n condition_ok = this.isConditionTrue(inputField.val,operator,if_val, $field);\n\n show_group = show_group && condition_ok;\n }\n\n return show_group;\n\n },\n isConditionTrue(values, operator, testValue='', $field=jQuery()) {\n\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n let condition_ok = false; // start by assuming that the condition is not met\n\n // Considered EMPTY: [] [''] [null] ['',null] [,,'']\n // Considered NOT EMPTY: [0] ['ab','c'] ['',0,null]\n const valuesAreEmpty = values.length === 0 || values.every((v) => !v&&v!==0); // 0 is not considered empty\n\n // special cases: [] equals '' => TRUE; [] not equals '' => FALSE\n if (operator === 'equals' && testValue === '' && valuesAreEmpty) {\n return true;\n }\n if (operator === 'not equals' && testValue === '' && valuesAreEmpty) {\n return false;\n }\n\n if (valuesAreEmpty) {\n if (operator === 'is empty') {\n condition_ok = true;\n }\n } else {\n if (operator === 'not empty') {\n condition_ok = true;\n }\n }\n\n const testValueNumber = isFinite(parseFloat(testValue)) ? parseFloat(testValue) : NaN;\n\n\n if (operator === 'not equals' || operator === 'not equals (regex)') {\n // start by assuming that the condition is met\n condition_ok = true;\n }\n\n if (\n operator === 'function'\n && typeof window[testValue] == 'function'\n && window[testValue]($field) // here we call the actual user defined function\n ) {\n condition_ok = true;\n }\n\n let regex_patt = /.*/i; // fallback regex pattern\n let isValidRegex = true;\n if (operator === 'equals (regex)' || operator === 'not equals (regex)') {\n try {\n regex_patt = new RegExp(testValue, 'i');\n } catch(e) {\n isValidRegex = false;\n }\n }\n\n\n for(let i = 0; i < values.length; i++) {\n\n const value = values[i];\n\n const valueNumber = isFinite(parseFloat(value)) ? parseFloat(value) : NaN;\n const valsAreNumbers = !isNaN(valueNumber) && !isNaN(testValueNumber);\n\n if (\n\n operator === 'equals' && value === testValue ||\n operator === 'equals (regex)' && regex_patt.test(value) ||\n operator === 'greater than' && valsAreNumbers && valueNumber > testValueNumber ||\n operator === 'less than' && valsAreNumbers && valueNumber < testValueNumber ||\n operator === 'greater than or equals' && valsAreNumbers && valueNumber >= testValueNumber ||\n operator === 'less than or equals' && valsAreNumbers && valueNumber <= testValueNumber\n \n ) {\n\n condition_ok = true;\n break;\n\n } else if (\n\n operator === 'not equals' && value === testValue ||\n operator === 'not equals (regex)' && regex_patt.test(value)\n\n ) {\n\n condition_ok = false;\n break;\n\n }\n }\n\n return condition_ok;\n\n }\n\n};\n\njQuery('.wpcf7-form').each(function(){\n wpcf7cf_forms.push(new Wpcf7cfForm(jQuery(this)));\n});\n\n// Call displayFields again on all forms\n// Necessary in case some theme or plugin changed a form value by the time the entire page is fully loaded.\njQuery('document').ready(function() {\n wpcf7cf_forms.forEach(function(f){\n f.displayFields();\n });\n});\n\n// fix for exclusive checkboxes in IE (this will call the change-event again after all other checkboxes are unchecked, triggering the display_fields() function)\nvar old_wpcf7ExclusiveCheckbox = jQuery.fn.wpcf7ExclusiveCheckbox;\njQuery.fn.wpcf7ExclusiveCheckbox = function() {\n return this.find('input:checkbox').on('click', function() {\n var name = jQuery(this).attr('name');\n jQuery(this).closest('form').find('input:checkbox[name=\"' + name + '\"]').not(this).prop('checked', false).eq(0).change();\n });\n};\n\n","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;","module.exports = require(\"regenerator-runtime\");\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n"],"sourceRoot":""}
1
+ {"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./js/scripts_es6.js","webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///(webpack)/buildin/module.js"],"names":["cf7signature_resized","wpcf7cf_timeout","wpcf7cf_change_time_ms","window","wpcf7cf_running_tests","jQuery","each","e","$input","opt","JSON","parse","val","settings","animation_intime","animation_outtime","stringify","wpcf7cf_show_animation","wpcf7cf_hide_animation","wpcf7cf_show_step_animation","wpcf7cf_hide_step_animation","wpcf7cf_change_events","wpcf7cf_forms","wpcf7cf_dom","wpcf7cf_reload_dom","$form","wpcf7cf","get_simplified_dom_model","wpcf7cf_getFieldsByOriginalName","originalName","Object","values","filter","inputField","original_name","wpcf7cf_getFieldByName","name","String","prototype","endsWith","search","this_len","undefined","length","substring","Wpcf7cfForm","options_element","find","eq","form","form_options","$input_hidden_group_fields","$input_hidden_groups","$input_visible_groups","$input_repeaters","$input_steps","unit_tag","closest","attr","conditions","get","selector","i","condition","and_rules","if_field","if_value","operator","initial_conditions","$groups","repeaters","multistep","fields","parseInt","animation","updateGroups","updateEventListeners","displayFields","on","data","setTimeout","resetRepeaters","moveToStep","push","Wpcf7cfRepeater","map","item","params","$repeater","id","$multistep","Wpcf7cfMultistep","forEach","repeater","updateSubs","initial_subs","wpcf7cf_conditions","wpcf7cf_settings","signatures","constructor","Array","canvas","width","$sig_canvas","$sig_wrap","height","addClass","show_group","should_group_be_shown","then_field","removeClass","index","$group","is","finish","css","hasClass","prop","show","trigger","animate","$inputs","not","$this","defaultValue","defaultChecked","selected","defaultSelected","$select","change","hide","updateHiddenFields","updateSummaryFields","$summary","fd","FormData","formdata","serializeArray","key","input","append","value","el","files","file","fieldName","Blob","ajax","url","wpcf7cf_global_settings","ajaxurl","type","processData","contentType","dataType","success","json","html","summaryHtml","hidden_fields","hidden_groups","visible_groups","get_nested_conditions","off","clearTimeout","text","$","num_subs","orig_id","min","max","$repeater_sub","children","$repeater_controls","$repeater_sub_clone","clone","addBack","prev_suffix","new_suffix","prev_name","new_name","getNewName","orig_name","replace","prev_data_id","orig_data_id","new_data_id","prev_id","new_id","prev_for","orig_for","new_for","repeater_sub_html","outerHTML","$repeater_count_field","$button_add","$button_remove","remove","previousName","prev_parts","split","prev_suff","splice","join","newName","subs_to_show","subs_to_add","removeSubs","addSubs","showButtonRemove","showButtonAdd","html_str","sub_suffix","RegExp","$html","insertBefore","updateMultistepState","cf7mdInit","slice","duration","done","$steps","$btn_next","$btn_prev","$dots","currentStep","numSteps","validateStep","result","stopImmediatePropagation","document","ajaxComplete","xhr","hasOwnProperty","responseJSON","status","into","step_index","Promise","resolve","checkError","invalid_fields","controlWrap","reason","parent","message","fail","always","previousStep","formEl","topOffset","getBoundingClientRect","top","scrollIntoView","behavior","getFieldsInStep","inStep","initForm","$forms","some","$current_form","groups","sub_conditions","g","relevant_conditions","and_rule","suffix","concat","currentNode","ni","createNodeIterator","NodeFilter","SHOW_ELEMENT","simplified_dom","nextNode","classList","contains","dataset","className","hasAttribute","getAttribute","original_name_length","checked","multiple","options","o","stepsData","fieldsInCurrentStep","$submit_button","$ajax_loader","detach","appendTo","step","and_rule_i","condition_ok","condition_and_rule","if_val","$field","isConditionTrue","testValue","isArray","valuesAreEmpty","every","v","testValueNumber","isFinite","parseFloat","NaN","regex_patt","isValidRegex","valueNumber","valsAreNumbers","isNaN","test","ready","f","old_wpcf7ExclusiveCheckbox","fn","wpcf7ExclusiveCheckbox","asyncGeneratorStep","gen","reject","_next","_throw","arg","info","error","then","_asyncToGenerator","self","args","arguments","apply","err","module","exports","require","runtime","Op","hasOwn","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","makeInvokeMethod","tryCatch","obj","call","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","displayName","defineIteratorMethods","method","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","__await","AsyncIterator","PromiseImpl","invoke","record","unwrapped","previousPromise","enqueue","callInvokeWithMethodAndArg","async","iter","next","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","nextLoc","toString","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","keys","object","reverse","pop","iterable","iteratorMethod","skipTempReset","prev","charAt","stop","rootEntry","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Function","webpackPolyfill","deprecate","paths","defineProperty","enumerable","l"],"mappings":"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","file":"scripts.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./js/scripts_es6.js\");\n","\"use strict\";\n\nvar cf7signature_resized = 0; // for compatibility with contact-form-7-signature-addon\n\nvar wpcf7cf_timeout;\nvar wpcf7cf_change_time_ms = 100;\n\nif (window.wpcf7cf_running_tests) {\n jQuery('input[name=\"_wpcf7cf_options\"]').each(function(e) {\n var $input = jQuery(this);\n var opt = JSON.parse($input.val());\n opt.settings.animation_intime = 0;\n opt.settings.animation_outtime = 0;\n $input.val(JSON.stringify(opt));\n });\n wpcf7cf_change_time_ms = 0;\n}\n\nvar wpcf7cf_show_animation = { \"height\": \"show\", \"marginTop\": \"show\", \"marginBottom\": \"show\", \"paddingTop\": \"show\", \"paddingBottom\": \"show\" };\nvar wpcf7cf_hide_animation = { \"height\": \"hide\", \"marginTop\": \"hide\", \"marginBottom\": \"hide\", \"paddingTop\": \"hide\", \"paddingBottom\": \"hide\" };\n\nvar wpcf7cf_show_step_animation = { \"opacity\": \"show\" };\nvar wpcf7cf_hide_step_animation = { \"opacity\": \"hide\" };\n\nvar wpcf7cf_change_events = 'input.wpcf7cf paste.wpcf7cf change.wpcf7cf click.wpcf7cf propertychange.wpcf7cf';\n\nvar wpcf7cf_forms = [];\n\nwindow.wpcf7cf_dom = {};\n\nconst wpcf7cf_reload_dom = function($form) {\n wpcf7cf_dom = wpcf7cf.get_simplified_dom_model($form);\n}\n\nconst wpcf7cf_getFieldsByOriginalName = function(originalName) {\n return Object.values(wpcf7cf_dom).filter(function (inputField) {\n return inputField.original_name === originalName || inputField.original_name === originalName+'[]';\n });\n}\n\nconst wpcf7cf_getFieldByName = function(name) {\n return wpcf7cf_dom[name] || wpcf7cf_dom[name+'[]'];\n}\n\n// endsWith polyfill\nif (!String.prototype.endsWith) {\n\tString.prototype.endsWith = function(search, this_len) {\n\t\tif (this_len === undefined || this_len > this.length) {\n\t\t\tthis_len = this.length;\n\t\t}\n\t\treturn this.substring(this_len - search.length, this_len) === search;\n\t};\n}\n\nvar Wpcf7cfForm = function($form) {\n\n var options_element = $form.find('input[name=\"_wpcf7cf_options\"]').eq(0);\n if (!options_element.length || !options_element.val()) {\n // doesn't look like a CF7 form created with conditional fields plugin enabled.\n return false;\n }\n\n var form = this;\n\n var form_options = JSON.parse(options_element.val());\n\n form.$form = $form;\n form.$input_hidden_group_fields = $form.find('[name=\"_wpcf7cf_hidden_group_fields\"]');\n form.$input_hidden_groups = $form.find('[name=\"_wpcf7cf_hidden_groups\"]');\n form.$input_visible_groups = $form.find('[name=\"_wpcf7cf_visible_groups\"]');\n form.$input_repeaters = $form.find('[name=\"_wpcf7cf_repeaters\"]');\n form.$input_steps = $form.find('[name=\"_wpcf7cf_steps\"]');\n\n form.unit_tag = $form.closest('.wpcf7').attr('id');\n form.conditions = form_options['conditions'];\n\n // Wrapper around jQuery(selector, form.$form)\n form.get = function (selector) {\n // TODO: implement some caching here.\n return jQuery(selector, form.$form);\n }\n\n // compatibility with conditional forms created with older versions of the plugin ( < 1.4 )\n for (var i=0; i < form.conditions.length; i++) {\n var condition = form.conditions[i];\n if (!('and_rules' in condition)) {\n condition.and_rules = [{'if_field':condition.if_field,'if_value':condition.if_value,'operator':condition.operator}];\n }\n }\n\n form.initial_conditions = form.conditions;\n form.settings = form_options['settings'];\n\n form.$groups = jQuery(); // empty jQuery set\n form.repeaters = [];\n form.multistep = null;\n form.fields = [];\n\n form.settings.animation_intime = parseInt(form.settings.animation_intime);\n form.settings.animation_outtime = parseInt(form.settings.animation_outtime);\n\n if (form.settings.animation === 'no') {\n form.settings.animation_intime = 0;\n form.settings.animation_outtime = 0;\n }\n\n form.updateGroups();\n form.updateEventListeners();\n form.displayFields();\n\n // bring form in initial state if the reset event is fired on it.\n form.$form.on('reset.wpcf7cf', form, function(e) {\n var form = e.data;\n setTimeout(function(){\n form.displayFields();\n form.resetRepeaters();\n if (form.multistep != null) {\n form.multistep.moveToStep(1); \n }\n },200);\n });\n\n // PRO ONLY\n\n form.get('.wpcf7cf_repeater:not(.wpcf7cf_repeater .wpcf7cf_repeater)').each(function(){\n form.repeaters.push(new Wpcf7cfRepeater(jQuery(this),form));\n });\n\n form.$input_repeaters.val(JSON.stringify(form.repeaters.map((item)=>item.params.$repeater.id)));\n\n var $multistep = form.get('.wpcf7cf_multistep');\n\n if ($multistep.length) {\n form.multistep = new Wpcf7cfMultistep($multistep, form);\n // window.wpcf7cf.updateMultistepState(form.multistep);\n }\n\n // END PRO ONLY\n\n}\n\n/**\n * reset initial number of subs for each repeater.\n * (does not clear values)\n */\nWpcf7cfForm.prototype.resetRepeaters = function() {\n var form = this;\n form.repeaters.forEach(repeater => {\n repeater.updateSubs( repeater.params.$repeater.initial_subs );\n });\n}\n\nWpcf7cfForm.prototype.displayFields = function() {\n\n var form = this;\n\n var wpcf7cf_conditions = this.conditions;\n var wpcf7cf_settings = this.settings;\n\n //for compatibility with contact-form-7-signature-addon\n if (cf7signature_resized === 0 && typeof signatures !== 'undefined' && signatures.constructor === Array && signatures.length > 0 ) {\n for (var i = 0; i < signatures.length; i++) {\n if (signatures[i].canvas.width === 0) {\n\n var $sig_canvas = jQuery(\".wpcf7-form-control-signature-body>canvas\");\n var $sig_wrap = jQuery(\".wpcf7-form-control-signature-wrap\");\n $sig_canvas.eq(i).attr('width', $sig_wrap.width());\n $sig_canvas.eq(i).attr('height', $sig_wrap.height());\n\n cf7signature_resized = 1;\n }\n }\n }\n\n form.$groups.addClass('wpcf7cf-hidden');\n\n wpcf7cf_reload_dom(form.$form);\n\n for (var i=0; i < wpcf7cf_conditions.length; i++) {\n\n var condition = wpcf7cf_conditions[i];\n\n var show_group = window.wpcf7cf.should_group_be_shown(condition, form);\n\n if (show_group) {\n form.get('[data-id=\"'+condition.then_field+'\"]').removeClass('wpcf7cf-hidden');\n }\n }\n\n\n var animation_intime = wpcf7cf_settings.animation_intime;\n var animation_outtime = wpcf7cf_settings.animation_outtime;\n\n form.$groups.each(function (index) {\n var $group = jQuery(this);\n if ($group.is(':animated')) $group.finish(); // stop any current animations on the group\n if ($group.css('display') === 'none' && !$group.hasClass('wpcf7cf-hidden')) {\n if ($group.prop('tagName') === 'SPAN') {\n $group.show().trigger('wpcf7cf_show_group');\n } else {\n $group.animate(wpcf7cf_show_animation, animation_intime).trigger('wpcf7cf_show_group'); // show\n }\n } else if ($group.css('display') !== 'none' && $group.hasClass('wpcf7cf-hidden')) {\n\n if ($group.attr('data-clear_on_hide') !== undefined) {\n var $inputs = jQuery(':input', $group).not(':button, :submit, :reset, :hidden');\n\n $inputs.each(function(){\n var $this = jQuery(this);\n $this.val(this.defaultValue);\n $this.prop('checked', this.defaultChecked);\n });\n\n jQuery('option', $group).each(function() {\n this.selected = this.defaultSelected;\n });\n\n jQuery('select', $group).each(function() {\n const $select = jQuery(this);\n if ($select.val() === null) {\n $select.val(jQuery(\"option:first\",$select).val());\n }\n });\n\n $inputs.change();\n //display_fields();\n }\n\n if ($group.prop('tagName') === 'SPAN') {\n $group.hide().trigger('wpcf7cf_hide_group');\n } else {\n $group.animate(wpcf7cf_hide_animation, animation_outtime).trigger('wpcf7cf_hide_group'); // hide\n }\n\n }\n });\n\n form.updateHiddenFields();\n form.updateSummaryFields();\n};\n\nWpcf7cfForm.prototype.updateSummaryFields = function() {\n const form = this;\n var $summary = form.get('.wpcf7cf-summary');\n\n if ($summary.length == 0 || !$summary.is(':visible')) return;\n\n var fd = new FormData();\n\n var formdata = form.$form.serializeArray();\n jQuery.each(formdata,function(key, input){\n fd.append(input.name, input.value);\n });\n\n // Make sure to add file fields to FormData\n jQuery.each(form.$form.find('input[type=\"file\"]'), function(index, el) {\n if (! el.files.length) return false;\n const file = el.files[0];\n const fieldName = el.name;\n fd.append(fieldName, new Blob() ,file.name);\n });\n\n // add file fields to form-data\n\n jQuery.ajax({\n url: wpcf7cf_global_settings.ajaxurl + '?action=wpcf7cf_get_summary',\n type: 'POST',\n data: fd,\n processData: false,\n contentType: false,\n dataType: 'json',\n success: function(json) {\n $summary.html(json.summaryHtml);\n }\n });\n};\n\nWpcf7cfForm.prototype.updateHiddenFields = function() {\n\n var form = this;\n\n var hidden_fields = [];\n var hidden_groups = [];\n var visible_groups = [];\n\n form.$groups.each(function () {\n var $this = jQuery(this);\n if ($this.hasClass('wpcf7cf-hidden')) {\n hidden_groups.push($this.data('id'));\n $this.find('input,select,textarea').each(function () {\n hidden_fields.push(jQuery(this).attr('name'));\n });\n } else {\n visible_groups.push($this.data('id'));\n }\n });\n\n form.hidden_fields = hidden_fields;\n form.hidden_groups = hidden_groups;\n form.visible_groups = visible_groups;\n\n form.$input_hidden_group_fields.val(JSON.stringify(hidden_fields));\n form.$input_hidden_groups.val(JSON.stringify(hidden_groups));\n form.$input_visible_groups.val(JSON.stringify(visible_groups));\n\n return true;\n};\nWpcf7cfForm.prototype.updateGroups = function() {\n var form = this;\n form.$groups = form.$form.find('[data-class=\"wpcf7cf_group\"]');\n\n form.conditions = window.wpcf7cf.get_nested_conditions(form.initial_conditions, form.$form);\n\n};\nWpcf7cfForm.prototype.updateEventListeners = function() {\n\n var form = this;\n\n // monitor input changes, and call displayFields() if something has changed\n form.get('input, select, textarea, button').not('.wpcf7cf_add, .wpcf7cf_remove').off(wpcf7cf_change_events).on(wpcf7cf_change_events,form, function(e) {\n var form = e.data;\n clearTimeout(wpcf7cf_timeout);\n wpcf7cf_timeout = setTimeout(function() {\n form.displayFields();\n }, wpcf7cf_change_time_ms);\n });\n\n // PRO ONLY\n form.get('.wpcf7cf-togglebutton').off('click.toggle_wpcf7cf').on('click.toggle_wpcf7cf',function() {\n var $this = jQuery(this);\n if ($this.text() === $this.data('val-1')) {\n $this.text($this.data('val-2'));\n $this.val($this.data('val-2'));\n } else {\n $this.text($this.data('val-1'));\n $this.val($this.data('val-1'));\n }\n });\n // END PRO ONLY\n};\n\n// PRO ONLY\nfunction Wpcf7cfRepeater($repeater, form) {\n var $ = jQuery;\n\n var repeater = this;\n\n var wpcf7cf_settings = form.settings;\n\n repeater.form = form;\n\n $repeater.num_subs = 0;\n $repeater.id = $repeater.data('id');\n $repeater.orig_id = $repeater.data('orig_data_id');\n $repeater.min = typeof( $repeater.data('min')) !== 'undefined' ? parseInt($repeater.data('min')) : 1;\n $repeater.max = typeof( $repeater.data('max')) !== 'undefined' ? parseInt($repeater.data('max')) : 200;\n $repeater.initial_subs = typeof( $repeater.data('initial')) !== 'undefined' ? parseInt($repeater.data('initial')) : $repeater.min;\n if ($repeater.initial_subs > $repeater.max) $repeater.initial_subs = $repeater.max;\n var $repeater_sub = $repeater.children('.wpcf7cf_repeater_sub').eq(0);\n var $repeater_controls = $repeater.children('.wpcf7cf_repeater_controls').eq(0);\n\n var $repeater_sub_clone = $repeater_sub.clone();\n\n $repeater_sub_clone.find('.wpcf7cf_repeater_sub').addBack('.wpcf7cf_repeater_sub').each(function() {\n var $this = jQuery(this);\n var prev_suffix = $this.attr('data-repeater_sub_suffix');\n var new_suffix = prev_suffix+'__{{repeater_sub_suffix}}';\n $this.attr('data-repeater_sub_suffix', new_suffix);\n });\n\n $repeater_sub_clone.find('[name]').each(function() {\n var $this = jQuery(this);\n var prev_name = $this.attr('name');\n var new_name = repeater.getNewName(prev_name);\n\n var orig_name = $this.attr('data-orig_name') != null ? $this.attr('data-orig_name') : prev_name;\n\n $this.attr('name', new_name);\n $this.attr('data-orig_name', orig_name);\n $this.closest('.wpcf7-form-control-wrap').addClass(new_name.replace('[]',''));\n });\n\n $repeater_sub_clone.find('.wpcf7cf_repeater,[data-class=\"wpcf7cf_group\"]').each(function() {\n var $this = jQuery(this);\n var prev_data_id = $this.attr('data-id');\n var orig_data_id = $this.attr('data-orig_data_id') != null ? $this.attr('data-orig_data_id') : prev_data_id;\n var new_data_id = repeater.getNewName(prev_data_id);\n\n if(prev_data_id.endsWith('_count')) {\n new_data_id = prev_data_id.replace('_count','__{{repeater_sub_suffix}}_count');\n }\n\n $this.attr('data-id', new_data_id);\n $this.attr('data-orig_data_id', orig_data_id);\n });\n\n $repeater_sub_clone.find('[id]').each(function() {\n var $this = jQuery(this);\n var prev_id = $this.attr('id');\n var orig_id = $this.attr('data-orig_id') != null ? $this.attr('data-orig_id') : prev_id;\n var new_id = repeater.getNewName(prev_id);\n\n $this.attr('id', new_id);\n $this.attr('data-orig_id', orig_id);\n });\n\n $repeater_sub_clone.find('[for]').each(function() {\n var $this = jQuery(this);\n var prev_for = $this.attr('for');\n var orig_for = $this.attr('data-orig_for') != null ? $this.attr('data-orig_for') : prev_for;\n var new_for = repeater.getNewName(prev_for);\n\n $this.attr('for', new_for);\n $this.attr('data-orig_for', orig_for);\n });\n\n var repeater_sub_html = $repeater_sub_clone[0].outerHTML;\n\n var $repeater_count_field = $repeater.find('[name='+$repeater.id+'_count]').eq(0);\n var $button_add = $repeater_controls.find('.wpcf7cf_add').eq(0);\n var $button_remove = $repeater_controls.find('.wpcf7cf_remove').eq(0);\n\n var params = {\n $repeater: $repeater,\n $repeater_count_field: $repeater_count_field,\n repeater_sub_html: repeater_sub_html,\n $repeater_controls: $repeater_controls,\n $button_add: $button_add,\n $button_remove: $button_remove,\n wpcf7cf_settings: wpcf7cf_settings\n };\n \n this.params = params;\n\n $button_add.on('click', null, repeater, function(e) {\n var repeater = e.data;\n repeater.updateSubs(params.$repeater.num_subs+1);\n });\n\n $button_remove.on('click', null, repeater,function(e) {\n var repeater = e.data;\n repeater.updateSubs(params.$repeater.num_subs-1);\n });\n\n jQuery('> .wpcf7cf_repeater_sub',params.$repeater).eq(0).remove(); // remove the first sub, it's just a template.\n\n repeater.updateSubs($repeater.initial_subs); \n\n}\n\nWpcf7cfRepeater.prototype.getNewName = function(previousName) {\n var prev_parts = previousName.split('[');\n previousName = prev_parts[0];\n var prev_suff = prev_parts.length > 1 ? '['+prev_parts.splice(1).join('[') : '';\n var newName = previousName+'__{{repeater_sub_suffix}}'+prev_suff;\n\n if(previousName.endsWith('_count')) {\n newName = previousName.replace('_count','__{{repeater_sub_suffix}}_count');\n }\n\n return newName;\n}\n\n\nWpcf7cfRepeater.prototype.updateSubs = function(subs_to_show) {\n var repeater = this;\n var params = repeater.params;\n var subs_to_add = subs_to_show - params.$repeater.num_subs;\n\n if (subs_to_add < 0) {\n repeater.removeSubs(-subs_to_add);\n } else if (subs_to_add > 0) {\n repeater.addSubs(subs_to_add);\n }\n\n var showButtonRemove = false;\n var showButtonAdd = false;\n\n if (params.$repeater.num_subs < params.$repeater.max) {\n showButtonAdd = true;\n }\n if (params.$repeater.num_subs > params.$repeater.min) {\n showButtonRemove = true;\n }\n\n if (showButtonAdd) {\n params.$button_add.show();\n } else {\n params.$button_add.hide();\n\n }\n\n if (showButtonRemove) {\n params.$button_remove.show();\n } else {\n params.$button_remove.hide();\n }\n\n params.$repeater_count_field.val(subs_to_show);\n\n};\nWpcf7cfRepeater.prototype.addSubs = function(subs_to_add) {\n var $ = jQuery;\n var params = this.params;\n var repeater = this;\n var form = repeater.form;\n\n\n var $repeater = params.$repeater; \n var $repeater_controls = params.$repeater_controls;\n\n //jQuery(params.repeater_sub_html.replace(/name=\"(.*?)\"/g,'name=\"wpcf7cf_repeater['+$repeater.id+']['+$repeater.num_subs+'][$1]\" data-original-name=\"$1\"')).hide().insertBefore($repeater_controls).animate(wpcf7cf_show_animation, params.wpcf7cf_settings.animation_intime);\n\n var html_str = '';\n\n for(var i=1; i<=subs_to_add; i++) {\n var sub_suffix = $repeater.num_subs+i;\n html_str += params.repeater_sub_html.replace(/\\{\\{repeater_sub_suffix\\}\\}/g,sub_suffix)\n .replace(new RegExp('\\{\\{'+$repeater.orig_id+'_index\\}\\}','g'),sub_suffix);\n }\n\n\n var $html = jQuery(html_str);\n\n // Add the newly created fields to the form\n $html.hide().insertBefore($repeater_controls).animate(wpcf7cf_show_animation, params.wpcf7cf_settings.animation_intime).trigger('wpcf7cf_repeater_added');\n\n jQuery('.wpcf7cf_repeater', $html).each(function(){\n form.repeaters.push(new Wpcf7cfRepeater(jQuery(this),form));\n });\n form.$input_repeaters.val(JSON.stringify(form.repeaters.map((item)=>item.params.$repeater.id)));\n\n $repeater.num_subs+= subs_to_add;\n\n window.wpcf7cf.updateMultistepState(form.multistep);\n form.updateGroups();\n form.updateEventListeners();\n form.displayFields();\n\n // Exclusive Checkbox\n $html.on( 'click', '.wpcf7-exclusive-checkbox input:checkbox', function() {\n var name = $( this ).attr( 'name' );\n $html.find( 'input:checkbox[name=\"' + name + '\"]' ).not( this ).prop( 'checked', false );\n } );\n\n //basic compatibility with material-design-for-contact-form-7\n if (typeof window.cf7mdInit === \"function\") {\n window.cf7mdInit();\n }\n\n return false;\n};\nWpcf7cfRepeater.prototype.removeSubs = function(num_subs) {\n var $ = jQuery;\n var params = this.params;\n var form = this.form;\n\n params.$repeater.num_subs-= num_subs;\n\n jQuery('> .wpcf7cf_repeater_sub',params.$repeater).slice(-num_subs).animate(wpcf7cf_hide_animation, {duration:params.wpcf7cf_settings.animation_intime, done:function() {\n var $this = jQuery(this);\n //remove the actual fields from the form\n $this.remove();\n params.$repeater.trigger('wpcf7cf_repeater_removed');\n window.wpcf7cf.updateMultistepState(form.multistep);\n form.updateGroups();\n form.updateEventListeners();\n form.displayFields();\n }});\n\n return false;\n};\n\nfunction Wpcf7cfMultistep($multistep, form) {\n var multistep = this;\n multistep.$multistep = $multistep;\n multistep.form = form;\n multistep.$steps = $multistep.find('.wpcf7cf_step');\n multistep.$btn_next = $multistep.find('.wpcf7cf_next');\n multistep.$btn_prev = $multistep.find('.wpcf7cf_prev');\n multistep.$dots = $multistep.find('.wpcf7cf_steps-dots');\n multistep.currentStep = 0;\n multistep.numSteps = multistep.$steps.length;\n\n\n multistep.$dots.html('');\n for (var i = 1; i <= multistep.numSteps; i++) {\n multistep.$dots.append(`\n <div class=\"dot\" data-step=\"${i}\">\n <div class=\"step-index\">${i}</div>\n <div class=\"step-title\">${multistep.$steps.eq(i-1).data('title')}</div>\n </div>\n `);\n }\n\n multistep.$btn_next.on('click.wpcf7cf_step', async function() {\n \n var result = await multistep.validateStep(multistep.currentStep);\n if (result === 'success') {\n multistep.moveToStep(multistep.currentStep+1); \n }\n\n });\n\n // If form is submitted (by pressing Enter for example), and if we are not on the last step,\n // then trigger click event on the $btn_next button instead.\n multistep.form.$form.on('submit.wpcf7cf_step', function(e) {\n\n if (multistep.currentStep !== multistep.numSteps) {\n multistep.$btn_next.trigger('click.wpcf7cf_step');\n\n e.stopImmediatePropagation();\n return false;\n }\n });\n\n multistep.$btn_prev.on( 'click', function() {\n multistep.moveToStep(multistep.currentStep-1);\n });\n\n multistep.moveToStep(1);\n}\n\njQuery(document).ajaxComplete(function(e, xhr, settings){\n if (\n xhr.hasOwnProperty('responseJSON') &&\n xhr.responseJSON != null &&\n xhr.responseJSON.hasOwnProperty('status') &&\n xhr.responseJSON.hasOwnProperty('into') &&\n xhr.responseJSON.status === \"mail_success\"\n ) {\n jQuery( xhr.responseJSON.into ).trigger('reset.wpcf7cf');\n }\n});\n\nWpcf7cfMultistep.prototype.validateStep = function(step_index) {\n\n var multistep = this;\n var $multistep = multistep.$multistep;\n var $form = multistep.form.$form;\n var form = multistep.form;\n\n $form.find('.wpcf7-response-output').addClass('wpcf7-display-none');\n\n return new Promise(resolve => {\n\n var fd = new FormData();\n\n // Make sure to add file fields to FormData\n jQuery.each($form.find('[data-id=\"step-'+step_index+'\"] input[type=\"file\"]'), function(index, el) {\n if (! el.files.length) return false;\n const file = el.files[0];\n const fieldName = el.name;\n fd.append(fieldName, file);\n });\n\n var formdata = $form.serializeArray();\n jQuery.each(formdata,function(key, input){\n fd.append(input.name, input.value);\n });\n\n jQuery.ajax({\n url: wpcf7cf_global_settings.ajaxurl + '?action=wpcf7cf_validate_step',\n type: 'POST',\n data: fd,\n processData: false,\n contentType: false,\n dataType: 'json',\n }).done(function(json) {\n\n $multistep.find('.wpcf7-form-control-wrap .wpcf7-not-valid-tip').remove();\n $multistep.find('.wpcf7-not-valid').removeClass('wpcf7-not-valid');\n $multistep.find('.wpcf7-response-output').remove();\n $multistep.find('.wpcf7-response-output.wpcf7-validation-errors').removeClass('wpcf7-validation-errors');\n\n if (!json.success) {\n var checkError = 0;\n\n jQuery.each(json.invalid_fields, function(index, el) {\n if ($multistep.find('input[name=\"'+index+'\"]').length ||\n $multistep.find('input[name=\"'+index+'[]\"]').length ||\n $multistep.find('select[name=\"'+index+'\"]').length ||\n $multistep.find('select[name=\"'+index+'[]\"]').length ||\n $multistep.find('textarea[name=\"'+index+'\"]').length ||\n $multistep.find('textarea[name=\"'+index+'[]\"]').length\n ) {\n checkError = checkError + 1;\n\n var controlWrap = form.get('.wpcf7-form-control-wrap.' + index);\n controlWrap.find('.wpcf7-form-control').addClass('wpcf7-not-valid');\n controlWrap.find('span.wpcf7-not-valid-tip').remove();\n controlWrap.append('<span role=\"alert\" class=\"wpcf7-not-valid-tip\">' + el.reason + '</span>');\n\n }\n });\n\n resolve('failed');\n\n $multistep.parent().find('.wpcf7-response-output').removeClass('wpcf7-display-none').html(json.message);\n\n } else if (json.success) {\n resolve('success');\n return false;\n }\n\n }).fail(function() {\n resolve('error');\n }).always(function() {\n // do nothing\n });\n });\n\n};\nWpcf7cfMultistep.prototype.moveToStep = function(step_index) {\n var multistep = this;\n var previousStep = multistep.currentStep;\n\n multistep.currentStep = step_index > multistep.numSteps ? multistep.numSteps\n : step_index < 1 ? 1\n : step_index;\n\n // ANIMATION DISABLED FOR NOW cause it's ugly\n // multistep.$steps.animate(wpcf7cf_hide_step_animation, multistep.form.settings.animation_outtime);\n // multistep.$steps.eq(multistep.currentStep-1).animate(wpcf7cf_show_step_animation, multistep.form.settings.animation_intime);\n\n multistep.$multistep.attr('data-current_step', multistep.currentStep);\n multistep.$steps.hide();\n multistep.$steps\n .eq(multistep.currentStep-1)\n .show()\n .trigger('wpcf7cf_change_step', [previousStep, multistep.currentStep]);\n\n const formEl = multistep.form.$form[0];\n const topOffset = formEl.getBoundingClientRect().top;\n if (topOffset < 0 && previousStep > 0) {\n formEl.scrollIntoView({behavior: \"smooth\"});\n }\n\n multistep.form.updateSummaryFields();\n\n window.wpcf7cf.updateMultistepState(multistep);\n};\n\nWpcf7cfMultistep.prototype.getFieldsInStep = function(step_index) {\n wpcf7cf_reload_dom(this.form.$form);\n var inStep = false;\n return Object.values(wpcf7cf_dom).filter(function(item, i) {\n if(item.type == 'step') {\n inStep = item.val == step_index+'';\n }\n return inStep && item.type == 'input';\n }).map(function(item) {\n return item.name;\n });\n};\n\n// END PRO ONLY\n\nwindow.wpcf7cf = {\n\n // keep this for backwards compatibility\n initForm : function($forms) {\n $forms.each(function(){\n const $form = jQuery(this);\n // only add form is its class is \"wpcf7-form\" and if the form was not previously added\n if (\n $form.hasClass('wpcf7-form') &&\n !wpcf7cf_forms.some((form)=>{ return form.$form.get(0) === $form.get(0); })\n ) {\n wpcf7cf_forms.push(new Wpcf7cfForm($form));\n }\n });\n },\n\n get_nested_conditions : function(conditions, $current_form) {\n //loop trough conditions. Then loop trough the dom, and each repeater we pass we should update all sub_values we encounter with __index\n wpcf7cf_reload_dom($current_form);\n var groups = Object.values(wpcf7cf_dom).filter(function(item, i) {\n return item.type==='group';\n });\n\n var sub_conditions = [];\n\n for(var i = 0; i < groups.length; i++) {\n var g = groups[i];\n var relevant_conditions = conditions.filter(function(condition, i) {\n return condition.then_field === g.original_name;\n });\n \n var relevant_conditions = relevant_conditions.map(function(item,i) {\n return {\n then_field : g.name,\n and_rules : item.and_rules.map(function(and_rule, i) {\n return {\n if_field : and_rule.if_field+g.suffix,\n if_value : and_rule.if_value,\n operator : and_rule.operator\n };\n })\n }\n });\n\n sub_conditions = sub_conditions.concat(relevant_conditions);\n }\n return sub_conditions;\n },\n\n get_simplified_dom_model : function($current_form) {\n\n var currentNode;\n var ni = document.createNodeIterator($current_form[0], NodeFilter.SHOW_ELEMENT, null, false); //, NodeFilter.SHOW_ELEMENT, function(){ return NodeFilter.FILTER_ACCEPT; }\n\n var simplified_dom = {};\n\n while(currentNode = ni.nextNode()) {\n\n const type = currentNode.classList.contains('wpcf7cf_repeater') ? 'repeater' :\n currentNode.dataset.class == 'wpcf7cf_group' ? 'group' :\n currentNode.className == 'wpcf7cf_step' ? 'step' :\n currentNode.hasAttribute('name') ? 'input' : false;\n\n if (!type) {\n continue;\n } \n\n const name = type === 'input' ? currentNode.getAttribute('name') : currentNode.dataset.id;\n\n // skip _wpcf7 hidden fields\n if (name.substring(0,6) === '_wpcf7') continue;\n\n const original_name = type === 'repeater' || type === 'group' ? currentNode.dataset.orig_data_id\n : type === 'input' ? (currentNode.getAttribute('data-orig_name') || name)\n : name;\n\n const val = type === 'step' ? [currentNode.dataset.id.substring(5)] : [];\n\n const original_name_length = original_name == null ? name.length : original_name.length;\n const suffix = name.substring(original_name_length);\n\n if (!simplified_dom[name]) {\n // init entry\n simplified_dom[name] = {name, type, original_name, suffix, val}\n }\n\n if (type === 'input') {\n\n // skip unchecked checkboxes and radiobuttons\n if ( (currentNode.type === 'checkbox' || currentNode.type === 'radio') && !currentNode.checked ) continue;\n\n // if multiselect, make sure to add all the values\n if ( currentNode.multiple && currentNode.options ) {\n simplified_dom[name].val = Object.values(currentNode.options).filter(o => o.selected).map(o => o.value)\n } else {\n simplified_dom[name].val.push(currentNode.value);\n }\n }\n\n }\n\n return simplified_dom;\n },\n\n updateMultistepState: function (multistep) {\n if (multistep == null) return;\n\n // update hidden input field\n\n var stepsData = {\n currentStep : multistep.currentStep,\n numSteps : multistep.numSteps,\n fieldsInCurrentStep : multistep.getFieldsInStep(multistep.currentStep)\n };\n multistep.form.$input_steps.val(JSON.stringify(stepsData));\n\n // update Buttons\n multistep.$btn_prev.removeClass('disabled').attr('disabled', false);\n multistep.$btn_next.removeClass('disabled').attr('disabled', false);\n if (multistep.currentStep == multistep.numSteps) {\n multistep.$btn_next.addClass('disabled').attr('disabled', true);\n }\n if (multistep.currentStep == 1) {\n multistep.$btn_prev.addClass('disabled').attr('disabled', true);\n }\n\n // replace next button with submit button on last step.\n // TODO: make this depend on a setting\n var $submit_button = multistep.form.$form.find('input[type=\"submit\"]').eq(0);\n var $ajax_loader = multistep.form.$form.find('.ajax-loader').eq(0);\n if (multistep.currentStep == multistep.numSteps) {\n multistep.$btn_next.hide();\n $ajax_loader.detach().appendTo(multistep.$btn_next.parent());\n $submit_button.detach().appendTo(multistep.$btn_next.parent());\n $submit_button.show();\n } else {\n $submit_button.hide();\n multistep.$btn_next.show();\n }\n\n // update dots\n var $dots = multistep.$dots.find('.dot');\n $dots.removeClass('active').removeClass('completed');\n for(var step = 1; step <= multistep.numSteps; step++) {\n if (step < multistep.currentStep) {\n $dots.eq(step-1).addClass('completed');\n } else if (step == multistep.currentStep) {\n $dots.eq(step-1).addClass('active');\n }\n }\n\n },\n\n should_group_be_shown : function(condition) {\n\n var show_group = true;\n\n for (var and_rule_i = 0; and_rule_i < condition.and_rules.length; and_rule_i++) {\n\n var condition_ok = false;\n\n var condition_and_rule = condition.and_rules[and_rule_i];\n\n var inputField = wpcf7cf_getFieldByName(condition_and_rule.if_field);\n\n if (!inputField) continue; // field not found\n\n var if_val = condition_and_rule.if_value;\n var operator = condition_and_rule.operator;\n\n //backwards compat\n operator = operator === '≤' ? 'less than or equals' : operator;\n operator = operator === '≥' ? 'greater than or equals' : operator;\n operator = operator === '>' ? 'greater than' : operator;\n operator = operator === '<' ? 'less than' : operator;\n\n const $field = operator === 'function' && jQuery(`[name=\"${inputField.name}\"]`).eq(0);\n\n condition_ok = this.isConditionTrue(inputField.val,operator,if_val, $field);\n\n show_group = show_group && condition_ok;\n }\n\n return show_group;\n\n },\n isConditionTrue(values, operator, testValue='', $field=jQuery()) {\n\n if (!Array.isArray(values)) {\n values = [values];\n }\n\n let condition_ok = false; // start by assuming that the condition is not met\n\n // Considered EMPTY: [] [''] [null] ['',null] [,,'']\n // Considered NOT EMPTY: [0] ['ab','c'] ['',0,null]\n const valuesAreEmpty = values.length === 0 || values.every((v) => !v&&v!==0); // 0 is not considered empty\n\n // special cases: [] equals '' => TRUE; [] not equals '' => FALSE\n if (operator === 'equals' && testValue === '' && valuesAreEmpty) {\n return true;\n }\n if (operator === 'not equals' && testValue === '' && valuesAreEmpty) {\n return false;\n }\n\n if (valuesAreEmpty) {\n if (operator === 'is empty') {\n condition_ok = true;\n }\n } else {\n if (operator === 'not empty') {\n condition_ok = true;\n }\n }\n\n const testValueNumber = isFinite(parseFloat(testValue)) ? parseFloat(testValue) : NaN;\n\n\n if (operator === 'not equals' || operator === 'not equals (regex)') {\n // start by assuming that the condition is met\n condition_ok = true;\n }\n\n if (\n operator === 'function'\n && typeof window[testValue] == 'function'\n && window[testValue]($field) // here we call the actual user defined function\n ) {\n condition_ok = true;\n }\n\n let regex_patt = /.*/i; // fallback regex pattern\n let isValidRegex = true;\n if (operator === 'equals (regex)' || operator === 'not equals (regex)') {\n try {\n regex_patt = new RegExp(testValue, 'i');\n } catch(e) {\n isValidRegex = false;\n }\n }\n\n\n for(let i = 0; i < values.length; i++) {\n\n const value = values[i];\n\n const valueNumber = isFinite(parseFloat(value)) ? parseFloat(value) : NaN;\n const valsAreNumbers = !isNaN(valueNumber) && !isNaN(testValueNumber);\n\n if (\n\n operator === 'equals' && value === testValue ||\n operator === 'equals (regex)' && regex_patt.test(value) ||\n operator === 'greater than' && valsAreNumbers && valueNumber > testValueNumber ||\n operator === 'less than' && valsAreNumbers && valueNumber < testValueNumber ||\n operator === 'greater than or equals' && valsAreNumbers && valueNumber >= testValueNumber ||\n operator === 'less than or equals' && valsAreNumbers && valueNumber <= testValueNumber\n \n ) {\n\n condition_ok = true;\n break;\n\n } else if (\n\n operator === 'not equals' && value === testValue ||\n operator === 'not equals (regex)' && regex_patt.test(value)\n\n ) {\n\n condition_ok = false;\n break;\n\n }\n }\n\n return condition_ok;\n\n }\n\n};\n\njQuery('.wpcf7-form').each(function(){\n wpcf7cf_forms.push(new Wpcf7cfForm(jQuery(this)));\n});\n\n// Call displayFields again on all forms\n// Necessary in case some theme or plugin changed a form value by the time the entire page is fully loaded.\njQuery('document').ready(function() {\n wpcf7cf_forms.forEach(function(f){\n f.displayFields();\n });\n});\n\n// fix for exclusive checkboxes in IE (this will call the change-event again after all other checkboxes are unchecked, triggering the display_fields() function)\nvar old_wpcf7ExclusiveCheckbox = jQuery.fn.wpcf7ExclusiveCheckbox;\njQuery.fn.wpcf7ExclusiveCheckbox = function() {\n return this.find('input:checkbox').on('click', function() {\n var name = jQuery(this).attr('name');\n jQuery(this).closest('form').find('input:checkbox[name=\"' + name + '\"]').not(this).prop('checked', false).eq(0).change();\n });\n};\n\n","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;","module.exports = require(\"regenerator-runtime\");\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n"],"sourceRoot":""}
js/scripts_es6.js CHANGED
@@ -371,23 +371,20 @@ function Wpcf7cfRepeater($repeater, form) {
371
  $repeater_sub_clone.find('[name]').each(function() {
372
  var $this = jQuery(this);
373
  var prev_name = $this.attr('name');
374
- var orig_name = $this.attr('data-orig_name') != null ? $this.attr('data-orig_name') : prev_name;
375
- var new_name = prev_name+'__{{repeater_sub_suffix}}';
376
 
377
- if(prev_name.endsWith('_count')) {
378
- new_name = prev_name.replace('_count','__{{repeater_sub_suffix}}_count');
379
- }
380
 
381
  $this.attr('name', new_name);
382
  $this.attr('data-orig_name', orig_name);
383
- $this.closest('.wpcf7-form-control-wrap').addClass(new_name);
384
  });
385
 
386
  $repeater_sub_clone.find('.wpcf7cf_repeater,[data-class="wpcf7cf_group"]').each(function() {
387
  var $this = jQuery(this);
388
  var prev_data_id = $this.attr('data-id');
389
  var orig_data_id = $this.attr('data-orig_data_id') != null ? $this.attr('data-orig_data_id') : prev_data_id;
390
- var new_data_id = prev_data_id+'__{{repeater_sub_suffix}}';
391
 
392
  if(prev_data_id.endsWith('_count')) {
393
  new_data_id = prev_data_id.replace('_count','__{{repeater_sub_suffix}}_count');
@@ -395,29 +392,26 @@ function Wpcf7cfRepeater($repeater, form) {
395
 
396
  $this.attr('data-id', new_data_id);
397
  $this.attr('data-orig_data_id', orig_data_id);
398
- $this.closest('.wpcf7-form-control-wrap').addClass(new_data_id);
399
  });
400
 
401
  $repeater_sub_clone.find('[id]').each(function() {
402
  var $this = jQuery(this);
403
  var prev_id = $this.attr('id');
404
  var orig_id = $this.attr('data-orig_id') != null ? $this.attr('data-orig_id') : prev_id;
405
- var new_id = prev_id+'__{{repeater_sub_suffix}}';
406
 
407
  $this.attr('id', new_id);
408
  $this.attr('data-orig_id', orig_id);
409
- $this.closest('.wpcf7-form-control-wrap').addClass(new_id);
410
  });
411
 
412
  $repeater_sub_clone.find('[for]').each(function() {
413
  var $this = jQuery(this);
414
  var prev_for = $this.attr('for');
415
  var orig_for = $this.attr('data-orig_for') != null ? $this.attr('data-orig_for') : prev_for;
416
- var new_for = prev_for+'__{{repeater_sub_suffix}}';
417
 
418
  $this.attr('for', new_for);
419
  $this.attr('data-orig_for', orig_for);
420
- $this.closest('.wpcf7-form-control-wrap').addClass(new_for);
421
  });
422
 
423
  var repeater_sub_html = $repeater_sub_clone[0].outerHTML;
@@ -454,6 +448,18 @@ function Wpcf7cfRepeater($repeater, form) {
454
 
455
  }
456
 
 
 
 
 
 
 
 
 
 
 
 
 
457
 
458
 
459
  Wpcf7cfRepeater.prototype.updateSubs = function(subs_to_show) {
@@ -681,7 +687,7 @@ Wpcf7cfMultistep.prototype.validateStep = function(step_index) {
681
  checkError = checkError + 1;
682
 
683
  var controlWrap = form.get('.wpcf7-form-control-wrap.' + index);
684
- controlWrap.find('input').addClass('wpcf7-not-valid');
685
  controlWrap.find('span.wpcf7-not-valid-tip').remove();
686
  controlWrap.append('<span role="alert" class="wpcf7-not-valid-tip">' + el.reason + '</span>');
687
 
371
  $repeater_sub_clone.find('[name]').each(function() {
372
  var $this = jQuery(this);
373
  var prev_name = $this.attr('name');
374
+ var new_name = repeater.getNewName(prev_name);
 
375
 
376
+ var orig_name = $this.attr('data-orig_name') != null ? $this.attr('data-orig_name') : prev_name;
 
 
377
 
378
  $this.attr('name', new_name);
379
  $this.attr('data-orig_name', orig_name);
380
+ $this.closest('.wpcf7-form-control-wrap').addClass(new_name.replace('[]',''));
381
  });
382
 
383
  $repeater_sub_clone.find('.wpcf7cf_repeater,[data-class="wpcf7cf_group"]').each(function() {
384
  var $this = jQuery(this);
385
  var prev_data_id = $this.attr('data-id');
386
  var orig_data_id = $this.attr('data-orig_data_id') != null ? $this.attr('data-orig_data_id') : prev_data_id;
387
+ var new_data_id = repeater.getNewName(prev_data_id);
388
 
389
  if(prev_data_id.endsWith('_count')) {
390
  new_data_id = prev_data_id.replace('_count','__{{repeater_sub_suffix}}_count');
392
 
393
  $this.attr('data-id', new_data_id);
394
  $this.attr('data-orig_data_id', orig_data_id);
 
395
  });
396
 
397
  $repeater_sub_clone.find('[id]').each(function() {
398
  var $this = jQuery(this);
399
  var prev_id = $this.attr('id');
400
  var orig_id = $this.attr('data-orig_id') != null ? $this.attr('data-orig_id') : prev_id;
401
+ var new_id = repeater.getNewName(prev_id);
402
 
403
  $this.attr('id', new_id);
404
  $this.attr('data-orig_id', orig_id);
 
405
  });
406
 
407
  $repeater_sub_clone.find('[for]').each(function() {
408
  var $this = jQuery(this);
409
  var prev_for = $this.attr('for');
410
  var orig_for = $this.attr('data-orig_for') != null ? $this.attr('data-orig_for') : prev_for;
411
+ var new_for = repeater.getNewName(prev_for);
412
 
413
  $this.attr('for', new_for);
414
  $this.attr('data-orig_for', orig_for);
 
415
  });
416
 
417
  var repeater_sub_html = $repeater_sub_clone[0].outerHTML;
448
 
449
  }
450
 
451
+ Wpcf7cfRepeater.prototype.getNewName = function(previousName) {
452
+ var prev_parts = previousName.split('[');
453
+ previousName = prev_parts[0];
454
+ var prev_suff = prev_parts.length > 1 ? '['+prev_parts.splice(1).join('[') : '';
455
+ var newName = previousName+'__{{repeater_sub_suffix}}'+prev_suff;
456
+
457
+ if(previousName.endsWith('_count')) {
458
+ newName = previousName.replace('_count','__{{repeater_sub_suffix}}_count');
459
+ }
460
+
461
+ return newName;
462
+ }
463
 
464
 
465
  Wpcf7cfRepeater.prototype.updateSubs = function(subs_to_show) {
687
  checkError = checkError + 1;
688
 
689
  var controlWrap = form.get('.wpcf7-form-control-wrap.' + index);
690
+ controlWrap.find('.wpcf7-form-control').addClass('wpcf7-not-valid');
691
  controlWrap.find('span.wpcf7-not-valid-tip').remove();
692
  controlWrap.append('<span role="alert" class="wpcf7-not-valid-tip">' + el.reason + '</span>');
693
 
readme.txt CHANGED
@@ -6,7 +6,7 @@ Website: http://bdwm.be
6
  Tags: wordpress, contact form 7, forms, conditional fields
7
  Requires at least: 4.1
8
  Tested up to: 5.4.2
9
- Stable tag: 1.9.5
10
  Requires PHP: 5.6
11
  License: GPLv2 or later
12
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -102,6 +102,9 @@ The conditional fields javascript code is loaded during wp_footer, so a call to
102
 
103
  == Changelog ==
104
 
 
 
 
105
  = 1.9.5 (2020-07-01) =
106
  * PRO: Fixed bug: multistep forms interference with other forms after calling wpcf7cf.initForm()
107
  * PRO: Fixed bug: function operator no longer working.
6
  Tags: wordpress, contact form 7, forms, conditional fields
7
  Requires at least: 4.1
8
  Tested up to: 5.4.2
9
+ Stable tag: 1.9.6
10
  Requires PHP: 5.6
11
  License: GPLv2 or later
12
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
102
 
103
  == Changelog ==
104
 
105
+ = 1.9.6 (2020-07-04) =
106
+ * PRO: Fixed bug: checkboxes and multiselect validation not working inside repeater
107
+
108
  = 1.9.5 (2020-07-01) =
109
  * PRO: Fixed bug: multistep forms interference with other forms after calling wpcf7cf.initForm()
110
  * PRO: Fixed bug: function operator no longer working.