Conditional Fields for Contact Form 7 - Version 1.7.8

Version Description

(11-26-19) = * Updated/added Javascript events for groups, repeaters and multistep + added documentation at https://conditional-fields-cf7.bdwm.be/docs/examples/javascript-events/ * Fixed bug where using invalid regex as a value would give a JS error (https://wordpress.org/support/topic/star-ratings-6/) * PRO Multistep: Added attribute to multistep data-current_step which holds the current step index. (can be used as css selector like this: div[data-current_step=1]) * PRO Repeater: The string {{your-repeater_index}} inside a repeater called your-repeater will be replaced with the index of the current sub repeater. (See updated example at https://conditional-fields-cf7.bdwm.be/repeater/)

Download this release

Release Info

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

Code changes from version 1.7.6 to 1.7.8

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.7.6
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.7.8
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.7.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 ) );
@@ -11,7 +11,7 @@ if (!defined('WPCF7CF_LOAD_JS')) define('WPCF7CF_LOAD_JS', true);
11
  if (!defined('WPCF7CF_LOAD_CSS')) define('WPCF7CF_LOAD_CSS', true);
12
 
13
  if (!defined('WPCF7CF_REGEX_MAIL_GROUP')) define( 'WPCF7CF_REGEX_MAIL_GROUP', '@\[[\s]*([a-zA-Z_][0-9a-zA-Z:._-]*)[\s]*\](.*?)\[[\s]*/[\s]*\1[\s]*\]@s');
14
- if (!defined('WPCF7CF_REGEX_CONDITIONS')) define( 'WPCF7CF_REGEX_CONDITIONS', '/(?:show \[([^\]]*?)\]|and) if \[([^\]]*?)\] (?:(equals \(regex\)|not equals \(regex\)|equals|not equals|greater than or equals|greater than|less than or equals|less than|is empty|not empty)(?: \"(.*)\")?)/m');
15
 
16
 
17
  if(file_exists(WPCF7CF_PLUGIN_DIR.'/pro/pro-functions.php')) {
1
  <?php
2
 
3
+ if (!defined('WPCF7CF_VERSION')) define( 'WPCF7CF_VERSION', '1.7.8' );
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 ) );
11
  if (!defined('WPCF7CF_LOAD_CSS')) define('WPCF7CF_LOAD_CSS', true);
12
 
13
  if (!defined('WPCF7CF_REGEX_MAIL_GROUP')) define( 'WPCF7CF_REGEX_MAIL_GROUP', '@\[[\s]*([a-zA-Z_][0-9a-zA-Z:._-]*)[\s]*\](.*?)\[[\s]*/[\s]*\1[\s]*\]@s');
14
+ if (!defined('WPCF7CF_REGEX_CONDITIONS')) define( 'WPCF7CF_REGEX_CONDITIONS', '/(?:show \[([^\]]*?)\]|and) if \[([^\]]*?)\] (?:(equals \(regex\)|not equals \(regex\)|equals|not equals|greater than or equals|greater than|less than or equals|less than|is empty|not empty|function)(?: \"(.*)\")?)/m');
15
 
16
 
17
  if(file_exists(WPCF7CF_PLUGIN_DIR.'/pro/pro-functions.php')) {
js/scripts.js CHANGED
@@ -337,6 +337,7 @@ function Wpcf7cfRepeater($repeater, form) {
337
  repeater.form = form;
338
  $repeater.num_subs = 0;
339
  $repeater.id = $repeater.data('id');
 
340
  $repeater.min = typeof $repeater.data('min') !== 'undefined' ? parseInt($repeater.data('min')) : 1;
341
  $repeater.max = typeof $repeater.data('max') !== 'undefined' ? parseInt($repeater.data('max')) : 200;
342
  $repeater.initial_subs = typeof $repeater.data('initial') !== 'undefined' ? parseInt($repeater.data('initial')) : $repeater.min;
@@ -472,7 +473,7 @@ Wpcf7cfRepeater.prototype.addSubs = function (subs_to_add) {
472
 
473
  for (var i = 1; i <= subs_to_add; i++) {
474
  var sub_suffix = $repeater.num_subs + i;
475
- html_str += params.repeater_sub_html.replace(/\{\{repeater_sub_suffix\}\}/g, sub_suffix);
476
  }
477
 
478
  var $html = jQuery(html_str); // Add the newly created fields to the form
@@ -513,7 +514,7 @@ Wpcf7cfRepeater.prototype.removeSubs = function (num_subs) {
513
  var $this = jQuery(this); //remove the actual fields from the form
514
 
515
  $this.remove();
516
- form.$form.trigger('wpcf7cf_repeater_removed');
517
  wpcf7cf.updateMultistepState(form.multistep);
518
  form.updateGroups();
519
  form.updateEventListeners();
@@ -639,12 +640,15 @@ Wpcf7cfMultistep.prototype.validateStep = function (step_index) {
639
 
640
  Wpcf7cfMultistep.prototype.moveToStep = function (step_index) {
641
  var multistep = this;
 
642
  multistep.current_step = step_index > multistep.numSteps ? multistep.numSteps : step_index < 1 ? 1 : step_index; // ANIMATION DISABLED FOR NOW cause it's ugly
643
  // multistep.$steps.animate(wpcf7cf_hide_step_animation, multistep.form.settings.animation_outtime);
644
  // multistep.$steps.eq(multistep.current_step-1).animate(wpcf7cf_show_step_animation, multistep.form.settings.animation_intime);
645
 
 
646
  multistep.$steps.hide();
647
- multistep.$steps.eq(multistep.current_step - 1).show();
 
648
  wpcf7cf.updateMultistepState(multistep);
649
  };
650
 
@@ -825,7 +829,16 @@ var wpcf7cf = {
825
  var if_val = condition_and_rule.if_value;
826
  var if_val_as_number = isFinite(parseFloat(if_val)) ? parseFloat(if_val) : 0;
827
  var operator = condition_and_rule.operator;
828
- var regex_patt = new RegExp(if_val, 'i'); //backwards compat
 
 
 
 
 
 
 
 
 
829
 
830
  operator = operator === '≤' ? 'less than or equals' : operator;
831
  operator = operator === '≥' ? 'greater than or equals' : operator;
337
  repeater.form = form;
338
  $repeater.num_subs = 0;
339
  $repeater.id = $repeater.data('id');
340
+ $repeater.orig_id = $repeater.data('orig_data_id');
341
  $repeater.min = typeof $repeater.data('min') !== 'undefined' ? parseInt($repeater.data('min')) : 1;
342
  $repeater.max = typeof $repeater.data('max') !== 'undefined' ? parseInt($repeater.data('max')) : 200;
343
  $repeater.initial_subs = typeof $repeater.data('initial') !== 'undefined' ? parseInt($repeater.data('initial')) : $repeater.min;
473
 
474
  for (var i = 1; i <= subs_to_add; i++) {
475
  var sub_suffix = $repeater.num_subs + i;
476
+ html_str += params.repeater_sub_html.replace(/\{\{repeater_sub_suffix\}\}/g, sub_suffix).replace(new RegExp('\{\{' + $repeater.orig_id + '_index\}\}', 'g'), sub_suffix);
477
  }
478
 
479
  var $html = jQuery(html_str); // Add the newly created fields to the form
514
  var $this = jQuery(this); //remove the actual fields from the form
515
 
516
  $this.remove();
517
+ params.$repeater.trigger('wpcf7cf_repeater_removed');
518
  wpcf7cf.updateMultistepState(form.multistep);
519
  form.updateGroups();
520
  form.updateEventListeners();
640
 
641
  Wpcf7cfMultistep.prototype.moveToStep = function (step_index) {
642
  var multistep = this;
643
+ var previousStep = multistep.current_step;
644
  multistep.current_step = step_index > multistep.numSteps ? multistep.numSteps : step_index < 1 ? 1 : step_index; // ANIMATION DISABLED FOR NOW cause it's ugly
645
  // multistep.$steps.animate(wpcf7cf_hide_step_animation, multistep.form.settings.animation_outtime);
646
  // multistep.$steps.eq(multistep.current_step-1).animate(wpcf7cf_show_step_animation, multistep.form.settings.animation_intime);
647
 
648
+ multistep.$multistep.attr('data-current_step', multistep.current_step);
649
  multistep.$steps.hide();
650
+ multistep.$steps.eq(multistep.current_step - 1).show().trigger('wpcf7cf_change_step', [previousStep, multistep.current_step]); // change step;
651
+
652
  wpcf7cf.updateMultistepState(multistep);
653
  };
654
 
829
  var if_val = condition_and_rule.if_value;
830
  var if_val_as_number = isFinite(parseFloat(if_val)) ? parseFloat(if_val) : 0;
831
  var operator = condition_and_rule.operator;
832
+ var regex_patt = /.*/i; // fallback regex pattern
833
+
834
+ var isValidRegex = true;
835
+
836
+ try {
837
+ regex_patt = new RegExp(if_val, 'i');
838
+ } catch (e) {
839
+ isValidRegex = false;
840
+ } //backwards compat
841
+
842
 
843
  operator = operator === '≤' ? 'less than or equals' : operator;
844
  operator = operator === '≥' ? 'greater than or equals' : operator;
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_show_animation","wpcf7cf_hide_animation","wpcf7cf_show_step_animation","wpcf7cf_hide_step_animation","wpcf7cf_change_events","wpcf7cf_forms","String","prototype","endsWith","search","this_len","undefined","length","substring","Wpcf7cfForm","$form","options_element","find","eq","val","form","form_options","JSON","parse","$input_hidden_group_fields","$input_hidden_groups","$input_visible_groups","$input_repeaters","$input_steps","unit_tag","closest","attr","conditions","i","condition","and_rules","if_field","if_value","operator","initial_conditions","settings","$groups","jQuery","repeaters","multistep","fields","animation_intime","parseInt","animation_outtime","animation","updateGroups","updateEventListeners","displayFields","on","e","data","setTimeout","each","push","Wpcf7cfRepeater","stringify","map","item","params","$repeater","id","$multistep","Wpcf7cfMultistep","wpcf7cf","get_simplified_dom_model","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","change","hide","updateHiddenFields","hidden_fields","hidden_groups","visible_groups","get_nested_conditions","off","clearTimeout","text","$","repeater","num_subs","min","max","initial_subs","$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","orig_id","new_id","prev_for","orig_for","new_for","repeater_sub_html","outerHTML","$repeater_count_field","$button_add","$button_remove","click","updateSubs","remove","subs_to_show","subs_to_add","removeSubs","addSubs","showButtonRemove","showButtonAdd","html_str","sub_suffix","$html","insertBefore","updateMultistepState","name","window","cf7mdInit","slice","duration","done","$steps","$btn_next","$btn_prev","$dots","current_step","numSteps","html","append","validateStep","result","console","log","moveToStep","step_index","Promise","resolve","fd","FormData","formdata","serializeArray","key","input","value","ajax","url","wpcf7cf_global_settings","ajaxurl","type","processData","contentType","dataType","json","_cf7mls_db_form_data_id","success","checkError","invalid_fields","el","controlWrap","reason","message","fail","always","getFieldsInStep","simpleDom","inStep","filter","step","initForm","$current_form","simplified_dom","groups","sub_conditions","g","relevant_conditions","original_name","and_rule","suffix","concat","currentNode","ni","document","createNodeIterator","NodeFilter","SHOW_ELEMENT","nextNode","classList","contains","dataset","className","hasAttribute","getAttribute","original_name_length","stepsData","currentStep","fieldsInCurrentStep","$submit_button","$submit_clone","parent","and_rule_i","condition_ok","condition_and_rule","$field","if_val","if_val_as_number","isFinite","parseFloat","regex_patt","RegExp","$option","option_val","test","field_val","field_val_as_number","field_is_checked","all_values","checked_values","checked_value_index","inArray","value_index","ind","checked_val","checked_val_as_number","ready","forEach","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","Object","hasOwn","hasOwnProperty","$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","values","Gp","displayName","defineIteratorMethods","method","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","__await","AsyncIterator","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","isNaN","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","get","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;\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\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 // 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', form, function(e) {\n var form = e.data;\n setTimeout(function(){\n form.displayFields();\n },200);\n });\n\n // PRO ONLY\n\n jQuery('.wpcf7cf_repeater:not(.wpcf7cf_repeater .wpcf7cf_repeater)', $form).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 = jQuery('.wpcf7cf_multistep', $form);\n\n if ($multistep.length) {\n form.multistep = new Wpcf7cfMultistep($multistep, form);\n // wpcf7cf.updateMultistepState(form.multistep);\n }\n\n // END PRO ONLY\n\n}\nWpcf7cfForm.prototype.displayFields = function() {\n\n var form = this;\n\n wpcf7cf.get_simplified_dom_model(form.$form);\n\n var unit_tag = this.unit_tag;\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 for (var i=0; i < wpcf7cf_conditions.length; i++) {\n\n var condition = wpcf7cf_conditions[i];\n\n var show_group = wpcf7cf.should_group_be_shown(condition, form.$form);\n\n if (show_group) {\n jQuery('[data-id='+condition.then_field+']',form.$form).eq(0).removeClass('wpcf7cf-hidden');\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 $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};\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 = 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 display_fields() if something has changed\n jQuery('input, select, textarea, button',form.$form).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 }, 100);\n });\n\n // PRO ONLY\n jQuery('.wpcf7cf-togglebutton', form.$form).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.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.click( repeater, function(e) {\n var repeater = e.data;\n repeater.updateSubs(params.$repeater.num_subs+1);\n });\n\n $button_remove.click( 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 }\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 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 form.$form.trigger('wpcf7cf_repeater_removed');\n 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.current_step = 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.current_step);\n console.log('got this result: ' + result);\n if (result === 'success') {\n multistep.moveToStep(multistep.current_step+1);\n }\n });\n\n multistep.$btn_prev.click(function() {\n multistep.moveToStep(multistep.current_step-1);\n });\n\n multistep.moveToStep(1);\n}\n\nWpcf7cfMultistep.prototype.validateStep = function(step_index) {\n\n return new Promise(resolve => {\n var multistep = this;\n var $multistep = multistep.$multistep;\n\n //validation\n var $form = multistep.form.$form;\n\n var fd = new FormData();\n\n // TEST IF FILES UPLOADS WORK? THEN REMOVE THIS\n // jQuery.each($form.find('[data-id=\"step'+step_index+'\"] input[type=\"file\"]'), function(index, el) {\n // fd.append(jQuery(el).attr('name'), jQuery(el)[0].files[0]);\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 /*\n * Insert _form_data_id if 'json variable' has\n */\n if (typeof json._cf7mls_db_form_data_id != 'undefined') {\n if (!form.find('input[name=\"_cf7mls_db_form_data_id\"]').length) {\n form.append('<input type=\"hidden\" name=\"_cf7mls_db_form_data_id\" value=\"'+json._cf7mls_db_form_data_id+'\" />');\n }\n }\n\n //reset error messages\n $multistep.find('.wpcf7-form-control-wrap').removeClass('cf7mls-invalid');\n $multistep.find('.wpcf7-form-control-wrap .wpcf7-not-valid-tip').remove();\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 = jQuery('.wpcf7-form-control-wrap.' + index, $form);\n controlWrap.addClass('cf7mls-invalid');\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 //return false;\n }\n });\n\n resolve('failed');\n $multistep.append('<div class=\"wpcf7-response-output wpcf7-display-none wpcf7-validation-errors\" style=\"display: block;\" role=\"alert\">' + json.message + '</div>');\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 multistep.current_step = 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.current_step-1).animate(wpcf7cf_show_step_animation, multistep.form.settings.animation_intime);\n\n multistep.$steps.hide();\n multistep.$steps.eq(multistep.current_step-1).show(); \n\n wpcf7cf.updateMultistepState(multistep);\n};\n\nWpcf7cfMultistep.prototype.getFieldsInStep = function(step_index) {\n var simpleDom = wpcf7cf.get_simplified_dom_model(this.form.$form);\n var inStep = false;\n return simpleDom.filter(function(item, i) {\n if(item.type == 'step') {\n inStep = item.step == 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\nvar wpcf7cf = {\n\n // keep this for backwards compatibility\n initForm : function($form) {\n wpcf7cf_forms.push(new Wpcf7cfForm($form));\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 var simplified_dom = wpcf7cf.get_simplified_dom_model($current_form);\n var groups = simplified_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 conditions.concat(sub_conditions);\n },\n\n get_simplified_dom_model : function($current_form) {\n // if the dom is something like:\n // <form>\n // <repeater ra>\n // <group ga__1>\n // <repeater rb__1>\n // <input txta__1__1 />\n // <input txta__1__2 />\n // </repeater>\n // <group gb__1>\n // <input txtb__1 />\n // </group>\n // </group>\n // <group ga__2>\n // <repeater rb__2>\n // <input txta__2__1 />\n // </repeater>\n // <group gb__2>\n // <input txtb__2 />\n // </group>\n // </group>\n // </repeater>\n // </form>\n // \n // return something like:\n // [{type:repeater, name:'ra', suffix: '__1'}, {type: group, name:'ga', suffix: '__1'}, ...]\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 if (currentNode.classList.contains('wpcf7cf_repeater')) {\n simplified_dom.push({type:'repeater', name:currentNode.dataset.id, original_name:currentNode.dataset.orig_data_id})\n } else if (currentNode.dataset.class == 'wpcf7cf_group') {\n simplified_dom.push({type:'group', name:currentNode.dataset.id, original_name:currentNode.dataset.orig_data_id})\n } else if (currentNode.className == 'wpcf7cf_step') {\n simplified_dom.push({type:'step', name:currentNode.dataset.id, original_name:currentNode.dataset.id, step: currentNode.dataset.id.substring(5)})\n } else if (currentNode.hasAttribute('name')) {\n simplified_dom.push({type:'input', name:currentNode.getAttribute('name'), original_name:currentNode.getAttribute('data-orig_name')})\n }\n }\n\n simplified_dom = simplified_dom.map(function(item, i){\n var original_name_length = item.original_name == null ? item.name.length : item.original_name.length;\n item.suffix = item.name.substring(original_name_length);\n return item;\n });\n\n //console.table(simplified_dom);\n return simplified_dom;\n\n },\n\n updateMultistepState: function (multistep) {\n if (multistep == null) return;\n\n // update hidden input field\n\n var stepsData = {\n currentStep : multistep.current_step,\n numSteps : multistep.numSteps,\n fieldsInCurrentStep : multistep.getFieldsInStep(multistep.current_step)\n };\n multistep.form.$input_steps.val(JSON.stringify(stepsData));\n\n // update Buttons\n multistep.$btn_prev.removeClass('disabled');\n multistep.$btn_next.removeClass('disabled');\n if (multistep.current_step == multistep.numSteps) {\n multistep.$btn_next.addClass('disabled');\n }\n if (multistep.current_step == 1) {\n multistep.$btn_prev.addClass('disabled');\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 if (multistep.current_step == multistep.numSteps) {\n var $submit_clone = $submit_button.clone();\n $submit_button.hide();\n multistep.$btn_next.hide();\n multistep.$btn_next.parent().append($submit_clone);\n } else {\n multistep.$btn_next.parent().find('input[type=submit]').remove();\n $submit_button.show();\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.current_step) {\n $dots.eq(step-1).addClass('completed');\n } else if (step == multistep.current_step) {\n $dots.eq(step-1).addClass('active');\n }\n }\n\n },\n\n should_group_be_shown : function(condition, $current_form) {\n\n var $ = jQuery;\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 $field = jQuery('[name=\"' + condition_and_rule.if_field + '\"], [name=\"' + condition_and_rule.if_field + '[]\"], [data-original-name=\"' + condition_and_rule.if_field + '\"], [data-original-name=\"' + condition_and_rule.if_field + '[]\"]',$current_form);\n\n var if_val = condition_and_rule.if_value;\n var if_val_as_number = isFinite(parseFloat(if_val)) ? parseFloat(if_val):0;\n var operator = condition_and_rule.operator;\n var regex_patt = new RegExp(if_val, 'i');\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\n if ($field.length === 1) {\n\n // single field (tested with text field, single checkbox, select with single value (dropdown), select with multiple values)\n\n if ($field.is('select')) {\n\n if (operator === 'not equals') {\n condition_ok = true;\n }\n\n $field.find('option:selected').each(function () {\n var $option = jQuery(this);\n var option_val = $option.val()\n if (\n operator === 'equals' && option_val === if_val ||\n operator === 'equals (regex)' && regex_patt.test($option.val())\n ) {\n condition_ok = true;\n } else if (\n operator === 'not equals' && option_val === if_val ||\n operator === 'not equals (regex)' && !regex_patt.test($option.val())\n ) {\n condition_ok = false;\n return false; // break out of the loop\n }\n });\n\n show_group = show_group && condition_ok;\n }\n\n var field_val = $field.val();\n var field_val_as_number = isFinite(parseFloat(field_val)) ? parseFloat(field_val):0;\n\n if ($field.attr('type') === 'checkbox') {\n var field_is_checked = $field.is(':checked');\n if (\n operator === 'equals' && field_is_checked && field_val === if_val ||\n operator === 'not equals' && !field_is_checked ||\n operator === 'is empty' && !field_is_checked ||\n operator === 'not empty' && field_is_checked ||\n operator === 'greater than' && field_is_checked && field_val_as_number > if_val_as_number ||\n operator === 'less than' && field_is_checked && field_val_as_number < if_val_as_number ||\n operator === 'greater than or equals' && field_is_checked && field_val_as_number >= if_val_as_number ||\n operator === 'less than or equals' && field_is_checked && field_val_as_number <= if_val_as_number ||\n operator === 'equals (regex)' && field_is_checked && regex_patt.test(field_val) ||\n operator === 'not equals (regex)' && !field_is_checked\n\n ) {\n condition_ok = true;\n }\n } else if (\n operator === 'equals' && field_val === if_val ||\n operator === 'not equals' && field_val !== if_val ||\n operator === 'equals (regex)' && regex_patt.test(field_val) ||\n operator === 'not equals (regex)' && !regex_patt.test(field_val) ||\n operator === 'greater than' && field_val_as_number > if_val_as_number ||\n operator === 'less than' && field_val_as_number < if_val_as_number ||\n operator === 'greater than or equals' && field_val_as_number >= if_val_as_number ||\n operator === 'less than or equals' && field_val_as_number <= if_val_as_number ||\n operator === 'is empty' && field_val === '' ||\n operator === 'not empty' && field_val !== '' ||\n (\n operator === 'function'\n && typeof window[if_val] == 'function'\n && window[if_val]($field)\n )\n ) {\n condition_ok = true;\n }\n\n\n } else if ($field.length > 1) {\n\n // multiple fields (tested with checkboxes, exclusive checkboxes, dropdown with multiple values)\n\n var all_values = [];\n var checked_values = [];\n $field.each(function () {\n all_values.push(jQuery(this).val());\n if (jQuery(this).is(':checked')) {\n checked_values.push(jQuery(this).val());\n }\n });\n\n var checked_value_index = jQuery.inArray(if_val, checked_values);\n var value_index = jQuery.inArray(if_val, all_values);\n\n if (\n ( operator === 'is empty' && checked_values.length === 0 ) ||\n ( operator === 'not empty' && checked_values.length > 0 )\n ) {\n condition_ok = true;\n }\n\n\n for (var ind = 0; ind < checked_values.length; ind++) {\n var checked_val = checked_values[ind];\n var checked_val_as_number = isFinite(parseFloat(checked_val)) ? parseFloat(checked_val):0;\n if (\n ( operator === 'equals' && checked_val === if_val ) ||\n ( operator === 'not equals' && checked_val !== if_val ) ||\n ( operator === 'equals (regex)' && regex_patt.test(checked_val) ) ||\n ( operator === 'not equals (regex)' && !regex_patt.test(checked_val) ) ||\n ( operator === 'greater than' && checked_val_as_number > if_val_as_number ) ||\n ( operator === 'less than' && checked_val_as_number < if_val_as_number ) ||\n ( operator === 'greater than or equals' && checked_val_as_number >= if_val_as_number ) ||\n ( operator === 'less than or equals' && checked_val_as_number <= if_val_as_number )\n ) {\n condition_ok = true;\n }\n }\n }\n\n show_group = show_group && condition_ok;\n }\n\n return show_group;\n\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').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) {\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 Promise.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 Promise.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 Promise(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) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\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_show_animation","wpcf7cf_hide_animation","wpcf7cf_show_step_animation","wpcf7cf_hide_step_animation","wpcf7cf_change_events","wpcf7cf_forms","String","prototype","endsWith","search","this_len","undefined","length","substring","Wpcf7cfForm","$form","options_element","find","eq","val","form","form_options","JSON","parse","$input_hidden_group_fields","$input_hidden_groups","$input_visible_groups","$input_repeaters","$input_steps","unit_tag","closest","attr","conditions","i","condition","and_rules","if_field","if_value","operator","initial_conditions","settings","$groups","jQuery","repeaters","multistep","fields","animation_intime","parseInt","animation_outtime","animation","updateGroups","updateEventListeners","displayFields","on","e","data","setTimeout","each","push","Wpcf7cfRepeater","stringify","map","item","params","$repeater","id","$multistep","Wpcf7cfMultistep","wpcf7cf","get_simplified_dom_model","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","change","hide","updateHiddenFields","hidden_fields","hidden_groups","visible_groups","get_nested_conditions","off","clearTimeout","text","$","repeater","num_subs","orig_id","min","max","initial_subs","$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","click","updateSubs","remove","subs_to_show","subs_to_add","removeSubs","addSubs","showButtonRemove","showButtonAdd","html_str","sub_suffix","RegExp","$html","insertBefore","updateMultistepState","name","window","cf7mdInit","slice","duration","done","$steps","$btn_next","$btn_prev","$dots","current_step","numSteps","html","append","validateStep","result","console","log","moveToStep","step_index","Promise","resolve","fd","FormData","formdata","serializeArray","key","input","value","ajax","url","wpcf7cf_global_settings","ajaxurl","type","processData","contentType","dataType","json","_cf7mls_db_form_data_id","success","checkError","invalid_fields","el","controlWrap","reason","message","fail","always","previousStep","getFieldsInStep","simpleDom","inStep","filter","step","initForm","$current_form","simplified_dom","groups","sub_conditions","g","relevant_conditions","original_name","and_rule","suffix","concat","currentNode","ni","document","createNodeIterator","NodeFilter","SHOW_ELEMENT","nextNode","classList","contains","dataset","className","hasAttribute","getAttribute","original_name_length","stepsData","currentStep","fieldsInCurrentStep","$submit_button","$submit_clone","parent","and_rule_i","condition_ok","condition_and_rule","$field","if_val","if_val_as_number","isFinite","parseFloat","regex_patt","isValidRegex","$option","option_val","test","field_val","field_val_as_number","field_is_checked","all_values","checked_values","checked_value_index","inArray","value_index","ind","checked_val","checked_val_as_number","ready","forEach","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","Object","hasOwn","hasOwnProperty","$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","values","Gp","displayName","defineIteratorMethods","method","isGeneratorFunction","genFun","ctor","mark","setPrototypeOf","__proto__","awrap","__await","AsyncIterator","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","isNaN","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","get","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;\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\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 // 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', form, function(e) {\n var form = e.data;\n setTimeout(function(){\n form.displayFields();\n },200);\n });\n\n // PRO ONLY\n\n jQuery('.wpcf7cf_repeater:not(.wpcf7cf_repeater .wpcf7cf_repeater)', $form).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 = jQuery('.wpcf7cf_multistep', $form);\n\n if ($multistep.length) {\n form.multistep = new Wpcf7cfMultistep($multistep, form);\n // wpcf7cf.updateMultistepState(form.multistep);\n }\n\n // END PRO ONLY\n\n}\nWpcf7cfForm.prototype.displayFields = function() {\n\n var form = this;\n\n wpcf7cf.get_simplified_dom_model(form.$form);\n\n var unit_tag = this.unit_tag;\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 for (var i=0; i < wpcf7cf_conditions.length; i++) {\n\n var condition = wpcf7cf_conditions[i];\n\n var show_group = wpcf7cf.should_group_be_shown(condition, form.$form);\n\n if (show_group) {\n jQuery('[data-id='+condition.then_field+']',form.$form).eq(0).removeClass('wpcf7cf-hidden');\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 $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};\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 = 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 display_fields() if something has changed\n jQuery('input, select, textarea, button',form.$form).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 }, 100);\n });\n\n // PRO ONLY\n jQuery('.wpcf7cf-togglebutton', form.$form).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.click( repeater, function(e) {\n var repeater = e.data;\n repeater.updateSubs(params.$repeater.num_subs+1);\n });\n\n $button_remove.click( 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 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 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.current_step = 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.current_step);\n console.log('got this result: ' + result);\n if (result === 'success') {\n multistep.moveToStep(multistep.current_step+1);\n }\n });\n\n multistep.$btn_prev.click(function() {\n multistep.moveToStep(multistep.current_step-1);\n });\n\n multistep.moveToStep(1);\n}\n\nWpcf7cfMultistep.prototype.validateStep = function(step_index) {\n\n return new Promise(resolve => {\n var multistep = this;\n var $multistep = multistep.$multistep;\n\n //validation\n var $form = multistep.form.$form;\n\n var fd = new FormData();\n\n // TEST IF FILES UPLOADS WORK? THEN REMOVE THIS\n // jQuery.each($form.find('[data-id=\"step'+step_index+'\"] input[type=\"file\"]'), function(index, el) {\n // fd.append(jQuery(el).attr('name'), jQuery(el)[0].files[0]);\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 /*\n * Insert _form_data_id if 'json variable' has\n */\n if (typeof json._cf7mls_db_form_data_id != 'undefined') {\n if (!form.find('input[name=\"_cf7mls_db_form_data_id\"]').length) {\n form.append('<input type=\"hidden\" name=\"_cf7mls_db_form_data_id\" value=\"'+json._cf7mls_db_form_data_id+'\" />');\n }\n }\n\n //reset error messages\n $multistep.find('.wpcf7-form-control-wrap').removeClass('cf7mls-invalid');\n $multistep.find('.wpcf7-form-control-wrap .wpcf7-not-valid-tip').remove();\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 = jQuery('.wpcf7-form-control-wrap.' + index, $form);\n controlWrap.addClass('cf7mls-invalid');\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 //return false;\n }\n });\n\n resolve('failed');\n $multistep.append('<div class=\"wpcf7-response-output wpcf7-display-none wpcf7-validation-errors\" style=\"display: block;\" role=\"alert\">' + json.message + '</div>');\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.current_step;\n\n multistep.current_step = 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.current_step-1).animate(wpcf7cf_show_step_animation, multistep.form.settings.animation_intime);\n\n multistep.$multistep.attr('data-current_step', multistep.current_step);\n multistep.$steps.hide();\n multistep.$steps.eq(multistep.current_step-1).show().trigger('wpcf7cf_change_step', [previousStep, multistep.current_step]); // change step;\n\n wpcf7cf.updateMultistepState(multistep);\n};\n\nWpcf7cfMultistep.prototype.getFieldsInStep = function(step_index) {\n var simpleDom = wpcf7cf.get_simplified_dom_model(this.form.$form);\n var inStep = false;\n return simpleDom.filter(function(item, i) {\n if(item.type == 'step') {\n inStep = item.step == 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\nvar wpcf7cf = {\n\n // keep this for backwards compatibility\n initForm : function($form) {\n wpcf7cf_forms.push(new Wpcf7cfForm($form));\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 var simplified_dom = wpcf7cf.get_simplified_dom_model($current_form);\n var groups = simplified_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 conditions.concat(sub_conditions);\n },\n\n get_simplified_dom_model : function($current_form) {\n // if the dom is something like:\n // <form>\n // <repeater ra>\n // <group ga__1>\n // <repeater rb__1>\n // <input txta__1__1 />\n // <input txta__1__2 />\n // </repeater>\n // <group gb__1>\n // <input txtb__1 />\n // </group>\n // </group>\n // <group ga__2>\n // <repeater rb__2>\n // <input txta__2__1 />\n // </repeater>\n // <group gb__2>\n // <input txtb__2 />\n // </group>\n // </group>\n // </repeater>\n // </form>\n // \n // return something like:\n // [{type:repeater, name:'ra', suffix: '__1'}, {type: group, name:'ga', suffix: '__1'}, ...]\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 if (currentNode.classList.contains('wpcf7cf_repeater')) {\n simplified_dom.push({type:'repeater', name:currentNode.dataset.id, original_name:currentNode.dataset.orig_data_id})\n } else if (currentNode.dataset.class == 'wpcf7cf_group') {\n simplified_dom.push({type:'group', name:currentNode.dataset.id, original_name:currentNode.dataset.orig_data_id})\n } else if (currentNode.className == 'wpcf7cf_step') {\n simplified_dom.push({type:'step', name:currentNode.dataset.id, original_name:currentNode.dataset.id, step: currentNode.dataset.id.substring(5)})\n } else if (currentNode.hasAttribute('name')) {\n simplified_dom.push({type:'input', name:currentNode.getAttribute('name'), original_name:currentNode.getAttribute('data-orig_name')})\n }\n }\n\n simplified_dom = simplified_dom.map(function(item, i){\n var original_name_length = item.original_name == null ? item.name.length : item.original_name.length;\n item.suffix = item.name.substring(original_name_length);\n return item;\n });\n\n //console.table(simplified_dom);\n return simplified_dom;\n\n },\n\n updateMultistepState: function (multistep) {\n if (multistep == null) return;\n\n // update hidden input field\n\n var stepsData = {\n currentStep : multistep.current_step,\n numSteps : multistep.numSteps,\n fieldsInCurrentStep : multistep.getFieldsInStep(multistep.current_step)\n };\n multistep.form.$input_steps.val(JSON.stringify(stepsData));\n\n // update Buttons\n multistep.$btn_prev.removeClass('disabled');\n multistep.$btn_next.removeClass('disabled');\n if (multistep.current_step == multistep.numSteps) {\n multistep.$btn_next.addClass('disabled');\n }\n if (multistep.current_step == 1) {\n multistep.$btn_prev.addClass('disabled');\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 if (multistep.current_step == multistep.numSteps) {\n var $submit_clone = $submit_button.clone();\n $submit_button.hide();\n multistep.$btn_next.hide();\n multistep.$btn_next.parent().append($submit_clone);\n } else {\n multistep.$btn_next.parent().find('input[type=submit]').remove();\n $submit_button.show();\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.current_step) {\n $dots.eq(step-1).addClass('completed');\n } else if (step == multistep.current_step) {\n $dots.eq(step-1).addClass('active');\n }\n }\n\n },\n\n should_group_be_shown : function(condition, $current_form) {\n\n var $ = jQuery;\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 $field = jQuery('[name=\"' + condition_and_rule.if_field + '\"], [name=\"' + condition_and_rule.if_field + '[]\"], [data-original-name=\"' + condition_and_rule.if_field + '\"], [data-original-name=\"' + condition_and_rule.if_field + '[]\"]',$current_form);\n\n var if_val = condition_and_rule.if_value;\n var if_val_as_number = isFinite(parseFloat(if_val)) ? parseFloat(if_val):0;\n var operator = condition_and_rule.operator;\n \n var regex_patt = /.*/i; // fallback regex pattern\n var isValidRegex = true;\n try {\n regex_patt = new RegExp(if_val, 'i');\n } catch(e) {\n isValidRegex = false;\n }\n\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\n if ($field.length === 1) {\n\n // single field (tested with text field, single checkbox, select with single value (dropdown), select with multiple values)\n\n if ($field.is('select')) {\n\n if (operator === 'not equals') {\n condition_ok = true;\n }\n\n $field.find('option:selected').each(function () {\n var $option = jQuery(this);\n var option_val = $option.val()\n if (\n operator === 'equals' && option_val === if_val ||\n operator === 'equals (regex)' && regex_patt.test($option.val())\n ) {\n condition_ok = true;\n } else if (\n operator === 'not equals' && option_val === if_val ||\n operator === 'not equals (regex)' && !regex_patt.test($option.val())\n ) {\n condition_ok = false;\n return false; // break out of the loop\n }\n });\n\n show_group = show_group && condition_ok;\n }\n\n var field_val = $field.val();\n var field_val_as_number = isFinite(parseFloat(field_val)) ? parseFloat(field_val):0;\n\n if ($field.attr('type') === 'checkbox') {\n var field_is_checked = $field.is(':checked');\n if (\n operator === 'equals' && field_is_checked && field_val === if_val ||\n operator === 'not equals' && !field_is_checked ||\n operator === 'is empty' && !field_is_checked ||\n operator === 'not empty' && field_is_checked ||\n operator === 'greater than' && field_is_checked && field_val_as_number > if_val_as_number ||\n operator === 'less than' && field_is_checked && field_val_as_number < if_val_as_number ||\n operator === 'greater than or equals' && field_is_checked && field_val_as_number >= if_val_as_number ||\n operator === 'less than or equals' && field_is_checked && field_val_as_number <= if_val_as_number ||\n operator === 'equals (regex)' && field_is_checked && regex_patt.test(field_val) ||\n operator === 'not equals (regex)' && !field_is_checked\n\n ) {\n condition_ok = true;\n }\n } else if (\n operator === 'equals' && field_val === if_val ||\n operator === 'not equals' && field_val !== if_val ||\n operator === 'equals (regex)' && regex_patt.test(field_val) ||\n operator === 'not equals (regex)' && !regex_patt.test(field_val) ||\n operator === 'greater than' && field_val_as_number > if_val_as_number ||\n operator === 'less than' && field_val_as_number < if_val_as_number ||\n operator === 'greater than or equals' && field_val_as_number >= if_val_as_number ||\n operator === 'less than or equals' && field_val_as_number <= if_val_as_number ||\n operator === 'is empty' && field_val === '' ||\n operator === 'not empty' && field_val !== '' ||\n (\n operator === 'function'\n && typeof window[if_val] == 'function'\n && window[if_val]($field)\n )\n ) {\n condition_ok = true;\n }\n\n\n } else if ($field.length > 1) {\n\n // multiple fields (tested with checkboxes, exclusive checkboxes, dropdown with multiple values)\n\n var all_values = [];\n var checked_values = [];\n $field.each(function () {\n all_values.push(jQuery(this).val());\n if (jQuery(this).is(':checked')) {\n checked_values.push(jQuery(this).val());\n }\n });\n\n var checked_value_index = jQuery.inArray(if_val, checked_values);\n var value_index = jQuery.inArray(if_val, all_values);\n\n if (\n ( operator === 'is empty' && checked_values.length === 0 ) ||\n ( operator === 'not empty' && checked_values.length > 0 )\n ) {\n condition_ok = true;\n }\n\n\n for (var ind = 0; ind < checked_values.length; ind++) {\n var checked_val = checked_values[ind];\n var checked_val_as_number = isFinite(parseFloat(checked_val)) ? parseFloat(checked_val):0;\n if (\n ( operator === 'equals' && checked_val === if_val ) ||\n ( operator === 'not equals' && checked_val !== if_val ) ||\n ( operator === 'equals (regex)' && regex_patt.test(checked_val) ) ||\n ( operator === 'not equals (regex)' && !regex_patt.test(checked_val) ) ||\n ( operator === 'greater than' && checked_val_as_number > if_val_as_number ) ||\n ( operator === 'less than' && checked_val_as_number < if_val_as_number ) ||\n ( operator === 'greater than or equals' && checked_val_as_number >= if_val_as_number ) ||\n ( operator === 'less than or equals' && checked_val_as_number <= if_val_as_number )\n ) {\n condition_ok = true;\n }\n }\n }\n\n show_group = show_group && condition_ok;\n }\n\n return show_group;\n\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').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) {\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 Promise.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 Promise.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 Promise(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) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\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_admin.js CHANGED
@@ -8,8 +8,8 @@ if ($wpcf7cf_new_entry.length > 0) {
8
  var wpcf7cf_new_and_rule_html = $wpcf7cf_new_entry.find('.wpcf7cf-and-rule')[0].outerHTML;
9
  var wpcf7cf_new_entry_html = $wpcf7cf_new_entry.html();
10
 
11
- var cf_rule_regex = /(?:show \[([^\]]*?)\]) if \[([^\]]*?)\] (?:(equals \(regex\)|not equals \(regex\)|equals|not equals|greater than or equals|greater than|less than or equals|less than|is empty|not empty)(?: \"(.*)\")?)/g;
12
- var cf_rule_regex_and = /and if \[([^\]]*?)\] (?:(equals \(regex\)|not equals \(regex\)|equals|not equals|greater than or equals|greater than|less than or equals|less than|is empty|not empty)(?: \"(.*)\")?)/g;
13
 
14
 
15
  if (_wpcf7 == null) { var _wpcf7 = wpcf7}; // wpcf7 4.8 fix
8
  var wpcf7cf_new_and_rule_html = $wpcf7cf_new_entry.find('.wpcf7cf-and-rule')[0].outerHTML;
9
  var wpcf7cf_new_entry_html = $wpcf7cf_new_entry.html();
10
 
11
+ var cf_rule_regex = /(?:show \[([^\]]*?)\]) if \[([^\]]*?)\] (?:(equals \(regex\)|not equals \(regex\)|equals|not equals|greater than or equals|greater than|less than or equals|less than|is empty|not empty|function)(?: \"(.*)\")?)/g;
12
+ var cf_rule_regex_and = /and if \[([^\]]*?)\] (?:(equals \(regex\)|not equals \(regex\)|equals|not equals|greater than or equals|greater than|less than or equals|less than|is empty|not empty|function)(?: \"(.*)\")?)/g;
13
 
14
 
15
  if (_wpcf7 == null) { var _wpcf7 = wpcf7}; // wpcf7 4.8 fix
js/scripts_es6.js CHANGED
@@ -252,6 +252,7 @@ function Wpcf7cfRepeater($repeater, form) {
252
 
253
  $repeater.num_subs = 0;
254
  $repeater.id = $repeater.data('id');
 
255
  $repeater.min = typeof( $repeater.data('min')) !== 'undefined' ? parseInt($repeater.data('min')) : 1;
256
  $repeater.max = typeof( $repeater.data('max')) !== 'undefined' ? parseInt($repeater.data('max')) : 200;
257
  $repeater.initial_subs = typeof( $repeater.data('initial')) !== 'undefined' ? parseInt($repeater.data('initial')) : $repeater.min;
@@ -409,7 +410,8 @@ Wpcf7cfRepeater.prototype.addSubs = function(subs_to_add) {
409
 
410
  for(var i=1; i<=subs_to_add; i++) {
411
  var sub_suffix = $repeater.num_subs+i;
412
- html_str += params.repeater_sub_html.replace(/\{\{repeater_sub_suffix\}\}/g,sub_suffix);
 
413
  }
414
 
415
 
@@ -454,7 +456,7 @@ Wpcf7cfRepeater.prototype.removeSubs = function(num_subs) {
454
  var $this = jQuery(this);
455
  //remove the actual fields from the form
456
  $this.remove();
457
- form.$form.trigger('wpcf7cf_repeater_removed');
458
  wpcf7cf.updateMultistepState(form.multistep);
459
  form.updateGroups();
460
  form.updateEventListeners();
@@ -587,6 +589,8 @@ Wpcf7cfMultistep.prototype.validateStep = function(step_index) {
587
  };
588
  Wpcf7cfMultistep.prototype.moveToStep = function(step_index) {
589
  var multistep = this;
 
 
590
  multistep.current_step = step_index > multistep.numSteps ? multistep.numSteps
591
  : step_index < 1 ? 1
592
  : step_index;
@@ -595,8 +599,9 @@ Wpcf7cfMultistep.prototype.moveToStep = function(step_index) {
595
  // multistep.$steps.animate(wpcf7cf_hide_step_animation, multistep.form.settings.animation_outtime);
596
  // multistep.$steps.eq(multistep.current_step-1).animate(wpcf7cf_show_step_animation, multistep.form.settings.animation_intime);
597
 
 
598
  multistep.$steps.hide();
599
- multistep.$steps.eq(multistep.current_step-1).show();
600
 
601
  wpcf7cf.updateMultistepState(multistep);
602
  };
@@ -777,7 +782,15 @@ var wpcf7cf = {
777
  var if_val = condition_and_rule.if_value;
778
  var if_val_as_number = isFinite(parseFloat(if_val)) ? parseFloat(if_val):0;
779
  var operator = condition_and_rule.operator;
780
- var regex_patt = new RegExp(if_val, 'i');
 
 
 
 
 
 
 
 
781
 
782
  //backwards compat
783
  operator = operator === '≤' ? 'less than or equals' : operator;
@@ -822,31 +835,31 @@ var wpcf7cf = {
822
  if ($field.attr('type') === 'checkbox') {
823
  var field_is_checked = $field.is(':checked');
824
  if (
825
- operator === 'equals' && field_is_checked && field_val === if_val ||
826
- operator === 'not equals' && !field_is_checked ||
827
- operator === 'is empty' && !field_is_checked ||
828
- operator === 'not empty' && field_is_checked ||
829
- operator === 'greater than' && field_is_checked && field_val_as_number > if_val_as_number ||
830
- operator === 'less than' && field_is_checked && field_val_as_number < if_val_as_number ||
831
- operator === 'greater than or equals' && field_is_checked && field_val_as_number >= if_val_as_number ||
832
- operator === 'less than or equals' && field_is_checked && field_val_as_number <= if_val_as_number ||
833
- operator === 'equals (regex)' && field_is_checked && regex_patt.test(field_val) ||
834
- operator === 'not equals (regex)' && !field_is_checked
835
 
836
  ) {
837
  condition_ok = true;
838
  }
839
  } else if (
840
- operator === 'equals' && field_val === if_val ||
841
- operator === 'not equals' && field_val !== if_val ||
842
- operator === 'equals (regex)' && regex_patt.test(field_val) ||
843
- operator === 'not equals (regex)' && !regex_patt.test(field_val) ||
844
- operator === 'greater than' && field_val_as_number > if_val_as_number ||
845
- operator === 'less than' && field_val_as_number < if_val_as_number ||
846
- operator === 'greater than or equals' && field_val_as_number >= if_val_as_number ||
847
- operator === 'less than or equals' && field_val_as_number <= if_val_as_number ||
848
- operator === 'is empty' && field_val === '' ||
849
- operator === 'not empty' && field_val !== '' ||
850
  (
851
  operator === 'function'
852
  && typeof window[if_val] == 'function'
@@ -885,14 +898,14 @@ var wpcf7cf = {
885
  var checked_val = checked_values[ind];
886
  var checked_val_as_number = isFinite(parseFloat(checked_val)) ? parseFloat(checked_val):0;
887
  if (
888
- ( operator === 'equals' && checked_val === if_val ) ||
889
- ( operator === 'not equals' && checked_val !== if_val ) ||
890
- ( operator === 'equals (regex)' && regex_patt.test(checked_val) ) ||
891
- ( operator === 'not equals (regex)' && !regex_patt.test(checked_val) ) ||
892
- ( operator === 'greater than' && checked_val_as_number > if_val_as_number ) ||
893
- ( operator === 'less than' && checked_val_as_number < if_val_as_number ) ||
894
- ( operator === 'greater than or equals' && checked_val_as_number >= if_val_as_number ) ||
895
- ( operator === 'less than or equals' && checked_val_as_number <= if_val_as_number )
896
  ) {
897
  condition_ok = true;
898
  }
252
 
253
  $repeater.num_subs = 0;
254
  $repeater.id = $repeater.data('id');
255
+ $repeater.orig_id = $repeater.data('orig_data_id');
256
  $repeater.min = typeof( $repeater.data('min')) !== 'undefined' ? parseInt($repeater.data('min')) : 1;
257
  $repeater.max = typeof( $repeater.data('max')) !== 'undefined' ? parseInt($repeater.data('max')) : 200;
258
  $repeater.initial_subs = typeof( $repeater.data('initial')) !== 'undefined' ? parseInt($repeater.data('initial')) : $repeater.min;
410
 
411
  for(var i=1; i<=subs_to_add; i++) {
412
  var sub_suffix = $repeater.num_subs+i;
413
+ html_str += params.repeater_sub_html.replace(/\{\{repeater_sub_suffix\}\}/g,sub_suffix)
414
+ .replace(new RegExp('\{\{'+$repeater.orig_id+'_index\}\}','g'),sub_suffix);
415
  }
416
 
417
 
456
  var $this = jQuery(this);
457
  //remove the actual fields from the form
458
  $this.remove();
459
+ params.$repeater.trigger('wpcf7cf_repeater_removed');
460
  wpcf7cf.updateMultistepState(form.multistep);
461
  form.updateGroups();
462
  form.updateEventListeners();
589
  };
590
  Wpcf7cfMultistep.prototype.moveToStep = function(step_index) {
591
  var multistep = this;
592
+ var previousStep = multistep.current_step;
593
+
594
  multistep.current_step = step_index > multistep.numSteps ? multistep.numSteps
595
  : step_index < 1 ? 1
596
  : step_index;
599
  // multistep.$steps.animate(wpcf7cf_hide_step_animation, multistep.form.settings.animation_outtime);
600
  // multistep.$steps.eq(multistep.current_step-1).animate(wpcf7cf_show_step_animation, multistep.form.settings.animation_intime);
601
 
602
+ multistep.$multistep.attr('data-current_step', multistep.current_step);
603
  multistep.$steps.hide();
604
+ multistep.$steps.eq(multistep.current_step-1).show().trigger('wpcf7cf_change_step', [previousStep, multistep.current_step]); // change step;
605
 
606
  wpcf7cf.updateMultistepState(multistep);
607
  };
782
  var if_val = condition_and_rule.if_value;
783
  var if_val_as_number = isFinite(parseFloat(if_val)) ? parseFloat(if_val):0;
784
  var operator = condition_and_rule.operator;
785
+
786
+ var regex_patt = /.*/i; // fallback regex pattern
787
+ var isValidRegex = true;
788
+ try {
789
+ regex_patt = new RegExp(if_val, 'i');
790
+ } catch(e) {
791
+ isValidRegex = false;
792
+ }
793
+
794
 
795
  //backwards compat
796
  operator = operator === '≤' ? 'less than or equals' : operator;
835
  if ($field.attr('type') === 'checkbox') {
836
  var field_is_checked = $field.is(':checked');
837
  if (
838
+ operator === 'equals' && field_is_checked && field_val === if_val ||
839
+ operator === 'not equals' && !field_is_checked ||
840
+ operator === 'is empty' && !field_is_checked ||
841
+ operator === 'not empty' && field_is_checked ||
842
+ operator === 'greater than' && field_is_checked && field_val_as_number > if_val_as_number ||
843
+ operator === 'less than' && field_is_checked && field_val_as_number < if_val_as_number ||
844
+ operator === 'greater than or equals' && field_is_checked && field_val_as_number >= if_val_as_number ||
845
+ operator === 'less than or equals' && field_is_checked && field_val_as_number <= if_val_as_number ||
846
+ operator === 'equals (regex)' && field_is_checked && regex_patt.test(field_val) ||
847
+ operator === 'not equals (regex)' && !field_is_checked
848
 
849
  ) {
850
  condition_ok = true;
851
  }
852
  } else if (
853
+ operator === 'equals' && field_val === if_val ||
854
+ operator === 'not equals' && field_val !== if_val ||
855
+ operator === 'equals (regex)' && regex_patt.test(field_val) ||
856
+ operator === 'not equals (regex)' && !regex_patt.test(field_val) ||
857
+ operator === 'greater than' && field_val_as_number > if_val_as_number ||
858
+ operator === 'less than' && field_val_as_number < if_val_as_number ||
859
+ operator === 'greater than or equals' && field_val_as_number >= if_val_as_number ||
860
+ operator === 'less than or equals' && field_val_as_number <= if_val_as_number ||
861
+ operator === 'is empty' && field_val === '' ||
862
+ operator === 'not empty' && field_val !== '' ||
863
  (
864
  operator === 'function'
865
  && typeof window[if_val] == 'function'
898
  var checked_val = checked_values[ind];
899
  var checked_val_as_number = isFinite(parseFloat(checked_val)) ? parseFloat(checked_val):0;
900
  if (
901
+ ( operator === 'equals' && checked_val === if_val ) ||
902
+ ( operator === 'not equals' && checked_val !== if_val ) ||
903
+ ( operator === 'equals (regex)' && regex_patt.test(checked_val) ) ||
904
+ ( operator === 'not equals (regex)' && !regex_patt.test(checked_val) ) ||
905
+ ( operator === 'greater than' && checked_val_as_number > if_val_as_number ) ||
906
+ ( operator === 'less than' && checked_val_as_number < if_val_as_number ) ||
907
+ ( operator === 'greater than or equals' && checked_val_as_number >= if_val_as_number ) ||
908
+ ( operator === 'less than or equals' && checked_val_as_number <= if_val_as_number )
909
  ) {
910
  condition_ok = true;
911
  }
readme.txt CHANGED
@@ -6,8 +6,8 @@ Website: http://bdwm.be
6
  Tags: wordpress, contact form 7, forms, conditional fields
7
  Requires at least: 4.1
8
  Tested up to: 5.3
9
- Stable tag: 1.7.6
10
- Requires PHP: 5.3
11
  License: GPLv2 or later
12
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
13
 
@@ -102,6 +102,15 @@ The conditional fields javascript code is loaded during wp_footer, so a call to
102
 
103
  == Changelog ==
104
 
 
 
 
 
 
 
 
 
 
105
  = 1.7.6 (11-01-19) =
106
  * Fixed small compatibility problem with CF7 Smart Grid (https://wordpress.org/support/topic/problem-on-save-form-when-the-active-tabs-are-not-conditional-form/#post-12085173)
107
  * Fixed some more porblems with parsing conditions (regex changes)
6
  Tags: wordpress, contact form 7, forms, conditional fields
7
  Requires at least: 4.1
8
  Tested up to: 5.3
9
+ Stable tag: 1.7.8
10
+ Requires PHP: 5.4
11
  License: GPLv2 or later
12
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
13
 
102
 
103
  == Changelog ==
104
 
105
+ = 1.7.8 (11-26-19) =
106
+ * Updated/added Javascript events for groups, repeaters and multistep + added documentation at https://conditional-fields-cf7.bdwm.be/docs/examples/javascript-events/
107
+ * Fixed bug where using invalid regex as a value would give a JS error (https://wordpress.org/support/topic/star-ratings-6/)
108
+ * PRO Multistep: Added attribute to multistep `data-current_step` which holds the current step index. (can be used as css selector like this: `div[data-current_step=1]`)
109
+ * PRO Repeater: The string `{{your-repeater_index}}` inside a repeater called `your-repeater` will be replaced with the index of the current sub repeater. (See updated example at https://conditional-fields-cf7.bdwm.be/repeater/)
110
+
111
+ = 1.7.7 (11-05-19) =
112
+ * PRO: Fix problem with parsing the "function" operator
113
+
114
  = 1.7.6 (11-01-19) =
115
  * Fixed small compatibility problem with CF7 Smart Grid (https://wordpress.org/support/topic/problem-on-save-form-when-the-active-tabs-are-not-conditional-form/#post-12085173)
116
  * Fixed some more porblems with parsing conditions (regex changes)